initial commit
This commit is contained in:
commit
636959b37b
2474 files changed
+1343178
No files matched your search
@@ -0,0 +1,28 @@
|
||||
#
|
||||
# This file is used by get-footprint.py script to build samples/footprint.c
|
||||
# to get the footprint report for PJSIP/PJMEDIA.
|
||||
#
|
||||
include ../../build.mak
|
||||
include ../../build/common.mak
|
||||
|
||||
|
||||
###############################################################################
|
||||
# Gather all flags.
|
||||
#
|
||||
export _CFLAGS := $(APP_CFLAGS) $(CFLAGS)
|
||||
export _CXXFLAGS:= $(APP_CXXFLAGS) $(CXXFLAGS)
|
||||
|
||||
export _LDFLAGS := $(APP_LDFLAGS) $(APP_LDLIBS) $(LDFLAGS)
|
||||
|
||||
EXE := footprint.exe
|
||||
|
||||
all:
|
||||
$(APP_CC) -o $(EXE) ../src/samples/footprint.c $(FCFLAGS) $(_CFLAGS) $(_LDFLAGS)
|
||||
$(CROSS_COMPILE)strip --strip-all $(EXE)
|
||||
|
||||
clean:
|
||||
rm -f $(EXE)
|
||||
|
||||
print_name:
|
||||
@echo $(MACHINE_NAME) $(OS_NAME) $(CROSS_COMPILE)$(CC_NAME) `$(CROSS_COMPILE)$(CC_NAME) -dumpversion`
|
||||
|
||||
@@ -0,0 +1,108 @@
|
||||
include ../../build.mak
|
||||
include $(PJDIR)/build/common.mak
|
||||
|
||||
export LIBDIR := ../lib
|
||||
export BINDIR := ../bin
|
||||
|
||||
RULES_MAK := $(PJDIR)/build/rules.mak
|
||||
|
||||
|
||||
###############################################################################
|
||||
# Gather all flags.
|
||||
#
|
||||
export _CFLAGS := $(CC_CFLAGS) $(OS_CFLAGS) $(HOST_CFLAGS) $(M_CFLAGS) \
|
||||
$(PJ_CFLAGS) $(CFLAGS) $(CC_INC)../../pjsip/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 := $(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 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)
|
||||
ifeq ($(EXCLUDE_APP),0)
|
||||
export PJSUA_EXE:=pjsua-$(TARGET_NAME)$(HOST_EXE)
|
||||
endif
|
||||
|
||||
###############################################################################
|
||||
# Defines for building pjsystest
|
||||
#
|
||||
export PJSYSTEST_SRCDIR = ../src/pjsystest
|
||||
export PJSYSTEST_OBJS += $(OS_OBJS) $(M_OBJS) $(CC_OBJS) $(HOST_OBJS) \
|
||||
systest.o main_console.o
|
||||
export PJSYSTEST_CFLAGS += $(PJ_CFLAGS) $(CFLAGS)
|
||||
export PJSYSTEST_CXXFLAGS += $(PJ_CXXFLAGS) $(CFLAGS)
|
||||
export PJSYSTEST_LDFLAGS += $(PJ_LDFLAGS) $(PJ_LDLIBS) $(LDFLAGS)
|
||||
ifeq ($(EXCLUDE_APP),0)
|
||||
export PJSYSTEST_EXE:=pjsystest-$(TARGET_NAME)$(HOST_EXE)
|
||||
endif
|
||||
|
||||
export CC_OUT CC AR RANLIB HOST_MV HOST_RM HOST_RMDIR HOST_MKDIR OBJEXT LD LDOUT
|
||||
|
||||
TARGETS := $(PJSUA_EXE) $(PJSYSTEST_EXE) samples
|
||||
|
||||
all: $(TARGETS)
|
||||
|
||||
swig:
|
||||
$(MAKE) -C ../src/swig
|
||||
|
||||
doc:
|
||||
|
||||
dep: depend
|
||||
distclean: realclean
|
||||
|
||||
.PHONY: all dep depend clean realclean distclean
|
||||
.PHONY: $(TARGETS)
|
||||
.PHONY: $(PJSUA_EXE) $(PJSYSTEST_EXE)
|
||||
|
||||
pjsua: $(PJSUA_EXE)
|
||||
$(PJSUA_EXE):
|
||||
$(MAKE) -f $(RULES_MAK) APP=PJSUA app=pjsua $(subst /,$(HOST_PSEP),$(BINDIR)/$@)
|
||||
@if echo "$(TARGET_NAME)" | grep -q "apple-darwin_ios$$"; then \
|
||||
mkdir ../src/pjsua/ios-swift/Libraries ; \
|
||||
for F in $(filter %$(TARGET_NAME).a,$(PJ_LIBXX_FILES)); do \
|
||||
if test -f $$F; then \
|
||||
tmp=`echo $${F##*/} | sed -e "s/\-$(TARGET_NAME)\.a/.a/"`; \
|
||||
ln -sf $$F ../src/pjsua/ios/$$tmp; \
|
||||
ln -sf $$F ../src/pjsua/ios-swift/Libraries/$$tmp; \
|
||||
fi; \
|
||||
done; \
|
||||
fi;
|
||||
|
||||
pjsystest: $(PJSYSTEST_EXE)
|
||||
$(PJSYSTEST_EXE):
|
||||
$(MAKE) -f $(RULES_MAK) APP=PJSYSTEST app=pjsystest $(subst /,$(HOST_PSEP),$(BINDIR)/$@)
|
||||
|
||||
samples:
|
||||
$(MAKE) -f Samples.mak
|
||||
|
||||
.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 '$(BINDIR)/$(PJSUA_EXE): $(APP_LIB_FILES)' >> .pjsua-$(TARGET_NAME).depend; \
|
||||
echo '$(BINDIR)/$(PJSYSTEST_EXE): $(APP_LIB_FILES)' >> .pjsystest-$(TARGET_NAME).depend; \
|
||||
fi
|
||||
@if echo "$(TARGET_NAME)" | grep -q "apple-darwin_ios$$"; then \
|
||||
for F in $(filter %$(TARGET_NAME).a,$(PJ_LIBXX_FILES)); do \
|
||||
tmp=`echo $${F##*/} | sed -e "s/\-$(TARGET_NAME)\.a/.a/"`; \
|
||||
rm -f ../src/pjsua/ios/$$tmp; \
|
||||
rm -f ../src/pjsua/ios-swift/Libraries/$$tmp; \
|
||||
done; \
|
||||
fi;
|
||||
@@ -0,0 +1,127 @@
|
||||
|
||||
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
|
||||
!elseif "$(BUILD_MODE)" == "debug-static"
|
||||
BUILD_FLAGS = /MTd /Od /Zi /W4
|
||||
!elseif "$(BUILD_MODE)" == "debug-dynamic"
|
||||
BUILD_FLAGS = /MDd /Od /Zi /W4
|
||||
!elseif "$(BUILD_MODE)" == "release-static"
|
||||
BUILD_FLAGS = /Ox /MT /DNDEBUG /W4
|
||||
!else
|
||||
BUILD_FLAGS = /Ox /MD /DNDEBUG /W4
|
||||
!endif
|
||||
|
||||
PJLIB_LIB = ..\..\pjlib\lib\pjlib-$(TARGET)$(LIBEXT)
|
||||
PJLIB_UTIL_LIB = ..\..\pjlib-util\lib\pjlib-util-$(TARGET)$(LIBEXT)
|
||||
PJNATH_LIB = ..\..\pjnath\lib\pjnath-$(TARGET)$(LIBEXT)
|
||||
PJMEDIA_LIB = ..\..\pjmedia\lib\pjmedia-$(TARGET)$(LIBEXT)
|
||||
PJMEDIA_CODEC_LIB = ..\..\pjmedia\lib\pjmedia-codec-$(TARGET)$(LIBEXT)
|
||||
PJMEDIA_AUDIODEV_LIB = ..\..\pjmedia\lib\pjmedia-audiodev-$(TARGET)$(LIBEXT)
|
||||
PJMEDIA_VIDEODEV_LIB = ..\..\pjmedia\lib\pjmedia-videodev-$(TARGET)$(LIBEXT)
|
||||
PJSIP_LIB = ..\..\pjsip\lib\pjsip-core-$(TARGET)$(LIBEXT)
|
||||
PJSIP_UA_LIB = ..\..\pjsip\lib\pjsip-ua-$(TARGET)$(LIBEXT)
|
||||
PJSIP_SIMPLE_LIB = ..\..\pjsip\lib\pjsip-simple-$(TARGET)$(LIBEXT)
|
||||
PJSUA_LIB_LIB = ..\..\pjsip\lib\pjsua-lib-$(TARGET)$(LIBEXT)
|
||||
|
||||
GSM_LIB = ..\..\third_party\lib\libgsmcodec-$(TARGET)$(LIBEXT)
|
||||
ILBC_LIB = ..\..\third_party\lib\libilbccodec-$(TARGET)$(LIBEXT)
|
||||
#PORTAUDIO_LIB = ..\..\third_party\lib\libportaudio-$(TARGET)$(LIBEXT)
|
||||
RESAMPLE_LIB = ..\..\third_party\lib\libresample-$(TARGET)$(LIBEXT)
|
||||
SPEEX_LIB = ..\..\third_party\lib\libspeex-$(TARGET)$(LIBEXT)
|
||||
SRTP_LIB = ..\..\third_party\lib\libsrtp-$(TARGET)$(LIBEXT)
|
||||
G7221_LIB = ..\..\third_party\lib\libg7221codec-$(TARGET)$(LIBEXT)
|
||||
BASECLASSES_LIB = ..\..\third_party\lib\libbaseclasses-$(TARGET)$(LIBEXT)
|
||||
YUV_LIB = ..\..\third_party\lib\libyuv-$(TARGET)$(LIBEXT)
|
||||
WEBRTC_LIB = ..\..\third_party\lib\libwebrtc-$(TARGET)$(LIBEXT)
|
||||
|
||||
THIRD_PARTY_LIBS = $(GSM_LIB) $(ILBC_LIB) $(RESAMPLE_LIB) \
|
||||
$(SPEEX_LIB) $(SRTP_LIB) $(G7221_LIB) $(BASECLASSES_LIB) \
|
||||
$(YUV_LIB) $(WEBRTC_LIB)
|
||||
|
||||
LIBS = $(PJSUA_LIB_LIB) $(PJSIP_UA_LIB) $(PJSIP_SIMPLE_LIB) \
|
||||
$(PJSIP_LIB) $(PJMEDIA_CODEC_LIB) $(PJMEDIA_AUDIODEV_LIB) \
|
||||
$(PJMEDIA_VIDEODEV_LIB) \
|
||||
$(PJMEDIA_LIB) $(PJNATH_LIB) $(PJLIB_UTIL_LIB) $(PJLIB_LIB) \
|
||||
$(THIRD_PARTY_LIBS)
|
||||
|
||||
CFLAGS = $(TARGET_FLAGS) \
|
||||
$(BUILD_FLAGS) \
|
||||
-I..\..\pjsip\include \
|
||||
-I..\..\pjlib\include \
|
||||
-I..\..\pjlib-util\include \
|
||||
-I..\..\pjmedia\include \
|
||||
-I..\..\pjnath/include
|
||||
LDFLAGS = $(BUILD_FLAGS) $(LIBS) \
|
||||
Iphlpapi.lib ole32.lib user32.lib dsound.lib dxguid.lib netapi32.lib \
|
||||
mswsock.lib ws2_32.lib gdi32.lib advapi32.lib oleaut32.lib
|
||||
|
||||
SRCDIR = ..\src\samples
|
||||
OBJDIR = .\output\samples-$(TARGET)
|
||||
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 \
|
||||
$(BINDIR)\httpdemo.exe \
|
||||
$(BINDIR)\icedemo.exe \
|
||||
$(BINDIR)\jbsim.exe \
|
||||
$(BINDIR)\latency.exe \
|
||||
$(BINDIR)\level.exe \
|
||||
$(BINDIR)\mix.exe \
|
||||
$(BINDIR)\pcaputil.exe\
|
||||
$(BINDIR)\pjsip-perf.exe \
|
||||
$(BINDIR)\playfile.exe \
|
||||
$(BINDIR)\playsine.exe\
|
||||
$(BINDIR)\recfile.exe \
|
||||
$(BINDIR)\resampleplay.exe \
|
||||
$(BINDIR)\simpleua.exe \
|
||||
$(BINDIR)\simple_pjsua.exe \
|
||||
$(BINDIR)\sipecho.exe \
|
||||
$(BINDIR)\siprtp.exe \
|
||||
$(BINDIR)\sipstateless.exe \
|
||||
$(BINDIR)\stateful_proxy.exe \
|
||||
$(BINDIR)\stateless_proxy.exe \
|
||||
$(BINDIR)\stereotest.exe \
|
||||
$(BINDIR)\streamutil.exe \
|
||||
$(BINDIR)\strerror.exe \
|
||||
$(BINDIR)\tonegen.exe \
|
||||
$(BINDIR)\vid_streamutil.exe
|
||||
|
||||
|
||||
all: $(BINDIR) $(OBJDIR) $(SAMPLES)
|
||||
|
||||
$(SAMPLES): $(SRCDIR)\$(@B).c $(LIBS) $(SRCDIR)\util.h Samples-vc.mak
|
||||
cl -nologo -c $(SRCDIR)\$(@B).c /Fo$(OBJDIR)\$(@B).obj $(CFLAGS)
|
||||
cl /nologo $(OBJDIR)\$(@B).obj /Fe$@ /Fm$(OBJDIR)\$(@B).map $(LDFLAGS)
|
||||
@rem the following two lines is just for cleaning up the 'bin' directory
|
||||
if exist $(BINDIR)\*.ilk del /Q $(BINDIR)\*.ilk
|
||||
if exist $(BINDIR)\*.pdb del /Q $(BINDIR)\*.pdb
|
||||
|
||||
$(BINDIR):
|
||||
if not exist $(BINDIR) mkdir $(BINDIR)
|
||||
|
||||
$(OBJDIR):
|
||||
if not exist $(OBJDIR) mkdir $(OBJDIR)
|
||||
|
||||
clean:
|
||||
echo Cleaning up samples...
|
||||
if exist $(BINDIR) del /Q $(BINDIR)\*
|
||||
if exist $(BINDIR) rmdir $(BINDIR)
|
||||
if exist $(OBJDIR) del /Q $(OBJDIR)\*.*
|
||||
|
||||
@@ -0,0 +1,83 @@
|
||||
include ../../build.mak
|
||||
include ../../version.mak
|
||||
include ../../build/common.mak
|
||||
|
||||
RULES_MAK := $(PJDIR)/build/rules.mak
|
||||
|
||||
###############################################################################
|
||||
# Gather all flags.
|
||||
#
|
||||
export _CFLAGS := $(PJ_CFLAGS) $(CFLAGS) $(PJ_VIDEO_CFLAGS)
|
||||
export _CXXFLAGS:= $(PJ_CXXFLAGS) $(CFLAGS) $(PJ_VIDEO_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_codec_test \
|
||||
vid_streamutil
|
||||
|
||||
PJSUA2_SAMPLES := pjsua2_demo
|
||||
|
||||
ifeq ($(EXCLUDE_APP),0)
|
||||
EXES := $(foreach file, $(SAMPLES), $(file)$(HOST_EXE))
|
||||
PJSUA2_EXES := $(foreach file, $(PJSUA2_SAMPLES), $(file)$(HOST_EXE))
|
||||
endif
|
||||
|
||||
ifeq ($(PJ_EXCLUDE_PJSUA2),1)
|
||||
PJSUA2_EXES :=
|
||||
endif
|
||||
|
||||
.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 $@
|
||||
$(MAKE) -f $(RULES_MAK) APP=PJSUA2_SAMPLE app=pjsua2_sample $@
|
||||
$(subst @@,$(EXES),$(HOST_RM))
|
||||
$(subst @@,$(BINDIR),$(HOST_RMDIR))
|
||||
|
||||
distclean realclean: clean
|
||||
$(MAKE) -f $(RULES_MAK) APP=SAMPLE app=sample $@
|
||||
|
||||
@@ -0,0 +1,9 @@
|
||||
/* $Id$ */
|
||||
|
||||
/**
|
||||
* This is an empty C file for helping libpjproject so it gets built properly.
|
||||
*/
|
||||
|
||||
#ifdef _MSC_VER
|
||||
# pragma warning(disable: 4206) // translation unit is empty
|
||||
#endif
|
||||
@@ -0,0 +1,338 @@
|
||||
# $Id$
|
||||
#
|
||||
# This file is used to generate PJSIP/PJMEDIA footprint report.
|
||||
# To use this file, just run it in pjsip-apps/build directory, to
|
||||
# produce footprint.txt and footprint.htm report files.
|
||||
#
|
||||
import os
|
||||
import sys
|
||||
import string
|
||||
import time
|
||||
|
||||
compile_flags1 = [
|
||||
# Base
|
||||
['BASE', 'Empty application size'],
|
||||
['', 'Subtotal: Empty application size'],
|
||||
|
||||
['HAS_PJLIB', 'Minimum PJLIB only'],
|
||||
|
||||
# Subtotal
|
||||
['', 'Subtotal'],
|
||||
|
||||
# PJLIB-UTIL
|
||||
['HAS_PJLIB_STUN', 'STUN client'],
|
||||
['HAS_PJLIB_GETOPT', 'getopt() functionality'],
|
||||
|
||||
# Subtotal
|
||||
['', 'TOTAL']
|
||||
]
|
||||
|
||||
compile_flags = [
|
||||
# Base
|
||||
['BASE', 'Empty application size'],
|
||||
['', 'Subtotal: empty application size on this platform'],
|
||||
|
||||
['HAS_PJLIB', 'PJLIB (pool, data structures, hash tables, ioqueue, socket, timer heap, etc.). ' +
|
||||
'For targets that statically link application with LIBC, the size includes ' +
|
||||
'various LIBC functions that are used by PJLIB.'],
|
||||
['', 'Subtotal: Application linked with PJLIB'],
|
||||
|
||||
# PJLIB-UTIL
|
||||
['HAS_PJLIB_STUN', 'PJLIB-UTIL STUN client'],
|
||||
['HAS_PJLIB_GETOPT', 'PJLIB-UTIL getopt() functionality'],
|
||||
['HAS_PJLIB_SCANNER', 'PJLIB-UTIL text scanner (needed by SIP parser)'],
|
||||
['HAS_PJLIB_XML', 'PJLIB-UTIL tiny XML (parsing and API) (needs text scanner)'],
|
||||
['HAS_PJLIB_DNS', 'PJLIB-UTIL DNS packet and parsing'],
|
||||
['HAS_PJLIB_RESOLVER', 'PJLIB-UTIL Asynchronous DNS resolver/caching engine'],
|
||||
['HAS_PJLIB_CRC32', 'PJLIB-UTIL CRC32 algorithm'],
|
||||
['HAS_PJLIB_HMAC_MD5', 'PJLIB-UTIL HMAC-MD5 algorithm'],
|
||||
['HAS_PJLIB_HMAC_SHA1', 'PJLIB-UTIL HMAC-SHA1 algorithm'],
|
||||
|
||||
# PJSIP
|
||||
['HAS_PJSIP_CORE_MSG_ELEM', 'PJSIP Core - Messaging Elements and Parsing (message, headers, SIP URI, TEL URI/RFC 3966, etc.)'],
|
||||
['HAS_PJSIP_CORE', 'PJSIP Core - Endpoint (transport management, module management, event distribution, etc.)'],
|
||||
['HAS_PJSIP_CORE_MSG_UTIL', 'PJSIP Core - Stateless operations, SIP SRV, server resolution and fail-over'],
|
||||
['HAS_PJSIP_UDP_TRANSPORT', 'PJSIP UDP transport'],
|
||||
['', 'Subtotal: A minimalistic SIP application (parsing, UDP transport+STUN, no transaction)'],
|
||||
|
||||
['HAS_PJSIP_TCP_TRANSPORT', 'PJSIP TCP transport'],
|
||||
['HAS_PJSIP_TLS_TRANSPORT', 'PJSIP TLS transport'],
|
||||
['HAS_PJSIP_INFO', 'PJSIP INFO support (RFC 2976) (no special treatment, thus the zero size)'],
|
||||
['HAS_PJSIP_TRANSACTION', 'PJSIP transaction and stateful API'],
|
||||
['HAS_PJSIP_AUTH_CLIENT', 'PJSIP digest authentication client'],
|
||||
['HAS_PJSIP_UA_LAYER', 'PJSIP User agent layer and base dialog and usage management (draft-ietf-sipping-dialogusage-01)'],
|
||||
['HAS_PJMEDIA_SDP', 'PJMEDIA SDP Parsing and API (RFC 2327), needed by SDP negotiator'],
|
||||
['HAS_PJMEDIA_SDP_NEGOTIATOR','PJMEDIA SDP negotiator (RFC 3264), needed by INVITE session'],
|
||||
['HAS_PJSIP_INV_SESSION', 'PJSIP INVITE session API'],
|
||||
['HAS_PJSIP_REGC', 'PJSIP client registration API'],
|
||||
['', 'Subtotal: Minimal SIP application with registration (including digest authentication)'],
|
||||
|
||||
['HAS_PJSIP_EVENT_FRAMEWORK','PJSIP Event/SUBSCRIBE framework, RFC 3265 (needed by call transfer, and presence)'],
|
||||
['HAS_PJSIP_CALL_TRANSFER', 'PJSIP Call Transfer/REFER support (RFC 3515)'],
|
||||
['', 'Subtotal: Minimal SIP application with call transfer'],
|
||||
|
||||
|
||||
['HAS_PJSIP_PRESENCE', 'PJSIP Presence subscription, including PIDF/X-PIDF support (RFC 3856, RFC 3863, etc) (needs XML)'],
|
||||
['HAS_PJSIP_MESSAGE', 'PJSIP Instant Messaging/MESSAGE support (RFC 3428) (no special treatment, thus the zero size)'],
|
||||
['HAS_PJSIP_IS_COMPOSING', 'PJSIP Message Composition indication (RFC 3994)'],
|
||||
|
||||
# Subtotal
|
||||
['', 'Subtotal: Complete PJSIP package (call, registration, presence, IM) +STUN +GETOPT (+PJLIB), no media'],
|
||||
|
||||
# PJNATH
|
||||
['HAS_PJNATH_STUN', 'PJNATH STUN'],
|
||||
['HAS_PJNATH_ICE', 'PJNATH ICE'],
|
||||
|
||||
# PJMEDIA
|
||||
['HAS_PJMEDIA_EC', 'PJMEDIA accoustic echo cancellation'],
|
||||
['HAS_PJMEDIA_SND_DEV', 'PJMEDIA sound device backend (platform specific)'],
|
||||
['HAS_PJMEDIA_SILENCE_DET', 'PJMEDIA Adaptive silence detector'],
|
||||
['HAS_PJMEDIA', 'PJMEDIA endpoint'],
|
||||
['HAS_PJMEDIA_PLC', 'PJMEDIA Packet Lost Concealment implementation (needed by G.711, GSM, and sound device port)'],
|
||||
['HAS_PJMEDIA_SND_PORT', 'PJMEDIA sound device media port'],
|
||||
['HAS_PJMEDIA_RESAMPLE', 'PJMEDIA resampling algorithm (large filter disabled)'],
|
||||
['HAS_PJMEDIA_G711_CODEC', 'PJMEDIA G.711 codec (PCMA/PCMU, including PLC) (may have already been linked by other module)'],
|
||||
['HAS_PJMEDIA_CONFERENCE', 'PJMEDIA conference bridge (needs resampling and silence detector)'],
|
||||
['HAS_PJMEDIA_MASTER_PORT', 'PJMEDIA master port'],
|
||||
['HAS_PJMEDIA_RTP', 'PJMEDIA stand-alone RTP'],
|
||||
['HAS_PJMEDIA_RTCP', 'PJMEDIA stand-alone RTCP and media quality calculation'],
|
||||
['HAS_PJMEDIA_JBUF', 'PJMEDIA stand-alone adaptive jitter buffer'],
|
||||
['HAS_PJMEDIA_STREAM', 'PJMEDIA stream for remote media communication (needs RTP, RTCP, and jitter buffer)'],
|
||||
['HAS_PJMEDIA_TONEGEN', 'PJMEDIA tone generator'],
|
||||
['HAS_PJMEDIA_UDP_TRANSPORT','PJMEDIA UDP media transport'],
|
||||
['HAS_PJMEDIA_FILE_PLAYER', 'PJMEDIA WAV file player'],
|
||||
['HAS_PJMEDIA_FILE_CAPTURE', 'PJMEDIA WAV file writer'],
|
||||
['HAS_PJMEDIA_MEM_PLAYER', 'PJMEDIA fixed buffer player'],
|
||||
['HAS_PJMEDIA_MEM_CAPTURE', 'PJMEDIA fixed buffer writer'],
|
||||
['HAS_PJMEDIA_ICE', 'PJMEDIA ICE transport'],
|
||||
|
||||
# Subtotal
|
||||
['', 'Subtotal: Complete SIP and all PJMEDIA features (G.711 codec only)'],
|
||||
|
||||
# Codecs
|
||||
['HAS_PJMEDIA_GSM_CODEC', 'PJMEDIA GSM codec (including PLC)'],
|
||||
['HAS_PJMEDIA_SPEEX_CODEC', 'PJMEDIA Speex codec (narrowband, wideband, ultra-wideband)'],
|
||||
['HAS_PJMEDIA_ILBC_CODEC', 'PJMEDIA iLBC codec'],
|
||||
|
||||
# Total
|
||||
['', 'TOTAL: complete libraries (+all codecs)'],
|
||||
]
|
||||
|
||||
# Executable size report, tuple of:
|
||||
# <all flags>, <flags added>, <text size>, <data>, <bss>, <description>
|
||||
exe_size = []
|
||||
|
||||
#
|
||||
# Write the report to text file
|
||||
#
|
||||
def print_text_report(filename):
|
||||
output = open(filename, 'w')
|
||||
|
||||
output.write('PJSIP and PJMEDIA footprint report\n')
|
||||
output.write('Auto-generated by pjsip-apps/build/get-footprint.py\n')
|
||||
output.write('\n')
|
||||
|
||||
# Write Revision info.
|
||||
f = os.popen('svn info | grep Revision')
|
||||
output.write(f.readline())
|
||||
|
||||
output.write('Date: ')
|
||||
output.write(time.asctime())
|
||||
output.write('\n')
|
||||
output.write('\n')
|
||||
|
||||
# Write individual module size
|
||||
output.write('Footprint (in bytes):\n')
|
||||
output.write(' .text .data .bss Module Description\n')
|
||||
output.write('==========================================================\n')
|
||||
|
||||
for i in range(1, len(exe_size)):
|
||||
e = exe_size[i]
|
||||
prev = exe_size[i-1]
|
||||
|
||||
if e[1]<>'':
|
||||
output.write(' ')
|
||||
output.write( string.rjust(`string.atoi(e[2]) - string.atoi(prev[2])`, 8) )
|
||||
output.write( string.rjust(`string.atoi(e[3]) - string.atoi(prev[3])`, 8) )
|
||||
output.write( string.rjust(`string.atoi(e[4]) - string.atoi(prev[4])`, 8) )
|
||||
output.write(' ' + e[5] + '\n')
|
||||
else:
|
||||
output.write(' ------------------------\n')
|
||||
output.write(' ')
|
||||
output.write( string.rjust(e[2], 8) )
|
||||
output.write( string.rjust(e[3], 8) )
|
||||
output.write( string.rjust(e[4], 8) )
|
||||
output.write(' ' + e[5] + '\n')
|
||||
output.write('\n')
|
||||
|
||||
|
||||
# Done
|
||||
output.close()
|
||||
|
||||
|
||||
#
|
||||
# Write the report to HTML file
|
||||
#
|
||||
def print_html_report():
|
||||
|
||||
# Get Revision info.
|
||||
f = os.popen('svn info | grep Revision')
|
||||
revision = f.readline().split()[1]
|
||||
|
||||
# Get Machine, OS, and CC name
|
||||
f = os.popen('make -f Footprint.mak print_name')
|
||||
names = f.readline().split()
|
||||
m = names[0]
|
||||
o = names[1]
|
||||
cc = names[2]
|
||||
cc_ver = names[3]
|
||||
|
||||
# Open HTML file
|
||||
filename = 'footprint-' + m + '-' + o + '.htm'
|
||||
output = open(filename, 'w')
|
||||
|
||||
title = 'PJSIP and PJMEDIA footprint report for ' + m + '-' + o + ' target'
|
||||
output.write('<HTML><HEAD>\n');
|
||||
output.write(' <TITLE>' + title + '</TITLE>\n')
|
||||
output.write(' <LINK href="/style/style.css" type="text/css" rel="stylesheet">\n')
|
||||
output.write('</HEAD>\n');
|
||||
output.write('<BODY bgcolor="white">\n');
|
||||
output.write('<!--#include virtual="/header.html" -->')
|
||||
|
||||
output.write(' <H1>' + title + '</H1>\n')
|
||||
output.write('Auto-generated by pjsip-apps/build/get-footprint.py script\n')
|
||||
output.write('<p>Date: ' + time.asctime() + '<BR>\n')
|
||||
output.write('Revision: r' + revision + '</p>\n\n')
|
||||
output.write('<HR>\n')
|
||||
output.write('\n')
|
||||
|
||||
# Info
|
||||
output.write('<H2>Build Configuration</H2>\n')
|
||||
|
||||
# build.mak
|
||||
output.write('\n<H3>build.mak</H3>\n')
|
||||
output.write('<tt>\n')
|
||||
f = open('../../build.mak', 'r')
|
||||
s = f.readlines()
|
||||
for l in s:
|
||||
output.write(l + '<BR>\n')
|
||||
output.write('</tt>\n')
|
||||
output.write('<p>Using ' + cc + ' version ' + cc_ver +'</p>\n')
|
||||
|
||||
# user.mak
|
||||
output.write('\n<H3>user.mak</H3>\n')
|
||||
output.write('<tt>\n')
|
||||
f = open('../../user.mak', 'r')
|
||||
s = f.readlines()
|
||||
for l in s:
|
||||
output.write(l + '<BR>\n')
|
||||
output.write('</tt>\n')
|
||||
|
||||
# config_site.h
|
||||
output.write('\n<H3><pj/config.site.h></H3>\n')
|
||||
output.write('<tt>\n')
|
||||
f = os.popen('cpp -dM -I../../pjlib/include ../../pjlib/include/pj/config_site.h | grep PJ')
|
||||
s = f.readlines()
|
||||
for l in s:
|
||||
output.write(l + '<BR>\n')
|
||||
output.write('</tt>\n')
|
||||
|
||||
|
||||
|
||||
# Write individual module size
|
||||
output.write('<H2>Footprint Report</H2>\n')
|
||||
output.write('<p>The table below shows the footprint of individual feature, in bytes.</p>')
|
||||
output.write('<TABLE border="1" cellpadding="2" cellspacing="0">\n' +
|
||||
'<TR bgcolor="#e8e8ff">\n' +
|
||||
' <TD align="center"><strong>.text</strong></TD>\n' +
|
||||
' <TD align="center"><strong>.data</strong></TD>\n' +
|
||||
' <TD align="center"><strong>.bss</strong></TD>\n' +
|
||||
' <TD align="center"><strong>Features/Module Description</strong></TD>\n' +
|
||||
'</TR>\n')
|
||||
|
||||
|
||||
for i in range(1, len(exe_size)):
|
||||
e = exe_size[i]
|
||||
prev = exe_size[i-1]
|
||||
|
||||
output.write('<TR>\n')
|
||||
if e[1]<>'':
|
||||
output.write( ' <TD align="right">' + `string.atoi(e[2]) - string.atoi(prev[2])` + '</TD>\n')
|
||||
output.write( ' <TD align="right">' + `string.atoi(e[3]) - string.atoi(prev[3])` + '</TD>\n')
|
||||
output.write( ' <TD align="right">' + `string.atoi(e[4]) - string.atoi(prev[4])` + '</TD>\n' )
|
||||
output.write( ' <TD>' + e[5] + '</TD>\n')
|
||||
else:
|
||||
empty_size = exe_size[1]
|
||||
output.write('<TR bgcolor="#e8e8ff">\n')
|
||||
output.write( ' <TD align="right"> </TD>\n')
|
||||
output.write( ' <TD align="right"> </TD>\n')
|
||||
output.write( ' <TD align="right"> </TD>\n')
|
||||
output.write( ' <TD><strong>' + e[5] + ': .text=' + e[2]+ ', .data=' + e[3] + ', .bss=' + e[4] )
|
||||
output.write( '\n </strong> <BR>(Size minus empty application size: ' + \
|
||||
'.text=' + `string.atoi(e[2]) - string.atoi(empty_size[2])` + \
|
||||
', .data=' + `string.atoi(e[3]) - string.atoi(empty_size[3])` + \
|
||||
', .data=' + `string.atoi(e[4]) - string.atoi(empty_size[4])` + \
|
||||
')\n' )
|
||||
output.write( ' </TD>\n')
|
||||
|
||||
output.write('</TR>\n')
|
||||
|
||||
output.write('</TABLE>\n')
|
||||
output.write('<!--#include virtual="/footer.html" -->')
|
||||
output.write('</BODY>\n')
|
||||
output.write('</HTML>\n')
|
||||
|
||||
# Done
|
||||
output.close()
|
||||
|
||||
|
||||
|
||||
|
||||
#
|
||||
# Get the size of individual feature
|
||||
#
|
||||
def get_size(all_flags, flags, desc):
|
||||
file = 'footprint.exe'
|
||||
# Remove file
|
||||
rc = os.system("make -f Footprint.mak FCFLAGS='" + all_flags + "' clean")
|
||||
# Make the executable
|
||||
cmd = "make -f Footprint.mak FCFLAGS='" + all_flags + "' all"
|
||||
#print cmd
|
||||
rc = os.system(cmd)
|
||||
if rc <> 0:
|
||||
sys.exit(1)
|
||||
|
||||
# Run 'size' against the executable
|
||||
f = os.popen('size ' + file)
|
||||
# Skip header of the 'size' output
|
||||
f.readline()
|
||||
# Get the sizes
|
||||
size = f.readline()
|
||||
f.close()
|
||||
# Split into tokens
|
||||
tokens = size.split()
|
||||
# Build the size tuple and add to exe_size
|
||||
elem = all_flags, flags, tokens[0], tokens[1], tokens[2], desc
|
||||
exe_size.append(elem)
|
||||
# Remove file
|
||||
rc = os.system("make -f Footprint.mak FCFLAGS='" + all_flags + "' clean")
|
||||
|
||||
# Main
|
||||
elem = '', '', '0', '0', '0', ''
|
||||
exe_size.append(elem)
|
||||
|
||||
all_flags = ''
|
||||
for elem in compile_flags:
|
||||
if elem[0] <> '':
|
||||
flags = '-D' + elem[0]
|
||||
all_flags += flags + ' '
|
||||
get_size(all_flags, elem[0], elem[1])
|
||||
else:
|
||||
e = exe_size[len(exe_size)-1]
|
||||
n = all_flags, '', e[2], e[3], e[4], elem[1]
|
||||
exe_size.append(n)
|
||||
|
||||
|
||||
#print_text_report('footprint.txt')
|
||||
print_html_report()
|
||||
|
||||
File diff suppressed because it is too large.
Load diff
@@ -0,0 +1,648 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup Label="ProjectConfigurations">
|
||||
<ProjectConfiguration Include="Debug-Dynamic|ARM">
|
||||
<Configuration>Debug-Dynamic</Configuration>
|
||||
<Platform>ARM</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Debug-Dynamic|Win32">
|
||||
<Configuration>Debug-Dynamic</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Debug-Dynamic|x64">
|
||||
<Configuration>Debug-Dynamic</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Debug-Static|ARM">
|
||||
<Configuration>Debug-Static</Configuration>
|
||||
<Platform>ARM</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Debug-Static|Win32">
|
||||
<Configuration>Debug-Static</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Debug-Static|x64">
|
||||
<Configuration>Debug-Static</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Debug|ARM">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>ARM</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Debug|Win32">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Debug|x64">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release-Dynamic|ARM">
|
||||
<Configuration>Release-Dynamic</Configuration>
|
||||
<Platform>ARM</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release-Dynamic|Win32">
|
||||
<Configuration>Release-Dynamic</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release-Dynamic|x64">
|
||||
<Configuration>Release-Dynamic</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release-Static|ARM">
|
||||
<Configuration>Release-Static</Configuration>
|
||||
<Platform>ARM</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release-Static|Win32">
|
||||
<Configuration>Release-Static</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release-Static|x64">
|
||||
<Configuration>Release-Static</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|ARM">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>ARM</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|Win32">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|x64">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
</ItemGroup>
|
||||
<!-- Import common config -->
|
||||
<Import Project="..\..\build\vs\pjproject-vs14-common-config.props" />
|
||||
<PropertyGroup Label="Globals">
|
||||
<ProjectGuid>{23D7679C-764C-4E02-8B29-BB882CEEEFE2}</ProjectGuid>
|
||||
<RootNamespace>libpjproject</RootNamespace>
|
||||
<!-- Specific UWP property -->
|
||||
<DefaultLanguage>en-US</DefaultLanguage>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release-Static|Win32'" Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
<PlatformToolset>v140</PlatformToolset>
|
||||
<UseOfMfc>false</UseOfMfc>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release-Static|ARM'" Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
<PlatformToolset>v140</PlatformToolset>
|
||||
<UseOfMfc>false</UseOfMfc>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug-Dynamic|Win32'" Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
<PlatformToolset>v140</PlatformToolset>
|
||||
<UseOfMfc>false</UseOfMfc>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug-Dynamic|ARM'" Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
<PlatformToolset>v140</PlatformToolset>
|
||||
<UseOfMfc>false</UseOfMfc>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release-Dynamic|Win32'" Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
<PlatformToolset>v140</PlatformToolset>
|
||||
<UseOfMfc>false</UseOfMfc>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release-Dynamic|ARM'" Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
<PlatformToolset>v140</PlatformToolset>
|
||||
<UseOfMfc>false</UseOfMfc>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug-Static|Win32'" Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
<PlatformToolset>v140</PlatformToolset>
|
||||
<UseOfMfc>false</UseOfMfc>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug-Static|ARM'" Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
<PlatformToolset>v140</PlatformToolset>
|
||||
<UseOfMfc>false</UseOfMfc>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
<PlatformToolset>v140</PlatformToolset>
|
||||
<UseOfMfc>false</UseOfMfc>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM'" Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
<PlatformToolset>v140</PlatformToolset>
|
||||
<UseOfMfc>false</UseOfMfc>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
<PlatformToolset>v140</PlatformToolset>
|
||||
<UseOfMfc>false</UseOfMfc>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'" Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
<PlatformToolset>v140</PlatformToolset>
|
||||
<UseOfMfc>false</UseOfMfc>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release-Static|x64'" Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
<PlatformToolset>v140</PlatformToolset>
|
||||
<UseOfMfc>false</UseOfMfc>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug-Dynamic|x64'" Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
<PlatformToolset>v140</PlatformToolset>
|
||||
<UseOfMfc>false</UseOfMfc>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release-Dynamic|x64'" Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
<PlatformToolset>v140</PlatformToolset>
|
||||
<UseOfMfc>false</UseOfMfc>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug-Static|x64'" Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
<PlatformToolset>v140</PlatformToolset>
|
||||
<UseOfMfc>false</UseOfMfc>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
<PlatformToolset>v140</PlatformToolset>
|
||||
<UseOfMfc>false</UseOfMfc>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
<PlatformToolset>v140</PlatformToolset>
|
||||
<UseOfMfc>false</UseOfMfc>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<!-- Override the PlatformToolset -->
|
||||
<PropertyGroup>
|
||||
<PlatformToolset>$(BuildToolset)</PlatformToolset>
|
||||
<CharacterSet Condition="'$(API_Family)'!='WinDesktop'">
|
||||
</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||
<ImportGroup Label="ExtensionSettings">
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release-Static|Win32'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
<Import Project="..\..\build\vs\pjproject-vs14-win32-release-defaults.props" />
|
||||
<Import Project="..\..\build\vs\pjproject-vs14-release-static-defaults.props" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release-Static|ARM'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
<Import Project="..\..\build\vs\pjproject-vs14-arm-release-defaults.props" />
|
||||
<Import Project="..\..\build\vs\pjproject-vs14-release-static-defaults.props" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug-Dynamic|Win32'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
<Import Project="..\..\build\vs\pjproject-vs14-win32-common-defaults.props" />
|
||||
<Import Project="..\..\build\vs\pjproject-vs14-debug-dynamic-defaults.props" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug-Dynamic|ARM'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
<Import Project="..\..\build\vs\pjproject-vs14-arm-common-defaults.props" />
|
||||
<Import Project="..\..\build\vs\pjproject-vs14-debug-dynamic-defaults.props" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release-Dynamic|Win32'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
<Import Project="..\..\build\vs\pjproject-vs14-win32-release-defaults.props" />
|
||||
<Import Project="..\..\build\vs\pjproject-vs14-release-dynamic-defaults.props" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release-Dynamic|ARM'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
<Import Project="..\..\build\vs\pjproject-vs14-arm-release-defaults.props" />
|
||||
<Import Project="..\..\build\vs\pjproject-vs14-release-dynamic-defaults.props" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug-Static|Win32'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
<Import Project="..\..\build\vs\pjproject-vs14-win32-common-defaults.props" />
|
||||
<Import Project="..\..\build\vs\pjproject-vs14-debug-static-defaults.props" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug-Static|ARM'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
<Import Project="..\..\build\vs\pjproject-vs14-arm-common-defaults.props" />
|
||||
<Import Project="..\..\build\vs\pjproject-vs14-debug-static-defaults.props" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
<Import Project="..\..\build\vs\pjproject-vs14-win32-release-defaults.props" />
|
||||
<Import Project="..\..\build\vs\pjproject-vs14-release-dynamic-defaults.props" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
<Import Project="..\..\build\vs\pjproject-vs14-arm-release-defaults.props" />
|
||||
<Import Project="..\..\build\vs\pjproject-vs14-release-dynamic-defaults.props" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
<Import Project="..\..\build\vs\pjproject-vs14-win32-common-defaults.props" />
|
||||
<Import Project="..\..\build\vs\pjproject-vs14-debug-static-defaults.props" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
<Import Project="..\..\build\vs\pjproject-vs14-arm-common-defaults.props" />
|
||||
<Import Project="..\..\build\vs\pjproject-vs14-debug-static-defaults.props" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release-Static|x64'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
<Import Project="..\..\build\vs\pjproject-vs14-win64-release-defaults.props" />
|
||||
<Import Project="..\..\build\vs\pjproject-vs14-release-static-defaults.props" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug-Dynamic|x64'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
<Import Project="..\..\build\vs\pjproject-vs14-win64-common-defaults.props" />
|
||||
<Import Project="..\..\build\vs\pjproject-vs14-debug-dynamic-defaults.props" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release-Dynamic|x64'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
<Import Project="..\..\build\vs\pjproject-vs14-win64-release-defaults.props" />
|
||||
<Import Project="..\..\build\vs\pjproject-vs14-release-dynamic-defaults.props" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug-Static|x64'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
<Import Project="..\..\build\vs\pjproject-vs14-win64-common-defaults.props" />
|
||||
<Import Project="..\..\build\vs\pjproject-vs14-debug-static-defaults.props" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
<Import Project="..\..\build\vs\pjproject-vs14-win64-release-defaults.props" />
|
||||
<Import Project="..\..\build\vs\pjproject-vs14-release-dynamic-defaults.props" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
<Import Project="..\..\build\vs\pjproject-vs14-win64-common-defaults.props" />
|
||||
<Import Project="..\..\build\vs\pjproject-vs14-debug-static-defaults.props" />
|
||||
</ImportGroup>
|
||||
<PropertyGroup Label="UserMacros" />
|
||||
<PropertyGroup>
|
||||
<_ProjectFileVersion>14.0.22823.1</_ProjectFileVersion>
|
||||
<OutDir>..\..\lib\</OutDir>
|
||||
</PropertyGroup>
|
||||
<!-- Compile and link option definition -->
|
||||
<ItemDefinitionGroup>
|
||||
<ClCompile>
|
||||
<RuntimeLibrary Condition="'$(API_Family)'=='UWP'">MultiThreadedDebugDLL</RuntimeLibrary>
|
||||
</ClCompile>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<ClCompile>
|
||||
<PreprocessorDefinitions>_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<PrecompiledHeaderOutputFile />
|
||||
</ClCompile>
|
||||
<ProjectReference>
|
||||
<LinkLibraryDependencies>true</LinkLibraryDependencies>
|
||||
</ProjectReference>
|
||||
<Lib>
|
||||
<OutputFile>..\..\lib\$(ProjectName)-$(TargetCPU)-$(Platform)-vc$(VSVer)-$(Configuration).lib</OutputFile>
|
||||
</Lib>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'">
|
||||
<ClCompile>
|
||||
<PreprocessorDefinitions>_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<PrecompiledHeaderOutputFile>
|
||||
</PrecompiledHeaderOutputFile>
|
||||
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
|
||||
</ClCompile>
|
||||
<ProjectReference>
|
||||
<LinkLibraryDependencies>true</LinkLibraryDependencies>
|
||||
</ProjectReference>
|
||||
<Lib>
|
||||
<OutputFile>..\..\lib\$(ProjectName)-$(TargetCPU)-$(Platform)-vc$(VSVer)-$(Configuration).lib</OutputFile>
|
||||
<AdditionalOptions>/ignore:4264 </AdditionalOptions>
|
||||
</Lib>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
<Midl>
|
||||
<TargetEnvironment>X64</TargetEnvironment>
|
||||
</Midl>
|
||||
<ClCompile>
|
||||
<PreprocessorDefinitions>_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<PrecompiledHeaderOutputFile />
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
</ClCompile>
|
||||
<ProjectReference>
|
||||
<LinkLibraryDependencies>true</LinkLibraryDependencies>
|
||||
</ProjectReference>
|
||||
<Lib>
|
||||
<OutputFile>..\..\lib\$(ProjectName)-$(TargetCPU)-$(Platform)-vc$(VSVer)-$(Configuration).lib</OutputFile>
|
||||
</Lib>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<ClCompile>
|
||||
<PreprocessorDefinitions>_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<PrecompiledHeaderOutputFile />
|
||||
</ClCompile>
|
||||
<ProjectReference>
|
||||
<LinkLibraryDependencies>true</LinkLibraryDependencies>
|
||||
</ProjectReference>
|
||||
<Lib>
|
||||
<OutputFile>..\..\lib\$(ProjectName)-$(TargetCPU)-$(Platform)-vc$(VSVer)-$(Configuration).lib</OutputFile>
|
||||
</Lib>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM'">
|
||||
<ClCompile>
|
||||
<PreprocessorDefinitions>_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<PrecompiledHeaderOutputFile>
|
||||
</PrecompiledHeaderOutputFile>
|
||||
</ClCompile>
|
||||
<ProjectReference>
|
||||
<LinkLibraryDependencies>true</LinkLibraryDependencies>
|
||||
</ProjectReference>
|
||||
<Lib>
|
||||
<OutputFile>..\..\lib\$(ProjectName)-$(TargetCPU)-$(Platform)-vc$(VSVer)-$(Configuration).lib</OutputFile>
|
||||
<AdditionalOptions>/ignore:4264 </AdditionalOptions>
|
||||
</Lib>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<Midl>
|
||||
<TargetEnvironment>X64</TargetEnvironment>
|
||||
</Midl>
|
||||
<ClCompile>
|
||||
<PreprocessorDefinitions>_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<PrecompiledHeaderOutputFile />
|
||||
</ClCompile>
|
||||
<ProjectReference>
|
||||
<LinkLibraryDependencies>true</LinkLibraryDependencies>
|
||||
</ProjectReference>
|
||||
<Lib>
|
||||
<OutputFile>..\..\lib\$(ProjectName)-$(TargetCPU)-$(Platform)-vc$(VSVer)-$(Configuration).lib</OutputFile>
|
||||
</Lib>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug-Static|Win32'">
|
||||
<ClCompile>
|
||||
<PreprocessorDefinitions>_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<PrecompiledHeaderOutputFile />
|
||||
</ClCompile>
|
||||
<ProjectReference>
|
||||
<LinkLibraryDependencies>true</LinkLibraryDependencies>
|
||||
</ProjectReference>
|
||||
<Lib>
|
||||
<OutputFile>..\..\lib\$(ProjectName)-$(TargetCPU)-$(Platform)-vc$(VSVer)-$(Configuration).lib</OutputFile>
|
||||
</Lib>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug-Static|ARM'">
|
||||
<ClCompile>
|
||||
<PreprocessorDefinitions>_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<PrecompiledHeaderOutputFile>
|
||||
</PrecompiledHeaderOutputFile>
|
||||
</ClCompile>
|
||||
<ProjectReference>
|
||||
<LinkLibraryDependencies>true</LinkLibraryDependencies>
|
||||
</ProjectReference>
|
||||
<Lib>
|
||||
<OutputFile>..\..\lib\$(ProjectName)-$(TargetCPU)-$(Platform)-vc$(VSVer)-$(Configuration).lib</OutputFile>
|
||||
<AdditionalOptions>/ignore:4264 </AdditionalOptions>
|
||||
</Lib>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug-Static|x64'">
|
||||
<Midl>
|
||||
<TargetEnvironment>X64</TargetEnvironment>
|
||||
</Midl>
|
||||
<ClCompile>
|
||||
<PreprocessorDefinitions>_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<PrecompiledHeaderOutputFile />
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
</ClCompile>
|
||||
<ProjectReference>
|
||||
<LinkLibraryDependencies>true</LinkLibraryDependencies>
|
||||
</ProjectReference>
|
||||
<Lib>
|
||||
<OutputFile>..\..\lib\$(ProjectName)-$(TargetCPU)-$(Platform)-vc$(VSVer)-$(Configuration).lib</OutputFile>
|
||||
</Lib>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release-Dynamic|Win32'">
|
||||
<ClCompile>
|
||||
<PreprocessorDefinitions>_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<PrecompiledHeaderOutputFile />
|
||||
</ClCompile>
|
||||
<ProjectReference>
|
||||
<LinkLibraryDependencies>true</LinkLibraryDependencies>
|
||||
</ProjectReference>
|
||||
<Lib>
|
||||
<OutputFile>..\..\lib\$(ProjectName)-$(TargetCPU)-$(Platform)-vc$(VSVer)-$(Configuration).lib</OutputFile>
|
||||
</Lib>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release-Dynamic|ARM'">
|
||||
<ClCompile>
|
||||
<PreprocessorDefinitions>_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<PrecompiledHeaderOutputFile>
|
||||
</PrecompiledHeaderOutputFile>
|
||||
</ClCompile>
|
||||
<ProjectReference>
|
||||
<LinkLibraryDependencies>true</LinkLibraryDependencies>
|
||||
</ProjectReference>
|
||||
<Lib>
|
||||
<OutputFile>..\..\lib\$(ProjectName)-$(TargetCPU)-$(Platform)-vc$(VSVer)-$(Configuration).lib</OutputFile>
|
||||
<AdditionalOptions>/ignore:4264 </AdditionalOptions>
|
||||
</Lib>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release-Dynamic|x64'">
|
||||
<Midl>
|
||||
<TargetEnvironment>X64</TargetEnvironment>
|
||||
</Midl>
|
||||
<ClCompile>
|
||||
<PreprocessorDefinitions>_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<PrecompiledHeaderOutputFile />
|
||||
</ClCompile>
|
||||
<ProjectReference>
|
||||
<LinkLibraryDependencies>true</LinkLibraryDependencies>
|
||||
</ProjectReference>
|
||||
<Lib>
|
||||
<OutputFile>..\..\lib\$(ProjectName)-$(TargetCPU)-$(Platform)-vc$(VSVer)-$(Configuration).lib</OutputFile>
|
||||
</Lib>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug-Dynamic|Win32'">
|
||||
<ClCompile>
|
||||
<PreprocessorDefinitions>_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<PrecompiledHeaderOutputFile />
|
||||
</ClCompile>
|
||||
<ProjectReference>
|
||||
<LinkLibraryDependencies>true</LinkLibraryDependencies>
|
||||
</ProjectReference>
|
||||
<Lib>
|
||||
<OutputFile>..\..\lib\$(ProjectName)-$(TargetCPU)-$(Platform)-vc$(VSVer)-$(Configuration).lib</OutputFile>
|
||||
</Lib>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug-Dynamic|ARM'">
|
||||
<ClCompile>
|
||||
<PreprocessorDefinitions>_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<PrecompiledHeaderOutputFile>
|
||||
</PrecompiledHeaderOutputFile>
|
||||
</ClCompile>
|
||||
<ProjectReference>
|
||||
<LinkLibraryDependencies>true</LinkLibraryDependencies>
|
||||
</ProjectReference>
|
||||
<Lib>
|
||||
<OutputFile>..\..\lib\$(ProjectName)-$(TargetCPU)-$(Platform)-vc$(VSVer)-$(Configuration).lib</OutputFile>
|
||||
<AdditionalOptions>/ignore:4264 </AdditionalOptions>
|
||||
</Lib>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug-Dynamic|x64'">
|
||||
<Midl>
|
||||
<TargetEnvironment>X64</TargetEnvironment>
|
||||
</Midl>
|
||||
<ClCompile>
|
||||
<PreprocessorDefinitions>_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<PrecompiledHeaderOutputFile />
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
</ClCompile>
|
||||
<ProjectReference>
|
||||
<LinkLibraryDependencies>true</LinkLibraryDependencies>
|
||||
</ProjectReference>
|
||||
<Lib>
|
||||
<OutputFile>..\..\lib\$(ProjectName)-$(TargetCPU)-$(Platform)-vc$(VSVer)-$(Configuration).lib</OutputFile>
|
||||
</Lib>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release-Static|Win32'">
|
||||
<ClCompile>
|
||||
<PreprocessorDefinitions>_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<PrecompiledHeaderOutputFile />
|
||||
</ClCompile>
|
||||
<ProjectReference>
|
||||
<LinkLibraryDependencies>true</LinkLibraryDependencies>
|
||||
</ProjectReference>
|
||||
<Lib>
|
||||
<OutputFile>..\..\lib\$(ProjectName)-$(TargetCPU)-$(Platform)-vc$(VSVer)-$(Configuration).lib</OutputFile>
|
||||
</Lib>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release-Static|ARM'">
|
||||
<ClCompile>
|
||||
<PreprocessorDefinitions>_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<PrecompiledHeaderOutputFile>
|
||||
</PrecompiledHeaderOutputFile>
|
||||
</ClCompile>
|
||||
<ProjectReference>
|
||||
<LinkLibraryDependencies>true</LinkLibraryDependencies>
|
||||
</ProjectReference>
|
||||
<Lib>
|
||||
<OutputFile>..\..\lib\$(ProjectName)-$(TargetCPU)-$(Platform)-vc$(VSVer)-$(Configuration).lib</OutputFile>
|
||||
<AdditionalOptions>/ignore:4264 </AdditionalOptions>
|
||||
</Lib>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release-Static|x64'">
|
||||
<Midl>
|
||||
<TargetEnvironment>X64</TargetEnvironment>
|
||||
</Midl>
|
||||
<ClCompile>
|
||||
<PreprocessorDefinitions>_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<PrecompiledHeaderOutputFile />
|
||||
</ClCompile>
|
||||
<ProjectReference>
|
||||
<LinkLibraryDependencies>true</LinkLibraryDependencies>
|
||||
</ProjectReference>
|
||||
<Lib>
|
||||
<OutputFile>..\..\lib\$(ProjectName)-$(TargetCPU)-$(Platform)-vc$(VSVer)-$(Configuration).lib</OutputFile>
|
||||
</Lib>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="dummy.c" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\..\pjlib-util\build\pjlib_util.vcxproj">
|
||||
<Project>{fe07f272-ae7f-4549-9e9f-ef9b80cb1693}</Project>
|
||||
<ReferenceOutputAssembly>false</ReferenceOutputAssembly>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\..\pjlib\build\pjlib.vcxproj">
|
||||
<Project>{da0e03ed-53a7-4050-8a85-90541c5509f8}</Project>
|
||||
<ReferenceOutputAssembly>false</ReferenceOutputAssembly>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\..\pjmedia\build\pjmedia.vcxproj">
|
||||
<Project>{7fde3880-a4ab-49e3-b439-ebef0a0c7a65}</Project>
|
||||
<ReferenceOutputAssembly>false</ReferenceOutputAssembly>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\..\pjmedia\build\pjmedia_audiodev.vcxproj">
|
||||
<Project>{4281ca5e-1d48-45d4-a991-2718a454b4ba}</Project>
|
||||
<ReferenceOutputAssembly>false</ReferenceOutputAssembly>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\..\pjmedia\build\pjmedia_codec.vcxproj">
|
||||
<Project>{855dc8c0-d3e9-4a2e-ae47-116605a7bc9b}</Project>
|
||||
<ReferenceOutputAssembly>false</ReferenceOutputAssembly>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\..\pjmedia\build\pjmedia_videodev.vcxproj">
|
||||
<Project>{a1989ff3-9894-40f4-b5a6-6ea364476e45}</Project>
|
||||
<ReferenceOutputAssembly>false</ReferenceOutputAssembly>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\..\pjnath\build\pjnath.vcxproj">
|
||||
<Project>{a5d9aa24-08ed-48b9-bd65-f0a25e96bfc4}</Project>
|
||||
<ReferenceOutputAssembly>false</ReferenceOutputAssembly>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\..\pjsip\build\pjsip_core.vcxproj">
|
||||
<Project>{2bb84911-c1b4-4747-b93d-36aa82cc5031}</Project>
|
||||
<ReferenceOutputAssembly>false</ReferenceOutputAssembly>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\..\pjsip\build\pjsip_simple.vcxproj">
|
||||
<Project>{4b5945cd-0cb3-49aa-a7ff-7612d93f82c0}</Project>
|
||||
<ReferenceOutputAssembly>false</ReferenceOutputAssembly>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\..\pjsip\build\pjsip_ua.vcxproj">
|
||||
<Project>{b8719fd5-e8a6-4a36-943c-891d07f5dd21}</Project>
|
||||
<ReferenceOutputAssembly>false</ReferenceOutputAssembly>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\..\pjsip\build\pjsua2_lib.vcxproj">
|
||||
<Project>{b82cdd25-6903-430e-bd38-d8129a2015c1}</Project>
|
||||
<ReferenceOutputAssembly>false</ReferenceOutputAssembly>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\..\pjsip\build\pjsua_lib.vcxproj">
|
||||
<Project>{9ca0fdfb-2172-41fc-b7f1-5ce915edcb37}</Project>
|
||||
<ReferenceOutputAssembly>false</ReferenceOutputAssembly>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\..\third_party\build\baseclasses\libbaseclasses.vcxproj">
|
||||
<Project>{e8a3f6fa-ae1c-4c8e-a0b6-9c8480324eaa}</Project>
|
||||
<ReferenceOutputAssembly>false</ReferenceOutputAssembly>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\..\third_party\build\g7221\libg7221codec.vcxproj">
|
||||
<Project>{2a3f241e-682c-47e1-9543-dc28708b406a}</Project>
|
||||
<ReferenceOutputAssembly>false</ReferenceOutputAssembly>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\..\third_party\build\gsm\libgsmcodec.vcxproj">
|
||||
<Project>{e53aa5ff-b737-40aa-bd13-387efa99023d}</Project>
|
||||
<ReferenceOutputAssembly>false</ReferenceOutputAssembly>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\..\third_party\build\ilbc\libilbccodec.vcxproj">
|
||||
<Project>{b5fe16f8-3edb-4110-bd80-b4238cc01e8d}</Project>
|
||||
<ReferenceOutputAssembly>false</ReferenceOutputAssembly>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\..\third_party\build\milenage\libmilenage.vcxproj">
|
||||
<Project>{4bf51c21-5a30-423b-82fe-1ed410e5769d}</Project>
|
||||
<ReferenceOutputAssembly>false</ReferenceOutputAssembly>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\..\third_party\build\resample\libresample.vcxproj">
|
||||
<Project>{6794b975-4e84-4f49-b2dc-c31f2224e03e}</Project>
|
||||
<ReferenceOutputAssembly>false</ReferenceOutputAssembly>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\..\third_party\build\speex\libspeex.vcxproj">
|
||||
<Project>{4b059dba-cd9c-4d0f-be8c-ffb4efd498e9}</Project>
|
||||
<ReferenceOutputAssembly>false</ReferenceOutputAssembly>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\..\third_party\build\srtp\libsrtp.vcxproj">
|
||||
<Project>{f0dbaa03-1ba3-4e3b-a2ca-727e3d3ab858}</Project>
|
||||
<ReferenceOutputAssembly>false</ReferenceOutputAssembly>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\..\third_party\build\webrtc\libwebrtc.vcxproj">
|
||||
<Project>{5BCF2773-3825-4D91-9D72-3E2F650DF1DB}</Project>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\..\third_party\build\yuv\libyuv.vcxproj">
|
||||
<Project>{6ac9b65f-0862-4a5c-8a9d-141516993130}</Project>
|
||||
</ProjectReference>
|
||||
</ItemGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||
<ImportGroup Label="ExtensionTargets">
|
||||
</ImportGroup>
|
||||
</Project>
|
||||
@@ -0,0 +1,2 @@
|
||||
|
||||
export LDFLAGS += -lwinmm
|
||||
File diff suppressed because it is too large.
Load diff
@@ -0,0 +1,576 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup Label="ProjectConfigurations">
|
||||
<ProjectConfiguration Include="Debug-Dynamic|ARM">
|
||||
<Configuration>Debug-Dynamic</Configuration>
|
||||
<Platform>ARM</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Debug-Dynamic|Win32">
|
||||
<Configuration>Debug-Dynamic</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Debug-Dynamic|x64">
|
||||
<Configuration>Debug-Dynamic</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Debug-Static|ARM">
|
||||
<Configuration>Debug-Static</Configuration>
|
||||
<Platform>ARM</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Debug-Static|Win32">
|
||||
<Configuration>Debug-Static</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Debug-Static|x64">
|
||||
<Configuration>Debug-Static</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Debug|ARM">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>ARM</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Debug|Win32">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Debug|x64">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release-Dynamic|ARM">
|
||||
<Configuration>Release-Dynamic</Configuration>
|
||||
<Platform>ARM</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release-Dynamic|Win32">
|
||||
<Configuration>Release-Dynamic</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release-Dynamic|x64">
|
||||
<Configuration>Release-Dynamic</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release-Static|ARM">
|
||||
<Configuration>Release-Static</Configuration>
|
||||
<Platform>ARM</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release-Static|Win32">
|
||||
<Configuration>Release-Static</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release-Static|x64">
|
||||
<Configuration>Release-Static</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|ARM">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>ARM</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|Win32">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|x64">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
</ItemGroup>
|
||||
<!-- Import common config -->
|
||||
<Import Project="..\..\build\vs\pjproject-vs14-common-config.props" />
|
||||
<PropertyGroup Label="Globals">
|
||||
<ProjectGuid>{8310649E-A25E-4AF0-91E8-9E3CC659BB89}</ProjectGuid>
|
||||
<RootNamespace>pjsua</RootNamespace>
|
||||
<!-- Specific UWP property -->
|
||||
<DefaultLanguage>en-US</DefaultLanguage>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release-Static|Win32'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<PlatformToolset>v140</PlatformToolset>
|
||||
<UseOfMfc>false</UseOfMfc>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release-Static|ARM'" Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
<PlatformToolset>v140</PlatformToolset>
|
||||
<UseOfMfc>false</UseOfMfc>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug-Dynamic|Win32'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<PlatformToolset>v140</PlatformToolset>
|
||||
<UseOfMfc>false</UseOfMfc>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug-Dynamic|ARM'" Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
<PlatformToolset>v140</PlatformToolset>
|
||||
<UseOfMfc>false</UseOfMfc>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release-Dynamic|Win32'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<PlatformToolset>v140</PlatformToolset>
|
||||
<UseOfMfc>false</UseOfMfc>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release-Dynamic|ARM'" Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
<PlatformToolset>v140</PlatformToolset>
|
||||
<UseOfMfc>false</UseOfMfc>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug-Static|Win32'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<PlatformToolset>v140</PlatformToolset>
|
||||
<UseOfMfc>false</UseOfMfc>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug-Static|ARM'" Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
<PlatformToolset>v140</PlatformToolset>
|
||||
<UseOfMfc>false</UseOfMfc>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<PlatformToolset>v140</PlatformToolset>
|
||||
<UseOfMfc>false</UseOfMfc>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'" Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
<PlatformToolset>v140</PlatformToolset>
|
||||
<UseOfMfc>false</UseOfMfc>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<PlatformToolset>v140</PlatformToolset>
|
||||
<UseOfMfc>false</UseOfMfc>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM'" Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
<PlatformToolset>v140</PlatformToolset>
|
||||
<UseOfMfc>false</UseOfMfc>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release-Static|x64'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<PlatformToolset>v140</PlatformToolset>
|
||||
<UseOfMfc>false</UseOfMfc>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug-Dynamic|x64'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<PlatformToolset>v140</PlatformToolset>
|
||||
<UseOfMfc>false</UseOfMfc>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release-Dynamic|x64'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<PlatformToolset>v140</PlatformToolset>
|
||||
<UseOfMfc>false</UseOfMfc>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug-Static|x64'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<PlatformToolset>v140</PlatformToolset>
|
||||
<UseOfMfc>false</UseOfMfc>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<PlatformToolset>v140</PlatformToolset>
|
||||
<UseOfMfc>false</UseOfMfc>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<PlatformToolset>v140</PlatformToolset>
|
||||
<UseOfMfc>false</UseOfMfc>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<!-- Override the PlatformToolset -->
|
||||
<PropertyGroup>
|
||||
<PlatformToolset>$(BuildToolset)</PlatformToolset>
|
||||
<CharacterSet Condition="'$(API_Family)'!='WinDesktop'">
|
||||
</CharacterSet>
|
||||
<ConfigurationType Condition="'$(API_Family)'=='WinDesktop'">Application</ConfigurationType>
|
||||
<ConfigurationType Condition="'$(API_Family)'=='UWP' Or '$(API_Family)'=='WinPhone8'">StaticLibrary</ConfigurationType>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||
<ImportGroup Label="ExtensionSettings">
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release-Static|Win32'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
<Import Project="..\..\build\vs\pjproject-vs14-win32-release-defaults.props" />
|
||||
<Import Project="..\..\build\vs\pjproject-vs14-release-static-defaults.props" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release-Static|ARM'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
<Import Project="..\..\build\vs\pjproject-vs14-arm-release-defaults.props" />
|
||||
<Import Project="..\..\build\vs\pjproject-vs14-release-static-defaults.props" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug-Dynamic|Win32'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
<Import Project="..\..\build\vs\pjproject-vs14-win32-common-defaults.props" />
|
||||
<Import Project="..\..\build\vs\pjproject-vs14-debug-dynamic-defaults.props" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug-Dynamic|ARM'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
<Import Project="..\..\build\vs\pjproject-vs14-arm-common-defaults.props" />
|
||||
<Import Project="..\..\build\vs\pjproject-vs14-debug-dynamic-defaults.props" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release-Dynamic|Win32'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
<Import Project="..\..\build\vs\pjproject-vs14-win32-release-defaults.props" />
|
||||
<Import Project="..\..\build\vs\pjproject-vs14-release-dynamic-defaults.props" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release-Dynamic|ARM'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
<Import Project="..\..\build\vs\pjproject-vs14-arm-release-defaults.props" />
|
||||
<Import Project="..\..\build\vs\pjproject-vs14-release-dynamic-defaults.props" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug-Static|Win32'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
<Import Project="..\..\build\vs\pjproject-vs14-win32-common-defaults.props" />
|
||||
<Import Project="..\..\build\vs\pjproject-vs14-debug-static-defaults.props" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug-Static|ARM'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
<Import Project="..\..\build\vs\pjproject-vs14-arm-common-defaults.props" />
|
||||
<Import Project="..\..\build\vs\pjproject-vs14-debug-static-defaults.props" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
<Import Project="..\..\build\vs\pjproject-vs14-win32-release-defaults.props" />
|
||||
<Import Project="..\..\build\vs\pjproject-vs14-release-dynamic-defaults.props" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
<Import Project="..\..\build\vs\pjproject-vs14-arm-release-defaults.props" />
|
||||
<Import Project="..\..\build\vs\pjproject-vs14-release-dynamic-defaults.props" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
<Import Project="..\..\build\vs\pjproject-vs14-win32-common-defaults.props" />
|
||||
<Import Project="..\..\build\vs\pjproject-vs14-debug-static-defaults.props" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
<Import Project="..\..\build\vs\pjproject-vs14-arm-common-defaults.props" />
|
||||
<Import Project="..\..\build\vs\pjproject-vs14-debug-static-defaults.props" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release-Static|x64'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
<Import Project="..\..\build\vs\pjproject-vs14-win64-release-defaults.props" />
|
||||
<Import Project="..\..\build\vs\pjproject-vs14-release-static-defaults.props" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug-Dynamic|x64'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
<Import Project="..\..\build\vs\pjproject-vs14-win64-common-defaults.props" />
|
||||
<Import Project="..\..\build\vs\pjproject-vs14-debug-dynamic-defaults.props" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release-Dynamic|x64'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
<Import Project="..\..\build\vs\pjproject-vs14-win64-release-defaults.props" />
|
||||
<Import Project="..\..\build\vs\pjproject-vs14-release-dynamic-defaults.props" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug-Static|x64'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
<Import Project="..\..\build\vs\pjproject-vs14-win64-common-defaults.props" />
|
||||
<Import Project="..\..\build\vs\pjproject-vs14-debug-static-defaults.props" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
<Import Project="..\..\build\vs\pjproject-vs14-win64-release-defaults.props" />
|
||||
<Import Project="..\..\build\vs\pjproject-vs14-release-dynamic-defaults.props" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
<Import Project="..\..\build\vs\pjproject-vs14-win64-common-defaults.props" />
|
||||
<Import Project="..\..\build\vs\pjproject-vs14-debug-static-defaults.props" />
|
||||
</ImportGroup>
|
||||
<PropertyGroup Label="UserMacros" />
|
||||
<PropertyGroup>
|
||||
<_ProjectFileVersion>14.0.22823.1</_ProjectFileVersion>
|
||||
</PropertyGroup>
|
||||
<!-- Compile and link option definition -->
|
||||
<ItemDefinitionGroup>
|
||||
<ClCompile>
|
||||
<RuntimeLibrary Condition="'$(API_Family)'=='UWP'">MultiThreadedDebugDLL</RuntimeLibrary>
|
||||
</ClCompile>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<ClCompile>
|
||||
<AdditionalIncludeDirectories>../../pjsip/include;../../pjlib/include;../../pjlib-util/include;../../pjmedia/include;../../pjnath/include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<PrecompiledHeaderOutputFile />
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<AdditionalDependencies Condition="'$(API_Family)'=='WinDesktop'">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)</AdditionalDependencies>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM'">
|
||||
<ClCompile>
|
||||
<AdditionalIncludeDirectories>../../pjsip/include;../../pjlib/include;../../pjlib-util/include;../../pjmedia/include;../../pjnath/include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<PrecompiledHeaderOutputFile>
|
||||
</PrecompiledHeaderOutputFile>
|
||||
</ClCompile>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<Midl>
|
||||
<TargetEnvironment>X64</TargetEnvironment>
|
||||
</Midl>
|
||||
<ClCompile>
|
||||
<AdditionalIncludeDirectories>../../pjsip/include;../../pjlib/include;../../pjlib-util/include;../../pjmedia/include;../../pjnath/include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<PrecompiledHeaderOutputFile />
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<AdditionalDependencies Condition="'$(API_Family)'=='WinDesktop'">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)</AdditionalDependencies>
|
||||
<TargetMachine>MachineX64</TargetMachine>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<ClCompile>
|
||||
<AdditionalIncludeDirectories>../../pjsip/include;../../pjlib/include;../../pjlib-util/include;../../pjmedia/include;../../pjnath/include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<PrecompiledHeaderOutputFile />
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<AdditionalDependencies Condition="'$(API_Family)'=='WinDesktop'">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)</AdditionalDependencies>
|
||||
<IgnoreSpecificDefaultLibraries Condition="'$(API_Family)'=='WinDesktop'">msvcrt.lib;%(IgnoreSpecificDefaultLibraries)</IgnoreSpecificDefaultLibraries>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'">
|
||||
<ClCompile>
|
||||
<AdditionalIncludeDirectories>../../pjsip/include;../../pjlib/include;../../pjlib-util/include;../../pjmedia/include;../../pjnath/include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<PrecompiledHeaderOutputFile>
|
||||
</PrecompiledHeaderOutputFile>
|
||||
</ClCompile>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
<Midl>
|
||||
<TargetEnvironment>X64</TargetEnvironment>
|
||||
</Midl>
|
||||
<ClCompile>
|
||||
<AdditionalIncludeDirectories>../../pjsip/include;../../pjlib/include;../../pjlib-util/include;../../pjmedia/include;../../pjnath/include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<PrecompiledHeaderOutputFile />
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<AdditionalDependencies Condition="'$(API_Family)'=='WinDesktop'">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)</AdditionalDependencies>
|
||||
<IgnoreSpecificDefaultLibraries>msvcrt.lib;%(IgnoreSpecificDefaultLibraries)</IgnoreSpecificDefaultLibraries>
|
||||
<TargetMachine>MachineX64</TargetMachine>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug-Static|Win32'">
|
||||
<ClCompile>
|
||||
<AdditionalIncludeDirectories>../../pjsip/include;../../pjlib/include;../../pjlib-util/include;../../pjmedia/include;../../pjnath/include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<PrecompiledHeaderOutputFile />
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<AdditionalDependencies Condition="'$(API_Family)'=='WinDesktop'">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)</AdditionalDependencies>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug-Static|ARM'">
|
||||
<ClCompile>
|
||||
<AdditionalIncludeDirectories>../../pjsip/include;../../pjlib/include;../../pjlib-util/include;../../pjmedia/include;../../pjnath/include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<PrecompiledHeaderOutputFile>
|
||||
</PrecompiledHeaderOutputFile>
|
||||
</ClCompile>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug-Static|x64'">
|
||||
<Midl>
|
||||
<TargetEnvironment>X64</TargetEnvironment>
|
||||
</Midl>
|
||||
<ClCompile>
|
||||
<AdditionalIncludeDirectories>../../pjsip/include;../../pjlib/include;../../pjlib-util/include;../../pjmedia/include;../../pjnath/include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<PrecompiledHeaderOutputFile />
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<AdditionalDependencies Condition="'$(API_Family)'=='WinDesktop'">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)</AdditionalDependencies>
|
||||
<TargetMachine>MachineX64</TargetMachine>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release-Dynamic|Win32'">
|
||||
<ClCompile>
|
||||
<AdditionalIncludeDirectories>../../pjsip/include;../../pjlib/include;../../pjlib-util/include;../../pjmedia/include;../../pjnath/include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<PrecompiledHeaderOutputFile />
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<AdditionalDependencies Condition="'$(API_Family)'=='WinDesktop'">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)</AdditionalDependencies>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release-Dynamic|ARM'">
|
||||
<ClCompile>
|
||||
<AdditionalIncludeDirectories>../../pjsip/include;../../pjlib/include;../../pjlib-util/include;../../pjmedia/include;../../pjnath/include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<PrecompiledHeaderOutputFile>
|
||||
</PrecompiledHeaderOutputFile>
|
||||
</ClCompile>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release-Dynamic|x64'">
|
||||
<Midl>
|
||||
<TargetEnvironment>X64</TargetEnvironment>
|
||||
</Midl>
|
||||
<ClCompile>
|
||||
<AdditionalIncludeDirectories>../../pjsip/include;../../pjlib/include;../../pjlib-util/include;../../pjmedia/include;../../pjnath/include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<PrecompiledHeaderOutputFile />
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<AdditionalDependencies Condition="'$(API_Family)'=='WinDesktop'">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)</AdditionalDependencies>
|
||||
<TargetMachine>MachineX64</TargetMachine>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug-Dynamic|Win32'">
|
||||
<ClCompile>
|
||||
<AdditionalIncludeDirectories>../../pjsip/include;../../pjlib/include;../../pjlib-util/include;../../pjmedia/include;../../pjnath/include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<PrecompiledHeaderOutputFile />
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<AdditionalDependencies Condition="'$(API_Family)'=='WinDesktop'">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)</AdditionalDependencies>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug-Dynamic|ARM'">
|
||||
<ClCompile>
|
||||
<AdditionalIncludeDirectories>../../pjsip/include;../../pjlib/include;../../pjlib-util/include;../../pjmedia/include;../../pjnath/include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<PrecompiledHeaderOutputFile>
|
||||
</PrecompiledHeaderOutputFile>
|
||||
</ClCompile>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug-Dynamic|x64'">
|
||||
<Midl>
|
||||
<TargetEnvironment>X64</TargetEnvironment>
|
||||
</Midl>
|
||||
<ClCompile>
|
||||
<AdditionalIncludeDirectories>../../pjsip/include;../../pjlib/include;../../pjlib-util/include;../../pjmedia/include;../../pjnath/include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<PrecompiledHeaderOutputFile />
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<AdditionalDependencies Condition="'$(API_Family)'=='WinDesktop'">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)</AdditionalDependencies>
|
||||
<TargetMachine>MachineX64</TargetMachine>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release-Static|Win32'">
|
||||
<ClCompile>
|
||||
<AdditionalIncludeDirectories>../../pjsip/include;../../pjlib/include;../../pjlib-util/include;../../pjmedia/include;../../pjnath/include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<PrecompiledHeaderOutputFile />
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<AdditionalDependencies Condition="'$(API_Family)'=='WinDesktop'">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)</AdditionalDependencies>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release-Static|ARM'">
|
||||
<ClCompile>
|
||||
<AdditionalIncludeDirectories>../../pjsip/include;../../pjlib/include;../../pjlib-util/include;../../pjmedia/include;../../pjnath/include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<PrecompiledHeaderOutputFile>
|
||||
</PrecompiledHeaderOutputFile>
|
||||
</ClCompile>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release-Static|x64'">
|
||||
<Midl>
|
||||
<TargetEnvironment>X64</TargetEnvironment>
|
||||
</Midl>
|
||||
<ClCompile>
|
||||
<AdditionalIncludeDirectories>../../pjsip/include;../../pjlib/include;../../pjlib-util/include;../../pjmedia/include;../../pjnath/include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<PrecompiledHeaderOutputFile />
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<AdditionalDependencies Condition="'$(API_Family)'=='WinDesktop'">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)</AdditionalDependencies>
|
||||
<TargetMachine>MachineX64</TargetMachine>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="..\src\pjsua\main.c">
|
||||
<ExcludedFromBuild Condition="'$(API_Family)'!='WinDesktop'">true</ExcludedFromBuild>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\src\pjsua\pjsua_app.c">
|
||||
<CompileAs Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'">Default</CompileAs>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\src\pjsua\pjsua_app_cli.c">
|
||||
<CompileAs Condition="'$(Configuration)|$(Platform)'=='Release-Static|ARM'">Default</CompileAs>
|
||||
<CompileAs Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'">Default</CompileAs>
|
||||
<CompileAs Condition="'$(Configuration)|$(Platform)'=='Debug-Dynamic|ARM'">Default</CompileAs>
|
||||
<CompileAs Condition="'$(Configuration)|$(Platform)'=='Release|ARM'">Default</CompileAs>
|
||||
<CompileAs Condition="'$(Configuration)|$(Platform)'=='Debug-Static|ARM'">Default</CompileAs>
|
||||
<CompileAs Condition="'$(Configuration)|$(Platform)'=='Release-Dynamic|ARM'">Default</CompileAs>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\src\pjsua\pjsua_app_common.c">
|
||||
<CompileAs Condition="'$(Configuration)|$(Platform)'=='Release-Static|ARM'">Default</CompileAs>
|
||||
<CompileAs Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'">Default</CompileAs>
|
||||
<CompileAs Condition="'$(Configuration)|$(Platform)'=='Debug-Dynamic|ARM'">Default</CompileAs>
|
||||
<CompileAs Condition="'$(Configuration)|$(Platform)'=='Release|ARM'">Default</CompileAs>
|
||||
<CompileAs Condition="'$(Configuration)|$(Platform)'=='Debug-Static|ARM'">Default</CompileAs>
|
||||
<CompileAs Condition="'$(Configuration)|$(Platform)'=='Release-Dynamic|ARM'">Default</CompileAs>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\src\pjsua\pjsua_app_config.c">
|
||||
<CompileAs Condition="'$(Configuration)|$(Platform)'=='Release-Static|ARM'">Default</CompileAs>
|
||||
<CompileAs Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'">Default</CompileAs>
|
||||
<CompileAs Condition="'$(Configuration)|$(Platform)'=='Debug-Dynamic|ARM'">Default</CompileAs>
|
||||
<CompileAs Condition="'$(Configuration)|$(Platform)'=='Release|ARM'">Default</CompileAs>
|
||||
<CompileAs Condition="'$(Configuration)|$(Platform)'=='Debug-Static|ARM'">Default</CompileAs>
|
||||
<CompileAs Condition="'$(Configuration)|$(Platform)'=='Release-Dynamic|ARM'">Default</CompileAs>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\src\pjsua\pjsua_app_legacy.c">
|
||||
<CompileAs Condition="'$(Configuration)|$(Platform)'=='Release-Static|ARM'">Default</CompileAs>
|
||||
<CompileAs Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'">Default</CompileAs>
|
||||
<CompileAs Condition="'$(Configuration)|$(Platform)'=='Debug-Dynamic|ARM'">Default</CompileAs>
|
||||
<CompileAs Condition="'$(Configuration)|$(Platform)'=='Release|ARM'">Default</CompileAs>
|
||||
<CompileAs Condition="'$(Configuration)|$(Platform)'=='Debug-Static|ARM'">Default</CompileAs>
|
||||
<CompileAs Condition="'$(Configuration)|$(Platform)'=='Release-Dynamic|ARM'">Default</CompileAs>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\src\pjsua\wm\main_wm.c">
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug-Dynamic|Win32'">true</ExcludedFromBuild>
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug-Dynamic|ARM'">true</ExcludedFromBuild>
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug-Dynamic|x64'">true</ExcludedFromBuild>
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug-Static|Win32'">true</ExcludedFromBuild>
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug-Static|ARM'">true</ExcludedFromBuild>
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug-Static|x64'">true</ExcludedFromBuild>
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'">true</ExcludedFromBuild>
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release-Dynamic|Win32'">true</ExcludedFromBuild>
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release-Dynamic|ARM'">true</ExcludedFromBuild>
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release-Dynamic|x64'">true</ExcludedFromBuild>
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release-Static|Win32'">true</ExcludedFromBuild>
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release-Static|ARM'">true</ExcludedFromBuild>
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release-Static|x64'">true</ExcludedFromBuild>
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|ARM'">true</ExcludedFromBuild>
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
|
||||
</ClCompile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="..\src\pjsua\pjsua_app.h" />
|
||||
<ClInclude Include="..\src\pjsua\pjsua_app_common.h" />
|
||||
<ClInclude Include="..\src\pjsua\pjsua_app_config.h" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="libpjproject.vcxproj">
|
||||
<Project>{23d7679c-764c-4e02-8b29-bb882ceeefe2}</Project>
|
||||
<ReferenceOutputAssembly>false</ReferenceOutputAssembly>
|
||||
</ProjectReference>
|
||||
</ItemGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||
<ImportGroup Label="ExtensionTargets">
|
||||
</ImportGroup>
|
||||
</Project>
|
||||
@@ -0,0 +1,51 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup>
|
||||
<Filter Include="Source Files">
|
||||
<UniqueIdentifier>{49faef61-c622-4da3-92d8-f586c05334fe}</UniqueIdentifier>
|
||||
<Extensions>cpp;c;cxx;rc;def;r;odl;idl;hpj;bat</Extensions>
|
||||
</Filter>
|
||||
<Filter Include="Header Files">
|
||||
<UniqueIdentifier>{2e643d9a-e249-4757-b59a-88872dff0fad}</UniqueIdentifier>
|
||||
<Extensions>h;hpp;hxx;hm;inl</Extensions>
|
||||
</Filter>
|
||||
<Filter Include="Resource Files">
|
||||
<UniqueIdentifier>{a7091863-a6e2-4113-9fa5-b28581984f4b}</UniqueIdentifier>
|
||||
<Extensions>ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe</Extensions>
|
||||
</Filter>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="..\src\pjsua\main.c">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\src\pjsua\wm\main_wm.c">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\src\pjsua\pjsua_app.c">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\src\pjsua\pjsua_app_cli.c">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\src\pjsua\pjsua_app_common.c">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\src\pjsua\pjsua_app_config.c">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\src\pjsua\pjsua_app_legacy.c">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="..\src\pjsua\pjsua_app.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\src\pjsua\pjsua_app_common.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\src\pjsua\pjsua_app_config.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
</ItemGroup>
|
||||
</Project>
|
||||
@@ -0,0 +1,836 @@
|
||||
<?xml version="1.0" encoding="Windows-1252"?>
|
||||
<VisualStudioProject
|
||||
ProjectType="Visual C++"
|
||||
Version="8.00"
|
||||
Name="pjsystest"
|
||||
ProjectGUID="{5E507EA2-CB39-47CA-BD39-49EB58D7A0BB}"
|
||||
RootNamespace="pjsystest"
|
||||
Keyword="Win32Proj"
|
||||
>
|
||||
<Platforms>
|
||||
<Platform
|
||||
Name="Win32"
|
||||
/>
|
||||
<Platform
|
||||
Name="Pocket PC 2003 (ARMV4)"
|
||||
/>
|
||||
<Platform
|
||||
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|Win32"
|
||||
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"
|
||||
/>
|
||||
<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="../../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"
|
||||
TargetMachine="0"
|
||||
/>
|
||||
<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"
|
||||
>
|
||||
<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"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXMLDataGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCWebServiceProxyGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"
|
||||
TargetEnvironment="1"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
ExecutionBucket="7"
|
||||
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"
|
||||
TargetMachine="0"
|
||||
/>
|
||||
<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"
|
||||
>
|
||||
<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;"
|
||||
/>
|
||||
<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="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"
|
||||
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,../../pjlib-util/include,../../pjnath/include,../../pjmedia/include,../../pjsip/include"
|
||||
/>
|
||||
<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=""
|
||||
/>
|
||||
<Tool
|
||||
Name="VCALinkTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXDCMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCBscMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCodeSignTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPostBuildEventTool"
|
||||
/>
|
||||
<DeploymentTool
|
||||
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;"
|
||||
/>
|
||||
<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"
|
||||
CharacterSet="1"
|
||||
>
|
||||
<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"
|
||||
/>
|
||||
<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)"
|
||||
TargetMachine="0"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCALinkTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXDCMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCBscMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCodeSignTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPostBuildEventTool"
|
||||
/>
|
||||
<DeploymentTool
|
||||
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;"
|
||||
/>
|
||||
<DebuggerTool
|
||||
/>
|
||||
</Configuration>
|
||||
<Configuration
|
||||
Name="Release|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"
|
||||
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,../../pjlib-util/include,../../pjnath/include,../../pjmedia/include,../../pjsip/include"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManagedResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCResourceCompilerTool"
|
||||
PreprocessorDefinitions="NDEBUG"
|
||||
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=""
|
||||
/>
|
||||
<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>
|
||||
<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="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>
|
||||
</References>
|
||||
<Files>
|
||||
<Filter
|
||||
Name="Source Files"
|
||||
Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
|
||||
UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
|
||||
>
|
||||
<File
|
||||
RelativePath="..\src\pjsystest\main_console.c"
|
||||
>
|
||||
<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>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\src\pjsystest\main_wm.c"
|
||||
>
|
||||
<FileConfiguration
|
||||
Name="Debug|Win32"
|
||||
ExcludedFromBuild="true"
|
||||
>
|
||||
<Tool
|
||||
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"
|
||||
>
|
||||
<Tool
|
||||
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"
|
||||
>
|
||||
</File>
|
||||
</Filter>
|
||||
<Filter
|
||||
Name="Header Files"
|
||||
Filter="h;hpp;hxx;hm;inl;inc;xsd"
|
||||
UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
|
||||
>
|
||||
<File
|
||||
RelativePath="..\src\pjsystest\gui.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\src\pjsystest\systest.h"
|
||||
>
|
||||
</File>
|
||||
</Filter>
|
||||
<Filter
|
||||
Name="Resource Files"
|
||||
Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav"
|
||||
UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
|
||||
>
|
||||
<File
|
||||
RelativePath="..\src\pjsystest\pjsystest_wince.rc"
|
||||
>
|
||||
<FileConfiguration
|
||||
Name="Release|Windows Mobile 6 Standard SDK (ARMV4I)"
|
||||
>
|
||||
<Tool
|
||||
Name="VCResourceCompilerTool"
|
||||
PreprocessorDefinitions="NDEBUG"
|
||||
/>
|
||||
</FileConfiguration>
|
||||
</File>
|
||||
</Filter>
|
||||
</Files>
|
||||
<Globals>
|
||||
</Globals>
|
||||
</VisualStudioProject>
|
||||
@@ -0,0 +1,155 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup Label="ProjectConfigurations">
|
||||
<ProjectConfiguration Include="Debug|Win32">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Debug|x64">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|Win32">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|x64">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
</ItemGroup>
|
||||
<!-- Import common config -->
|
||||
<Import Project="..\..\build\vs\pjproject-vs14-common-config.props" />
|
||||
<PropertyGroup Label="Globals">
|
||||
<ProjectGuid>{5E507EA2-CB39-47CA-BD39-49EB58D7A0BB}</ProjectGuid>
|
||||
<RootNamespace>pjsystest</RootNamespace>
|
||||
<Keyword>Win32Proj</Keyword>
|
||||
<!-- Specific UWP property -->
|
||||
<DefaultLanguage>en-US</DefaultLanguage>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<PlatformToolset>v140</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<PlatformToolset>v140</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<PlatformToolset>v140</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<PlatformToolset>v140</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<!-- Override the PlatformToolset -->
|
||||
<PropertyGroup>
|
||||
<PlatformToolset>$(BuildToolset)</PlatformToolset>
|
||||
<CharacterSet Condition="'$(API_Family)'!='WinDesktop'"></CharacterSet>
|
||||
<ConfigurationType Condition="'$(API_Family)'=='WinDesktop'">Application</ConfigurationType>
|
||||
<ConfigurationType Condition="'$(API_Family)'=='UWP' Or '$(API_Family)'=='WinPhone8'">StaticLibrary</ConfigurationType>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||
<ImportGroup Label="ExtensionSettings">
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
<Import Project="..\..\build\vs\pjproject-vs14-win32-release-defaults.props" />
|
||||
<Import Project="..\..\build\vs\pjproject-vs14-release-dynamic-defaults.props" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
<Import Project="..\..\build\vs\pjproject-vs14-win32-common-defaults.props" />
|
||||
<Import Project="..\..\build\vs\pjproject-vs14-debug-static-defaults.props" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
<Import Project="..\..\build\vs\pjproject-vs14-win64-release-defaults.props" />
|
||||
<Import Project="..\..\build\vs\pjproject-vs14-release-dynamic-defaults.props" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
<Import Project="..\..\build\vs\pjproject-vs14-win64-common-defaults.props" />
|
||||
<Import Project="..\..\build\vs\pjproject-vs14-debug-static-defaults.props" />
|
||||
</ImportGroup>
|
||||
<PropertyGroup Label="UserMacros" />
|
||||
<PropertyGroup>
|
||||
<_ProjectFileVersion>14.0.22823.1</_ProjectFileVersion>
|
||||
</PropertyGroup>
|
||||
<!-- Compile and link option definition -->
|
||||
<ItemDefinitionGroup>
|
||||
<ClCompile>
|
||||
<RuntimeLibrary Condition="'$(API_Family)'=='UWP'">MultiThreadedDebugDLL</RuntimeLibrary>
|
||||
</ClCompile>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<ClCompile>
|
||||
<AdditionalIncludeDirectories>../../pjsip/include;../../pjlib/include;../../pjlib-util/include;../../pjmedia/include;../../pjnath/include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<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)</AdditionalDependencies>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
<Midl>
|
||||
<TargetEnvironment>X64</TargetEnvironment>
|
||||
</Midl>
|
||||
<ClCompile>
|
||||
<AdditionalIncludeDirectories>../../pjsip/include;../../pjlib/include;../../pjlib-util/include;../../pjmedia/include;../../pjnath/include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<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)</AdditionalDependencies>
|
||||
<TargetMachine>MachineX64</TargetMachine>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<ClCompile>
|
||||
<AdditionalIncludeDirectories>../../pjsip/include;../../pjlib/include;../../pjlib-util/include;../../pjmedia/include;../../pjnath/include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<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)</AdditionalDependencies>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<Midl>
|
||||
<TargetEnvironment>X64</TargetEnvironment>
|
||||
</Midl>
|
||||
<ClCompile>
|
||||
<AdditionalIncludeDirectories>../../pjsip/include;../../pjlib/include;../../pjlib-util/include;../../pjmedia/include;../../pjnath/include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<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)</AdditionalDependencies>
|
||||
<TargetMachine>MachineX64</TargetMachine>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="..\src\pjsystest\main_console.c" />
|
||||
<ClCompile Include="..\src\pjsystest\main_wm.c">
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\src\pjsystest\systest.c" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="..\src\pjsystest\gui.h" />
|
||||
<ClInclude Include="..\src\pjsystest\systest.h" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="libpjproject.vcxproj">
|
||||
<Project>{23d7679c-764c-4e02-8b29-bb882ceeefe2}</Project>
|
||||
<ReferenceOutputAssembly>false</ReferenceOutputAssembly>
|
||||
</ProjectReference>
|
||||
</ItemGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||
<ImportGroup Label="ExtensionTargets">
|
||||
</ImportGroup>
|
||||
</Project>
|
||||
@@ -0,0 +1,41 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup>
|
||||
<Filter Include="Source Files">
|
||||
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
|
||||
<Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
|
||||
</Filter>
|
||||
<Filter Include="Header Files">
|
||||
<UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
|
||||
<Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
|
||||
</Filter>
|
||||
<Filter Include="Resource Files">
|
||||
<UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
|
||||
<Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav</Extensions>
|
||||
</Filter>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="..\src\pjsystest\main_console.c">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\src\pjsystest\main_wm.c">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\src\pjsystest\systest.c">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="..\src\pjsystest\gui.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\src\pjsystest\systest.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ResourceCompile Include="..\src\pjsystest\pjsystest_wince.rc">
|
||||
<Filter>Resource Files</Filter>
|
||||
</ResourceCompile>
|
||||
</ItemGroup>
|
||||
</Project>
|
||||
@@ -0,0 +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"
|
||||
/>
|
||||
<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>
|
||||
@@ -0,0 +1,268 @@
|
||||
<?xml version="1.0" encoding="Windows-1252"?>
|
||||
<VisualStudioProject
|
||||
ProjectType="Visual C++"
|
||||
Version="8.00"
|
||||
Name="python_pjsua"
|
||||
ProjectGUID="{0C91838B-3372-40B4-A764-DE075A4BC94B}"
|
||||
>
|
||||
<Platforms>
|
||||
<Platform
|
||||
Name="Win32"
|
||||
/>
|
||||
</Platforms>
|
||||
<ToolFiles>
|
||||
</ToolFiles>
|
||||
<Configurations>
|
||||
<Configuration
|
||||
Name="Debug|Win32"
|
||||
OutputDirectory=".\output\python_pjsua-i386-win32-vc8-debug"
|
||||
IntermediateDirectory="$(OutDir)"
|
||||
ConfigurationType="2"
|
||||
InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC60.vsprops"
|
||||
UseOfMFC="0"
|
||||
ATLMinimizesCRunTimeLibraryUsage="false"
|
||||
CharacterSet="2"
|
||||
>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXMLDataGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCWebServiceProxyGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"
|
||||
PreprocessorDefinitions="_DEBUG"
|
||||
MkTypLibCompatible="true"
|
||||
SuppressStartupBanner="true"
|
||||
TargetEnvironment="1"
|
||||
TypeLibraryName=".\output\python_pjsua-i386-win32-vc6-debug/python_pjsua.tlb"
|
||||
HeaderFileName=""
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="0"
|
||||
AdditionalIncludeDirectories="..\..\pjlib\include,..\..\pjlib-util\include,..\..\pjmedia\include,..\..\pjsip\include,../../pjnath/include"
|
||||
PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;PY_PJSUA_EXPORTS"
|
||||
MinimalRebuild="true"
|
||||
BasicRuntimeChecks="3"
|
||||
RuntimeLibrary="1"
|
||||
PrecompiledHeaderFile="$(OutDir)/python_pjsua.pch"
|
||||
AssemblerListingLocation="$(OutDir)/"
|
||||
ObjectFile="$(OutDir)/"
|
||||
ProgramDataBaseFileName="$(OutDir)/"
|
||||
BrowseInformation="1"
|
||||
WarningLevel="4"
|
||||
SuppressStartupBanner="true"
|
||||
DebugInformationFormat="4"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManagedResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCResourceCompilerTool"
|
||||
PreprocessorDefinitions="_DEBUG"
|
||||
Culture="1057"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPreLinkEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCLinkerTool"
|
||||
AdditionalDependencies="python24_d.lib odbc32.lib odbccp32.lib dsound.lib dxguid.lib netapi32.lib mswsock.lib ws2_32.lib iphlpapi.lib"
|
||||
OutputFile="..\lib\_pjsua_d.pyd"
|
||||
LinkIncremental="2"
|
||||
SuppressStartupBanner="true"
|
||||
AdditionalLibraryDirectories="../../pjlib/lib,../../pjlib-util/lib,../../pjmedia/lib,../../pjsip/lib,F:\incoming\projects\divusi\Python-2.4\Python-2.4\PCbuild,F:\incoming\projects\divusi\Python-2.4\Python-2.4\PC\VC6"
|
||||
ModuleDefinitionFile="..\src\python\_pjsua.def"
|
||||
GenerateDebugInformation="true"
|
||||
ProgramDatabaseFile="$(OutDir)/_pjsua_d.pdb"
|
||||
ImportLibrary="$(OutDir)/_pjsua_d.lib"
|
||||
TargetMachine="1"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCALinkTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManifestTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXDCMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCBscMakeTool"
|
||||
SuppressStartupBanner="true"
|
||||
OutputFile=".\output\python_pjsua-i386-win32-vc6-debug/python_pjsua.bsc"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCFxCopTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCAppVerifierTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCWebDeploymentTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPostBuildEventTool"
|
||||
/>
|
||||
</Configuration>
|
||||
<Configuration
|
||||
Name="Release|Win32"
|
||||
OutputDirectory=".\output\python_pjsua-i386-win32-vc8-release"
|
||||
IntermediateDirectory="$(OutDir)"
|
||||
ConfigurationType="2"
|
||||
InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC60.vsprops"
|
||||
UseOfMFC="0"
|
||||
ATLMinimizesCRunTimeLibraryUsage="false"
|
||||
CharacterSet="2"
|
||||
>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXMLDataGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCWebServiceProxyGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"
|
||||
PreprocessorDefinitions="NDEBUG"
|
||||
MkTypLibCompatible="true"
|
||||
SuppressStartupBanner="true"
|
||||
TargetEnvironment="1"
|
||||
TypeLibraryName=".\output\python_pjsua-i386-win32-vc6-release/python_pjsua.tlb"
|
||||
HeaderFileName=""
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="2"
|
||||
InlineFunctionExpansion="1"
|
||||
AdditionalIncludeDirectories="..\..\pjlib\include,..\..\pjlib-util\include,..\..\pjmedia\include,..\..\pjsip\include,../../pjnath/include"
|
||||
PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;PY_PJSUA_EXPORTS"
|
||||
StringPooling="true"
|
||||
RuntimeLibrary="0"
|
||||
EnableFunctionLevelLinking="true"
|
||||
PrecompiledHeaderFile="$(OutDir)/python_pjsua.pch"
|
||||
AssemblerListingLocation="$(OutDir)/"
|
||||
ObjectFile="$(OutDir)/"
|
||||
ProgramDataBaseFileName="$(OutDir)/"
|
||||
BrowseInformation="1"
|
||||
WarningLevel="3"
|
||||
SuppressStartupBanner="true"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManagedResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCResourceCompilerTool"
|
||||
PreprocessorDefinitions="NDEBUG"
|
||||
Culture="1057"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPreLinkEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCLinkerTool"
|
||||
AdditionalDependencies="python24.lib odbc32.lib odbccp32.lib dsound.lib dxguid.lib netapi32.lib mswsock.lib ws2_32.lib iphlpapi.lib"
|
||||
OutputFile="..\lib\_pjsua.pyd"
|
||||
LinkIncremental="1"
|
||||
SuppressStartupBanner="true"
|
||||
AdditionalLibraryDirectories="../../pjlib/lib,../../pjlib-util/lib,../../pjmedia/lib,../../pjsip/lib"
|
||||
IgnoreDefaultLibraryNames="libcmt.lib"
|
||||
ModuleDefinitionFile="..\src\python\_pjsua.def"
|
||||
ProgramDatabaseFile="$(OutDir)/_pjsua.pdb"
|
||||
GenerateMapFile="true"
|
||||
MapFileName="$(OutDir)/_pjsua.map"
|
||||
ImportLibrary="$(OutDir)/_pjsua.lib"
|
||||
TargetMachine="1"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCALinkTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManifestTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXDCMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCBscMakeTool"
|
||||
SuppressStartupBanner="true"
|
||||
OutputFile=".\output\python_pjsua-i386-win32-vc6-release/python_pjsua.bsc"
|
||||
/>
|
||||
<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\python\_pjsua.c"
|
||||
>
|
||||
<FileConfiguration
|
||||
Name="Debug|Win32"
|
||||
>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
AdditionalIncludeDirectories=""
|
||||
PreprocessorDefinitions=""
|
||||
/>
|
||||
</FileConfiguration>
|
||||
<FileConfiguration
|
||||
Name="Release|Win32"
|
||||
>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
AdditionalIncludeDirectories=""
|
||||
PreprocessorDefinitions=""
|
||||
/>
|
||||
</FileConfiguration>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\src\python\_pjsua.def"
|
||||
>
|
||||
</File>
|
||||
</Filter>
|
||||
<Filter
|
||||
Name="Header Files"
|
||||
Filter="h;hpp;hxx;hm;inl"
|
||||
>
|
||||
<File
|
||||
RelativePath="..\src\python\_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>
|
||||
@@ -0,0 +1,164 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup Label="ProjectConfigurations">
|
||||
<ProjectConfiguration Include="Debug|Win32">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|Win32">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
</ItemGroup>
|
||||
<PropertyGroup Label="Globals">
|
||||
<ProjectGuid>{0C91838B-3372-40B4-A764-DE075A4BC94B}</ProjectGuid>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<PlatformToolset>v140</PlatformToolset>
|
||||
<UseOfMfc>false</UseOfMfc>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<PlatformToolset>v140</PlatformToolset>
|
||||
<UseOfMfc>false</UseOfMfc>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||
<ImportGroup Label="ExtensionSettings">
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
<Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC60.props" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
<Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC60.props" />
|
||||
</ImportGroup>
|
||||
<PropertyGroup Label="UserMacros" />
|
||||
<PropertyGroup>
|
||||
<_ProjectFileVersion>14.0.22823.1</_ProjectFileVersion>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<OutDir>.\output\python_pjsua-i386-win32-vc8-debug\</OutDir>
|
||||
<IntDir>$(OutDir)</IntDir>
|
||||
<LinkIncremental>true</LinkIncremental>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<OutDir>.\output\python_pjsua-i386-win32-vc8-release\</OutDir>
|
||||
<IntDir>$(OutDir)</IntDir>
|
||||
<LinkIncremental>false</LinkIncremental>
|
||||
</PropertyGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<Midl>
|
||||
<PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<MkTypLibCompatible>true</MkTypLibCompatible>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
<TargetEnvironment>Win32</TargetEnvironment>
|
||||
<TypeLibraryName>.\output\python_pjsua-i386-win32-vc6-debug/python_pjsua.tlb</TypeLibraryName>
|
||||
<HeaderFileName />
|
||||
</Midl>
|
||||
<ClCompile>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<AdditionalIncludeDirectories>..\..\pjlib\include;..\..\pjlib-util\include;..\..\pjmedia\include;..\..\pjsip\include;../../pjnath/include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;_USRDLL;PY_PJSUA_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<MinimalRebuild>true</MinimalRebuild>
|
||||
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
|
||||
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
|
||||
<PrecompiledHeaderOutputFile>$(OutDir)python_pjsua.pch</PrecompiledHeaderOutputFile>
|
||||
<AssemblerListingLocation>$(OutDir)</AssemblerListingLocation>
|
||||
<ObjectFileName>$(OutDir)</ObjectFileName>
|
||||
<ProgramDataBaseFileName>$(OutDir)</ProgramDataBaseFileName>
|
||||
<BrowseInformation>true</BrowseInformation>
|
||||
<WarningLevel>Level4</WarningLevel>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
<DebugInformationFormat>EditAndContinue</DebugInformationFormat>
|
||||
</ClCompile>
|
||||
<ResourceCompile>
|
||||
<PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<Culture>0x0421</Culture>
|
||||
</ResourceCompile>
|
||||
<Link>
|
||||
<AdditionalDependencies>python24_d.lib;odbc32.lib;odbccp32.lib;dsound.lib;dxguid.lib;netapi32.lib;mswsock.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<OutputFile>..\lib\_pjsua_d.pyd</OutputFile>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
<AdditionalLibraryDirectories>../../pjlib/lib;../../pjlib-util/lib;../../pjmedia/lib;../../pjsip/lib;F:\incoming\projects\divusi\Python-2.4\Python-2.4\PCbuild;F:\incoming\projects\divusi\Python-2.4\Python-2.4\PC\VC6;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<ModuleDefinitionFile>..\src\python\_pjsua.def</ModuleDefinitionFile>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<ProgramDatabaseFile>$(OutDir)_pjsua_d.pdb</ProgramDatabaseFile>
|
||||
<ImportLibrary>$(OutDir)_pjsua_d.lib</ImportLibrary>
|
||||
<TargetMachine>MachineX86</TargetMachine>
|
||||
</Link>
|
||||
<Bscmake>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
<OutputFile>.\output\python_pjsua-i386-win32-vc6-debug/python_pjsua.bsc</OutputFile>
|
||||
</Bscmake>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<Midl>
|
||||
<PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<MkTypLibCompatible>true</MkTypLibCompatible>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
<TargetEnvironment>Win32</TargetEnvironment>
|
||||
<TypeLibraryName>.\output\python_pjsua-i386-win32-vc6-release/python_pjsua.tlb</TypeLibraryName>
|
||||
<HeaderFileName />
|
||||
</Midl>
|
||||
<ClCompile>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
|
||||
<AdditionalIncludeDirectories>..\..\pjlib\include;..\..\pjlib-util\include;..\..\pjmedia\include;..\..\pjsip\include;../../pjnath/include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_USRDLL;PY_PJSUA_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<StringPooling>true</StringPooling>
|
||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<PrecompiledHeaderOutputFile>$(OutDir)python_pjsua.pch</PrecompiledHeaderOutputFile>
|
||||
<AssemblerListingLocation>$(OutDir)</AssemblerListingLocation>
|
||||
<ObjectFileName>$(OutDir)</ObjectFileName>
|
||||
<ProgramDataBaseFileName>$(OutDir)</ProgramDataBaseFileName>
|
||||
<BrowseInformation>true</BrowseInformation>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
</ClCompile>
|
||||
<ResourceCompile>
|
||||
<PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<Culture>0x0421</Culture>
|
||||
</ResourceCompile>
|
||||
<Link>
|
||||
<AdditionalDependencies>python24.lib;odbc32.lib;odbccp32.lib;dsound.lib;dxguid.lib;netapi32.lib;mswsock.lib;ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<OutputFile>..\lib\_pjsua.pyd</OutputFile>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
<AdditionalLibraryDirectories>../../pjlib/lib;../../pjlib-util/lib;../../pjmedia/lib;../../pjsip/lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<IgnoreSpecificDefaultLibraries>libcmt.lib;%(IgnoreSpecificDefaultLibraries)</IgnoreSpecificDefaultLibraries>
|
||||
<ModuleDefinitionFile>..\src\python\_pjsua.def</ModuleDefinitionFile>
|
||||
<ProgramDatabaseFile>$(OutDir)_pjsua.pdb</ProgramDatabaseFile>
|
||||
<GenerateMapFile>true</GenerateMapFile>
|
||||
<MapFileName>$(OutDir)_pjsua.map</MapFileName>
|
||||
<ImportLibrary>$(OutDir)_pjsua.lib</ImportLibrary>
|
||||
<TargetMachine>MachineX86</TargetMachine>
|
||||
</Link>
|
||||
<Bscmake>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
<OutputFile>.\output\python_pjsua-i386-win32-vc6-release/python_pjsua.bsc</OutputFile>
|
||||
</Bscmake>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="..\src\python\_pjsua.c" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="..\src\python\_pjsua.def" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="..\src\python\_pjsua.h" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="libpjproject.vcxproj">
|
||||
<Project>{23d7679c-764c-4e02-8b29-bb882ceeefe2}</Project>
|
||||
<ReferenceOutputAssembly>false</ReferenceOutputAssembly>
|
||||
</ProjectReference>
|
||||
</ItemGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||
<ImportGroup Label="ExtensionTargets">
|
||||
</ImportGroup>
|
||||
</Project>
|
||||
@@ -0,0 +1,32 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup>
|
||||
<Filter Include="Source Files">
|
||||
<UniqueIdentifier>{1b31e8a3-343c-4e8a-a018-3ca937a37bf6}</UniqueIdentifier>
|
||||
<Extensions>cpp;c;cxx;rc;def;r;odl;idl;hpj;bat</Extensions>
|
||||
</Filter>
|
||||
<Filter Include="Header Files">
|
||||
<UniqueIdentifier>{b400bdd5-2584-4d1c-b905-d44112576dd8}</UniqueIdentifier>
|
||||
<Extensions>h;hpp;hxx;hm;inl</Extensions>
|
||||
</Filter>
|
||||
<Filter Include="Resource Files">
|
||||
<UniqueIdentifier>{022e436a-5341-4184-8a8f-04d3dd644e8d}</UniqueIdentifier>
|
||||
<Extensions>ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe</Extensions>
|
||||
</Filter>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="..\src\python\_pjsua.c">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="..\src\python\_pjsua.def">
|
||||
<Filter>Source Files</Filter>
|
||||
</None>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="..\src\python\_pjsua.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
</ItemGroup>
|
||||
</Project>
|
||||
File diff suppressed because it is too large.
Load diff
@@ -0,0 +1,401 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup Label="ProjectConfigurations">
|
||||
<ProjectConfiguration Include="Debug-Dynamic|Win32">
|
||||
<Configuration>Debug-Dynamic</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Debug-Dynamic|x64">
|
||||
<Configuration>Debug-Dynamic</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Debug-Static|Win32">
|
||||
<Configuration>Debug-Static</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Debug-Static|x64">
|
||||
<Configuration>Debug-Static</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Debug|Win32">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Debug|x64">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release-Dynamic|Win32">
|
||||
<Configuration>Release-Dynamic</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release-Dynamic|x64">
|
||||
<Configuration>Release-Dynamic</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release-Static|Win32">
|
||||
<Configuration>Release-Static</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release-Static|x64">
|
||||
<Configuration>Release-Static</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|Win32">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|x64">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
</ItemGroup>
|
||||
<!-- Import common config -->
|
||||
<Import Project="..\..\build\vs\pjproject-vs14-common-config.props" />
|
||||
<PropertyGroup Label="Globals">
|
||||
<ProjectGuid>{A0F1AA62-0F6F-420D-B09A-AC04B6862821}</ProjectGuid>
|
||||
<RootNamespace>sample_debug</RootNamespace>
|
||||
<!-- Specific UWP property -->
|
||||
<DefaultLanguage>en-US</DefaultLanguage>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release-Static|Win32'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<PlatformToolset>v140</PlatformToolset>
|
||||
<UseOfMfc>false</UseOfMfc>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug-Dynamic|Win32'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<PlatformToolset>v140</PlatformToolset>
|
||||
<UseOfMfc>false</UseOfMfc>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release-Dynamic|Win32'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<PlatformToolset>v140</PlatformToolset>
|
||||
<UseOfMfc>false</UseOfMfc>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug-Static|Win32'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<PlatformToolset>v140</PlatformToolset>
|
||||
<UseOfMfc>false</UseOfMfc>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<PlatformToolset>v140</PlatformToolset>
|
||||
<UseOfMfc>false</UseOfMfc>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<PlatformToolset>v140</PlatformToolset>
|
||||
<UseOfMfc>false</UseOfMfc>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release-Static|x64'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<PlatformToolset>v140</PlatformToolset>
|
||||
<UseOfMfc>false</UseOfMfc>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug-Dynamic|x64'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<PlatformToolset>v140</PlatformToolset>
|
||||
<UseOfMfc>false</UseOfMfc>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release-Dynamic|x64'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<PlatformToolset>v140</PlatformToolset>
|
||||
<UseOfMfc>false</UseOfMfc>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug-Static|x64'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<PlatformToolset>v140</PlatformToolset>
|
||||
<UseOfMfc>false</UseOfMfc>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<PlatformToolset>v140</PlatformToolset>
|
||||
<UseOfMfc>false</UseOfMfc>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<PlatformToolset>v140</PlatformToolset>
|
||||
<UseOfMfc>false</UseOfMfc>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<!-- Override the PlatformToolset -->
|
||||
<PropertyGroup>
|
||||
<PlatformToolset>$(BuildToolset)</PlatformToolset>
|
||||
<CharacterSet Condition="'$(API_Family)'!='WinDesktop'"></CharacterSet>
|
||||
<ConfigurationType Condition="'$(API_Family)'=='WinDesktop'">Application</ConfigurationType>
|
||||
<ConfigurationType Condition="'$(API_Family)'=='UWP' Or '$(API_Family)'=='WinPhone8'">StaticLibrary</ConfigurationType>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||
<ImportGroup Label="ExtensionSettings">
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release-Static|Win32'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
<Import Project="..\..\build\vs\pjproject-vs14-win32-release-defaults.props" />
|
||||
<Import Project="..\..\build\vs\pjproject-vs14-release-static-defaults.props" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug-Dynamic|Win32'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
<Import Project="..\..\build\vs\pjproject-vs14-win32-common-defaults.props" />
|
||||
<Import Project="..\..\build\vs\pjproject-vs14-debug-dynamic-defaults.props" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release-Dynamic|Win32'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
<Import Project="..\..\build\vs\pjproject-vs14-win32-release-defaults.props" />
|
||||
<Import Project="..\..\build\vs\pjproject-vs14-release-dynamic-defaults.props" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug-Static|Win32'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
<Import Project="..\..\build\vs\pjproject-vs14-win32-common-defaults.props" />
|
||||
<Import Project="..\..\build\vs\pjproject-vs14-debug-static-defaults.props" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
<Import Project="..\..\build\vs\pjproject-vs14-win32-release-defaults.props" />
|
||||
<Import Project="..\..\build\vs\pjproject-vs14-release-dynamic-defaults.props" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
<Import Project="..\..\build\vs\pjproject-vs14-win32-common-defaults.props" />
|
||||
<Import Project="..\..\build\vs\pjproject-vs14-debug-static-defaults.props" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release-Static|x64'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
<Import Project="..\..\build\vs\pjproject-vs14-win64-release-defaults.props" />
|
||||
<Import Project="..\..\build\vs\pjproject-vs14-release-static-defaults.props" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug-Dynamic|x64'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
<Import Project="..\..\build\vs\pjproject-vs14-win64-common-defaults.props" />
|
||||
<Import Project="..\..\build\vs\pjproject-vs14-debug-dynamic-defaults.props" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release-Dynamic|x64'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
<Import Project="..\..\build\vs\pjproject-vs14-win64-release-defaults.props" />
|
||||
<Import Project="..\..\build\vs\pjproject-vs14-release-dynamic-defaults.props" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug-Static|x64'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
<Import Project="..\..\build\vs\pjproject-vs14-win64-common-defaults.props" />
|
||||
<Import Project="..\..\build\vs\pjproject-vs14-debug-static-defaults.props" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
<Import Project="..\..\build\vs\pjproject-vs14-win64-release-defaults.props" />
|
||||
<Import Project="..\..\build\vs\pjproject-vs14-release-dynamic-defaults.props" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
<Import Project="..\..\build\vs\pjproject-vs14-win64-common-defaults.props" />
|
||||
<Import Project="..\..\build\vs\pjproject-vs14-debug-static-defaults.props" />
|
||||
</ImportGroup>
|
||||
<PropertyGroup Label="UserMacros" />
|
||||
<PropertyGroup>
|
||||
<_ProjectFileVersion>14.0.22823.1</_ProjectFileVersion>
|
||||
<TargetName>sample-debug-$(TargetCPU)-$(Platform)-vc$(VSVer)-$(Configuration)</TargetName>
|
||||
</PropertyGroup>
|
||||
<!-- Compile and link option definition -->
|
||||
<ItemDefinitionGroup>
|
||||
<ClCompile>
|
||||
<RuntimeLibrary Condition="'$(API_Family)'=='UWP'">MultiThreadedDebugDLL</RuntimeLibrary>
|
||||
</ClCompile>
|
||||
<Lib>
|
||||
<OutputFile>..\lib\sample-debug-$(TargetCPU)-$(Platform)-vc$(VSVer)-$(Configuration).lib</OutputFile>
|
||||
</Lib>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<ClCompile>
|
||||
<AdditionalIncludeDirectories>../../pjsip/include;../../pjlib/include;../../pjlib-util/include;../../pjmedia/include;../../pjnath/include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<PrecompiledHeaderOutputFile />
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<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;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<OutputFile>..\bin\sample-debug-$(TargetCPU)-$(Platform)-vc$(VSVer)-$(Configuration).exe</OutputFile>
|
||||
<IgnoreSpecificDefaultLibraries>MSVCRT.LIB;%(IgnoreSpecificDefaultLibraries)</IgnoreSpecificDefaultLibraries>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
<Midl>
|
||||
<TargetEnvironment>X64</TargetEnvironment>
|
||||
</Midl>
|
||||
<ClCompile>
|
||||
<AdditionalIncludeDirectories>../../pjsip/include;../../pjlib/include;../../pjlib-util/include;../../pjmedia/include;../../pjnath/include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<PrecompiledHeaderOutputFile />
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<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;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<OutputFile>..\bin\sample-debug-$(TargetCPU)-$(Platform)-vc$(VSVer)-$(Configuration).exe</OutputFile>
|
||||
<IgnoreSpecificDefaultLibraries>MSVCRT.LIB;%(IgnoreSpecificDefaultLibraries)</IgnoreSpecificDefaultLibraries>
|
||||
<TargetMachine>MachineX64</TargetMachine>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<ClCompile>
|
||||
<AdditionalIncludeDirectories>../../pjsip/include;../../pjlib/include;../../pjlib-util/include;../../pjmedia/include;../../pjnath/include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<PrecompiledHeaderOutputFile />
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<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;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<OutputFile>..\bin\sample-debug-$(TargetCPU)-$(Platform)-vc$(VSVer)-$(Configuration).exe</OutputFile>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<Midl>
|
||||
<TargetEnvironment>X64</TargetEnvironment>
|
||||
</Midl>
|
||||
<ClCompile>
|
||||
<AdditionalIncludeDirectories>../../pjsip/include;../../pjlib/include;../../pjlib-util/include;../../pjmedia/include;../../pjnath/include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<PrecompiledHeaderOutputFile />
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<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;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<OutputFile>..\bin\sample-debug-$(TargetCPU)-$(Platform)-vc$(VSVer)-$(Configuration).exe</OutputFile>
|
||||
<TargetMachine>MachineX64</TargetMachine>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug-Static|Win32'">
|
||||
<ClCompile>
|
||||
<AdditionalIncludeDirectories>../../pjsip/include;../../pjlib/include;../../pjlib-util/include;../../pjmedia/include;../../pjnath/include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<PrecompiledHeaderOutputFile />
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<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;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<OutputFile>..\bin\sample-debug-$(TargetCPU)-$(Platform)-vc$(VSVer)-$(Configuration).exe</OutputFile>
|
||||
<IgnoreSpecificDefaultLibraries>MSVCRT.LIB;%(IgnoreSpecificDefaultLibraries)</IgnoreSpecificDefaultLibraries>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug-Static|x64'">
|
||||
<Midl>
|
||||
<TargetEnvironment>X64</TargetEnvironment>
|
||||
</Midl>
|
||||
<ClCompile>
|
||||
<AdditionalIncludeDirectories>../../pjsip/include;../../pjlib/include;../../pjlib-util/include;../../pjmedia/include;../../pjnath/include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<PrecompiledHeaderOutputFile />
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<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;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<OutputFile>..\bin\sample-debug-$(TargetCPU)-$(Platform)-vc$(VSVer)-$(Configuration).exe</OutputFile>
|
||||
<IgnoreSpecificDefaultLibraries>MSVCRT.LIB;%(IgnoreSpecificDefaultLibraries)</IgnoreSpecificDefaultLibraries>
|
||||
<TargetMachine>MachineX64</TargetMachine>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release-Dynamic|Win32'">
|
||||
<ClCompile>
|
||||
<AdditionalIncludeDirectories>../../pjsip/include;../../pjlib/include;../../pjlib-util/include;../../pjmedia/include;../../pjnath/include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<PrecompiledHeaderOutputFile />
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<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;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<OutputFile>..\bin\sample-debug-$(TargetCPU)-$(Platform)-vc$(VSVer)-$(Configuration).exe</OutputFile>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release-Dynamic|x64'">
|
||||
<Midl>
|
||||
<TargetEnvironment>X64</TargetEnvironment>
|
||||
</Midl>
|
||||
<ClCompile>
|
||||
<AdditionalIncludeDirectories>../../pjsip/include;../../pjlib/include;../../pjlib-util/include;../../pjmedia/include;../../pjnath/include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<PrecompiledHeaderOutputFile />
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<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;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<OutputFile>..\bin\sample-debug-$(TargetCPU)-$(Platform)-vc$(VSVer)-$(Configuration).exe</OutputFile>
|
||||
<TargetMachine>MachineX64</TargetMachine>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug-Dynamic|Win32'">
|
||||
<ClCompile>
|
||||
<AdditionalIncludeDirectories>../../pjsip/include;../../pjlib/include;../../pjlib-util/include;../../pjmedia/include;../../pjnath/include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<PrecompiledHeaderOutputFile />
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<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;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<OutputFile>..\bin\sample-debug-$(TargetCPU)-$(Platform)-vc$(VSVer)-$(Configuration).exe</OutputFile>
|
||||
<IgnoreSpecificDefaultLibraries>MSVCRT.LIB;%(IgnoreSpecificDefaultLibraries)</IgnoreSpecificDefaultLibraries>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug-Dynamic|x64'">
|
||||
<Midl>
|
||||
<TargetEnvironment>X64</TargetEnvironment>
|
||||
</Midl>
|
||||
<ClCompile>
|
||||
<AdditionalIncludeDirectories>../../pjsip/include;../../pjlib/include;../../pjlib-util/include;../../pjmedia/include;../../pjnath/include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<PrecompiledHeaderOutputFile />
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<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;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<OutputFile>..\bin\sample-debug-$(TargetCPU)-$(Platform)-vc$(VSVer)-$(Configuration).exe</OutputFile>
|
||||
<IgnoreSpecificDefaultLibraries>MSVCRT.LIB;%(IgnoreSpecificDefaultLibraries)</IgnoreSpecificDefaultLibraries>
|
||||
<TargetMachine>MachineX64</TargetMachine>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release-Static|Win32'">
|
||||
<ClCompile>
|
||||
<AdditionalIncludeDirectories>../../pjsip/include;../../pjlib/include;../../pjlib-util/include;../../pjmedia/include;../../pjnath/include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<PrecompiledHeaderOutputFile />
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<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;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<OutputFile>..\bin\sample-debug-$(TargetCPU)-$(Platform)-vc$(VSVer)-$(Configuration).exe</OutputFile>
|
||||
<IgnoreSpecificDefaultLibraries>MSVCRT.LIB;%(IgnoreSpecificDefaultLibraries)</IgnoreSpecificDefaultLibraries>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release-Static|x64'">
|
||||
<Midl>
|
||||
<TargetEnvironment>X64</TargetEnvironment>
|
||||
</Midl>
|
||||
<ClCompile>
|
||||
<AdditionalIncludeDirectories>../../pjsip/include;../../pjlib/include;../../pjlib-util/include;../../pjmedia/include;../../pjnath/include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<PrecompiledHeaderOutputFile />
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<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;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<OutputFile>..\bin\sample-debug-$(TargetCPU)-$(Platform)-vc$(VSVer)-$(Configuration).exe</OutputFile>
|
||||
<IgnoreSpecificDefaultLibraries>MSVCRT.LIB;%(IgnoreSpecificDefaultLibraries)</IgnoreSpecificDefaultLibraries>
|
||||
<TargetMachine>MachineX64</TargetMachine>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="..\src\samples\debug.cpp" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\..\pjsip\build\pjsua2_lib.vcxproj">
|
||||
<Project>{b82cdd25-6903-430e-bd38-d8129a2015c1}</Project>
|
||||
<ReferenceOutputAssembly>false</ReferenceOutputAssembly>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="libpjproject.vcxproj">
|
||||
<Project>{23d7679c-764c-4e02-8b29-bb882ceeefe2}</Project>
|
||||
<ReferenceOutputAssembly>false</ReferenceOutputAssembly>
|
||||
</ProjectReference>
|
||||
</ItemGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||
<ImportGroup Label="ExtensionTargets">
|
||||
</ImportGroup>
|
||||
</Project>
|
||||
@@ -0,0 +1,22 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup>
|
||||
<Filter Include="Source Files">
|
||||
<UniqueIdentifier>{631c3228-65bb-420e-b6e8-c9691ff0cc92}</UniqueIdentifier>
|
||||
<Extensions>cpp;c;cxx;rc;def;r;odl;idl;hpj;bat</Extensions>
|
||||
</Filter>
|
||||
<Filter Include="Header Files">
|
||||
<UniqueIdentifier>{ccab5d08-cf03-4653-b512-2af4e6976c79}</UniqueIdentifier>
|
||||
<Extensions>h;hpp;hxx;hm;inl</Extensions>
|
||||
</Filter>
|
||||
<Filter Include="Resource Files">
|
||||
<UniqueIdentifier>{08120526-bae8-41d9-b865-82cb4ce70980}</UniqueIdentifier>
|
||||
<Extensions>ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe</Extensions>
|
||||
</Filter>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="..\src\samples\debug.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
</ItemGroup>
|
||||
</Project>
|
||||
File diff suppressed because it is too large.
Load diff
@@ -0,0 +1,397 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup Label="ProjectConfigurations">
|
||||
<ProjectConfiguration Include="Debug-Dynamic|Win32">
|
||||
<Configuration>Debug-Dynamic</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Debug-Dynamic|x64">
|
||||
<Configuration>Debug-Dynamic</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Debug-Static|Win32">
|
||||
<Configuration>Debug-Static</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Debug-Static|x64">
|
||||
<Configuration>Debug-Static</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Debug|Win32">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Debug|x64">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release-Dynamic|Win32">
|
||||
<Configuration>Release-Dynamic</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release-Dynamic|x64">
|
||||
<Configuration>Release-Dynamic</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release-Static|Win32">
|
||||
<Configuration>Release-Static</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release-Static|x64">
|
||||
<Configuration>Release-Static</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|Win32">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|x64">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
</ItemGroup>
|
||||
<!-- Import common config -->
|
||||
<Import Project="..\..\build\vs\pjproject-vs14-common-config.props" />
|
||||
<PropertyGroup Label="Globals">
|
||||
<ProjectGuid>{E378A1FC-0C9C-4462-860F-7E60BC1BF84E}</ProjectGuid>
|
||||
<RootNamespace>samples</RootNamespace>
|
||||
<Keyword>MakeFileProj</Keyword>
|
||||
<!-- Specific windows store/UWP property -->
|
||||
<DefaultLanguage>en-US</DefaultLanguage>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release-Static|Win32'" Label="Configuration">
|
||||
<ConfigurationType>Makefile</ConfigurationType>
|
||||
<PlatformToolset>v140</PlatformToolset>
|
||||
<UseOfMfc>false</UseOfMfc>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug-Dynamic|Win32'" Label="Configuration">
|
||||
<ConfigurationType>Makefile</ConfigurationType>
|
||||
<PlatformToolset>v140</PlatformToolset>
|
||||
<UseOfMfc>false</UseOfMfc>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release-Dynamic|Win32'" Label="Configuration">
|
||||
<ConfigurationType>Makefile</ConfigurationType>
|
||||
<PlatformToolset>v140</PlatformToolset>
|
||||
<UseOfMfc>false</UseOfMfc>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug-Static|Win32'" Label="Configuration">
|
||||
<ConfigurationType>Makefile</ConfigurationType>
|
||||
<PlatformToolset>v140</PlatformToolset>
|
||||
<UseOfMfc>false</UseOfMfc>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
|
||||
<ConfigurationType>Makefile</ConfigurationType>
|
||||
<PlatformToolset>v140</PlatformToolset>
|
||||
<UseOfMfc>false</UseOfMfc>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
|
||||
<ConfigurationType>Makefile</ConfigurationType>
|
||||
<PlatformToolset>v140</PlatformToolset>
|
||||
<UseOfMfc>false</UseOfMfc>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release-Static|x64'" Label="Configuration">
|
||||
<ConfigurationType>Makefile</ConfigurationType>
|
||||
<PlatformToolset>v140</PlatformToolset>
|
||||
<UseOfMfc>false</UseOfMfc>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug-Dynamic|x64'" Label="Configuration">
|
||||
<ConfigurationType>Makefile</ConfigurationType>
|
||||
<PlatformToolset>v140</PlatformToolset>
|
||||
<UseOfMfc>false</UseOfMfc>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release-Dynamic|x64'" Label="Configuration">
|
||||
<ConfigurationType>Makefile</ConfigurationType>
|
||||
<PlatformToolset>v140</PlatformToolset>
|
||||
<UseOfMfc>false</UseOfMfc>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug-Static|x64'" Label="Configuration">
|
||||
<ConfigurationType>Makefile</ConfigurationType>
|
||||
<PlatformToolset>v140</PlatformToolset>
|
||||
<UseOfMfc>false</UseOfMfc>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
|
||||
<ConfigurationType>Makefile</ConfigurationType>
|
||||
<PlatformToolset>v140</PlatformToolset>
|
||||
<UseOfMfc>false</UseOfMfc>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
|
||||
<ConfigurationType>Makefile</ConfigurationType>
|
||||
<PlatformToolset>v140</PlatformToolset>
|
||||
<UseOfMfc>false</UseOfMfc>
|
||||
</PropertyGroup>
|
||||
<!-- Override the PlatformToolset -->
|
||||
<PropertyGroup>
|
||||
<PlatformToolset>$(BuildToolset)</PlatformToolset>
|
||||
<CharacterSet Condition="'$(API_Family)'!='WinDesktop'"></CharacterSet>
|
||||
<ConfigurationType Condition="'$(API_Family)'=='UWP' Or '$(API_Family)'=='WinPhone8'">StaticLibrary</ConfigurationType>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||
<ImportGroup Label="ExtensionSettings">
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release-Static|Win32'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
<Import Project="..\..\build\vs\pjproject-vs14-win32-release-defaults.props" />
|
||||
<Import Project="..\..\build\vs\pjproject-vs14-release-static-defaults.props" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug-Dynamic|Win32'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
<Import Project="..\..\build\vs\pjproject-vs14-win32-common-defaults.props" />
|
||||
<Import Project="..\..\build\vs\pjproject-vs14-debug-dynamic-defaults.props" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release-Dynamic|Win32'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
<Import Project="..\..\build\vs\pjproject-vs14-win32-release-defaults.props" />
|
||||
<Import Project="..\..\build\vs\pjproject-vs14-release-dynamic-defaults.props" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug-Static|Win32'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
<Import Project="..\..\build\vs\pjproject-vs14-win32-common-defaults.props" />
|
||||
<Import Project="..\..\build\vs\pjproject-vs14-debug-static-defaults.props" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
<Import Project="..\..\build\vs\pjproject-vs14-win32-release-defaults.props" />
|
||||
<Import Project="..\..\build\vs\pjproject-vs14-release-dynamic-defaults.props" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
<Import Project="..\..\build\vs\pjproject-vs14-win32-common-defaults.props" />
|
||||
<Import Project="..\..\build\vs\pjproject-vs14-debug-static-defaults.props" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release-Static|x64'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
<Import Project="..\..\build\vs\pjproject-vs14-win64-release-defaults.props" />
|
||||
<Import Project="..\..\build\vs\pjproject-vs14-release-static-defaults.props" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug-Dynamic|x64'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
<Import Project="..\..\build\vs\pjproject-vs14-win64-common-defaults.props" />
|
||||
<Import Project="..\..\build\vs\pjproject-vs14-debug-dynamic-defaults.props" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release-Dynamic|x64'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
<Import Project="..\..\build\vs\pjproject-vs14-win64-release-defaults.props" />
|
||||
<Import Project="..\..\build\vs\pjproject-vs14-release-dynamic-defaults.props" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug-Static|x64'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
<Import Project="..\..\build\vs\pjproject-vs14-win64-common-defaults.props" />
|
||||
<Import Project="..\..\build\vs\pjproject-vs14-debug-static-defaults.props" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
<Import Project="..\..\build\vs\pjproject-vs14-win64-release-defaults.props" />
|
||||
<Import Project="..\..\build\vs\pjproject-vs14-release-dynamic-defaults.props" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
<Import Project="..\..\build\vs\pjproject-vs14-win64-common-defaults.props" />
|
||||
<Import Project="..\..\build\vs\pjproject-vs14-debug-static-defaults.props" />
|
||||
</ImportGroup>
|
||||
<PropertyGroup Label="UserMacros" />
|
||||
<PropertyGroup>
|
||||
<_ProjectFileVersion>14.0.22823.1</_ProjectFileVersion>
|
||||
</PropertyGroup>
|
||||
<!-- Compile and link option definition -->
|
||||
<ItemDefinitionGroup>
|
||||
<ClCompile>
|
||||
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
||||
<CompileAsWinRT>false</CompileAsWinRT>
|
||||
<AdditionalIncludeDirectories>../../pjsip/include;../../pjlib/include;../../pjlib-util/include;../../pjmedia/include;../../pjnath/include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<RuntimeLibrary Condition="'$(API_Family)'=='UWP'">MultiThreadedDebugDLL</RuntimeLibrary>
|
||||
</ClCompile>
|
||||
<Lib>
|
||||
<AdditionalOptions>/Ignore:4006 %(AdditionalOptions)</AdditionalOptions>
|
||||
</Lib>
|
||||
</ItemDefinitionGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<NMakeBuildCommandLine>nmake /NOLOGO /S /f Samples-vc.mak BUILD_MODE=release VC_VER=14</NMakeBuildCommandLine>
|
||||
<NMakeReBuildCommandLine>nmake /NOLOGO /S /f Samples-vc.mak BUILD_MODE=release VC_VER=14 /a</NMakeReBuildCommandLine>
|
||||
<NMakeCleanCommandLine>nmake /NOLOGO /S /f Samples-vc.mak BUILD_MODE=release VC_VER=14 clean</NMakeCleanCommandLine>
|
||||
<NMakeOutput>All samples</NMakeOutput>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<NMakeBuildCommandLine>nmake /NOLOGO /S /f Samples-vc.mak BUILD_MODE=release VC_VER=14 ARCH=win64</NMakeBuildCommandLine>
|
||||
<NMakeReBuildCommandLine>nmake /NOLOGO /S /f Samples-vc.mak BUILD_MODE=release VC_VER=14 ARCH=win64 /a</NMakeReBuildCommandLine>
|
||||
<NMakeCleanCommandLine>nmake /NOLOGO /S /f Samples-vc.mak BUILD_MODE=release VC_VER=14 ARCH=win64 clean</NMakeCleanCommandLine>
|
||||
<NMakeOutput>All samples</NMakeOutput>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<NMakeBuildCommandLine>nmake /NOLOGO /S /f Samples-vc.mak BUILD_MODE=debug VC_VER=14 ARCH=win32</NMakeBuildCommandLine>
|
||||
<NMakeReBuildCommandLine>nmake /NOLOGO /S /f Samples-vc.mak BUILD_MODE=debug VC_VER=14 ARCH=win32 /a</NMakeReBuildCommandLine>
|
||||
<NMakeCleanCommandLine>nmake /NOLOGO /S /f Samples-vc.mak BUILD_MODE=debug VC_VER=14 ARCH=win32 clean</NMakeCleanCommandLine>
|
||||
<NMakeOutput>All samples</NMakeOutput>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
<NMakeBuildCommandLine>nmake /NOLOGO /S /f Samples-vc.mak BUILD_MODE=debug VC_VER=14 ARCH=win64</NMakeBuildCommandLine>
|
||||
<NMakeReBuildCommandLine>nmake /NOLOGO /S /f Samples-vc.mak BUILD_MODE=debug VC_VER=14 ARCH=win64 /a </NMakeReBuildCommandLine>
|
||||
<NMakeCleanCommandLine>nmake /NOLOGO /S /f Samples-vc.mak BUILD_MODE=debug VC_VER=14 ARCH=win64 clean</NMakeCleanCommandLine>
|
||||
<NMakeOutput>All samples</NMakeOutput>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug-Static|Win32'">
|
||||
<NMakeBuildCommandLine>nmake /NOLOGO /S /f Samples-vc.mak BUILD_MODE=debug-static VC_VER=14 ARCH=win32s</NMakeBuildCommandLine>
|
||||
<NMakeReBuildCommandLine>nmake /NOLOGO /S /f Samples-vc.mak BUILD_MODE=debug-static VC_VER=14 ARCH=win32 /a</NMakeReBuildCommandLine>
|
||||
<NMakeCleanCommandLine>nmake /NOLOGO /S /f Samples-vc.mak BUILD_MODE=debug-static VC_VER=14 ARCH=win32 clean</NMakeCleanCommandLine>
|
||||
<NMakeOutput>All samples</NMakeOutput>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug-Static|x64'">
|
||||
<NMakeBuildCommandLine>nmake /NOLOGO /S /f Samples-vc.mak BUILD_MODE=debug-static VC_VER=14 ARCH=win64</NMakeBuildCommandLine>
|
||||
<NMakeReBuildCommandLine>nmake /NOLOGO /S /f Samples-vc.mak BUILD_MODE=debug-static VC_VER=14 ARCH=win64 /a</NMakeReBuildCommandLine>
|
||||
<NMakeCleanCommandLine>nmake /NOLOGO /S /f Samples-vc.mak BUILD_MODE=debug-static VC_VER=14 ARCH=win64 clean</NMakeCleanCommandLine>
|
||||
<NMakeOutput>All samples</NMakeOutput>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release-Dynamic|Win32'">
|
||||
<NMakeBuildCommandLine>nmake /NOLOGO /S /f Samples-vc.mak BUILD_MODE=release-dynamic VC_VER=14 ARCH=win32</NMakeBuildCommandLine>
|
||||
<NMakeReBuildCommandLine>nmake /NOLOGO /S /f Samples-vc.mak BUILD_MODE=release-dynamic VC_VER=14 ARCH=win32 /a</NMakeReBuildCommandLine>
|
||||
<NMakeCleanCommandLine>nmake /NOLOGO /S /f Samples-vc.mak BUILD_MODE=release-dynamic VC_VER=14 ARCH=win32 clean</NMakeCleanCommandLine>
|
||||
<NMakeOutput>All samples</NMakeOutput>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release-Dynamic|x64'">
|
||||
<NMakeBuildCommandLine>nmake /NOLOGO /S /f Samples-vc.mak BUILD_MODE=release-dynamic VC_VER=14 ARCH=win64</NMakeBuildCommandLine>
|
||||
<NMakeReBuildCommandLine>nmake /NOLOGO /S /f Samples-vc.mak BUILD_MODE=release-dynamic VC_VER=14 ARCH=win64 /a</NMakeReBuildCommandLine>
|
||||
<NMakeCleanCommandLine>nmake /NOLOGO /S /f Samples-vc.mak BUILD_MODE=release-dynamic VC_VER=14 ARCH=win64 clean</NMakeCleanCommandLine>
|
||||
<NMakeOutput>All samples</NMakeOutput>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug-Dynamic|Win32'">
|
||||
<NMakeBuildCommandLine>nmake /NOLOGO /S /f Samples-vc.mak BUILD_MODE=debug-dynamic VC_VER=14 ARCH=win32</NMakeBuildCommandLine>
|
||||
<NMakeReBuildCommandLine>nmake /NOLOGO /S /f Samples-vc.mak BUILD_MODE=debug-dynamic VC_VER=14 ARCH=win32 /a</NMakeReBuildCommandLine>
|
||||
<NMakeCleanCommandLine>nmake /NOLOGO /S /f Samples-vc.mak BUILD_MODE=debug-dynamic VC_VER=14 ARCH=win32 clean</NMakeCleanCommandLine>
|
||||
<NMakeOutput>All samples</NMakeOutput>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug-Dynamic|x64'">
|
||||
<NMakeBuildCommandLine>nmake /NOLOGO /S /f Samples-vc.mak BUILD_MODE=debug-dynamic VC_VER=14 ARCH=win64</NMakeBuildCommandLine>
|
||||
<NMakeReBuildCommandLine>nmake /NOLOGO /S /f Samples-vc.mak BUILD_MODE=debug-dynamic VC_VER=14 ARCH=win64 /a</NMakeReBuildCommandLine>
|
||||
<NMakeCleanCommandLine>nmake /NOLOGO /S /f Samples-vc.mak BUILD_MODE=debug-dynamic VC_VER=14 ARCH=win64 clean</NMakeCleanCommandLine>
|
||||
<NMakeOutput>All samples</NMakeOutput>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release-Static|Win32'">
|
||||
<NMakeBuildCommandLine>nmake /NOLOGO /S /f Samples-vc.mak BUILD_MODE=release-static VC_VER=14 ARCH=win32</NMakeBuildCommandLine>
|
||||
<NMakeReBuildCommandLine>nmake /NOLOGO /S /f Samples-vc.mak BUILD_MODE=release-static VC_VER=14 ARCH=win32 /a</NMakeReBuildCommandLine>
|
||||
<NMakeCleanCommandLine>nmake /NOLOGO /S /f Samples-vc.mak BUILD_MODE=release-static VC_VER=14 ARCH=win32 clean</NMakeCleanCommandLine>
|
||||
<NMakeOutput>All samples</NMakeOutput>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release-Static|x64'">
|
||||
<NMakeBuildCommandLine>nmake /NOLOGO /S /f Samples-vc.mak BUILD_MODE=release-static VC_VER=14 ARCH=win64</NMakeBuildCommandLine>
|
||||
<NMakeReBuildCommandLine>nmake /NOLOGO /S /f Samples-vc.mak BUILD_MODE=release-static VC_VER=14 ARCH=win64 /a</NMakeReBuildCommandLine>
|
||||
<NMakeCleanCommandLine>nmake /NOLOGO /S /f Samples-vc.mak BUILD_MODE=release-static VC_VER=14 ARCH=win64 clean</NMakeCleanCommandLine>
|
||||
<NMakeOutput>All samples</NMakeOutput>
|
||||
</PropertyGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<BuildLog>
|
||||
<Path />
|
||||
</BuildLog>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<BuildLog>
|
||||
<Path />
|
||||
</BuildLog>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<BuildLog>
|
||||
<Path />
|
||||
</BuildLog>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
<BuildLog>
|
||||
<Path />
|
||||
</BuildLog>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug-Static|Win32'">
|
||||
<BuildLog>
|
||||
<Path />
|
||||
</BuildLog>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug-Static|x64'">
|
||||
<BuildLog>
|
||||
<Path />
|
||||
</BuildLog>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release-Dynamic|Win32'">
|
||||
<BuildLog>
|
||||
<Path />
|
||||
</BuildLog>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release-Dynamic|x64'">
|
||||
<BuildLog>
|
||||
<Path />
|
||||
</BuildLog>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug-Dynamic|Win32'">
|
||||
<BuildLog>
|
||||
<Path />
|
||||
</BuildLog>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug-Dynamic|x64'">
|
||||
<BuildLog>
|
||||
<Path />
|
||||
</BuildLog>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release-Static|Win32'">
|
||||
<BuildLog>
|
||||
<Path />
|
||||
</BuildLog>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release-Static|x64'">
|
||||
<BuildLog>
|
||||
<Path />
|
||||
</BuildLog>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="..\src\samples\aectest.c" />
|
||||
<ClCompile Include="..\src\samples\auddemo.c" />
|
||||
<ClCompile Include="..\src\samples\aviplay.c" />
|
||||
<ClCompile Include="..\src\samples\clidemo.c" />
|
||||
<ClCompile Include="..\src\samples\confbench.c" />
|
||||
<ClCompile Include="..\src\samples\confsample.c" />
|
||||
<ClCompile Include="..\src\samples\encdec.c" />
|
||||
<ClCompile Include="..\src\samples\footprint.c" />
|
||||
<ClCompile Include="..\src\samples\httpdemo.c" />
|
||||
<ClCompile Include="..\src\samples\icedemo.c" />
|
||||
<ClCompile Include="..\src\samples\jbsim.c" />
|
||||
<ClCompile Include="..\src\samples\latency.c" />
|
||||
<ClCompile Include="..\src\samples\level.c" />
|
||||
<ClCompile Include="..\src\samples\mix.c" />
|
||||
<ClCompile Include="..\src\samples\pcaputil.c" />
|
||||
<ClCompile Include="..\src\samples\pjsip-perf.c" />
|
||||
<ClCompile Include="..\src\samples\playfile.c" />
|
||||
<ClCompile Include="..\src\samples\playsine.c" />
|
||||
<ClCompile Include="..\src\samples\recfile.c" />
|
||||
<ClCompile Include="..\src\samples\resampleplay.c" />
|
||||
<ClCompile Include="..\src\samples\simpleua.c" />
|
||||
<ClCompile Include="..\src\samples\simple_pjsua.c" />
|
||||
<ClCompile Include="..\src\samples\sipecho.c" />
|
||||
<ClCompile Include="..\src\samples\siprtp.c">
|
||||
<ExcludedFromBuild Condition="'$(API_Family)'!='WinDesktop'">true</ExcludedFromBuild>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\src\samples\siprtp_report.c">
|
||||
<ExcludedFromBuild Condition="'$(API_Family)'!='WinDesktop'">true</ExcludedFromBuild>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\src\samples\sipstateless.c" />
|
||||
<!-- ClCompile Include="..\src\samples\sndinfo.c" / -->
|
||||
<!-- ClCompile Include="..\src\samples\sndtest.c" / -->
|
||||
<ClCompile Include="..\src\samples\stateful_proxy.c" />
|
||||
<ClCompile Include="..\src\samples\stateless_proxy.c" />
|
||||
<ClCompile Include="..\src\samples\streamutil.c" />
|
||||
<ClCompile Include="..\src\samples\strerror.c" />
|
||||
<ClCompile Include="..\src\samples\tonegen.c" />
|
||||
<ClCompile Include="..\src\samples\vid_streamutil.c" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="..\src\samples\proxy.h" />
|
||||
<ClInclude Include="..\src\samples\util.h" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="Samples-vc.mak" />
|
||||
<None Include="Samples.mak" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="libpjproject.vcxproj">
|
||||
<Project>{23d7679c-764c-4e02-8b29-bb882ceeefe2}</Project>
|
||||
<ReferenceOutputAssembly>false</ReferenceOutputAssembly>
|
||||
</ProjectReference>
|
||||
</ItemGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||
<ImportGroup Label="ExtensionTargets">
|
||||
</ImportGroup>
|
||||
</Project>
|
||||
@@ -0,0 +1,133 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup>
|
||||
<Filter Include="Source Files">
|
||||
<UniqueIdentifier>{edee2571-42c7-4b19-a770-463c50ecadf1}</UniqueIdentifier>
|
||||
<Extensions>cpp;c;cxx;rc;def;r;odl;idl;hpj;bat</Extensions>
|
||||
</Filter>
|
||||
<Filter Include="Header Files">
|
||||
<UniqueIdentifier>{b4946932-b2c0-4674-8c52-84055cf6252a}</UniqueIdentifier>
|
||||
<Extensions>h;hpp;hxx;hm;inl</Extensions>
|
||||
</Filter>
|
||||
<Filter Include="Resource Files">
|
||||
<UniqueIdentifier>{62edc4d5-7a09-42e6-9c5a-f19689126b97}</UniqueIdentifier>
|
||||
<Extensions>ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe</Extensions>
|
||||
</Filter>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="..\src\samples\aectest.c">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\src\samples\auddemo.c">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\src\samples\aviplay.c">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\src\samples\clidemo.c">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\src\samples\confbench.c">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\src\samples\confsample.c">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\src\samples\encdec.c">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\src\samples\footprint.c">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\src\samples\httpdemo.c">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\src\samples\icedemo.c">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\src\samples\jbsim.c">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\src\samples\latency.c">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\src\samples\level.c">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\src\samples\mix.c">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\src\samples\pcaputil.c">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\src\samples\pjsip-perf.c">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\src\samples\playfile.c">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\src\samples\playsine.c">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\src\samples\recfile.c">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\src\samples\resampleplay.c">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\src\samples\simple_pjsua.c">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\src\samples\simpleua.c">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\src\samples\sipecho.c">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\src\samples\siprtp.c">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\src\samples\siprtp_report.c">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\src\samples\sipstateless.c">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\src\samples\sndinfo.c">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\src\samples\sndtest.c">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\src\samples\stateful_proxy.c">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\src\samples\stateless_proxy.c">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\src\samples\streamutil.c">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\src\samples\strerror.c">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\src\samples\tonegen.c">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\src\samples\vid_streamutil.c">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="..\src\samples\proxy.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\src\samples\util.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="Samples-vc.mak" />
|
||||
<None Include="Samples.mak" />
|
||||
</ItemGroup>
|
||||
</Project>
|
||||
@@ -0,0 +1,395 @@
|
||||
<?xml version="1.0" encoding="Windows-1252"?>
|
||||
<VisualStudioProject
|
||||
ProjectType="Visual C++"
|
||||
Version="8.00"
|
||||
Name="swig_java_pjsua2"
|
||||
ProjectGUID="{63AC6D7A-5D97-40C2-9AF2-E13AA1F9567C}"
|
||||
RootNamespace="swig_java_pjsua2"
|
||||
>
|
||||
<Platforms>
|
||||
<Platform
|
||||
Name="Win32"
|
||||
/>
|
||||
<Platform
|
||||
Name="x64"
|
||||
/>
|
||||
</Platforms>
|
||||
<ToolFiles>
|
||||
</ToolFiles>
|
||||
<Configurations>
|
||||
<Configuration
|
||||
Name="Debug|Win32"
|
||||
ConfigurationType="2"
|
||||
InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops"
|
||||
CharacterSet="2"
|
||||
>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXMLDataGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCWebServiceProxyGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="0"
|
||||
AdditionalIncludeDirectories="../../pjsip/include;../../pjlib/include;"../../pjlib-util/include";../../pjmedia/include;../../pjnath/include"
|
||||
MinimalRebuild="true"
|
||||
BasicRuntimeChecks="3"
|
||||
RuntimeLibrary="1"
|
||||
WarningLevel="3"
|
||||
Detect64BitPortabilityProblems="true"
|
||||
DebugInformationFormat="4"
|
||||
/>
|
||||
<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="..\src\swig\java\output\pjsua2.dll"
|
||||
IgnoreDefaultLibraryNames="msvcrt.lib"
|
||||
GenerateDebugInformation="true"
|
||||
TargetMachine="1"
|
||||
/>
|
||||
<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"
|
||||
OutputDirectory="$(PlatformName)\$(ConfigurationName)"
|
||||
IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
|
||||
ConfigurationType="2"
|
||||
InheritedPropertySheets="..\..\build\vs\pjproject-vs8-debug-dynamic-defaults.vsprops"
|
||||
CharacterSet="2"
|
||||
>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXMLDataGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCWebServiceProxyGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"
|
||||
TargetEnvironment="3"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="0"
|
||||
AdditionalIncludeDirectories="../../pjsip/include;../../pjlib/include;"../../pjlib-util/include";../../pjmedia/include;../../pjnath/include"
|
||||
MinimalRebuild="true"
|
||||
BasicRuntimeChecks="3"
|
||||
RuntimeLibrary="1"
|
||||
WarningLevel="3"
|
||||
Detect64BitPortabilityProblems="true"
|
||||
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"
|
||||
OutputFile="..\src\swig\java\output\pjsua2.dll"
|
||||
IgnoreDefaultLibraryNames="msvcrt.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|Win32"
|
||||
OutputDirectory="$(SolutionDir)$(ConfigurationName)"
|
||||
IntermediateDirectory="$(ConfigurationName)"
|
||||
ConfigurationType="2"
|
||||
CharacterSet="2"
|
||||
WholeProgramOptimization="1"
|
||||
>
|
||||
<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"
|
||||
RuntimeLibrary="0"
|
||||
WarningLevel="3"
|
||||
Detect64BitPortabilityProblems="true"
|
||||
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"
|
||||
OutputFile="..\src\swig\java\output\pjsua2.dll"
|
||||
IgnoreDefaultLibraryNames="msvcrt.lib"
|
||||
GenerateDebugInformation="true"
|
||||
OptimizeReferences="2"
|
||||
EnableCOMDATFolding="2"
|
||||
TargetMachine="1"
|
||||
/>
|
||||
<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="2"
|
||||
CharacterSet="2"
|
||||
WholeProgramOptimization="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"
|
||||
RuntimeLibrary="0"
|
||||
WarningLevel="3"
|
||||
Detect64BitPortabilityProblems="true"
|
||||
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"
|
||||
OutputFile="..\src\swig\java\output\pjsua2.dll"
|
||||
IgnoreDefaultLibraryNames="msvcrt.lib"
|
||||
GenerateDebugInformation="true"
|
||||
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>
|
||||
<Files>
|
||||
<Filter
|
||||
Name="Source Files"
|
||||
Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
|
||||
UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
|
||||
>
|
||||
<File
|
||||
RelativePath="..\src\swig\java\output\pjsua2_wrap.cpp"
|
||||
>
|
||||
</File>
|
||||
</Filter>
|
||||
<Filter
|
||||
Name="Header Files"
|
||||
Filter="h;hpp;hxx;hm;inl;inc;xsd"
|
||||
UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
|
||||
>
|
||||
<File
|
||||
RelativePath="..\src\swig\java\output\pjsua2_wrap.h"
|
||||
>
|
||||
</File>
|
||||
</Filter>
|
||||
<Filter
|
||||
Name="Resource Files"
|
||||
Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav"
|
||||
UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
|
||||
>
|
||||
</Filter>
|
||||
<File
|
||||
RelativePath="..\src\swig\pjsua2.i"
|
||||
>
|
||||
<FileConfiguration
|
||||
Name="Debug|Win32"
|
||||
>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
CommandLine="@echo off
@echo **************************************************************
@echo - Make sure 'swig' and 'javac' locations are in your PATH environment vars.
@echo - Make sure Java SDK header file directories
@echo (e.g: C:\Program Files (x86)\Java\jdk1.7.0_79\include and C:\Program Files (x86)\Java\jdk1.7.0_79\include\win32)
@echo are in your MSVC header search path
@echo **************************************************************

@echo on
mkdir $(TargetDir)org\pjsip\pjsua2
swig -c++ -java -package org.pjsip.pjsua2 -I$(SolutionDir)pjsip\include -outdir $(TargetDir)org\pjsip\pjsua2 -o $(TargetDir)pjsua2_wrap.cpp $(InputPath)
javac -d $(TargetDir) $(TargetDir)org\pjsip\pjsua2\*.java
javac -d $(TargetDir) -classpath "$(InputDir)java\output" $(InputDir)java\android\src\org\pjsip\pjsua2\app\MyApp.java
javac -d $(TargetDir) -classpath "$(InputDir)java\output" $(TargetDir)..\test.java
javac -d $(TargetDir) -classpath "$(InputDir)java\output" $(TargetDir)..\sample.java
javac -d $(TargetDir) -classpath "$(InputDir)java\output" $(TargetDir)..\sample2.java

@echo **************************************************************
@echo After the build completed succesfully, try to run the test app, e.g:
@echo java -cp D:\projects\pjproject\pjsip-apps\src\swig\java\output -Djava.library.path="D:\projects\pjproject\pjsip-apps\src\swig\java\output" org.pjsip.pjsua2.app.sample
@echo **************************************************************
@echo off
"
|
||||
Outputs="$(TargetDir)pjsua2_wrap.cpp;$(TargetDir)pjsua2_wrap.h"
|
||||
/>
|
||||
</FileConfiguration>
|
||||
<FileConfiguration
|
||||
Name="Debug|x64"
|
||||
>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
CommandLine="@echo off
@echo **************************************************************
@echo - Make sure 'swig' and 'javac' locations are in your PATH environment vars.
@echo - Make sure Java SDK header file directories
@echo (e.g: C:\Program Files (x86)\Java\jdk1.7.0_79\include and C:\Program Files (x86)\Java\jdk1.7.0_79\include\win32)
@echo are in your MSVC header search path
@echo **************************************************************

@echo on
mkdir $(TargetDir)org\pjsip\pjsua2
swig -c++ -java -package org.pjsip.pjsua2 -I$(SolutionDir)pjsip\include -outdir $(TargetDir)org\pjsip\pjsua2 -o $(TargetDir)pjsua2_wrap.cpp $(InputPath)
javac -d $(TargetDir) $(TargetDir)org\pjsip\pjsua2\*.java
javac -d $(TargetDir) -classpath "$(InputDir)java\output" $(InputDir)java\android\src\org\pjsip\pjsua2\app\MyApp.java
javac -d $(TargetDir) -classpath "$(InputDir)java\output" $(TargetDir)..\test.java
javac -d $(TargetDir) -classpath "$(InputDir)java\output" $(TargetDir)..\sample.java
javac -d $(TargetDir) -classpath "$(InputDir)java\output" $(TargetDir)..\sample2.java

@echo **************************************************************
@echo After the build completed succesfully, try to run the test app, e.g:
@echo java -cp D:\projects\pjproject\pjsip-apps\src\swig\java\output -Djava.library.path="D:\projects\pjproject\pjsip-apps\src\swig\java\output" org.pjsip.pjsua2.app.sample
@echo **************************************************************
@echo off
"
|
||||
Outputs="%(Filename)_wrap.cxx"
|
||||
/>
|
||||
</FileConfiguration>
|
||||
<FileConfiguration
|
||||
Name="Release|Win32"
|
||||
>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
CommandLine="@echo off
@echo **************************************************************
@echo - Make sure 'swig' and 'javac' locations are in your PATH environment vars.
@echo - Make sure Java SDK header file directories
@echo (e.g: C:\Program Files (x86)\Java\jdk1.7.0_79\include and C:\Program Files (x86)\Java\jdk1.7.0_79\include\win32)
@echo are in your MSVC header search path
@echo **************************************************************

@echo on
mkdir $(TargetDir)org\pjsip\pjsua2
swig -c++ -java -package org.pjsip.pjsua2 -I$(SolutionDir)pjsip\include -outdir $(TargetDir)org\pjsip\pjsua2 -o $(TargetDir)pjsua2_wrap.cpp $(InputPath)
javac -d $(TargetDir) $(TargetDir)org\pjsip\pjsua2\*.java
javac -d $(TargetDir) -classpath "$(InputDir)java\output" $(InputDir)java\android\src\org\pjsip\pjsua2\app\MyApp.java
javac -d $(TargetDir) -classpath "$(InputDir)java\output" $(TargetDir)..\test.java
javac -d $(TargetDir) -classpath "$(InputDir)java\output" $(TargetDir)..\sample.java
javac -d $(TargetDir) -classpath "$(InputDir)java\output" $(TargetDir)..\sample2.java

@echo **************************************************************
@echo After the build completed succesfully, try to run the test app, e.g:
@echo java -cp D:\projects\pjproject\pjsip-apps\src\swig\java\output -Djava.library.path="D:\projects\pjproject\pjsip-apps\src\swig\java\output" org.pjsip.pjsua2.app.sample
@echo **************************************************************
@echo off
"
|
||||
Outputs="$(TargetDir)pjsua2_wrap.cpp;$(TargetDir)pjsua2_wrap.h"
|
||||
/>
|
||||
</FileConfiguration>
|
||||
<FileConfiguration
|
||||
Name="Release|x64"
|
||||
>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
CommandLine="@echo off
@echo **************************************************************
@echo - Make sure 'swig' and 'javac' locations are in your PATH environment vars.
@echo - Make sure Java SDK header file directories
@echo (e.g: C:\Program Files (x86)\Java\jdk1.7.0_79\include and C:\Program Files (x86)\Java\jdk1.7.0_79\include\win32)
@echo are in your MSVC header search path
@echo **************************************************************

@echo on
mkdir $(TargetDir)org\pjsip\pjsua2
swig -c++ -java -package org.pjsip.pjsua2 -I$(SolutionDir)pjsip\include -outdir $(TargetDir)org\pjsip\pjsua2 -o $(TargetDir)pjsua2_wrap.cpp $(InputPath)
javac -d $(TargetDir) $(TargetDir)org\pjsip\pjsua2\*.java
javac -d $(TargetDir) -classpath "$(InputDir)java\output" $(InputDir)java\android\src\org\pjsip\pjsua2\app\MyApp.java
javac -d $(TargetDir) -classpath "$(InputDir)java\output" $(TargetDir)..\test.java
javac -d $(TargetDir) -classpath "$(InputDir)java\output" $(TargetDir)..\sample.java
javac -d $(TargetDir) -classpath "$(InputDir)java\output" $(TargetDir)..\sample2.java

@echo **************************************************************
@echo After the build completed succesfully, try to run the test app, e.g:
@echo java -cp D:\projects\pjproject\pjsip-apps\src\swig\java\output -Djava.library.path="D:\projects\pjproject\pjsip-apps\src\swig\java\output" org.pjsip.pjsua2.app.sample
@echo **************************************************************
@echo off
"
|
||||
Outputs="$(TargetDir)pjsua2_wrap.cpp;$(TargetDir)pjsua2_wrap.h"
|
||||
/>
|
||||
</FileConfiguration>
|
||||
</File>
|
||||
</Files>
|
||||
<Globals>
|
||||
</Globals>
|
||||
</VisualStudioProject>
|
||||
@@ -0,0 +1,296 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup Label="ProjectConfigurations">
|
||||
<ProjectConfiguration Include="Debug|Win32">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Debug|x64">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|Win32">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|x64">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
</ItemGroup>
|
||||
<!-- Import common config -->
|
||||
<Import Project="..\..\build\vs\pjproject-vs14-common-config.props" />
|
||||
<PropertyGroup Label="Globals">
|
||||
<ProjectGuid>{63AC6D7A-5D97-40C2-9AF2-E13AA1F9567C}</ProjectGuid>
|
||||
<TargetName>pjsua2</TargetName>
|
||||
<RootNamespace>swig_java_pjsua2</RootNamespace>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<PlatformToolset>v140</PlatformToolset>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<PlatformToolset>v140</PlatformToolset>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<PlatformToolset>v140</PlatformToolset>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<PlatformToolset>v140</PlatformToolset>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||
<ImportGroup Label="ExtensionSettings">
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
<Import Project="..\..\build\vs\pjproject-vs14-win32-release-defaults.props" />
|
||||
<Import Project="..\..\build\vs\pjproject-vs14-release-dynamic-defaults.props" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
<Import Project="..\..\build\vs\pjproject-vs14-win32-common-defaults.props" />
|
||||
<Import Project="..\..\build\vs\pjproject-vs14-debug-static-defaults.props" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
<Import Project="..\..\build\vs\pjproject-vs14-win64-release-defaults.props" />
|
||||
<Import Project="..\..\build\vs\pjproject-vs14-release-dynamic-defaults.props" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
<Import Project="..\..\build\vs\pjproject-vs14-win64-common-defaults.props" />
|
||||
<Import Project="..\..\build\vs\pjproject-vs14-debug-static-defaults.props" />
|
||||
</ImportGroup>
|
||||
<PropertyGroup Label="UserMacros" />
|
||||
<PropertyGroup>
|
||||
<_ProjectFileVersion>14.0.25431.1</_ProjectFileVersion>
|
||||
<OutDir>..\src\swig\java\output\</OutDir>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
|
||||
<CodeAnalysisRules />
|
||||
<CodeAnalysisRuleAssemblies />
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
|
||||
<CodeAnalysisRules />
|
||||
<CodeAnalysisRuleAssemblies />
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
|
||||
<CodeAnalysisRules />
|
||||
<CodeAnalysisRuleAssemblies />
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
|
||||
<CodeAnalysisRules />
|
||||
<CodeAnalysisRuleAssemblies />
|
||||
</PropertyGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<ClCompile>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<AdditionalIncludeDirectories>../../pjsip/include;../../pjlib/include;../../pjlib-util/include;../../pjmedia/include;../../pjnath/include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<MinimalRebuild>true</MinimalRebuild>
|
||||
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
|
||||
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat>EditAndContinue</DebugInformationFormat>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<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)</AdditionalDependencies>
|
||||
<OutputFile>..\src\swig\java\output\pjsua2.dll</OutputFile>
|
||||
<IgnoreSpecificDefaultLibraries>msvcrt.lib;%(IgnoreSpecificDefaultLibraries)</IgnoreSpecificDefaultLibraries>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<TargetMachine>MachineX86</TargetMachine>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
<Midl>
|
||||
<TargetEnvironment>X64</TargetEnvironment>
|
||||
</Midl>
|
||||
<ClCompile>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<AdditionalIncludeDirectories>../../pjsip/include;../../pjlib/include;../../pjlib-util/include;../../pjmedia/include;../../pjnath/include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<MinimalRebuild>true</MinimalRebuild>
|
||||
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
|
||||
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<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)</AdditionalDependencies>
|
||||
<OutputFile>..\src\swig\java\output\pjsua2.dll</OutputFile>
|
||||
<IgnoreSpecificDefaultLibraries>msvcrt.lib;%(IgnoreSpecificDefaultLibraries)</IgnoreSpecificDefaultLibraries>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<TargetMachine>MachineX64</TargetMachine>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<ClCompile>
|
||||
<AdditionalIncludeDirectories>../../pjsip/include;../../pjlib/include;../../pjlib-util/include;../../pjmedia/include;../../pjnath/include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<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)</AdditionalDependencies>
|
||||
<OutputFile>..\src\swig\java\output\pjsua2.dll</OutputFile>
|
||||
<IgnoreSpecificDefaultLibraries>msvcrt.lib;%(IgnoreSpecificDefaultLibraries)</IgnoreSpecificDefaultLibraries>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<TargetMachine>MachineX86</TargetMachine>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<Midl>
|
||||
<TargetEnvironment>X64</TargetEnvironment>
|
||||
</Midl>
|
||||
<ClCompile>
|
||||
<AdditionalIncludeDirectories>../../pjsip/include;../../pjlib/include;../../pjlib-util/include;../../pjmedia/include;../../pjnath/include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<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)</AdditionalDependencies>
|
||||
<OutputFile>..\src\swig\java\output\pjsua2.dll</OutputFile>
|
||||
<IgnoreSpecificDefaultLibraries>msvcrt.lib;%(IgnoreSpecificDefaultLibraries)</IgnoreSpecificDefaultLibraries>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<TargetMachine>MachineX64</TargetMachine>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="..\src\swig\java\output\pjsua2_wrap.cpp" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="..\src\swig\java\output\pjsua2_wrap.h" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<CustomBuild Include="..\src\swig\pjsua2.i">
|
||||
<Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%40echo off
|
||||
%40echo **************************************************************
|
||||
%40echo - Make sure %27swig%27 and %27javac%27 locations are in your PATH environment vars.
|
||||
%40echo - Make sure Java SDK header file directories
|
||||
%40echo (e.g: C:\Program Files (x86)\Java\jdk1.7.0_79\include and C:\Program Files (x86)\Java\jdk1.7.0_79\include\win32)
|
||||
%40echo are in your MSVC header search path
|
||||
%40echo **************************************************************
|
||||
|
||||
%40echo on
|
||||
%40echo Building pjsua2.dll to $(OutputDir)
|
||||
mkdir $(OutDir)org\pjsip\pjsua2
|
||||
swig -c++ -java -package org.pjsip.pjsua2 -I$(ProjectDir)..\..\pjsip\include -I$(ProjectDir)..\..\pjlib\include -outdir $(OutDir)org\pjsip\pjsua2 -o $(OutDir)pjsua2_wrap.cpp %(FullPath)
|
||||
javac -d $(OutDir) $(OutDir)org\pjsip\pjsua2\*.java
|
||||
%40echo Building sample app
|
||||
javac -d $(OutDir) -classpath $(OutDir) ..\src\swig\java\android\app\src\main\java\org\pjsip\pjsua2\app\MyApp.java
|
||||
javac -d $(OutDir) -classpath $(OutDir) $(OutDir)..\test.java
|
||||
javac -d $(OutDir) -classpath $(OutDir) $(OutDir)..\sample.java
|
||||
|
||||
%40echo **************************************************************
|
||||
%40echo After the build completed succesfully, try to run the test app, e.g:
|
||||
%40echo java -cp D:\projects\pjproject\pjsip-apps\src\swig\java\output -Djava.library.path="D:\projects\pjproject\pjsip-apps\src\swig\java\output" org.pjsip.pjsua2.app.sample
|
||||
%40echo **************************************************************
|
||||
%40echo off
|
||||
</Command>
|
||||
<Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(OutDir)pjsua2_wrap.cpp;$(OutDir)pjsua2_wrap.h;%(Outputs)</Outputs>
|
||||
<Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%40echo off
|
||||
%40echo **************************************************************
|
||||
%40echo - Make sure %27swig%27 and %27javac%27 locations are in your PATH environment vars.
|
||||
%40echo - Make sure Java SDK header file directories
|
||||
%40echo (e.g: C:\Program Files (x86)\Java\jdk1.7.0_79\include and C:\Program Files (x86)\Java\jdk1.7.0_79\include\win32)
|
||||
%40echo are in your MSVC header search path
|
||||
%40echo **************************************************************
|
||||
|
||||
%40echo on
|
||||
%40echo Building pjsua2.dll to $(OutDir)
|
||||
mkdir $(OutDir)org\pjsip\pjsua2
|
||||
swig -c++ -java -package org.pjsip.pjsua2 -I$(ProjectDir)..\..\pjsip\include -I$(ProjectDir)..\..\pjlib\include -outdir $(OutDir)org\pjsip\pjsua2 -o $(OutDir)pjsua2_wrap.cpp %(FullPath)
|
||||
javac -d $(OutDir) $(OutDir)org\pjsip\pjsua2\*.java
|
||||
%40echo Building sample app
|
||||
javac -d $(OutDir) -classpath $(OutDir) ..\src\swig\java\android\app\src\main\java\org\pjsip\pjsua2\app\MyApp.java
|
||||
javac -d $(OutDir) -classpath $(OutDir) $(OutDir)..\test.java
|
||||
javac -d $(OutDir) -classpath $(OutDir) $(OutDir)..\sample.java
|
||||
|
||||
%40echo **************************************************************
|
||||
%40echo After the build completed succesfully, try to run the test app, e.g:
|
||||
%40echo java -cp D:\projects\pjproject\pjsip-apps\src\swig\java\output -Djava.library.path="D:\projects\pjproject\pjsip-apps\src\swig\java\output" org.pjsip.pjsua2.app.sample
|
||||
%40echo **************************************************************
|
||||
%40echo off
|
||||
</Command>
|
||||
<Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(Filename)_wrap.cxx;%(Outputs)</Outputs>
|
||||
<Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%40echo off
|
||||
%40echo **************************************************************
|
||||
%40echo - Make sure %27swig%27 and %27javac%27 locations are in your PATH environment vars.
|
||||
%40echo - Make sure Java SDK header file directories
|
||||
%40echo (e.g: C:\Program Files (x86)\Java\jdk1.7.0_79\include and C:\Program Files (x86)\Java\jdk1.7.0_79\include\win32)
|
||||
%40echo are in your MSVC header search path
|
||||
%40echo **************************************************************
|
||||
|
||||
%40echo on
|
||||
%40echo Building pjsua2.dll to $(OutDir)
|
||||
mkdir $(OutDir)org\pjsip\pjsua2
|
||||
swig -c++ -java -package org.pjsip.pjsua2 -I$(ProjectDir)..\..\pjsip\include -I$(ProjectDir)..\..\pjlib\include -outdir $(OutDir)org\pjsip\pjsua2 -o $(OutDir)pjsua2_wrap.cpp %(FullPath)
|
||||
javac -d $(OutDir) $(OutDir)org\pjsip\pjsua2\*.java
|
||||
%40echo Building sample app
|
||||
javac -d $(OutDir) -classpath $(OutDir) ..\src\swig\java\android\app\src\main\java\org\pjsip\pjsua2\app\MyApp.java
|
||||
javac -d $(OutDir) -classpath $(OutDir) $(OutDir)..\test.java
|
||||
javac -d $(OutDir) -classpath $(OutDir) $(OutDir)..\sample.java
|
||||
|
||||
%40echo **************************************************************
|
||||
%40echo After the build completed succesfully, try to run the test app, e.g:
|
||||
%40echo java -cp D:\projects\pjproject\pjsip-apps\src\swig\java\output -Djava.library.path="D:\projects\pjproject\pjsip-apps\src\swig\java\output" org.pjsip.pjsua2.app.sample
|
||||
%40echo **************************************************************
|
||||
%40echo off
|
||||
</Command>
|
||||
<Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(OutDir)pjsua2_wrap.cpp;$(OutDir)pjsua2_wrap.h;%(Outputs)</Outputs>
|
||||
<Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">%40echo off
|
||||
%40echo **************************************************************
|
||||
%40echo - Make sure %27swig%27 and %27javac%27 locations are in your PATH environment vars.
|
||||
%40echo - Make sure Java SDK header file directories
|
||||
%40echo (e.g: C:\Program Files (x86)\Java\jdk1.7.0_79\include and C:\Program Files (x86)\Java\jdk1.7.0_79\include\win32)
|
||||
%40echo are in your MSVC header search path
|
||||
%40echo **************************************************************
|
||||
|
||||
%40echo on
|
||||
%40echo Building pjsua2.dll to $(OutDir)
|
||||
mkdir $(OutDir)org\pjsip\pjsua2
|
||||
swig -c++ -java -package org.pjsip.pjsua2 -I$(ProjectDir)..\..\pjsip\include -I$(ProjectDir)..\..\pjlib\include -outdir $(OutDir)org\pjsip\pjsua2 -o $(OutDir)pjsua2_wrap.cpp %(FullPath)
|
||||
javac -d $(OutDir) $(OutDir)org\pjsip\pjsua2\*.java
|
||||
%40echo Building sample app
|
||||
javac -d $(OutDir) -classpath $(OutDir) ..\src\swig\java\android\app\src\main\java\org\pjsip\pjsua2\app\MyApp.java
|
||||
javac -d $(OutDir) -classpath $(OutDir) $(OutDir)..\test.java
|
||||
javac -d $(OutDir) -classpath $(OutDir) $(OutDir)..\sample.java
|
||||
|
||||
%40echo **************************************************************
|
||||
%40echo After the build completed succesfully, try to run the test app, e.g:
|
||||
%40echo java -cp D:\projects\pjproject\pjsip-apps\src\swig\java\output -Djava.library.path="D:\projects\pjproject\pjsip-apps\src\swig\java\output" org.pjsip.pjsua2.app.sample
|
||||
%40echo **************************************************************
|
||||
%40echo off
|
||||
</Command>
|
||||
<Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(OutDir)pjsua2_wrap.cpp;$(OutDir)pjsua2_wrap.h;%(Outputs)</Outputs>
|
||||
</CustomBuild>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\..\pjsip\build\pjsua2_lib.vcxproj">
|
||||
<Project>{b82cdd25-6903-430e-bd38-d8129a2015c1}</Project>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="libpjproject.vcxproj">
|
||||
<Project>{23d7679c-764c-4e02-8b29-bb882ceeefe2}</Project>
|
||||
</ProjectReference>
|
||||
</ItemGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||
<ImportGroup Label="ExtensionTargets">
|
||||
</ImportGroup>
|
||||
</Project>
|
||||
@@ -0,0 +1,30 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup>
|
||||
<Filter Include="Source Files">
|
||||
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
|
||||
<Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
|
||||
</Filter>
|
||||
<Filter Include="Header Files">
|
||||
<UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
|
||||
<Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
|
||||
</Filter>
|
||||
<Filter Include="Resource Files">
|
||||
<UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
|
||||
<Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav</Extensions>
|
||||
</Filter>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="..\src\swig\java\output\pjsua2_wrap.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="..\src\swig\java\output\pjsua2_wrap.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<CustomBuild Include="..\src\swig\pjsua2.i" />
|
||||
</ItemGroup>
|
||||
</Project>
|
||||
@@ -0,0 +1,354 @@
|
||||
<?xml version="1.0" encoding="Windows-1252"?>
|
||||
<VisualStudioProject
|
||||
ProjectType="Visual C++"
|
||||
Version="8.00"
|
||||
Name="vidgui"
|
||||
ProjectGUID="{A8EFA6F7-5443-46FA-9D35-2AF2668232EA}"
|
||||
RootNamespace="vidgui"
|
||||
Keyword="Win32Proj"
|
||||
>
|
||||
<Platforms>
|
||||
<Platform
|
||||
Name="Win32"
|
||||
/>
|
||||
<Platform
|
||||
Name="x64"
|
||||
/>
|
||||
</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"
|
||||
CharacterSet="1"
|
||||
>
|
||||
<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="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"
|
||||
/>
|
||||
<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"
|
||||
OutputDirectory="$(SolutionDir)$(ConfigurationName)"
|
||||
IntermediateDirectory="$(ConfigurationName)"
|
||||
ConfigurationType="1"
|
||||
CharacterSet="1"
|
||||
WholeProgramOptimization="1"
|
||||
>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXMLDataGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCWebServiceProxyGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"
|
||||
/>
|
||||
<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="1"
|
||||
/>
|
||||
<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"
|
||||
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>
|
||||
<Files>
|
||||
<Filter
|
||||
Name="Source Files"
|
||||
Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
|
||||
UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
|
||||
>
|
||||
<File
|
||||
RelativePath="..\src\vidgui\moc_vidgui.cpp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\src\vidgui\moc_vidwin.cpp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\src\vidgui\vidgui.cpp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\src\vidgui\vidwin.cpp"
|
||||
>
|
||||
</File>
|
||||
</Filter>
|
||||
<Filter
|
||||
Name="Header Files"
|
||||
Filter="h;hpp;hxx;hm;inl;inc;xsd"
|
||||
UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
|
||||
>
|
||||
<File
|
||||
RelativePath="..\src\vidgui\vidgui.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\src\vidgui\vidwin.h"
|
||||
>
|
||||
</File>
|
||||
</Filter>
|
||||
<Filter
|
||||
Name="Resource Files"
|
||||
Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav"
|
||||
UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
|
||||
>
|
||||
</Filter>
|
||||
</Files>
|
||||
<Globals>
|
||||
</Globals>
|
||||
</VisualStudioProject>
|
||||
@@ -0,0 +1,305 @@
|
||||
Microsoft eMbedded Visual Tools Workspace File, Format Version 4.00
|
||||
# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
|
||||
|
||||
###############################################################################
|
||||
|
||||
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: "libmilenage"="..\..\..\third_party\build\milenage\libmilenage.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>
|
||||
{{{
|
||||
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 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
|
||||
}}}
|
||||
|
||||
###############################################################################
|
||||
|
||||
Project: "pjsua_wince"="..\..\src\pjsua_wince\pjsua_wince.vcp" - Package Owner=<4>
|
||||
|
||||
Package=<5>
|
||||
{{{
|
||||
}}}
|
||||
|
||||
Package=<4>
|
||||
{{{
|
||||
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 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 pjnath_wince
|
||||
End Project Dependency
|
||||
Begin Project Dependency
|
||||
Project_Dep_Name libgsmcodec
|
||||
End Project Dependency
|
||||
Begin Project Dependency
|
||||
Project_Dep_Name libilbccodec
|
||||
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 libspeex
|
||||
End Project Dependency
|
||||
Begin Project Dependency
|
||||
Project_Dep_Name libmilenage
|
||||
End Project Dependency
|
||||
Begin Project Dependency
|
||||
Project_Dep_Name libsrtp
|
||||
End Project Dependency
|
||||
Begin Project Dependency
|
||||
Project_Dep_Name pjmedia_auddev_wince
|
||||
End Project Dependency
|
||||
}}}
|
||||
|
||||
###############################################################################
|
||||
|
||||
Global:
|
||||
|
||||
Package=<5>
|
||||
{{{
|
||||
}}}
|
||||
|
||||
Package=<3>
|
||||
{{{
|
||||
}}}
|
||||
|
||||
###############################################################################
|
||||
|
||||
@@ -0,0 +1,34 @@
|
||||
|
||||
include ../../../build.mak
|
||||
|
||||
|
||||
###############################################################################
|
||||
# Gather all flags.
|
||||
#
|
||||
export _CFLAGS := $(PJ_CFLAGS) $(CFLAGS)
|
||||
export _CXXFLAGS:= $(PJ_CXXFLAGS)
|
||||
export _LDFLAGS := $(PJ_LDFLAGS) $(PJ_LDLIBS) $(LDFLAGS)
|
||||
|
||||
OBJS = alt_pjsua_aud.o alt_pjsua_vid.o pjsua_app.o main.o
|
||||
|
||||
all: alt_pjsua
|
||||
|
||||
alt_pjsua: $(OBJS)
|
||||
$(PJ_CC) -o $@ $(OBJS) $(_CFLAGS) $(_LDFLAGS)
|
||||
|
||||
pjsua_app.o: ../pjsua/pjsua_app.c
|
||||
$(PJ_CC) $(_CFLAGS) -c -o $@ $<
|
||||
|
||||
main.o: ../pjsua/main.c
|
||||
$(PJ_CC) $(_CFLAGS) -c -o $@ $<
|
||||
|
||||
%.o: %.c
|
||||
$(PJ_CC) $(_CFLAGS) -c -o $@ $<
|
||||
|
||||
depend:
|
||||
|
||||
clean:
|
||||
rm -f *.o alt_pjsua
|
||||
|
||||
distclean realclean: clean
|
||||
|
||||
@@ -0,0 +1,648 @@
|
||||
/* $Id$ */
|
||||
/*
|
||||
* 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
|
||||
*/
|
||||
#include <pjsua-lib/pjsua.h>
|
||||
#include <pjsua-lib/pjsua_internal.h>
|
||||
|
||||
#if defined(PJSUA_MEDIA_HAS_PJMEDIA) && PJSUA_MEDIA_HAS_PJMEDIA != 0
|
||||
# error The PJSUA_MEDIA_HAS_PJMEDIA should be declared as zero
|
||||
#endif
|
||||
|
||||
|
||||
#define THIS_FILE "alt_pjsua_aud.c"
|
||||
#define UNIMPLEMENTED(func) PJ_LOG(2,(THIS_FILE, "*** Call to unimplemented function %s ***", #func));
|
||||
|
||||
|
||||
/*****************************************************************************
|
||||
* Our dummy codecs. Since we won't use any PJMEDIA codecs, we need to declare
|
||||
* our own codecs and register them to PJMEDIA's codec manager. We just need
|
||||
* the info so that they can be listed in SDP. The encoding and decoding will
|
||||
* happen in your third party media stream and will not use these codecs,
|
||||
* hence the "dummy" name.
|
||||
*/
|
||||
static struct alt_codec
|
||||
{
|
||||
pj_str_t encoding_name;
|
||||
pj_uint8_t payload_type;
|
||||
unsigned clock_rate;
|
||||
unsigned channel_cnt;
|
||||
unsigned frm_ptime;
|
||||
unsigned avg_bps;
|
||||
unsigned max_bps;
|
||||
} codec_list[] =
|
||||
{
|
||||
/* G.729 */
|
||||
{ { "G729", 4 }, 18, 8000, 1, 10, 8000, 8000 },
|
||||
/* PCMU */
|
||||
{ { "PCMU", 4 }, 0, 8000, 1, 10, 64000, 64000 },
|
||||
/* Our proprietary high end low bit rate (5kbps) codec, if you wish */
|
||||
{ { "FOO", 3 }, PJMEDIA_RTP_PT_START+0, 16000, 1, 20, 5000, 5000 },
|
||||
};
|
||||
|
||||
static struct alt_codec_factory
|
||||
{
|
||||
pjmedia_codec_factory base;
|
||||
} alt_codec_factory;
|
||||
|
||||
static pj_status_t alt_codec_test_alloc( pjmedia_codec_factory *factory,
|
||||
const pjmedia_codec_info *id )
|
||||
{
|
||||
unsigned i;
|
||||
for (i=0; i<PJ_ARRAY_SIZE(codec_list); ++i) {
|
||||
if (pj_stricmp(&id->encoding_name, &codec_list[i].encoding_name)==0)
|
||||
return PJ_SUCCESS;
|
||||
}
|
||||
return PJ_ENOTSUP;
|
||||
}
|
||||
|
||||
static pj_status_t alt_codec_default_attr( pjmedia_codec_factory *factory,
|
||||
const pjmedia_codec_info *id,
|
||||
pjmedia_codec_param *attr )
|
||||
{
|
||||
struct alt_codec *ac;
|
||||
unsigned i;
|
||||
|
||||
PJ_UNUSED_ARG(factory);
|
||||
|
||||
for (i=0; i<PJ_ARRAY_SIZE(codec_list); ++i) {
|
||||
if (pj_stricmp(&id->encoding_name, &codec_list[i].encoding_name)==0)
|
||||
break;
|
||||
}
|
||||
if (i == PJ_ARRAY_SIZE(codec_list))
|
||||
return PJ_ENOTFOUND;
|
||||
|
||||
ac = &codec_list[i];
|
||||
|
||||
pj_bzero(attr, sizeof(pjmedia_codec_param));
|
||||
attr->info.clock_rate = ac->clock_rate;
|
||||
attr->info.channel_cnt = ac->channel_cnt;
|
||||
attr->info.avg_bps = ac->avg_bps;
|
||||
attr->info.max_bps = ac->max_bps;
|
||||
attr->info.pcm_bits_per_sample = 16;
|
||||
attr->info.frm_ptime = ac->frm_ptime;
|
||||
attr->info.pt = ac->payload_type;
|
||||
|
||||
attr->setting.frm_per_pkt = 1;
|
||||
attr->setting.vad = 1;
|
||||
attr->setting.plc = 1;
|
||||
|
||||
return PJ_SUCCESS;
|
||||
}
|
||||
|
||||
static pj_status_t alt_codec_enum_codecs(pjmedia_codec_factory *factory,
|
||||
unsigned *count,
|
||||
pjmedia_codec_info codecs[])
|
||||
{
|
||||
unsigned i;
|
||||
|
||||
for (i=0; i<*count && i<PJ_ARRAY_SIZE(codec_list); ++i) {
|
||||
struct alt_codec *ac = &codec_list[i];
|
||||
pj_bzero(&codecs[i], sizeof(pjmedia_codec_info));
|
||||
codecs[i].encoding_name = ac->encoding_name;
|
||||
codecs[i].pt = ac->payload_type;
|
||||
codecs[i].type = PJMEDIA_TYPE_AUDIO;
|
||||
codecs[i].clock_rate = ac->clock_rate;
|
||||
codecs[i].channel_cnt = ac->channel_cnt;
|
||||
}
|
||||
|
||||
*count = i;
|
||||
|
||||
return PJ_SUCCESS;
|
||||
}
|
||||
|
||||
static pj_status_t alt_codec_alloc_codec(pjmedia_codec_factory *factory,
|
||||
const pjmedia_codec_info *id,
|
||||
pjmedia_codec **p_codec)
|
||||
{
|
||||
/* This will never get called since we won't be using this codec */
|
||||
UNIMPLEMENTED(alt_codec_alloc_codec)
|
||||
return PJ_ENOTSUP;
|
||||
}
|
||||
|
||||
static pj_status_t alt_codec_dealloc_codec( pjmedia_codec_factory *factory,
|
||||
pjmedia_codec *codec )
|
||||
{
|
||||
/* This will never get called */
|
||||
UNIMPLEMENTED(alt_codec_dealloc_codec)
|
||||
return PJ_ENOTSUP;
|
||||
}
|
||||
|
||||
static pj_status_t alt_codec_deinit(void)
|
||||
{
|
||||
pjmedia_codec_mgr *codec_mgr;
|
||||
codec_mgr = pjmedia_endpt_get_codec_mgr(pjsua_var.med_endpt);
|
||||
return pjmedia_codec_mgr_unregister_factory(codec_mgr,
|
||||
&alt_codec_factory.base);
|
||||
|
||||
}
|
||||
|
||||
static pjmedia_codec_factory_op alt_codec_factory_op =
|
||||
{
|
||||
&alt_codec_test_alloc,
|
||||
&alt_codec_default_attr,
|
||||
&alt_codec_enum_codecs,
|
||||
&alt_codec_alloc_codec,
|
||||
&alt_codec_dealloc_codec,
|
||||
&alt_codec_deinit
|
||||
};
|
||||
|
||||
|
||||
/*****************************************************************************
|
||||
* API
|
||||
*/
|
||||
|
||||
/* Initialize third party media library. */
|
||||
pj_status_t pjsua_aud_subsys_init()
|
||||
{
|
||||
pjmedia_codec_mgr *codec_mgr;
|
||||
pj_status_t status;
|
||||
|
||||
/* Register our "dummy" codecs */
|
||||
alt_codec_factory.base.op = &alt_codec_factory_op;
|
||||
codec_mgr = pjmedia_endpt_get_codec_mgr(pjsua_var.med_endpt);
|
||||
status = pjmedia_codec_mgr_register_factory(codec_mgr,
|
||||
&alt_codec_factory.base);
|
||||
if (status != PJ_SUCCESS)
|
||||
return status;
|
||||
|
||||
/* TODO: initialize your evil library here */
|
||||
return PJ_SUCCESS;
|
||||
}
|
||||
|
||||
/* Start (audio) media library. */
|
||||
pj_status_t pjsua_aud_subsys_start(void)
|
||||
{
|
||||
/* TODO: */
|
||||
return PJ_SUCCESS;
|
||||
}
|
||||
|
||||
/* Cleanup and deinitialize third party media library. */
|
||||
pj_status_t pjsua_aud_subsys_destroy()
|
||||
{
|
||||
/* TODO: */
|
||||
return PJ_SUCCESS;
|
||||
}
|
||||
|
||||
/* Our callback to receive incoming RTP packets */
|
||||
static void aud_rtp_cb(void *user_data, void *pkt, pj_ssize_t size)
|
||||
{
|
||||
pjsua_call_media *call_med = (pjsua_call_media*) user_data;
|
||||
|
||||
/* TODO: Do something with the packet */
|
||||
PJ_LOG(4,(THIS_FILE, "RX %d bytes audio RTP packet", (int)size));
|
||||
}
|
||||
|
||||
/* Our callback to receive RTCP packets */
|
||||
static void aud_rtcp_cb(void *user_data, void *pkt, pj_ssize_t size)
|
||||
{
|
||||
pjsua_call_media *call_med = (pjsua_call_media*) user_data;
|
||||
|
||||
/* TODO: Do something with the packet here */
|
||||
PJ_LOG(4,(THIS_FILE, "RX %d bytes audio RTCP packet", (int)size));
|
||||
}
|
||||
|
||||
/* A demo function to send dummy "RTP" packets periodically. You would not
|
||||
* need to have this function in the real app!
|
||||
*/
|
||||
static void timer_to_send_aud_rtp(void *user_data)
|
||||
{
|
||||
pjsua_call_media *call_med = (pjsua_call_media*) user_data;
|
||||
const char *pkt = "Not RTP packet";
|
||||
|
||||
if (!call_med->call || !call_med->call->inv || !call_med->tp) {
|
||||
/* Call has been disconnected. There is race condition here as
|
||||
* this cb may be called sometime after call has been disconnected */
|
||||
return;
|
||||
}
|
||||
|
||||
pjmedia_transport_send_rtp(call_med->tp, pkt, strlen(pkt));
|
||||
|
||||
pjsua_schedule_timer2(&timer_to_send_aud_rtp, call_med, 2000);
|
||||
}
|
||||
|
||||
static void timer_to_send_aud_rtcp(void *user_data)
|
||||
{
|
||||
pjsua_call_media *call_med = (pjsua_call_media*) user_data;
|
||||
const char *pkt = "Not RTCP packet";
|
||||
|
||||
if (!call_med->call || !call_med->call->inv || !call_med->tp) {
|
||||
/* Call has been disconnected. There is race condition here as
|
||||
* this cb may be called sometime after call has been disconnected */
|
||||
return;
|
||||
}
|
||||
|
||||
pjmedia_transport_send_rtcp(call_med->tp, pkt, strlen(pkt));
|
||||
|
||||
pjsua_schedule_timer2(&timer_to_send_aud_rtcp, call_med, 5000);
|
||||
}
|
||||
|
||||
/* Stop the audio stream of a call. */
|
||||
void pjsua_aud_stop_stream(pjsua_call_media *call_med)
|
||||
{
|
||||
/* Detach our RTP/RTCP callbacks from transport */
|
||||
if (call_med->tp) {
|
||||
pjmedia_transport_detach(call_med->tp, call_med);
|
||||
}
|
||||
|
||||
/* TODO: destroy your audio stream here */
|
||||
}
|
||||
|
||||
/*
|
||||
* This function is called whenever SDP negotiation has completed
|
||||
* successfully. Here you'd want to start your audio stream
|
||||
* based on the info in the SDPs.
|
||||
*/
|
||||
pj_status_t pjsua_aud_channel_update(pjsua_call_media *call_med,
|
||||
pj_pool_t *tmp_pool,
|
||||
pjmedia_stream_info *si,
|
||||
const pjmedia_sdp_session *local_sdp,
|
||||
const pjmedia_sdp_session *remote_sdp)
|
||||
{
|
||||
pj_status_t status = PJ_SUCCESS;
|
||||
|
||||
PJ_LOG(4,(THIS_FILE,"Alt audio channel update.."));
|
||||
pj_log_push_indent();
|
||||
|
||||
/* Check if no media is active */
|
||||
if (si->dir != PJMEDIA_DIR_NONE) {
|
||||
/* Attach our RTP and RTCP callbacks to the media transport */
|
||||
status = pjmedia_transport_attach(call_med->tp, call_med,
|
||||
&si->rem_addr, &si->rem_rtcp,
|
||||
pj_sockaddr_get_len(&si->rem_addr),
|
||||
&aud_rtp_cb, &aud_rtcp_cb);
|
||||
|
||||
/* For a demonstration, let's use a timer to send "RTP" packet
|
||||
* periodically.
|
||||
*/
|
||||
pjsua_schedule_timer2(&timer_to_send_aud_rtp, call_med, 0);
|
||||
pjsua_schedule_timer2(&timer_to_send_aud_rtcp, call_med, 2500);
|
||||
|
||||
/* TODO:
|
||||
* - Create and start your media stream based on the parameters
|
||||
* in si
|
||||
*/
|
||||
}
|
||||
|
||||
on_return:
|
||||
pj_log_pop_indent();
|
||||
return status;
|
||||
}
|
||||
|
||||
void pjsua_check_snd_dev_idle()
|
||||
{
|
||||
}
|
||||
|
||||
/*****************************************************************************
|
||||
*
|
||||
* Call API which MAY need to be re-implemented if different backend is used.
|
||||
*/
|
||||
|
||||
/* Check if call has an active media session. */
|
||||
PJ_DEF(pj_bool_t) pjsua_call_has_media(pjsua_call_id call_id)
|
||||
{
|
||||
UNIMPLEMENTED(pjsua_call_has_media)
|
||||
return PJ_TRUE;
|
||||
}
|
||||
|
||||
|
||||
/* Get the conference port identification associated with the call. */
|
||||
PJ_DEF(pjsua_conf_port_id) pjsua_call_get_conf_port(pjsua_call_id call_id)
|
||||
{
|
||||
UNIMPLEMENTED(pjsua_call_get_conf_port)
|
||||
return PJSUA_INVALID_ID;
|
||||
}
|
||||
|
||||
/* Get media stream info for the specified media index. */
|
||||
PJ_DEF(pj_status_t) pjsua_call_get_stream_info( pjsua_call_id call_id,
|
||||
unsigned med_idx,
|
||||
pjsua_stream_info *psi)
|
||||
{
|
||||
pj_bzero(psi, sizeof(*psi));
|
||||
UNIMPLEMENTED(pjsua_call_get_stream_info)
|
||||
return PJ_ENOTSUP;
|
||||
}
|
||||
|
||||
/* Get media stream statistic for the specified media index. */
|
||||
PJ_DEF(pj_status_t) pjsua_call_get_stream_stat( pjsua_call_id call_id,
|
||||
unsigned med_idx,
|
||||
pjsua_stream_stat *stat)
|
||||
{
|
||||
pj_bzero(stat, sizeof(*stat));
|
||||
UNIMPLEMENTED(pjsua_call_get_stream_stat)
|
||||
return PJ_ENOTSUP;
|
||||
}
|
||||
|
||||
/*
|
||||
* Send DTMF digits to remote using RFC 2833 payload formats.
|
||||
*/
|
||||
PJ_DEF(pj_status_t) pjsua_call_dial_dtmf( pjsua_call_id call_id,
|
||||
const pj_str_t *digits)
|
||||
{
|
||||
UNIMPLEMENTED(pjsua_call_dial_dtmf)
|
||||
return PJ_ENOTSUP;
|
||||
}
|
||||
|
||||
/*****************************************************************************
|
||||
* Below are auxiliary API that we don't support (feel free to implement them
|
||||
* with the other media stack)
|
||||
*/
|
||||
|
||||
/* Get maximum number of conference ports. */
|
||||
PJ_DEF(unsigned) pjsua_conf_get_max_ports(void)
|
||||
{
|
||||
UNIMPLEMENTED(pjsua_conf_get_max_ports)
|
||||
return 0xFF;
|
||||
}
|
||||
|
||||
/* Get current number of active ports in the bridge. */
|
||||
PJ_DEF(unsigned) pjsua_conf_get_active_ports(void)
|
||||
{
|
||||
UNIMPLEMENTED(pjsua_conf_get_active_ports)
|
||||
return 0;
|
||||
}
|
||||
|
||||
/* Enumerate all conference ports. */
|
||||
PJ_DEF(pj_status_t) pjsua_enum_conf_ports(pjsua_conf_port_id id[],
|
||||
unsigned *count)
|
||||
{
|
||||
*count = 0;
|
||||
UNIMPLEMENTED(pjsua_enum_conf_ports)
|
||||
return PJ_ENOTSUP;
|
||||
}
|
||||
|
||||
/* Get information about the specified conference port */
|
||||
PJ_DEF(pj_status_t) pjsua_conf_get_port_info( pjsua_conf_port_id id,
|
||||
pjsua_conf_port_info *info)
|
||||
{
|
||||
UNIMPLEMENTED(pjsua_conf_get_port_info)
|
||||
return PJ_ENOTSUP;
|
||||
}
|
||||
|
||||
/* Add arbitrary media port to PJSUA's conference bridge. */
|
||||
PJ_DEF(pj_status_t) pjsua_conf_add_port( pj_pool_t *pool,
|
||||
pjmedia_port *port,
|
||||
pjsua_conf_port_id *p_id)
|
||||
{
|
||||
*p_id = PJSUA_INVALID_ID;
|
||||
UNIMPLEMENTED(pjsua_conf_add_port)
|
||||
/* We should return PJ_ENOTSUP here, but this API is needed by pjsua
|
||||
* application or otherwise it will refuse to start.
|
||||
*/
|
||||
return PJ_SUCCESS;
|
||||
}
|
||||
|
||||
/* Remove arbitrary slot from the conference bridge. */
|
||||
PJ_DEF(pj_status_t) pjsua_conf_remove_port(pjsua_conf_port_id id)
|
||||
{
|
||||
UNIMPLEMENTED(pjsua_conf_remove_port)
|
||||
return PJ_ENOTSUP;
|
||||
}
|
||||
|
||||
/* Establish unidirectional media flow from souce to sink. */
|
||||
PJ_DEF(pj_status_t) pjsua_conf_connect( pjsua_conf_port_id source,
|
||||
pjsua_conf_port_id sink)
|
||||
{
|
||||
UNIMPLEMENTED(pjsua_conf_connect)
|
||||
return PJ_ENOTSUP;
|
||||
}
|
||||
|
||||
/* Disconnect media flow from the source to destination port. */
|
||||
PJ_DEF(pj_status_t) pjsua_conf_disconnect( pjsua_conf_port_id source,
|
||||
pjsua_conf_port_id sink)
|
||||
{
|
||||
UNIMPLEMENTED(pjsua_conf_disconnect)
|
||||
return PJ_ENOTSUP;
|
||||
}
|
||||
|
||||
/* Adjust the signal level to be transmitted from the bridge to the
|
||||
* specified port by making it louder or quieter.
|
||||
*/
|
||||
PJ_DEF(pj_status_t) pjsua_conf_adjust_tx_level(pjsua_conf_port_id slot,
|
||||
float level)
|
||||
{
|
||||
UNIMPLEMENTED(pjsua_conf_adjust_tx_level)
|
||||
return PJ_ENOTSUP;
|
||||
}
|
||||
|
||||
/* Adjust the signal level to be received from the specified port (to
|
||||
* the bridge) by making it louder or quieter.
|
||||
*/
|
||||
PJ_DEF(pj_status_t) pjsua_conf_adjust_rx_level(pjsua_conf_port_id slot,
|
||||
float level)
|
||||
{
|
||||
UNIMPLEMENTED(pjsua_conf_adjust_rx_level)
|
||||
return PJ_ENOTSUP;
|
||||
}
|
||||
|
||||
|
||||
/* Get last signal level transmitted to or received from the specified port. */
|
||||
PJ_DEF(pj_status_t) pjsua_conf_get_signal_level(pjsua_conf_port_id slot,
|
||||
unsigned *tx_level,
|
||||
unsigned *rx_level)
|
||||
{
|
||||
UNIMPLEMENTED(pjsua_conf_get_signal_level)
|
||||
return PJ_ENOTSUP;
|
||||
}
|
||||
|
||||
/* Create a file player, and automatically connect this player to
|
||||
* the conference bridge.
|
||||
*/
|
||||
PJ_DEF(pj_status_t) pjsua_player_create( const pj_str_t *filename,
|
||||
unsigned options,
|
||||
pjsua_player_id *p_id)
|
||||
{
|
||||
UNIMPLEMENTED(pjsua_player_create)
|
||||
return PJ_ENOTSUP;
|
||||
}
|
||||
|
||||
/* Create a file playlist media port, and automatically add the port
|
||||
* to the conference bridge.
|
||||
*/
|
||||
PJ_DEF(pj_status_t) pjsua_playlist_create( const pj_str_t file_names[],
|
||||
unsigned file_count,
|
||||
const pj_str_t *label,
|
||||
unsigned options,
|
||||
pjsua_player_id *p_id)
|
||||
{
|
||||
UNIMPLEMENTED(pjsua_playlist_create)
|
||||
return PJ_ENOTSUP;
|
||||
}
|
||||
|
||||
/* Get conference port ID associated with player. */
|
||||
PJ_DEF(pjsua_conf_port_id) pjsua_player_get_conf_port(pjsua_player_id id)
|
||||
{
|
||||
UNIMPLEMENTED(pjsua_player_get_conf_port)
|
||||
return -1;
|
||||
}
|
||||
|
||||
/* Get the media port for the player. */
|
||||
PJ_DEF(pj_status_t) pjsua_player_get_port( pjsua_player_id id,
|
||||
pjmedia_port **p_port)
|
||||
{
|
||||
UNIMPLEMENTED(pjsua_player_get_port)
|
||||
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)
|
||||
{
|
||||
UNIMPLEMENTED(pjsua_player_set_pos)
|
||||
return PJ_ENOTSUP;
|
||||
}
|
||||
|
||||
/* Close the file, remove the player from the bridge, and free
|
||||
* resources associated with the file player.
|
||||
*/
|
||||
PJ_DEF(pj_status_t) pjsua_player_destroy(pjsua_player_id id)
|
||||
{
|
||||
UNIMPLEMENTED(pjsua_player_destroy)
|
||||
return PJ_ENOTSUP;
|
||||
}
|
||||
|
||||
/* Create a file recorder, and automatically connect this recorder to
|
||||
* the conference bridge.
|
||||
*/
|
||||
PJ_DEF(pj_status_t) pjsua_recorder_create( const pj_str_t *filename,
|
||||
unsigned enc_type,
|
||||
void *enc_param,
|
||||
pj_ssize_t max_size,
|
||||
unsigned options,
|
||||
pjsua_recorder_id *p_id)
|
||||
{
|
||||
UNIMPLEMENTED(pjsua_recorder_create)
|
||||
return PJ_ENOTSUP;
|
||||
}
|
||||
|
||||
|
||||
/* Get conference port associated with recorder. */
|
||||
PJ_DEF(pjsua_conf_port_id) pjsua_recorder_get_conf_port(pjsua_recorder_id id)
|
||||
{
|
||||
UNIMPLEMENTED(pjsua_recorder_get_conf_port)
|
||||
return -1;
|
||||
}
|
||||
|
||||
/* Get the media port for the recorder. */
|
||||
PJ_DEF(pj_status_t) pjsua_recorder_get_port( pjsua_recorder_id id,
|
||||
pjmedia_port **p_port)
|
||||
{
|
||||
UNIMPLEMENTED(pjsua_recorder_get_port)
|
||||
return PJ_ENOTSUP;
|
||||
}
|
||||
|
||||
/* Destroy recorder (this will complete recording). */
|
||||
PJ_DEF(pj_status_t) pjsua_recorder_destroy(pjsua_recorder_id id)
|
||||
{
|
||||
UNIMPLEMENTED(pjsua_recorder_destroy)
|
||||
return PJ_ENOTSUP;
|
||||
}
|
||||
|
||||
/* Enum sound devices. */
|
||||
PJ_DEF(pj_status_t) pjsua_enum_aud_devs( pjmedia_aud_dev_info info[],
|
||||
unsigned *count)
|
||||
{
|
||||
UNIMPLEMENTED(pjsua_enum_aud_devs)
|
||||
return PJ_ENOTSUP;
|
||||
}
|
||||
|
||||
PJ_DEF(pj_status_t) pjsua_enum_snd_devs( pjmedia_snd_dev_info info[],
|
||||
unsigned *count)
|
||||
{
|
||||
UNIMPLEMENTED(pjsua_enum_snd_devs)
|
||||
return PJ_ENOTSUP;
|
||||
}
|
||||
|
||||
/* Select or change sound device. */
|
||||
PJ_DEF(pj_status_t) pjsua_set_snd_dev( int capture_dev, int playback_dev)
|
||||
{
|
||||
UNIMPLEMENTED(pjsua_set_snd_dev)
|
||||
return PJ_SUCCESS;
|
||||
}
|
||||
|
||||
/* Get currently active sound devices. */
|
||||
PJ_DEF(pj_status_t) pjsua_get_snd_dev(int *capture_dev, int *playback_dev)
|
||||
{
|
||||
*capture_dev = *playback_dev = PJSUA_INVALID_ID;
|
||||
UNIMPLEMENTED(pjsua_get_snd_dev)
|
||||
return PJ_ENOTSUP;
|
||||
}
|
||||
|
||||
/* Use null sound device. */
|
||||
PJ_DEF(pj_status_t) pjsua_set_null_snd_dev(void)
|
||||
{
|
||||
UNIMPLEMENTED(pjsua_set_null_snd_dev)
|
||||
return PJ_ENOTSUP;
|
||||
}
|
||||
|
||||
/* Use no device! */
|
||||
PJ_DEF(pjmedia_port*) pjsua_set_no_snd_dev(void)
|
||||
{
|
||||
UNIMPLEMENTED(pjsua_set_no_snd_dev)
|
||||
return NULL;
|
||||
}
|
||||
|
||||
/* Configure the AEC settings of the sound port. */
|
||||
PJ_DEF(pj_status_t) pjsua_set_ec(unsigned tail_ms, unsigned options)
|
||||
{
|
||||
UNIMPLEMENTED(pjsua_set_ec)
|
||||
return PJ_ENOTSUP;
|
||||
}
|
||||
|
||||
/* Get current AEC tail length. */
|
||||
PJ_DEF(pj_status_t) pjsua_get_ec_tail(unsigned *p_tail_ms)
|
||||
{
|
||||
UNIMPLEMENTED(pjsua_get_ec_tail)
|
||||
return PJ_ENOTSUP;
|
||||
}
|
||||
|
||||
/* Check whether the sound device is currently active. */
|
||||
PJ_DEF(pj_bool_t) pjsua_snd_is_active(void)
|
||||
{
|
||||
UNIMPLEMENTED(pjsua_snd_is_active)
|
||||
return PJ_FALSE;
|
||||
}
|
||||
|
||||
/* Configure sound device setting to the sound device being used. */
|
||||
PJ_DEF(pj_status_t) pjsua_snd_set_setting( pjmedia_aud_dev_cap cap,
|
||||
const void *pval, pj_bool_t keep)
|
||||
{
|
||||
UNIMPLEMENTED(pjsua_snd_set_setting)
|
||||
return PJ_ENOTSUP;
|
||||
}
|
||||
|
||||
/* Retrieve a sound device setting. */
|
||||
PJ_DEF(pj_status_t) pjsua_snd_get_setting(pjmedia_aud_dev_cap cap, void *pval)
|
||||
{
|
||||
UNIMPLEMENTED(pjsua_snd_get_setting)
|
||||
return PJ_ENOTSUP;
|
||||
}
|
||||
@@ -0,0 +1,602 @@
|
||||
/* $Id$ */
|
||||
/*
|
||||
* Copyright (C) 2011-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
|
||||
*/
|
||||
#include <pjsua-lib/pjsua.h>
|
||||
#include <pjsua-lib/pjsua_internal.h>
|
||||
|
||||
#if defined(PJSUA_MEDIA_HAS_PJMEDIA) && PJSUA_MEDIA_HAS_PJMEDIA != 0
|
||||
# error The PJSUA_MEDIA_HAS_PJMEDIA should be declared as zero
|
||||
#endif
|
||||
|
||||
#if PJSUA_HAS_VIDEO
|
||||
|
||||
#define THIS_FILE "alt_pjsua_vid.c"
|
||||
#define UNIMPLEMENTED(func) PJ_LOG(2,(THIS_FILE, "*** Call to unimplemented function %s ***", #func));
|
||||
|
||||
/*****************************************************************************
|
||||
* Our video codec descriptors
|
||||
*/
|
||||
struct alt_codec_desc
|
||||
{
|
||||
/* Predefined info */
|
||||
pjmedia_vid_codec_info info;
|
||||
pjmedia_format_id base_fmt_id;
|
||||
pj_uint32_t avg_bps;
|
||||
pj_uint32_t max_bps;
|
||||
pjmedia_codec_fmtp dec_fmtp;
|
||||
} alt_vid_codecs[] =
|
||||
{
|
||||
/* H.263+ */
|
||||
{
|
||||
{PJMEDIA_FORMAT_H263P, PJMEDIA_RTP_PT_H263P, {"H263-1998",9},
|
||||
{"H.263 codec", 11}, 90000, PJMEDIA_DIR_ENCODING_DECODING,
|
||||
0, {PJMEDIA_FORMAT_RGB24}, PJMEDIA_VID_PACKING_PACKETS
|
||||
},
|
||||
PJMEDIA_FORMAT_H263, 256000, 512000,
|
||||
{2, { {{"CIF",3}, {"1",1}},
|
||||
{{"QCIF",4}, {"1",1}}, } },
|
||||
}
|
||||
};
|
||||
|
||||
static const struct alt_codec_desc* find_codec_desc_by_info(const pjmedia_vid_codec_info *info)
|
||||
{
|
||||
unsigned i;
|
||||
for (i=0; i<PJ_ARRAY_SIZE(alt_vid_codecs); ++i) {
|
||||
struct alt_codec_desc *desc = &alt_vid_codecs[i];
|
||||
if ((desc->info.fmt_id == info->fmt_id) &&
|
||||
((desc->info.dir & info->dir) == info->dir) &&
|
||||
(desc->info.pt == info->pt) &&
|
||||
(desc->info.packings & info->packings))
|
||||
{
|
||||
return desc;
|
||||
}
|
||||
}
|
||||
|
||||
return NULL;
|
||||
}
|
||||
|
||||
static pj_status_t alt_vid_codec_test_alloc( pjmedia_vid_codec_factory *factory,
|
||||
const pjmedia_vid_codec_info *id )
|
||||
{
|
||||
const struct alt_codec_desc *desc = find_codec_desc_by_info(id);
|
||||
return desc? PJ_SUCCESS : PJMEDIA_CODEC_EUNSUP;
|
||||
}
|
||||
|
||||
static pj_status_t alt_vid_codec_default_attr( pjmedia_vid_codec_factory *factory,
|
||||
const pjmedia_vid_codec_info *info,
|
||||
pjmedia_vid_codec_param *attr )
|
||||
{
|
||||
const struct alt_codec_desc *desc = find_codec_desc_by_info(info);
|
||||
unsigned i;
|
||||
|
||||
if (!desc)
|
||||
return PJMEDIA_CODEC_EUNSUP;
|
||||
|
||||
pj_bzero(attr, sizeof(pjmedia_vid_codec_param));
|
||||
|
||||
/* Scan the requested packings and use the lowest number */
|
||||
attr->packing = 0;
|
||||
for (i=0; i<15; ++i) {
|
||||
unsigned packing = (1 << i);
|
||||
if ((desc->info.packings & info->packings) & packing) {
|
||||
attr->packing = (pjmedia_vid_packing)packing;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (attr->packing == 0) {
|
||||
/* No supported packing in info */
|
||||
return PJMEDIA_CODEC_EUNSUP;
|
||||
}
|
||||
|
||||
/* Direction */
|
||||
attr->dir = desc->info.dir;
|
||||
|
||||
/* Encoded format */
|
||||
pjmedia_format_init_video(&attr->enc_fmt, desc->info.fmt_id,
|
||||
720, 480, 30000, 1001);
|
||||
|
||||
/* Decoded format */
|
||||
pjmedia_format_init_video(&attr->dec_fmt, desc->info.dec_fmt_id[0],
|
||||
//352, 288, 30000, 1001);
|
||||
720, 576, 30000, 1001);
|
||||
|
||||
/* Decoding fmtp */
|
||||
attr->dec_fmtp = desc->dec_fmtp;
|
||||
|
||||
/* Bitrate */
|
||||
attr->enc_fmt.det.vid.avg_bps = desc->avg_bps;
|
||||
attr->enc_fmt.det.vid.max_bps = desc->max_bps;
|
||||
|
||||
/* MTU */
|
||||
attr->enc_mtu = PJMEDIA_MAX_MTU;
|
||||
|
||||
return PJ_SUCCESS;
|
||||
}
|
||||
|
||||
|
||||
static pj_status_t alt_vid_codec_enum_codecs( pjmedia_vid_codec_factory *factory,
|
||||
unsigned *count,
|
||||
pjmedia_vid_codec_info codecs[])
|
||||
{
|
||||
unsigned i, max_cnt;
|
||||
|
||||
PJ_ASSERT_RETURN(codecs && *count > 0, PJ_EINVAL);
|
||||
|
||||
max_cnt = PJ_MIN(*count, PJ_ARRAY_SIZE(alt_vid_codecs));
|
||||
*count = 0;
|
||||
|
||||
for (i=0; i<max_cnt; ++i) {
|
||||
pj_memcpy(&codecs[*count], &alt_vid_codecs[i].info,
|
||||
sizeof(pjmedia_vid_codec_info));
|
||||
(*count)++;
|
||||
}
|
||||
|
||||
return PJ_SUCCESS;
|
||||
}
|
||||
|
||||
|
||||
static pj_status_t alt_vid_codec_alloc_codec( pjmedia_vid_codec_factory *factory,
|
||||
const pjmedia_vid_codec_info *info,
|
||||
pjmedia_vid_codec **p_codec)
|
||||
{
|
||||
/* This will never get called since we won't be using this codec */
|
||||
UNIMPLEMENTED(alt_vid_codec_alloc_codec)
|
||||
return PJ_ENOTSUP;
|
||||
}
|
||||
|
||||
|
||||
static pj_status_t alt_vid_codec_dealloc_codec( pjmedia_vid_codec_factory *factory,
|
||||
pjmedia_vid_codec *codec )
|
||||
{
|
||||
/* This will never get called since we won't be using this codec */
|
||||
UNIMPLEMENTED(alt_vid_codec_dealloc_codec)
|
||||
return PJ_ENOTSUP;
|
||||
}
|
||||
|
||||
static pjmedia_vid_codec_factory_op alt_vid_codec_factory_op =
|
||||
{
|
||||
&alt_vid_codec_test_alloc,
|
||||
&alt_vid_codec_default_attr,
|
||||
&alt_vid_codec_enum_codecs,
|
||||
&alt_vid_codec_alloc_codec,
|
||||
&alt_vid_codec_dealloc_codec
|
||||
};
|
||||
|
||||
static struct alt_vid_codec_factory {
|
||||
pjmedia_vid_codec_factory base;
|
||||
} alt_vid_codec_factory;
|
||||
|
||||
/*****************************************************************************
|
||||
* Video API implementation
|
||||
*/
|
||||
|
||||
/* Initialize the video library */
|
||||
pj_status_t pjsua_vid_subsys_init(void)
|
||||
{
|
||||
pjmedia_vid_codec_mgr *mgr;
|
||||
pj_status_t status;
|
||||
|
||||
/* Format manager singleton is needed */
|
||||
status = pjmedia_video_format_mgr_create(pjsua_var.pool, 64, 0, NULL);
|
||||
if (status != PJ_SUCCESS) {
|
||||
PJ_PERROR(1,(THIS_FILE, status,
|
||||
"Error creating PJMEDIA video format manager"));
|
||||
return status;
|
||||
}
|
||||
|
||||
/* Create video codec manager singleton */
|
||||
status = pjmedia_vid_codec_mgr_create(pjsua_var.pool, &mgr);
|
||||
if (status != PJ_SUCCESS) {
|
||||
PJ_PERROR(1,(THIS_FILE, status,
|
||||
"Error creating PJMEDIA video codec manager"));
|
||||
return status;
|
||||
}
|
||||
|
||||
/* Register our codecs */
|
||||
alt_vid_codec_factory.base.op = &alt_vid_codec_factory_op;
|
||||
alt_vid_codec_factory.base.factory_data = NULL;
|
||||
|
||||
status = pjmedia_vid_codec_mgr_register_factory(mgr, &alt_vid_codec_factory.base);
|
||||
if (status != PJ_SUCCESS)
|
||||
return status;
|
||||
|
||||
/*
|
||||
* TODO: put your 3rd party library initialization routine here
|
||||
*/
|
||||
|
||||
return PJ_SUCCESS;
|
||||
}
|
||||
|
||||
/* Start the video library */
|
||||
pj_status_t pjsua_vid_subsys_start(void)
|
||||
{
|
||||
/*
|
||||
* TODO: put your 3rd party library startup routine here
|
||||
*/
|
||||
return PJ_SUCCESS;
|
||||
}
|
||||
|
||||
/* Cleanup and deinitialize the video library */
|
||||
pj_status_t pjsua_vid_subsys_destroy(void)
|
||||
{
|
||||
if (pjmedia_vid_codec_mgr_instance())
|
||||
pjmedia_vid_codec_mgr_destroy(NULL);
|
||||
|
||||
if (pjmedia_video_format_mgr_instance())
|
||||
pjmedia_video_format_mgr_destroy(NULL);
|
||||
|
||||
/*
|
||||
* TODO: put your 3rd party library cleanup routine here
|
||||
*/
|
||||
return PJ_SUCCESS;
|
||||
}
|
||||
|
||||
/* Initialize video call media */
|
||||
pj_status_t pjsua_vid_channel_init(pjsua_call_media *call_med)
|
||||
{
|
||||
/*
|
||||
* TODO: put call media initialization
|
||||
*/
|
||||
return PJ_SUCCESS;
|
||||
}
|
||||
|
||||
/* Internal function to stop video stream */
|
||||
void pjsua_vid_stop_stream(pjsua_call_media *call_med)
|
||||
{
|
||||
PJ_LOG(4,(THIS_FILE, "Stopping video stream.."));
|
||||
|
||||
if (call_med->tp) {
|
||||
pjmedia_transport_detach(call_med->tp, call_med);
|
||||
}
|
||||
|
||||
/*
|
||||
* TODO:
|
||||
* - stop your video stream here
|
||||
*/
|
||||
|
||||
}
|
||||
|
||||
/* Our callback to receive incoming RTP packets */
|
||||
static void vid_rtp_cb(void *user_data, void *pkt, pj_ssize_t size)
|
||||
{
|
||||
pjsua_call_media *call_med = (pjsua_call_media*) user_data;
|
||||
|
||||
/* TODO: Do something with the packet */
|
||||
PJ_LOG(4,(THIS_FILE, "RX %d bytes video RTP packet", (int)size));
|
||||
}
|
||||
|
||||
/* Our callback to receive RTCP packets */
|
||||
static void vid_rtcp_cb(void *user_data, void *pkt, pj_ssize_t size)
|
||||
{
|
||||
pjsua_call_media *call_med = (pjsua_call_media*) user_data;
|
||||
|
||||
/* TODO: Do something with the packet here */
|
||||
PJ_LOG(4,(THIS_FILE, "RX %d bytes video RTCP packet", (int)size));
|
||||
}
|
||||
|
||||
/* A demo function to send dummy "RTP" packets periodically. You would not
|
||||
* need to have this function in the real app!
|
||||
*/
|
||||
static void timer_to_send_vid_rtp(void *user_data)
|
||||
{
|
||||
pjsua_call_media *call_med = (pjsua_call_media*) user_data;
|
||||
const char *pkt = "Not RTP packet";
|
||||
|
||||
if (!call_med->call || !call_med->call->inv || !call_med->tp) {
|
||||
/* Call has been disconnected. There is race condition here as
|
||||
* this cb may be called sometime after call has been disconnected */
|
||||
return;
|
||||
}
|
||||
|
||||
pjmedia_transport_send_rtp(call_med->tp, pkt, strlen(pkt));
|
||||
|
||||
pjsua_schedule_timer2(&timer_to_send_vid_rtp, call_med, 2000);
|
||||
}
|
||||
|
||||
static void timer_to_send_vid_rtcp(void *user_data)
|
||||
{
|
||||
pjsua_call_media *call_med = (pjsua_call_media*) user_data;
|
||||
const char *pkt = "Not RTCP packet";
|
||||
|
||||
if (!call_med->call || !call_med->call->inv || !call_med->tp) {
|
||||
/* Call has been disconnected. There is race condition here as
|
||||
* this cb may be called sometime after call has been disconnected */
|
||||
return;
|
||||
}
|
||||
|
||||
pjmedia_transport_send_rtcp(call_med->tp, pkt, strlen(pkt));
|
||||
|
||||
pjsua_schedule_timer2(&timer_to_send_vid_rtcp, call_med, 5000);
|
||||
}
|
||||
|
||||
/* update video channel after SDP negotiation */
|
||||
pj_status_t pjsua_vid_channel_update(pjsua_call_media *call_med,
|
||||
pj_pool_t *tmp_pool,
|
||||
pjmedia_vid_stream_info *si,
|
||||
const pjmedia_sdp_session *local_sdp,
|
||||
const pjmedia_sdp_session *remote_sdp)
|
||||
{
|
||||
pj_status_t status;
|
||||
|
||||
PJ_LOG(4,(THIS_FILE, "Video channel update.."));
|
||||
pj_log_push_indent();
|
||||
|
||||
/* Check if no media is active */
|
||||
if (si->dir != PJMEDIA_DIR_NONE) {
|
||||
/* Attach our RTP and RTCP callbacks to the media transport */
|
||||
status = pjmedia_transport_attach(call_med->tp, call_med,
|
||||
&si->rem_addr, &si->rem_rtcp,
|
||||
pj_sockaddr_get_len(&si->rem_addr),
|
||||
&vid_rtp_cb, &vid_rtcp_cb);
|
||||
/*
|
||||
* TODO:
|
||||
* - Create and start your video stream based on the parameters
|
||||
* in si
|
||||
*/
|
||||
|
||||
/* For a demonstration, let's use a timer to send "RTP" packet
|
||||
* periodically.
|
||||
*/
|
||||
pjsua_schedule_timer2(&timer_to_send_vid_rtp, call_med, 1000);
|
||||
pjsua_schedule_timer2(&timer_to_send_vid_rtcp, call_med, 3500);
|
||||
}
|
||||
|
||||
pj_log_pop_indent();
|
||||
return PJ_SUCCESS;
|
||||
}
|
||||
|
||||
|
||||
/*****************************************************************************
|
||||
* Preview
|
||||
*/
|
||||
|
||||
PJ_DEF(void)
|
||||
pjsua_call_vid_strm_op_param_default(pjsua_call_vid_strm_op_param *param)
|
||||
{
|
||||
pj_bzero(param, sizeof(*param));
|
||||
param->med_idx = -1;
|
||||
param->dir = PJMEDIA_DIR_ENCODING_DECODING;
|
||||
param->cap_dev = PJMEDIA_VID_DEFAULT_CAPTURE_DEV;
|
||||
}
|
||||
|
||||
PJ_DEF(void) pjsua_vid_preview_param_default(pjsua_vid_preview_param *p)
|
||||
{
|
||||
p->rend_id = PJMEDIA_VID_DEFAULT_RENDER_DEV;
|
||||
p->show = PJ_TRUE;
|
||||
}
|
||||
|
||||
PJ_DEF(pjsua_vid_win_id) pjsua_vid_preview_get_win(pjmedia_vid_dev_index id)
|
||||
{
|
||||
UNIMPLEMENTED(pjsua_vid_preview_get_win)
|
||||
return PJSUA_INVALID_ID;
|
||||
}
|
||||
|
||||
/* Reset internal window structure. Not sure if this is needed?. */
|
||||
PJ_DEF(void) pjsua_vid_win_reset(pjsua_vid_win_id wid)
|
||||
{
|
||||
pjsua_vid_win *w = &pjsua_var.win[wid];
|
||||
pj_pool_t *pool = w->pool;
|
||||
|
||||
pj_bzero(w, sizeof(*w));
|
||||
if (pool) pj_pool_reset(pool);
|
||||
w->ref_cnt = 0;
|
||||
w->pool = pool;
|
||||
w->preview_cap_id = PJMEDIA_VID_INVALID_DEV;
|
||||
}
|
||||
|
||||
/* Does it have built-in preview support. */
|
||||
PJ_DEF(pj_bool_t) pjsua_vid_preview_has_native(pjmedia_vid_dev_index id)
|
||||
{
|
||||
UNIMPLEMENTED(pjsua_vid_preview_has_native)
|
||||
return PJ_FALSE;
|
||||
}
|
||||
|
||||
/* Start video preview window for the specified capture device. */
|
||||
PJ_DEF(pj_status_t) pjsua_vid_preview_start(pjmedia_vid_dev_index id,
|
||||
const pjsua_vid_preview_param *prm)
|
||||
{
|
||||
UNIMPLEMENTED(pjsua_vid_preview_start)
|
||||
return PJ_ENOTSUP;
|
||||
}
|
||||
|
||||
/* Stop video preview. */
|
||||
PJ_DEF(pj_status_t) pjsua_vid_preview_stop(pjmedia_vid_dev_index id)
|
||||
{
|
||||
UNIMPLEMENTED(pjsua_vid_preview_stop)
|
||||
return PJ_ENOTSUP;
|
||||
}
|
||||
|
||||
|
||||
/*****************************************************************************
|
||||
* Devices.
|
||||
*/
|
||||
|
||||
/* Get the number of video devices installed in the system. */
|
||||
PJ_DEF(unsigned) pjsua_vid_dev_count(void)
|
||||
{
|
||||
UNIMPLEMENTED(pjsua_vid_dev_count)
|
||||
return 0;
|
||||
}
|
||||
|
||||
/* Retrieve the video device info for the specified device index. */
|
||||
PJ_DEF(pj_status_t) pjsua_vid_dev_get_info(pjmedia_vid_dev_index id,
|
||||
pjmedia_vid_dev_info *vdi)
|
||||
{
|
||||
UNIMPLEMENTED(pjsua_vid_dev_get_info)
|
||||
return PJ_ENOTSUP;
|
||||
}
|
||||
|
||||
/* Enum all video devices installed in the system. */
|
||||
PJ_DEF(pj_status_t) pjsua_vid_enum_devs(pjmedia_vid_dev_info info[],
|
||||
unsigned *count)
|
||||
{
|
||||
UNIMPLEMENTED(pjsua_vid_enum_devs)
|
||||
return PJ_ENOTSUP;
|
||||
}
|
||||
|
||||
|
||||
/*****************************************************************************
|
||||
* Codecs.
|
||||
*/
|
||||
|
||||
/* Enum all supported video codecs in the system. */
|
||||
PJ_DEF(pj_status_t) pjsua_vid_enum_codecs( pjsua_codec_info id[],
|
||||
unsigned *p_count )
|
||||
{
|
||||
pjmedia_vid_codec_info info[32];
|
||||
unsigned i, j, count, prio[32];
|
||||
pj_status_t status;
|
||||
|
||||
count = PJ_ARRAY_SIZE(info);
|
||||
status = pjmedia_vid_codec_mgr_enum_codecs(NULL, &count, info, prio);
|
||||
if (status != PJ_SUCCESS) {
|
||||
*p_count = 0;
|
||||
return status;
|
||||
}
|
||||
for (i=0, j=0; i<count && j<*p_count; ++i) {
|
||||
if (info[i].packings & PJMEDIA_VID_PACKING_PACKETS) {
|
||||
pj_bzero(&id[j], sizeof(pjsua_codec_info));
|
||||
|
||||
pjmedia_vid_codec_info_to_id(&info[i], id[j].buf_, sizeof(id[j].buf_));
|
||||
id[j].codec_id = pj_str(id[j].buf_);
|
||||
id[j].priority = (pj_uint8_t) prio[i];
|
||||
|
||||
if (id[j].codec_id.slen < sizeof(id[j].buf_)) {
|
||||
id[j].desc.ptr = id[j].codec_id.ptr + id[j].codec_id.slen + 1;
|
||||
pj_strncpy(&id[j].desc, &info[i].encoding_desc,
|
||||
sizeof(id[j].buf_) - id[j].codec_id.slen - 1);
|
||||
}
|
||||
|
||||
++j;
|
||||
}
|
||||
}
|
||||
|
||||
*p_count = j;
|
||||
return PJ_SUCCESS;
|
||||
}
|
||||
|
||||
/* Change video codec priority. */
|
||||
PJ_DEF(pj_status_t) pjsua_vid_codec_set_priority( const pj_str_t *codec_id,
|
||||
pj_uint8_t priority )
|
||||
{
|
||||
UNIMPLEMENTED(pjsua_vid_codec_set_priority)
|
||||
return PJ_ENOTSUP;
|
||||
}
|
||||
|
||||
/* Get video codec parameters. */
|
||||
PJ_DEF(pj_status_t) pjsua_vid_codec_get_param(
|
||||
const pj_str_t *codec_id,
|
||||
pjmedia_vid_codec_param *param)
|
||||
{
|
||||
UNIMPLEMENTED(pjsua_vid_codec_get_param)
|
||||
return PJ_ENOTSUP;
|
||||
}
|
||||
|
||||
/* Set video codec parameters. */
|
||||
PJ_DEF(pj_status_t) pjsua_vid_codec_set_param(
|
||||
const pj_str_t *codec_id,
|
||||
const pjmedia_vid_codec_param *param)
|
||||
{
|
||||
UNIMPLEMENTED(pjsua_vid_codec_set_param)
|
||||
return PJ_ENOTSUP;
|
||||
}
|
||||
|
||||
|
||||
/*****************************************************************************
|
||||
* Window
|
||||
*/
|
||||
|
||||
/* Enumerates all video windows. */
|
||||
PJ_DEF(pj_status_t) pjsua_vid_enum_wins( pjsua_vid_win_id wids[],
|
||||
unsigned *count)
|
||||
{
|
||||
UNIMPLEMENTED(pjsua_vid_enum_wins)
|
||||
return PJ_ENOTSUP;
|
||||
}
|
||||
|
||||
/* Get window info. */
|
||||
PJ_DEF(pj_status_t) pjsua_vid_win_get_info( pjsua_vid_win_id wid,
|
||||
pjsua_vid_win_info *wi)
|
||||
{
|
||||
UNIMPLEMENTED(pjsua_vid_win_get_info)
|
||||
return PJ_ENOTSUP;
|
||||
}
|
||||
|
||||
/* Show or hide window. */
|
||||
PJ_DEF(pj_status_t) pjsua_vid_win_set_show( pjsua_vid_win_id wid,
|
||||
pj_bool_t show)
|
||||
{
|
||||
UNIMPLEMENTED(pjsua_vid_win_set_show)
|
||||
return PJ_ENOTSUP;
|
||||
}
|
||||
|
||||
/* Set video window position. */
|
||||
PJ_DEF(pj_status_t) pjsua_vid_win_set_pos( pjsua_vid_win_id wid,
|
||||
const pjmedia_coord *pos)
|
||||
{
|
||||
UNIMPLEMENTED(pjsua_vid_win_set_pos)
|
||||
return PJ_ENOTSUP;
|
||||
}
|
||||
|
||||
/* Resize window. */
|
||||
PJ_DEF(pj_status_t) pjsua_vid_win_set_size( pjsua_vid_win_id wid,
|
||||
const pjmedia_rect_size *size)
|
||||
{
|
||||
UNIMPLEMENTED(pjsua_vid_win_set_size)
|
||||
return PJ_ENOTSUP;
|
||||
}
|
||||
|
||||
/* Set video orientation. */
|
||||
PJ_DEF(pj_status_t) pjsua_vid_win_rotate( pjsua_vid_win_id wid,
|
||||
int angle)
|
||||
{
|
||||
UNIMPLEMENTED(pjsua_vid_win_rotate)
|
||||
return PJ_ENOTSUP;
|
||||
}
|
||||
|
||||
/* Start, stop, and/or manipulate video transmission for the specified call. */
|
||||
PJ_DEF(pj_status_t) pjsua_call_set_vid_strm (
|
||||
pjsua_call_id call_id,
|
||||
pjsua_call_vid_strm_op op,
|
||||
const pjsua_call_vid_strm_op_param *param)
|
||||
{
|
||||
UNIMPLEMENTED(pjsua_call_set_vid_strm)
|
||||
return PJ_ENOTSUP;
|
||||
}
|
||||
|
||||
|
||||
/* Get the media stream index of the default video stream in the call. */
|
||||
PJ_DEF(int) pjsua_call_get_vid_stream_idx(pjsua_call_id call_id)
|
||||
{
|
||||
UNIMPLEMENTED(pjsua_call_get_vid_stream_idx)
|
||||
return -1;
|
||||
}
|
||||
|
||||
/* Determine if video stream for the specified call is currently running
|
||||
* for the specified direction.
|
||||
*/
|
||||
PJ_DEF(pj_bool_t) pjsua_call_vid_stream_is_running( pjsua_call_id call_id,
|
||||
int med_idx,
|
||||
pjmedia_dir dir)
|
||||
{
|
||||
UNIMPLEMENTED(pjsua_call_vid_stream_is_running)
|
||||
return PJ_FALSE;
|
||||
}
|
||||
|
||||
#endif /* PJSUA_HAS_VIDEO */
|
||||
|
||||
@@ -0,0 +1,42 @@
|
||||
/*
|
||||
* Put this file in pjlib/include/pj
|
||||
*/
|
||||
|
||||
/* sample configure command:
|
||||
CFLAGS="-g -Wno-unused-label" ./aconfigure --enable-ext-sound --disable-speex-aec --disable-g711-codec --disable-l16-codec --disable-gsm-codec --disable-g722-codec --disable-g7221-codec --disable-speex-codec --disable-ilbc-codec --disable-opencore-amrnb --disable-sdl --disable-ffmpeg --disable-v4l2
|
||||
*/
|
||||
|
||||
#define THIRD_PARTY_MEDIA 1
|
||||
|
||||
#if THIRD_PARTY_MEDIA
|
||||
/*
|
||||
* Sample settings for using third party media with pjsua-lib
|
||||
*/
|
||||
# define PJSUA_MEDIA_HAS_PJMEDIA 0
|
||||
# define PJMEDIA_HAS_G711_CODEC 0
|
||||
# define PJMEDIA_HAS_ALAW_ULAW_TABLE 0
|
||||
# define PJMEDIA_RESAMPLE_IMP PJMEDIA_RESAMPLE_NONE
|
||||
# define PJMEDIA_HAS_SPEEX_AEC 0
|
||||
|
||||
# define PJMEDIA_HAS_L16_CODEC 0
|
||||
# define PJMEDIA_HAS_GSM_CODEC 0
|
||||
# define PJMEDIA_HAS_SPEEX_CODEC 0
|
||||
# define PJMEDIA_HAS_ILBC_CODEC 0
|
||||
# define PJMEDIA_HAS_G722_CODEC 0
|
||||
# define PJMEDIA_HAS_G7221_CODEC 0
|
||||
# define PJMEDIA_HAS_OPENCORE_AMRNB_CODEC 0
|
||||
|
||||
# define PJMEDIA_HAS_VIDEO 1
|
||||
# define PJMEDIA_HAS_FFMPEG 0
|
||||
|
||||
# undef PJMEDIA_VIDEO_DEV_HAS_SDL
|
||||
# define PJMEDIA_VIDEO_DEV_HAS_SDL 0
|
||||
# define PJMEDIA_VIDEO_DEV_HAS_QT 0
|
||||
# define PJMEDIA_VIDEO_DEV_HAS_IOS 0
|
||||
# define PJMEDIA_VIDEO_DEV_HAS_DSHOW 0
|
||||
# define PJMEDIA_VIDEO_DEV_HAS_CBAR_SRC 0
|
||||
# define PJMEDIA_VIDEO_DEV_HAS_FFMPEG 0
|
||||
# undef PJMEDIA_VIDEO_DEV_HAS_V4L2
|
||||
# define PJMEDIA_VIDEO_DEV_HAS_V4L2 0
|
||||
#endif /* THIRD_PARTY_MEDIA */
|
||||
|
||||
@@ -0,0 +1,575 @@
|
||||
# $Id$
|
||||
#
|
||||
# SIP Conference Bot
|
||||
#
|
||||
# Copyright (C) 2008-2009 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 pjsua as pj
|
||||
import string
|
||||
import sys
|
||||
|
||||
CFG_FILE = "config"
|
||||
|
||||
INFO = 1
|
||||
TRACE = 2
|
||||
|
||||
# Call callback. This would just forward the event to the Member class
|
||||
class CallCb(pj.CallCallback):
|
||||
def __init__(self, member, call=None):
|
||||
pj.CallCallback.__init__(self, call)
|
||||
self.member = member
|
||||
|
||||
def on_state(self):
|
||||
self.member.on_call_state(self.call)
|
||||
|
||||
def on_media_state(self):
|
||||
self.member.on_call_media_state(self.call)
|
||||
|
||||
def on_dtmf_digit(self, digits):
|
||||
self.member.on_call_dtmf_digit(self.call, digits)
|
||||
|
||||
def on_transfer_request(self, dst, code):
|
||||
return self.member.on_call_transfer_request(self.call, dst, code)
|
||||
|
||||
def on_transfer_status(self, code, reason, final, cont):
|
||||
return self.member.on_call_transfer_status(self.call, code, reason, final, cont)
|
||||
|
||||
def on_replace_request(self, code, reason):
|
||||
return self.member.on_call_replace_request(self.call, code, reason)
|
||||
|
||||
def on_replaced(self, new_call):
|
||||
self.member.on_call_replaced(self.call, new_call)
|
||||
|
||||
def on_typing(self, is_typing):
|
||||
self.member.on_typing(is_typing, call=self.call)
|
||||
|
||||
def on_pager(self, mime_type, body):
|
||||
self.member.on_pager(mime_type, body, call=self.call)
|
||||
|
||||
def on_pager_status(self, body, im_id, code, reason):
|
||||
self.member.on_pager_status(body, im_id, code, reason, call=self.call)
|
||||
|
||||
# Buddy callback. This would just forward the event to Member class
|
||||
class BuddyCb(pj.BuddyCallback):
|
||||
def __init__(self, member, buddy=None):
|
||||
pj.BuddyCallback.__init__(self, buddy)
|
||||
self.member = member
|
||||
|
||||
def on_pager(self, mime_type, body):
|
||||
self.member.on_pager(mime_type, body, buddy=self.buddy)
|
||||
|
||||
def on_pager_status(self, body, im_id, code, reason):
|
||||
self.member.on_pager_status(body, im_id, code, reason, buddy=self.buddy)
|
||||
|
||||
def on_state(self):
|
||||
self.member.on_pres_state(self.buddy)
|
||||
|
||||
def on_typing(self, is_typing):
|
||||
self.member.on_typing(is_typing, buddy=self.buddy)
|
||||
|
||||
|
||||
|
||||
|
||||
##############################################################################
|
||||
#
|
||||
#
|
||||
# This class represents individual room member (either/both chat and voice conf)
|
||||
#
|
||||
#
|
||||
class Member:
|
||||
def __init__(self, bot, uri):
|
||||
self.uri = uri
|
||||
self.bot = bot
|
||||
self.call = None
|
||||
self.buddy = None
|
||||
self.bi = pj.BuddyInfo()
|
||||
self.in_chat = False
|
||||
self.in_voice = False
|
||||
self.im_error = False
|
||||
self.html = False
|
||||
|
||||
def __str__(self):
|
||||
str = string.ljust(self.uri, 30) + " -- "
|
||||
if self.buddy:
|
||||
bi = self.buddy.info()
|
||||
str = str + bi.online_text
|
||||
else:
|
||||
str = str + "Offline"
|
||||
str = str + " ["
|
||||
if (self.in_voice):
|
||||
str = str + " voice"
|
||||
if (self.in_chat):
|
||||
str = str + " chat"
|
||||
if (self.html):
|
||||
str = str + " html"
|
||||
else:
|
||||
str = str + " plain"
|
||||
|
||||
if (self.im_error):
|
||||
str = str + " im_error"
|
||||
str = str + "]"
|
||||
return str
|
||||
|
||||
def join_call(self, call):
|
||||
if self.call:
|
||||
self.call.hangup(603, "You have been disconnected for making another call")
|
||||
self.call = call
|
||||
call.set_callback(CallCb(self, call))
|
||||
msg = "%(uri)s is attempting to join the voice conference" % \
|
||||
{'uri': self.uri}
|
||||
self.bot.DEBUG(msg + "\n", INFO)
|
||||
self.bot.broadcast_pager(None, msg)
|
||||
|
||||
def join_chat(self):
|
||||
if not self.buddy:
|
||||
self.bot.DEBUG(self.uri + " joining chatroom...\n", INFO)
|
||||
self.buddy = self.bot.acc.add_buddy(self.uri)
|
||||
self.buddy.set_callback(BuddyCb(self, self.buddy))
|
||||
self.buddy.subscribe()
|
||||
else:
|
||||
self.bot.DEBUG(self.uri + " already in chatroom, resubscribing..\n", INFO)
|
||||
self.buddy.subscribe()
|
||||
|
||||
def send_pager(self, body, mime="text/plain"):
|
||||
self.bot.DEBUG("send_pager() to " + self.uri)
|
||||
if self.in_chat and not self.im_error and self.buddy:
|
||||
if self.html:
|
||||
#This will make us receive html!
|
||||
#mime = "text/html"
|
||||
body = body.replace("<", "<")
|
||||
body = body.replace(">", ">")
|
||||
body = body.replace('"', """)
|
||||
body = body.replace("\n", "<BR>\n")
|
||||
self.buddy.send_pager(body, content_type=mime)
|
||||
self.bot.DEBUG("..sent\n")
|
||||
else:
|
||||
self.bot.DEBUG("..not sent!\n")
|
||||
|
||||
def on_call_state(self, call):
|
||||
ci = call.info()
|
||||
if ci.state==pj.CallState.DISCONNECTED:
|
||||
if self.in_voice:
|
||||
msg = "%(uri)s has left the voice conference (%(1)d/%(2)s)" % \
|
||||
{'uri': self.uri, '1': ci.last_code, '2': ci.last_reason}
|
||||
self.bot.DEBUG(msg + "\n", INFO)
|
||||
self.bot.broadcast_pager(None, msg)
|
||||
self.in_voice = False
|
||||
self.call = None
|
||||
self.bot.on_member_left(self)
|
||||
elif ci.state==pj.CallState.CONFIRMED:
|
||||
msg = "%(uri)s has joined the voice conference" % \
|
||||
{'uri': self.uri}
|
||||
self.bot.DEBUG(msg + "\n", INFO)
|
||||
self.bot.broadcast_pager(None, msg)
|
||||
|
||||
def on_call_media_state(self, call):
|
||||
self.bot.DEBUG("Member.on_call_media_state\n")
|
||||
ci = call.info()
|
||||
if ci.conf_slot!=-1:
|
||||
if not self.in_voice:
|
||||
msg = self.uri + " call media is active"
|
||||
self.bot.broadcast_pager(None, msg)
|
||||
self.in_voice = True
|
||||
self.bot.add_to_voice_conf(self)
|
||||
else:
|
||||
if self.in_voice:
|
||||
msg = self.uri + " call media is inactive"
|
||||
self.bot.broadcast_pager(None, msg)
|
||||
self.in_voice = False
|
||||
|
||||
def on_call_dtmf_digit(self, call, digits):
|
||||
msg = "%(uri)s sent DTMF digits %(dig)s" % \
|
||||
{'uri': self.uri, 'dig': digits}
|
||||
self.bot.broadcast_pager(None, msg)
|
||||
|
||||
def on_call_transfer_request(self, call, dst, code):
|
||||
msg = "%(uri)s is transferring the call to %(dst)s" % \
|
||||
{'uri': self.uri, 'dst': dst}
|
||||
self.bot.broadcast_pager(None, msg)
|
||||
return 202
|
||||
|
||||
def on_call_transfer_status(self, call, code, reason, final, cont):
|
||||
msg = "%(uri)s call transfer status is %(code)d/%(res)s" % \
|
||||
{'uri': self.uri, 'code': code, 'res': reason}
|
||||
self.bot.broadcast_pager(None, msg)
|
||||
return True
|
||||
|
||||
def on_call_replace_request(self, call, code, reason):
|
||||
msg = "%(uri)s is requesting call replace" % \
|
||||
{'uri': self.uri}
|
||||
self.bot.broadcast_pager(None, msg)
|
||||
return (code, reason)
|
||||
|
||||
def on_call_replaced(self, call, new_call):
|
||||
msg = "%(uri)s call is replaced" % \
|
||||
{'uri': self.uri}
|
||||
self.bot.broadcast_pager(None, msg)
|
||||
|
||||
def on_pres_state(self, buddy):
|
||||
old_bi = self.bi
|
||||
self.bi = buddy.info()
|
||||
msg = "%(uri)s status is %(st)s" % \
|
||||
{'uri': self.uri, 'st': self.bi.online_text}
|
||||
self.bot.DEBUG(msg + "\n", INFO)
|
||||
self.bot.broadcast_pager(self, msg)
|
||||
|
||||
if self.bi.sub_state==pj.SubscriptionState.ACTIVE:
|
||||
if not self.in_chat:
|
||||
self.in_chat = True
|
||||
buddy.send_pager("Welcome to chatroom")
|
||||
self.bot.broadcast_pager(self, self.uri + " has joined the chat room")
|
||||
else:
|
||||
self.in_chat = True
|
||||
elif self.bi.sub_state==pj.SubscriptionState.NULL or \
|
||||
self.bi.sub_state==pj.SubscriptionState.TERMINATED or \
|
||||
self.bi.sub_state==pj.SubscriptionState.UNKNOWN:
|
||||
self.buddy.delete()
|
||||
self.buddy = None
|
||||
if self.in_chat:
|
||||
self.in_chat = False
|
||||
self.bot.broadcast_pager(self, self.uri + " has left the chat room")
|
||||
else:
|
||||
self.in_chat = False
|
||||
self.bot.on_member_left(self)
|
||||
|
||||
def on_typing(self, is_typing, call=None, buddy=None):
|
||||
if is_typing:
|
||||
msg = self.uri + " is typing..."
|
||||
else:
|
||||
msg = self.uri + " has stopped typing"
|
||||
self.bot.broadcast_pager(self, msg)
|
||||
|
||||
def on_pager(self, mime_type, body, call=None, buddy=None):
|
||||
if not self.bot.handle_cmd(self, None, body):
|
||||
msg = self.uri + ": " + body
|
||||
self.bot.broadcast_pager(self, msg, mime_type)
|
||||
|
||||
def on_pager_status(self, body, im_id, code, reason, call=None, buddy=None):
|
||||
self.im_error = (code/100 != 2)
|
||||
|
||||
|
||||
|
||||
##############################################################################
|
||||
#
|
||||
#
|
||||
# The Bot instance (singleton)
|
||||
#
|
||||
#
|
||||
class Bot(pj.AccountCallback):
|
||||
def __init__(self):
|
||||
pj.AccountCallback.__init__(self, None)
|
||||
self.lib = pj.Lib()
|
||||
self.acc = None
|
||||
self.calls = []
|
||||
self.members = {}
|
||||
self.cfg = None
|
||||
|
||||
def DEBUG(self, msg, level=TRACE):
|
||||
print msg,
|
||||
|
||||
def helpstring(self):
|
||||
return """
|
||||
--h[elp] Display this help screen
|
||||
--j[oin] Join the chat room
|
||||
--html on|off Set to receive HTML or plain text
|
||||
|
||||
Participant commands:
|
||||
--s[how] Show confbot settings
|
||||
--leave Leave the chatroom
|
||||
--l[ist] List all members
|
||||
|
||||
Admin commands:
|
||||
--a[dmin] <CMD> Where <CMD> are:
|
||||
list List the admins
|
||||
add <URI> Add URI as admin
|
||||
del <URI> Remove URI as admin
|
||||
rr Reregister account to server
|
||||
call <URI> Make call to the URI and add to voice conf
|
||||
dc <URI> Disconnect call to URI
|
||||
hold <URI> Hold call with that URI
|
||||
update <URI> Send UPDATE to call with that URI
|
||||
reinvite <URI> Send re-INVITE to call with that URI
|
||||
"""
|
||||
|
||||
def listmembers(self):
|
||||
msg = ""
|
||||
for uri, m in self.members.iteritems():
|
||||
msg = msg + str(m) + "\n"
|
||||
return msg
|
||||
|
||||
def showsettings(self):
|
||||
ai = self.acc.info()
|
||||
msg = """
|
||||
ConfBot status and settings:
|
||||
URI: %(uri)s
|
||||
Status: %(pres)s
|
||||
Reg Status: %(reg_st)d
|
||||
Reg Reason: %(reg_res)s
|
||||
""" % {'uri': ai.uri, 'pres': ai.online_text, \
|
||||
'reg_st': ai.reg_status, 'reg_res': ai.reg_reason}
|
||||
return msg
|
||||
|
||||
def main(self, cfg_file):
|
||||
try:
|
||||
cfg = self.cfg = __import__(cfg_file)
|
||||
|
||||
self.lib.init(ua_cfg=cfg.ua_cfg, log_cfg=cfg.log_cfg, media_cfg=cfg.media_cfg)
|
||||
self.lib.set_null_snd_dev()
|
||||
|
||||
transport = None
|
||||
if cfg.udp_cfg:
|
||||
transport = self.lib.create_transport(pj.TransportType.UDP, cfg.udp_cfg)
|
||||
if cfg.tcp_cfg:
|
||||
t = self.lib.create_transport(pj.TransportType.TCP, cfg.tcp_cfg)
|
||||
if not transport:
|
||||
transport = t
|
||||
|
||||
self.lib.start()
|
||||
|
||||
if cfg.acc_cfg:
|
||||
self.DEBUG("Creating account %(uri)s..\n" % {'uri': cfg.acc_cfg.id}, INFO)
|
||||
self.acc = self.lib.create_account(cfg.acc_cfg, cb=self)
|
||||
else:
|
||||
self.DEBUG("Creating account for %(t)s..\n" % \
|
||||
{'t': transport.info().description}, INFO)
|
||||
self.acc = self.lib.create_account_for_transport(transport, cb=self)
|
||||
|
||||
self.acc.set_basic_status(True)
|
||||
|
||||
# Wait for ENTER before quitting
|
||||
print "Press q to quit or --help/--h for help"
|
||||
while True:
|
||||
input = sys.stdin.readline().strip(" \t\r\n")
|
||||
if not self.handle_cmd(None, None, input):
|
||||
if input=="q":
|
||||
break
|
||||
|
||||
self.lib.destroy()
|
||||
self.lib = None
|
||||
|
||||
except pj.Error, e:
|
||||
print "Exception: " + str(e)
|
||||
if self.lib:
|
||||
self.lib.destroy()
|
||||
self.lib = None
|
||||
|
||||
def broadcast_pager(self, exclude_member, body, mime_type="text/plain"):
|
||||
self.DEBUG("Broadcast: " + body + "\n")
|
||||
for uri, m in self.members.iteritems():
|
||||
if m != exclude_member:
|
||||
m.send_pager(body, mime_type)
|
||||
|
||||
def add_to_voice_conf(self, member):
|
||||
if not member.call:
|
||||
return
|
||||
src_ci = member.call.info()
|
||||
self.DEBUG("bot.add_to_voice_conf\n")
|
||||
for uri, m in self.members.iteritems():
|
||||
if m==member:
|
||||
continue
|
||||
if not m.call:
|
||||
continue
|
||||
dst_ci = m.call.info()
|
||||
if dst_ci.media_state==pj.MediaState.ACTIVE and dst_ci.conf_slot!=-1:
|
||||
self.lib.conf_connect(src_ci.conf_slot, dst_ci.conf_slot)
|
||||
self.lib.conf_connect(dst_ci.conf_slot, src_ci.conf_slot)
|
||||
|
||||
def on_member_left(self, member):
|
||||
if not member.call and not member.buddy:
|
||||
del self.members[member.uri]
|
||||
del member
|
||||
|
||||
def handle_admin_cmd(self, member, body):
|
||||
if member and self.cfg.admins and not member.uri in self.cfg.admins:
|
||||
member.send_pager("You are not admin")
|
||||
return
|
||||
args = body.split()
|
||||
msg = ""
|
||||
|
||||
if len(args)==1:
|
||||
args.append(" ")
|
||||
|
||||
if args[1]=="list":
|
||||
if not self.cfg.admins:
|
||||
msg = "Everyone is admin!"
|
||||
else:
|
||||
msg = str(self.cfg.admins)
|
||||
elif args[1]=="add":
|
||||
if len(args)!=3:
|
||||
msg = "Usage: add <URI>"
|
||||
else:
|
||||
self.cfg.admins.append(args[2])
|
||||
msg = args[2] + " added as admin"
|
||||
elif args[1]=="del":
|
||||
if len(args)!=3:
|
||||
msg = "Usage: del <URI>"
|
||||
elif args[2] not in self.cfg.admins:
|
||||
msg = args[2] + " is not admin"
|
||||
else:
|
||||
self.cfg.admins.remove(args[2])
|
||||
msg = args[2] + " has been removed from admins"
|
||||
elif args[1]=="rr":
|
||||
msg = "Reregistering.."
|
||||
self.acc.set_registration(True)
|
||||
elif args[1]=="call":
|
||||
if len(args)!=3:
|
||||
msg = "Usage: call <URI>"
|
||||
else:
|
||||
uri = args[2]
|
||||
try:
|
||||
call = self.acc.make_call(uri)
|
||||
except pj.Error, e:
|
||||
msg = "Error: " + str(e)
|
||||
call = None
|
||||
|
||||
if call:
|
||||
if not uri in self.members:
|
||||
m = Member(self, uri)
|
||||
self.members[m.uri] = m
|
||||
else:
|
||||
m = self.members[uri]
|
||||
msg = "Adding " + m.uri + " to voice conference.."
|
||||
m.join_call(call)
|
||||
elif args[1]=="dc" or args[1]=="hold" or args[1]=="update" or args[1]=="reinvite":
|
||||
if len(args)!=3:
|
||||
msg = "Usage: " + args[1] + " <URI>"
|
||||
else:
|
||||
uri = args[2]
|
||||
if not uri in self.members:
|
||||
msg = "Member not found/URI doesn't match (note: case matters!)"
|
||||
else:
|
||||
m = self.members[uri]
|
||||
if m.call:
|
||||
if args[1]=="dc":
|
||||
msg = "Disconnecting.."
|
||||
m.call.hangup(603, "You're disconnected by admin")
|
||||
elif args[1]=="hold":
|
||||
msg = "Holding the call"
|
||||
m.call.hold()
|
||||
elif args[1]=="update":
|
||||
msg = "Sending UPDATE"
|
||||
m.call.update()
|
||||
elif args[1]=="reinvite":
|
||||
msg = "Sending re-INVITE"
|
||||
m.call.reinvite()
|
||||
else:
|
||||
msg = "He is not in call"
|
||||
else:
|
||||
msg = "Unknown admin command " + body
|
||||
|
||||
#print "msg is '%(msg)s'" % {'msg': msg}
|
||||
|
||||
if True:
|
||||
if member:
|
||||
member.send_pager(msg)
|
||||
else:
|
||||
print msg
|
||||
|
||||
def handle_cmd(self, member, from_uri, body):
|
||||
body = body.strip(" \t\r\n")
|
||||
msg = ""
|
||||
handled = True
|
||||
if body=="--l" or body=="--list":
|
||||
msg = self.listmembers()
|
||||
if msg=="":
|
||||
msg = "Nobody is here"
|
||||
elif body[0:3]=="--s":
|
||||
msg = self.showsettings()
|
||||
elif body[0:6]=="--html" and member:
|
||||
if body[8:11]=="off":
|
||||
member.html = False
|
||||
else:
|
||||
member.html = True
|
||||
elif body=="--h" or body=="--help":
|
||||
msg = self.helpstring()
|
||||
elif body=="--leave":
|
||||
if not member or not member.buddy:
|
||||
msg = "You are not in chatroom"
|
||||
else:
|
||||
member.buddy.unsubscribe()
|
||||
elif body[0:3]=="--j":
|
||||
if not from_uri in self.members:
|
||||
m = Member(self, from_uri)
|
||||
self.members[m.uri] = m
|
||||
self.DEBUG("Adding " + m.uri + " to chatroom\n")
|
||||
m.join_chat()
|
||||
else:
|
||||
m = self.members[from_uri]
|
||||
self.DEBUG("Adding " + m.uri + " to chatroom\n")
|
||||
m.join_chat()
|
||||
elif body[0:3]=="--a":
|
||||
self.handle_admin_cmd(member, body)
|
||||
handled = True
|
||||
else:
|
||||
handled = False
|
||||
|
||||
if msg:
|
||||
if member:
|
||||
member.send_pager(msg)
|
||||
elif from_uri:
|
||||
self.acc.send_pager(from_uri, msg);
|
||||
else:
|
||||
print msg
|
||||
return handled
|
||||
|
||||
def on_incoming_call(self, call):
|
||||
self.DEBUG("on_incoming_call from %(uri)s\n" % {'uri': call.info().remote_uri}, INFO)
|
||||
ci = call.info()
|
||||
if not ci.remote_uri in self.members:
|
||||
m = Member(self, ci.remote_uri)
|
||||
self.members[m.uri] = m
|
||||
m.join_call(call)
|
||||
else:
|
||||
m = self.members[ci.remote_uri]
|
||||
m.join_call(call)
|
||||
call.answer(200)
|
||||
|
||||
def on_incoming_subscribe(self, buddy, from_uri, contact_uri, pres_obj):
|
||||
self.DEBUG("on_incoming_subscribe from %(uri)s\n" % from_uri, INFO)
|
||||
return (200, 'OK')
|
||||
|
||||
def on_reg_state(self):
|
||||
ai = self.acc.info()
|
||||
self.DEBUG("Registration state: %(code)d/%(reason)s\n" % \
|
||||
{'code': ai.reg_status, 'reason': ai.reg_reason}, INFO)
|
||||
if ai.reg_status/100==2 and ai.reg_expires > 0:
|
||||
self.acc.set_basic_status(True)
|
||||
|
||||
def on_pager(self, from_uri, contact, mime_type, body):
|
||||
body = body.strip(" \t\r\n")
|
||||
if not self.handle_cmd(None, from_uri, body):
|
||||
self.acc.send_pager(from_uri, "You have not joined the chat room. Type '--join' to join or '--help' for the help")
|
||||
|
||||
def on_pager_status(self, to_uri, body, im_id, code, reason):
|
||||
pass
|
||||
|
||||
def on_typing(self, from_uri, contact, is_typing):
|
||||
pass
|
||||
|
||||
|
||||
|
||||
|
||||
##############################################################################
|
||||
#
|
||||
#
|
||||
# main()
|
||||
#
|
||||
#
|
||||
if __name__ == "__main__":
|
||||
bot = Bot()
|
||||
bot.main(CFG_FILE)
|
||||
|
||||
@@ -0,0 +1,41 @@
|
||||
# $Id$
|
||||
#
|
||||
# Confbot settings
|
||||
#
|
||||
import pjsua as pj
|
||||
|
||||
# Set of admins. If empty then everyone is admin!
|
||||
admins = set([])
|
||||
|
||||
# acc_cfg holds the account config (set it to None to disable account)
|
||||
acc_cfg = None
|
||||
acc_cfg = pj.AccountConfig()
|
||||
if acc_cfg:
|
||||
acc_cfg.id = "sip:bot@pjsip.org"
|
||||
acc_cfg.reg_uri = "sip:pjsip.org"
|
||||
acc_cfg.proxy = [ "sip:pjsip.org;lr;transport=tcp" ]
|
||||
acc_cfg.auth_cred = [ pj.AuthCred("*", "bot", "secretpass") ]
|
||||
acc_cfg.publish_enabled = True
|
||||
#acc_cfg.require_timer = True
|
||||
|
||||
# Transport configs (set them to None to disable the transport)
|
||||
udp_cfg = pj.TransportConfig(5080)
|
||||
tcp_cfg = pj.TransportConfig(0)
|
||||
#tcp_cfg = None
|
||||
|
||||
# Logging Config (you can also set it to None to use default values)
|
||||
def log_cb(level, str, len):
|
||||
print str,
|
||||
|
||||
log_cfg = pj.LogConfig()
|
||||
#log_cfg.callback = log_cb
|
||||
|
||||
# UA Config (you can also set it to None to use default values)
|
||||
ua_cfg = pj.UAConfig()
|
||||
ua_cfg.user_agent = "PJSIP ConfBot"
|
||||
ua_cfg.stun_host = "stun.pjsip.org"
|
||||
|
||||
# Media config (you can also set it to None to use default values)
|
||||
media_cfg = pj.MediaConfig()
|
||||
media_cfg.enable_ice = True
|
||||
media_cfg.max_calls = 20
|
||||
@@ -0,0 +1,32 @@
|
||||
/* $Id$ */
|
||||
/*
|
||||
* 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 "TestViewController.h"
|
||||
|
||||
@interface RootViewController : UITableViewController {
|
||||
NSMutableArray *titles;
|
||||
NSMutableArray *menus;
|
||||
|
||||
TestViewController *testView;
|
||||
}
|
||||
|
||||
@property (nonatomic, retain) NSMutableArray *titles;
|
||||
@property (nonatomic, retain) NSMutableArray *menus;
|
||||
@property (nonatomic, retain) TestViewController *testView;
|
||||
|
||||
@end
|
||||
@@ -0,0 +1,335 @@
|
||||
/* $Id$ */
|
||||
/*
|
||||
* 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 "RootViewController.h"
|
||||
#import "gui.h"
|
||||
#import "systest.h"
|
||||
|
||||
/* Sleep interval duration, change to shorter duration for better
|
||||
* interaction but make sure there is enough time for the other
|
||||
* thread to do what it's supposed to do
|
||||
*/
|
||||
#define SLEEP_INTERVAL 0.5
|
||||
|
||||
@implementation RootViewController
|
||||
@synthesize titles;
|
||||
@synthesize menus;
|
||||
@synthesize testView;
|
||||
|
||||
RootViewController *view;
|
||||
|
||||
bool systest_initialized;
|
||||
bool thread_quit;
|
||||
gui_menu *gmenu;
|
||||
int section;
|
||||
int row;
|
||||
const char *ctitle;
|
||||
const char *cmsg;
|
||||
enum gui_flag cflag;
|
||||
|
||||
pj_status_t gui_init(gui_menu *menu)
|
||||
{
|
||||
PJ_UNUSED_ARG(menu);
|
||||
return PJ_SUCCESS;
|
||||
}
|
||||
|
||||
/* Run GUI main loop */
|
||||
pj_status_t gui_start(gui_menu *menu)
|
||||
{
|
||||
view.titles = [NSMutableArray arrayWithCapacity:menu->submenu_cnt];
|
||||
view.menus = [NSMutableArray arrayWithCapacity:menu->submenu_cnt];
|
||||
NSMutableArray *smenu;
|
||||
for (int i = 0; i < menu->submenu_cnt; i++) {
|
||||
NSString *str = [NSString stringWithFormat:@"%s" , menu->submenus[i]->title];
|
||||
[view.titles addObject: str];
|
||||
smenu = [NSMutableArray arrayWithCapacity:menu->submenus[i]->submenu_cnt];
|
||||
/* We do not need the last two menus of the "Tests" menu (NULL and "Exit"),
|
||||
* so subtract by 2
|
||||
*/
|
||||
for (int j = 0; j < menu->submenus[i]->submenu_cnt - (i==0? 2: 0); j++) {
|
||||
str = [NSString stringWithFormat:@"%s" , menu->submenus[i]->submenus[j]->title];
|
||||
[smenu addObject:str];
|
||||
}
|
||||
[view.menus addObject:smenu];
|
||||
}
|
||||
gmenu = menu;
|
||||
|
||||
return PJ_SUCCESS;
|
||||
}
|
||||
|
||||
/* Signal GUI mainloop to stop */
|
||||
void gui_destroy(void)
|
||||
{
|
||||
}
|
||||
|
||||
/* AUX: display messagebox */
|
||||
enum gui_key gui_msgbox(const char *title, const char *message, enum gui_flag flag)
|
||||
{
|
||||
ctitle = title;
|
||||
cmsg = message;
|
||||
cflag = flag;
|
||||
[view performSelectorOnMainThread:@selector(showMsg) withObject:nil waitUntilDone:YES];
|
||||
|
||||
view.testView.key = 0;
|
||||
while(view.testView.key == 0) {
|
||||
/* Let the main thread do its job (refresh the view) while we wait for
|
||||
* user interaction (button click)
|
||||
*/
|
||||
[NSThread sleepForTimeInterval:SLEEP_INTERVAL];
|
||||
}
|
||||
|
||||
if (view.testView.key == 1)
|
||||
return KEY_OK;
|
||||
else
|
||||
return (flag == WITH_YESNO? KEY_NO: KEY_CANCEL);
|
||||
}
|
||||
|
||||
/* AUX: sleep */
|
||||
void gui_sleep(unsigned sec)
|
||||
{
|
||||
[NSThread sleepForTimeInterval:sec];
|
||||
}
|
||||
|
||||
- (void)viewDidLoad {
|
||||
[super viewDidLoad];
|
||||
|
||||
view = self;
|
||||
|
||||
/* Get a writable path for output files */
|
||||
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
|
||||
NSString *documentsDirectory = [paths objectAtIndex:0];
|
||||
[documentsDirectory getCString:doc_path maxLength:PATH_LENGTH encoding:NSASCIIStringEncoding];
|
||||
strncat(doc_path, "/", PATH_LENGTH);
|
||||
|
||||
/* Get path for our test resources (the wav files) */
|
||||
NSString *resPath = [[NSBundle mainBundle] resourcePath];
|
||||
[resPath getCString:res_path maxLength:PATH_LENGTH encoding:NSASCIIStringEncoding];
|
||||
strncat(res_path, "/", PATH_LENGTH);
|
||||
|
||||
systest_initialized = false;
|
||||
thread_quit = false;
|
||||
[NSThread detachNewThreadSelector:@selector(startTest) toTarget:self withObject:nil];
|
||||
/* Let our new thread initialize */
|
||||
while (!systest_initialized) {
|
||||
[NSThread sleepForTimeInterval:SLEEP_INTERVAL];
|
||||
}
|
||||
|
||||
// Uncomment the following line to display an Edit button in the navigation bar for this view controller.
|
||||
// self.navigationItem.rightBarButtonItem = self.editButtonItem;
|
||||
}
|
||||
|
||||
/*
|
||||
- (void)viewWillAppear:(BOOL)animated {
|
||||
[super viewWillAppear:animated];
|
||||
}
|
||||
*/
|
||||
/*
|
||||
- (void)viewDidAppear:(BOOL)animated {
|
||||
[super viewDidAppear:animated];
|
||||
}
|
||||
*/
|
||||
/*
|
||||
- (void)viewWillDisappear:(BOOL)animated {
|
||||
[super viewWillDisappear:animated];
|
||||
}
|
||||
*/
|
||||
/*
|
||||
- (void)viewDidDisappear:(BOOL)animated {
|
||||
[super viewDidDisappear:animated];
|
||||
}
|
||||
*/
|
||||
|
||||
/*
|
||||
// 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 anything that can be recreated in viewDidLoad or on demand.
|
||||
// e.g. self.myOutlet = nil;
|
||||
self.titles = nil;
|
||||
self.menus = nil;
|
||||
|
||||
thread_quit = true;
|
||||
[NSThread sleepForTimeInterval:SLEEP_INTERVAL];
|
||||
}
|
||||
|
||||
|
||||
#pragma mark Table view methods
|
||||
|
||||
|
||||
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {
|
||||
return [titles count];
|
||||
}
|
||||
|
||||
|
||||
// Customize the number of rows in the table view.
|
||||
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
|
||||
return [[menus objectAtIndex:section] count];
|
||||
}
|
||||
|
||||
|
||||
- (NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section {
|
||||
// The header for the section is the region name -- get this from the region at the section index.
|
||||
return [titles objectAtIndex:section];
|
||||
}
|
||||
|
||||
// Customize the appearance of table view cells.
|
||||
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
|
||||
|
||||
static NSString *CellIdentifier = @"Cell";
|
||||
|
||||
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
|
||||
if (cell == nil) {
|
||||
cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier] autorelease];
|
||||
}
|
||||
|
||||
// Configure the cell.
|
||||
cell.textLabel.text = [[menus objectAtIndex:indexPath.section] objectAtIndex:indexPath.row];
|
||||
|
||||
return cell;
|
||||
}
|
||||
|
||||
- (void)startTest {
|
||||
NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
|
||||
if (systest_init() != PJ_SUCCESS) {
|
||||
[pool release];
|
||||
return;
|
||||
}
|
||||
|
||||
systest_run();
|
||||
|
||||
systest_initialized = 1;
|
||||
while(!thread_quit) {
|
||||
section = -1;
|
||||
while (section == -1) {
|
||||
[NSThread sleepForTimeInterval:SLEEP_INTERVAL];
|
||||
}
|
||||
(*gmenu->submenus[section]->submenus[row]->handler)();
|
||||
cmsg = NULL;
|
||||
[view performSelectorOnMainThread:@selector(showMsg) withObject:nil waitUntilDone:YES];
|
||||
}
|
||||
|
||||
systest_deinit();
|
||||
[pool release];
|
||||
}
|
||||
|
||||
- (void)showMsg {
|
||||
if (cmsg == NULL) {
|
||||
self.testView.testDesc.text = [self.testView.testDesc.text stringByAppendingString: @"Finished"];
|
||||
[self.testView.testDesc scrollRangeToVisible:NSMakeRange([self.testView.testDesc.text length] - 1, 1)];
|
||||
[self.testView.button1 setHidden:true];
|
||||
[self.testView.button2 setHidden:true];
|
||||
return;
|
||||
}
|
||||
self.testView.title = [NSString stringWithFormat:@"%s", ctitle];
|
||||
self.testView.testDesc.text = [self.testView.testDesc.text stringByAppendingString: [NSString stringWithFormat:@"%s\n\n", cmsg]];
|
||||
[self.testView.testDesc scrollRangeToVisible:NSMakeRange([self.testView.testDesc.text length] - 1, 1)];
|
||||
|
||||
[self.testView.button1 setHidden:false];
|
||||
[self.testView.button2 setHidden:false];
|
||||
if (cflag == WITH_YESNO) {
|
||||
[self.testView.button1 setTitle:@"Yes" forState:UIControlStateNormal];
|
||||
[self.testView.button2 setTitle:@"No" forState:UIControlStateNormal];
|
||||
} else if (cflag == WITH_OK) {
|
||||
[self.testView.button1 setTitle:@"OK" forState:UIControlStateNormal];
|
||||
[self.testView.button2 setHidden:true];
|
||||
} else if (cflag == WITH_OKCANCEL) {
|
||||
[self.testView.button1 setTitle:@"OK" forState:UIControlStateNormal];
|
||||
[self.testView.button2 setTitle:@"Cancel" forState:UIControlStateNormal];
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// Override to support row selection in the table view.
|
||||
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
|
||||
|
||||
// Navigation logic may go here -- for example, create and push another view controller.
|
||||
// AnotherViewController *anotherViewController = [[AnotherViewController alloc] initWithNibName:@"AnotherView" bundle:nil];
|
||||
// [self.navigationController pushViewController:anotherViewController animated:YES];
|
||||
// [anotherViewController release];
|
||||
|
||||
if (self.testView == nil) {
|
||||
self.testView = [[TestViewController alloc] initWithNibName:@"TestViewController" bundle:[NSBundle mainBundle]];
|
||||
}
|
||||
|
||||
[self.navigationController pushViewController:self.testView animated:YES];
|
||||
self.testView.title = [[menus objectAtIndex:indexPath.section] objectAtIndex:indexPath.row];
|
||||
self.testView.testDesc.text = @"";
|
||||
section = indexPath.section;
|
||||
row = indexPath.row;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
// Override to support conditional editing of the table view.
|
||||
- (BOOL)tableView:(UITableView *)tableView canEditRowAtIndexPath:(NSIndexPath *)indexPath {
|
||||
// Return NO if you do not want the specified item to be editable.
|
||||
return YES;
|
||||
}
|
||||
*/
|
||||
|
||||
|
||||
/*
|
||||
// Override to support editing the table view.
|
||||
- (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath {
|
||||
|
||||
if (editingStyle == UITableViewCellEditingStyleDelete) {
|
||||
// Delete the row from the data source.
|
||||
[tableView deleteRowsAtIndexPaths:[NSArray arrayWithObject:indexPath] withRowAnimation:UITableViewRowAnimationFade];
|
||||
}
|
||||
else if (editingStyle == UITableViewCellEditingStyleInsert) {
|
||||
// Create a new instance of the appropriate class, insert it into the array, and add a new row to the table view.
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
|
||||
/*
|
||||
// Override to support rearranging the table view.
|
||||
- (void)tableView:(UITableView *)tableView moveRowAtIndexPath:(NSIndexPath *)fromIndexPath toIndexPath:(NSIndexPath *)toIndexPath {
|
||||
}
|
||||
*/
|
||||
|
||||
|
||||
/*
|
||||
// Override to support conditional rearranging of the table view.
|
||||
- (BOOL)tableView:(UITableView *)tableView canMoveRowAtIndexPath:(NSIndexPath *)indexPath {
|
||||
// Return NO if you do not want the item to be re-orderable.
|
||||
return YES;
|
||||
}
|
||||
*/
|
||||
|
||||
|
||||
- (void)dealloc {
|
||||
[super dealloc];
|
||||
}
|
||||
|
||||
|
||||
@end
|
||||
|
||||
@@ -0,0 +1,35 @@
|
||||
/* $Id$ */
|
||||
/*
|
||||
* 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>
|
||||
|
||||
|
||||
@interface TestViewController : UIViewController {
|
||||
IBOutlet UITextView *testDesc;
|
||||
IBOutlet UIButton *button1;
|
||||
IBOutlet UIButton *button2;
|
||||
|
||||
NSInteger key;
|
||||
}
|
||||
|
||||
@property (nonatomic, retain) IBOutlet UITextView *testDesc;
|
||||
@property (nonatomic, retain) IBOutlet UIButton *button1;
|
||||
@property (nonatomic, retain) IBOutlet UIButton *button2;
|
||||
@property (nonatomic) NSInteger key;
|
||||
|
||||
@end
|
||||
@@ -0,0 +1,91 @@
|
||||
/* $Id$ */
|
||||
/*
|
||||
* 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 "TestViewController.h"
|
||||
|
||||
@implementation TestViewController
|
||||
@synthesize testDesc;
|
||||
@synthesize button1;
|
||||
@synthesize button2;
|
||||
@synthesize key;
|
||||
|
||||
- (void)button1Pressed:(id)sender {
|
||||
self.key = 1;
|
||||
[self.button1 setHidden:true];
|
||||
[self.button2 setHidden:true];
|
||||
}
|
||||
|
||||
- (void)button2Pressed:(id)sender {
|
||||
self.key = 2;
|
||||
[self.button1 setHidden:true];
|
||||
[self.button2 setHidden:true];
|
||||
}
|
||||
|
||||
/*
|
||||
// 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 {
|
||||
}
|
||||
*/
|
||||
|
||||
|
||||
// Implement viewDidLoad to do additional setup after loading the view, typically from a nib.
|
||||
- (void)viewDidLoad {
|
||||
[super viewDidLoad];
|
||||
|
||||
[button1 addTarget:self action:@selector(button1Pressed:) forControlEvents:(UIControlEvents)UIControlEventTouchDown];
|
||||
[button2 addTarget:self action:@selector(button2Pressed:) forControlEvents:(UIControlEvents)UIControlEventTouchDown];
|
||||
[testDesc setEditable: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
|
||||
@@ -0,0 +1,29 @@
|
||||
/* $Id$ */
|
||||
/*
|
||||
* 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
|
||||
*/
|
||||
@interface ipjsystestAppDelegate : NSObject <UIApplicationDelegate> {
|
||||
|
||||
UIWindow *window;
|
||||
UINavigationController *navigationController;
|
||||
}
|
||||
|
||||
@property (nonatomic, retain) IBOutlet UIWindow *window;
|
||||
@property (nonatomic, retain) IBOutlet UINavigationController *navigationController;
|
||||
|
||||
@end
|
||||
|
||||
@@ -0,0 +1,55 @@
|
||||
/* $Id$ */
|
||||
/*
|
||||
* 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 "ipjsystestAppDelegate.h"
|
||||
#import "RootViewController.h"
|
||||
|
||||
|
||||
@implementation ipjsystestAppDelegate
|
||||
|
||||
@synthesize window;
|
||||
@synthesize navigationController;
|
||||
|
||||
#pragma mark -
|
||||
#pragma mark Application lifecycle
|
||||
|
||||
- (void)applicationDidFinishLaunching:(UIApplication *)application {
|
||||
|
||||
// Override point for customization after app launch
|
||||
[window addSubview:[navigationController view]];
|
||||
[window makeKeyAndVisible];
|
||||
}
|
||||
|
||||
|
||||
- (void)applicationWillTerminate:(UIApplication *)application {
|
||||
// Save data if appropriate
|
||||
}
|
||||
|
||||
|
||||
#pragma mark -
|
||||
#pragma mark Memory management
|
||||
|
||||
- (void)dealloc {
|
||||
[navigationController release];
|
||||
[window release];
|
||||
[super dealloc];
|
||||
}
|
||||
|
||||
|
||||
@end
|
||||
|
||||
@@ -0,0 +1,507 @@
|
||||
<?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="13"/>
|
||||
</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="302016328">
|
||||
<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"/>
|
||||
</object>
|
||||
<object class="IBUINavigationController" id="701001926">
|
||||
<object class="IBUISimulatedStatusBarMetrics" key="IBUISimulatedStatusBarMetrics"/>
|
||||
<object class="IBUINavigationBar" key="IBUINavigationBar" id="207850653">
|
||||
<nil key="NSNextResponder"/>
|
||||
<int key="NSvFlags">256</int>
|
||||
<string key="NSFrameSize">{0, 0}</string>
|
||||
<bool key="IBUIOpaque">NO</bool>
|
||||
<bool key="IBUIClipsSubviews">YES</bool>
|
||||
<bool key="IBUIMultipleTouchEnabled">YES</bool>
|
||||
</object>
|
||||
<object class="NSArray" key="IBUIViewControllers">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<object class="IBUIViewController" id="619226028">
|
||||
<object class="IBUINavigationItem" key="IBUINavigationItem" id="394667715">
|
||||
<reference key="IBUINavigationBar"/>
|
||||
<string key="IBUITitle">ipjsystest</string>
|
||||
</object>
|
||||
<reference key="IBUIParentViewController" ref="701001926"/>
|
||||
<string key="IBUINibName">RootViewController</string>
|
||||
<object class="IBUISimulatedStatusBarMetrics" key="IBUISimulatedStatusBarMetrics"/>
|
||||
</object>
|
||||
</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">delegate</string>
|
||||
<reference key="source" ref="841351856"/>
|
||||
<reference key="destination" ref="664661524"/>
|
||||
</object>
|
||||
<int key="connectionID">4</int>
|
||||
</object>
|
||||
<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">5</int>
|
||||
</object>
|
||||
<object class="IBConnectionRecord">
|
||||
<object class="IBCocoaTouchOutletConnection" key="connection">
|
||||
<string key="label">navigationController</string>
|
||||
<reference key="source" ref="664661524"/>
|
||||
<reference key="destination" ref="701001926"/>
|
||||
</object>
|
||||
<int key="connectionID">15</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">-2</int>
|
||||
<reference key="object" ref="302016328"/>
|
||||
<reference key="parent" ref="0"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">9</int>
|
||||
<reference key="object" ref="701001926"/>
|
||||
<object class="NSMutableArray" key="children">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<reference ref="207850653"/>
|
||||
<reference ref="619226028"/>
|
||||
</object>
|
||||
<reference key="parent" ref="0"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">11</int>
|
||||
<reference key="object" ref="207850653"/>
|
||||
<reference key="parent" ref="701001926"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">13</int>
|
||||
<reference key="object" ref="619226028"/>
|
||||
<object class="NSMutableArray" key="children">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<reference ref="394667715"/>
|
||||
</object>
|
||||
<reference key="parent" ref="701001926"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">14</int>
|
||||
<reference key="object" ref="394667715"/>
|
||||
<reference key="parent" ref="619226028"/>
|
||||
</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>11.IBPluginDependency</string>
|
||||
<string>13.CustomClassName</string>
|
||||
<string>13.IBPluginDependency</string>
|
||||
<string>2.IBAttributePlaceholdersKey</string>
|
||||
<string>2.IBEditorWindowLastContentRect</string>
|
||||
<string>2.IBPluginDependency</string>
|
||||
<string>3.CustomClassName</string>
|
||||
<string>3.IBPluginDependency</string>
|
||||
<string>9.IBEditorWindowLastContentRect</string>
|
||||
<string>9.IBPluginDependency</string>
|
||||
</object>
|
||||
<object class="NSMutableArray" key="dict.values">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<string>UIApplication</string>
|
||||
<string>UIResponder</string>
|
||||
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||
<string>RootViewController</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>{{673, 376}, {320, 480}}</string>
|
||||
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||
<string>ipjsystestAppDelegate</string>
|
||||
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||
<string>{{500, 343}, {320, 480}}</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">20</int>
|
||||
</object>
|
||||
<object class="IBClassDescriber" key="IBDocument.Classes">
|
||||
<object class="NSMutableArray" key="referencedPartialClassDescriptions">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">RootViewController</string>
|
||||
<string key="superclassName">UITableViewController</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBProjectSource</string>
|
||||
<string key="minorKey">Classes/RootViewController.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">ipjsystestAppDelegate</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>navigationController</string>
|
||||
<string>window</string>
|
||||
</object>
|
||||
<object class="NSMutableArray" key="dict.values">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<string>UINavigationController</string>
|
||||
<string>UIWindow</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBProjectSource</string>
|
||||
<string key="minorKey">Classes/ipjsystestAppDelegate.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="457547627">
|
||||
<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">UIBarButtonItem</string>
|
||||
<string key="superclassName">UIBarItem</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">UIKit.framework/Headers/UIBarButtonItem.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">UINavigationBar</string>
|
||||
<string key="superclassName">UIView</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier" id="719966566">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">UIKit.framework/Headers/UINavigationBar.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">UINavigationController</string>
|
||||
<string key="superclassName">UIViewController</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier" id="737619010">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">UIKit.framework/Headers/UINavigationController.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">UINavigationItem</string>
|
||||
<string key="superclassName">NSObject</string>
|
||||
<reference key="sourceIdentifier" ref="719966566"/>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">UIResponder</string>
|
||||
<string key="superclassName">NSObject</string>
|
||||
<reference key="sourceIdentifier" ref="457547627"/>
|
||||
</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">UITableViewController</string>
|
||||
<string key="superclassName">UIViewController</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">UIKit.framework/Headers/UITableViewController.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>
|
||||
<reference key="sourceIdentifier" ref="737619010"/>
|
||||
</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 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">ipjsystest.xcodeproj</string>
|
||||
<int key="IBDocument.defaultPropertyAccessControl">3</int>
|
||||
<string key="IBCocoaTouchPluginVersion">3.1</string>
|
||||
</data>
|
||||
</archive>
|
||||
@@ -0,0 +1,380 @@
|
||||
<?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">10A405</string>
|
||||
<string key="IBDocument.InterfaceBuilderVersion">732</string>
|
||||
<string key="IBDocument.AppKitVersion">1031</string>
|
||||
<string key="IBDocument.HIToolboxVersion">432.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="2"/>
|
||||
</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="371349661">
|
||||
<string key="IBProxiedObjectIdentifier">IBFirstResponder</string>
|
||||
</object>
|
||||
<object class="IBUITableView" id="709618507">
|
||||
<reference key="NSNextResponder"/>
|
||||
<int key="NSvFlags">274</int>
|
||||
<string key="NSFrameSize">{320, 247}</string>
|
||||
<reference key="NSSuperview"/>
|
||||
<object class="NSColor" key="IBUIBackgroundColor">
|
||||
<int key="NSColorSpace">3</int>
|
||||
<bytes key="NSWhite">MQA</bytes>
|
||||
</object>
|
||||
<bool key="IBUIOpaque">NO</bool>
|
||||
<bool key="IBUIClipsSubviews">YES</bool>
|
||||
<bool key="IBUIClearsContextBeforeDrawing">NO</bool>
|
||||
<bool key="IBUIBouncesZoom">NO</bool>
|
||||
<int key="IBUISeparatorStyle">1</int>
|
||||
<int key="IBUISectionIndexMinimumDisplayRowCount">0</int>
|
||||
<bool key="IBUIShowsSelectionImmediatelyOnTouchBegin">YES</bool>
|
||||
<float key="IBUIRowHeight">44</float>
|
||||
<float key="IBUISectionHeaderHeight">22</float>
|
||||
<float key="IBUISectionFooterHeight">22</float>
|
||||
</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="841351856"/>
|
||||
<reference key="destination" ref="709618507"/>
|
||||
</object>
|
||||
<int key="connectionID">3</int>
|
||||
</object>
|
||||
<object class="IBConnectionRecord">
|
||||
<object class="IBCocoaTouchOutletConnection" key="connection">
|
||||
<string key="label">dataSource</string>
|
||||
<reference key="source" ref="709618507"/>
|
||||
<reference key="destination" ref="841351856"/>
|
||||
</object>
|
||||
<int key="connectionID">4</int>
|
||||
</object>
|
||||
<object class="IBConnectionRecord">
|
||||
<object class="IBCocoaTouchOutletConnection" key="connection">
|
||||
<string key="label">delegate</string>
|
||||
<reference key="source" ref="709618507"/>
|
||||
<reference key="destination" ref="841351856"/>
|
||||
</object>
|
||||
<int key="connectionID">5</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="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="371349661"/>
|
||||
<reference key="parent" ref="0"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">2</int>
|
||||
<reference key="object" ref="709618507"/>
|
||||
<reference key="parent" ref="0"/>
|
||||
</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>2.IBEditorWindowLastContentRect</string>
|
||||
<string>2.IBPluginDependency</string>
|
||||
</object>
|
||||
<object class="NSMutableArray" key="dict.values">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<string>RootViewController</string>
|
||||
<string>UIResponder</string>
|
||||
<string>{{0, 598}, {320, 247}}</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">5</int>
|
||||
</object>
|
||||
<object class="IBClassDescriber" key="IBDocument.Classes">
|
||||
<object class="NSMutableArray" key="referencedPartialClassDescriptions">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">RootViewController</string>
|
||||
<string key="superclassName">UITableViewController</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBProjectSource</string>
|
||||
<string key="minorKey">Classes/RootViewController.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="654420027">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">UIKit.framework/Headers/UIResponder.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">UIResponder</string>
|
||||
<string key="superclassName">NSObject</string>
|
||||
<reference key="sourceIdentifier" ref="654420027"/>
|
||||
</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">UITableView</string>
|
||||
<string key="superclassName">UIScrollView</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">UIKit.framework/Headers/UITableView.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">UITableViewController</string>
|
||||
<string key="superclassName">UIViewController</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBFrameworkSource</string>
|
||||
<string key="minorKey">UIKit.framework/Headers/UITableViewController.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.PluginDeclaredDependencyDefaults">
|
||||
<string key="NS.key.0">com.apple.InterfaceBuilder.CocoaTouchPlugin.iPhoneOS</string>
|
||||
<integer value="784" 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">ipjsystest.xcodeproj</string>
|
||||
<int key="IBDocument.defaultPropertyAccessControl">3</int>
|
||||
<string key="IBCocoaTouchPluginVersion">3.1</string>
|
||||
</data>
|
||||
</archive>
|
||||
@@ -0,0 +1,496 @@
|
||||
<?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="711762367">
|
||||
<string key="IBProxiedObjectIdentifier">IBFirstResponder</string>
|
||||
</object>
|
||||
<object class="IBUIView" id="191373211">
|
||||
<reference key="NSNextResponder"/>
|
||||
<int key="NSvFlags">292</int>
|
||||
<object class="NSMutableArray" key="NSSubviews">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<object class="IBUITextView" id="613869543">
|
||||
<reference key="NSNextResponder" ref="191373211"/>
|
||||
<int key="NSvFlags">274</int>
|
||||
<string key="NSFrameSize">{320, 358}</string>
|
||||
<reference key="NSSuperview" ref="191373211"/>
|
||||
<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>
|
||||
<bool key="IBUIBouncesZoom">NO</bool>
|
||||
<string key="IBUIText">Lorem ipsum dolor sit er elit lamet, consectetaur cillium adipisicing pecu, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Nam liber te conscient to factor tum poen legum odioque civiuda.</string>
|
||||
<object class="IBUITextInputTraits" key="IBUITextInputTraits">
|
||||
<int key="IBUIAutocapitalizationType">2</int>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBUIButton" id="669764012">
|
||||
<reference key="NSNextResponder" ref="191373211"/>
|
||||
<int key="NSvFlags">292</int>
|
||||
<string key="NSFrame">{{228, 366}, {72, 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="892040736">
|
||||
<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">OK</string>
|
||||
<object class="NSColor" key="IBUIHighlightedTitleColor" id="501426315">
|
||||
<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="88580318">
|
||||
<int key="NSColorSpace">3</int>
|
||||
<bytes key="NSWhite">MC41AA</bytes>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBUIButton" id="970816430">
|
||||
<reference key="NSNextResponder" ref="191373211"/>
|
||||
<int key="NSvFlags">292</int>
|
||||
<string key="NSFrame">{{141, 366}, {72, 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="892040736"/>
|
||||
<int key="IBUIButtonType">1</int>
|
||||
<string key="IBUINormalTitle">Cancel</string>
|
||||
<reference key="IBUIHighlightedTitleColor" ref="501426315"/>
|
||||
<object class="NSColor" key="IBUINormalTitleColor">
|
||||
<int key="NSColorSpace">1</int>
|
||||
<bytes key="NSRGB">MC4xOTYwNzg0MyAwLjMwOTgwMzkzIDAuNTIxNTY4NjYAA</bytes>
|
||||
</object>
|
||||
<reference key="IBUINormalTitleShadowColor" ref="88580318"/>
|
||||
</object>
|
||||
</object>
|
||||
<string key="NSFrameSize">{320, 460}</string>
|
||||
<reference key="NSSuperview"/>
|
||||
<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"/>
|
||||
</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">testDesc</string>
|
||||
<reference key="source" ref="372490531"/>
|
||||
<reference key="destination" ref="613869543"/>
|
||||
</object>
|
||||
<int key="connectionID">4</int>
|
||||
</object>
|
||||
<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">5</int>
|
||||
</object>
|
||||
<object class="IBConnectionRecord">
|
||||
<object class="IBCocoaTouchOutletConnection" key="connection">
|
||||
<string key="label">button1</string>
|
||||
<reference key="source" ref="372490531"/>
|
||||
<reference key="destination" ref="669764012"/>
|
||||
</object>
|
||||
<int key="connectionID">8</int>
|
||||
</object>
|
||||
<object class="IBConnectionRecord">
|
||||
<object class="IBCocoaTouchOutletConnection" key="connection">
|
||||
<string key="label">button2</string>
|
||||
<reference key="source" ref="372490531"/>
|
||||
<reference key="destination" ref="970816430"/>
|
||||
</object>
|
||||
<int key="connectionID">9</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="613869543"/>
|
||||
<reference ref="669764012"/>
|
||||
<reference ref="970816430"/>
|
||||
</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="711762367"/>
|
||||
<reference key="parent" ref="0"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">3</int>
|
||||
<reference key="object" ref="613869543"/>
|
||||
<reference key="parent" ref="191373211"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">6</int>
|
||||
<reference key="object" ref="669764012"/>
|
||||
<reference key="parent" ref="191373211"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">7</int>
|
||||
<reference key="object" ref="970816430"/>
|
||||
<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>3.IBPluginDependency</string>
|
||||
<string>6.IBPluginDependency</string>
|
||||
<string>7.IBPluginDependency</string>
|
||||
</object>
|
||||
<object class="NSMutableArray" key="dict.values">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<string>TestViewController</string>
|
||||
<string>UIResponder</string>
|
||||
<string>{{461, 327}, {320, 480}}</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">9</int>
|
||||
</object>
|
||||
<object class="IBClassDescriber" key="IBDocument.Classes">
|
||||
<object class="NSMutableArray" key="referencedPartialClassDescriptions">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">TestViewController</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>testDesc</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/TestViewController.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="27432675">
|
||||
<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="27432675"/>
|
||||
</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">ipjsystest.xcodeproj</string>
|
||||
<int key="IBDocument.defaultPropertyAccessControl">3</int>
|
||||
<string key="IBCocoaTouchPluginVersion">3.1</string>
|
||||
</data>
|
||||
</archive>
|
||||
@@ -0,0 +1,34 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>CFBundleDevelopmentRegion</key>
|
||||
<string>English</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>
|
||||
<string>6.0</string>
|
||||
<key>CFBundleName</key>
|
||||
<string>${PRODUCT_NAME}</string>
|
||||
<key>CFBundlePackageType</key>
|
||||
<string>APPL</string>
|
||||
<key>CFBundleSignature</key>
|
||||
<string>????</string>
|
||||
<key>CFBundleVersion</key>
|
||||
<string>1.0</string>
|
||||
<key>LSRequiresIPhoneOS</key>
|
||||
<true/>
|
||||
<key>NSMainNibFile</key>
|
||||
<string>MainWindow</string>
|
||||
<key>UIBackgroundModes</key>
|
||||
<array>
|
||||
<string>audio</string>
|
||||
</array>
|
||||
</dict>
|
||||
</plist>
|
||||
+434
@@ -0,0 +1,434 @@
|
||||
// !$*UTF8*$!
|
||||
{
|
||||
archiveVersion = 1;
|
||||
classes = {
|
||||
};
|
||||
objectVersion = 45;
|
||||
objects = {
|
||||
|
||||
/* Begin PBXBuildFile section */
|
||||
1D3623260D0F684500981E51 /* ipjsystestAppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 1D3623250D0F684500981E51 /* ipjsystestAppDelegate.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 */; };
|
||||
2892E4100DC94CBA00A64D0F /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 2892E40F0DC94CBA00A64D0F /* CoreGraphics.framework */; };
|
||||
28AD73600D9D9599002E5188 /* MainWindow.xib in Resources */ = {isa = PBXBuildFile; fileRef = 28AD735F0D9D9599002E5188 /* MainWindow.xib */; };
|
||||
28C286E10D94DF7D0034E888 /* RootViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 28C286E00D94DF7D0034E888 /* RootViewController.m */; };
|
||||
28F335F11007B36200424DE2 /* RootViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 28F335F01007B36200424DE2 /* RootViewController.xib */; };
|
||||
3A3478AA1154BF8E00D51880 /* TestViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 3A3478A91154BF8E00D51880 /* TestViewController.xib */; };
|
||||
3A3478AF1154BFD700D51880 /* TestViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 3A3478AE1154BFD700D51880 /* TestViewController.m */; };
|
||||
3A3479221154DB0800D51880 /* systest.c in Sources */ = {isa = PBXBuildFile; fileRef = 3A3479211154DB0800D51880 /* systest.c */; };
|
||||
3A34794B1154E39900D51880 /* libpjmedia-arm-apple-darwin9.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 3A34794A1154E39900D51880 /* libpjmedia-arm-apple-darwin9.a */; };
|
||||
3A34794D1154E39900D51880 /* libpjmedia-audiodev-arm-apple-darwin9.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 3A34794C1154E39900D51880 /* libpjmedia-audiodev-arm-apple-darwin9.a */; };
|
||||
3A34794F1154E3F000D51880 /* libpjsip-arm-apple-darwin9.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 3A34794E1154E3F000D51880 /* libpjsip-arm-apple-darwin9.a */; };
|
||||
3A3479511154E42400D51880 /* libpjsip-simple-arm-apple-darwin9.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 3A3479501154E42400D51880 /* libpjsip-simple-arm-apple-darwin9.a */; };
|
||||
3A3479531154E42400D51880 /* libpjsip-ua-arm-apple-darwin9.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 3A3479521154E42400D51880 /* libpjsip-ua-arm-apple-darwin9.a */; };
|
||||
3A3479551154E42400D51880 /* libpjsua-arm-apple-darwin9.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 3A3479541154E42400D51880 /* libpjsua-arm-apple-darwin9.a */; };
|
||||
3A34795B1154E45A00D51880 /* libpj-arm-apple-darwin9.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 3A34795A1154E45A00D51880 /* libpj-arm-apple-darwin9.a */; };
|
||||
3A34795D1154E48700D51880 /* libpjlib-util-arm-apple-darwin9.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 3A34795C1154E48700D51880 /* libpjlib-util-arm-apple-darwin9.a */; };
|
||||
3A3479791154EBDE00D51880 /* libpjmedia-codec-arm-apple-darwin9.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 3A3479781154EBDE00D51880 /* libpjmedia-codec-arm-apple-darwin9.a */; };
|
||||
3A34797B1154EBDE00D51880 /* libpjnath-arm-apple-darwin9.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 3A34797A1154EBDE00D51880 /* libpjnath-arm-apple-darwin9.a */; };
|
||||
3A3479871154EC4E00D51880 /* AudioToolbox.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3A3479861154EC4E00D51880 /* AudioToolbox.framework */; };
|
||||
3A34799A1154ECA300D51880 /* libgsmcodec-arm-apple-darwin9.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 3A3479991154ECA300D51880 /* libgsmcodec-arm-apple-darwin9.a */; };
|
||||
3A34799C1154ECB100D51880 /* libresample-arm-apple-darwin9.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 3A34799B1154ECB100D51880 /* libresample-arm-apple-darwin9.a */; };
|
||||
3ABE0507147CA00B00A57A62 /* CFNetwork.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3ABE0506147CA00B00A57A62 /* CFNetwork.framework */; };
|
||||
3AC6435E1162192900B7A751 /* tock8.wav in Resources */ = {isa = PBXBuildFile; fileRef = 3AC6435D1162192900B7A751 /* tock8.wav */; };
|
||||
3ADA4AB911572300008D95FE /* input.8.wav in Resources */ = {isa = PBXBuildFile; fileRef = 3ADA4AB811572300008D95FE /* input.8.wav */; };
|
||||
3AE90E9B115F7A4F00FAEAA5 /* libg7221codec-arm-apple-darwin9.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 3AE90E95115F7A4E00FAEAA5 /* libg7221codec-arm-apple-darwin9.a */; };
|
||||
3AE90E9C115F7A4F00FAEAA5 /* libilbccodec-arm-apple-darwin9.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 3AE90E96115F7A4F00FAEAA5 /* libilbccodec-arm-apple-darwin9.a */; };
|
||||
3AE90E9D115F7A4F00FAEAA5 /* libmilenage-arm-apple-darwin9.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 3AE90E97115F7A4F00FAEAA5 /* libmilenage-arm-apple-darwin9.a */; };
|
||||
3AE90E9E115F7A4F00FAEAA5 /* libpjsdp-arm-apple-darwin9.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 3AE90E98115F7A4F00FAEAA5 /* libpjsdp-arm-apple-darwin9.a */; };
|
||||
3AE90E9F115F7A4F00FAEAA5 /* libspeex-arm-apple-darwin9.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 3AE90E99115F7A4F00FAEAA5 /* libspeex-arm-apple-darwin9.a */; };
|
||||
3AE90EA0115F7A4F00FAEAA5 /* libsrtp-arm-apple-darwin9.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 3AE90E9A115F7A4F00FAEAA5 /* 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 /* ipjsystestAppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ipjsystestAppDelegate.h; sourceTree = "<group>"; };
|
||||
1D3623250D0F684500981E51 /* ipjsystestAppDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ipjsystestAppDelegate.m; sourceTree = "<group>"; };
|
||||
1D6058910D05DD3D006BFB54 /* ipjsystest.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = ipjsystest.app; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
1DF5F4DF0D08C38300B7A737 /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = System/Library/Frameworks/UIKit.framework; sourceTree = SDKROOT; };
|
||||
2892E40F0DC94CBA00A64D0F /* CoreGraphics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = System/Library/Frameworks/CoreGraphics.framework; sourceTree = SDKROOT; };
|
||||
28A0AAE50D9B0CCF005BE974 /* ipjsystest_Prefix.pch */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ipjsystest_Prefix.pch; sourceTree = "<group>"; };
|
||||
28AD735F0D9D9599002E5188 /* MainWindow.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = MainWindow.xib; sourceTree = "<group>"; };
|
||||
28C286DF0D94DF7D0034E888 /* RootViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RootViewController.h; sourceTree = "<group>"; };
|
||||
28C286E00D94DF7D0034E888 /* RootViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RootViewController.m; sourceTree = "<group>"; };
|
||||
28F335F01007B36200424DE2 /* RootViewController.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = RootViewController.xib; sourceTree = "<group>"; };
|
||||
29B97316FDCFA39411CA2CEA /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = "<group>"; };
|
||||
3A3478A91154BF8E00D51880 /* TestViewController.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = TestViewController.xib; sourceTree = "<group>"; };
|
||||
3A3478AD1154BFD700D51880 /* TestViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TestViewController.h; sourceTree = "<group>"; };
|
||||
3A3478AE1154BFD700D51880 /* TestViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = TestViewController.m; sourceTree = "<group>"; };
|
||||
3A3479211154DB0800D51880 /* systest.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = systest.c; path = ../pjsystest/systest.c; sourceTree = SOURCE_ROOT; };
|
||||
3A34794A1154E39900D51880 /* 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; };
|
||||
3A34794C1154E39900D51880 /* 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; };
|
||||
3A34794E1154E3F000D51880 /* 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; };
|
||||
3A3479501154E42400D51880 /* 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; };
|
||||
3A3479521154E42400D51880 /* 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; };
|
||||
3A3479541154E42400D51880 /* 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; };
|
||||
3A34795A1154E45A00D51880 /* 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; };
|
||||
3A34795C1154E48700D51880 /* 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; };
|
||||
3A3479721154EB5B00D51880 /* gui.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = gui.h; path = ../pjsystest/gui.h; sourceTree = SOURCE_ROOT; };
|
||||
3A3479731154EB6B00D51880 /* systest.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = systest.h; path = ../pjsystest/systest.h; sourceTree = SOURCE_ROOT; };
|
||||
3A3479781154EBDE00D51880 /* 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; };
|
||||
3A34797A1154EBDE00D51880 /* 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; };
|
||||
3A3479861154EC4E00D51880 /* AudioToolbox.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AudioToolbox.framework; path = System/Library/Frameworks/AudioToolbox.framework; sourceTree = SDKROOT; };
|
||||
3A3479991154ECA300D51880 /* 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; };
|
||||
3A34799B1154ECB100D51880 /* 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; };
|
||||
3ABE0506147CA00B00A57A62 /* CFNetwork.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CFNetwork.framework; path = System/Library/Frameworks/CFNetwork.framework; sourceTree = SDKROOT; };
|
||||
3AC6435D1162192900B7A751 /* tock8.wav */ = {isa = PBXFileReference; lastKnownFileType = audio.wav; name = tock8.wav; path = ../../../tests/pjsua/wavs/tock8.wav; sourceTree = SOURCE_ROOT; };
|
||||
3ADA4AB811572300008D95FE /* input.8.wav */ = {isa = PBXFileReference; lastKnownFileType = audio.wav; name = input.8.wav; path = "../../../../../../../../teluu/pjproject-new-iphone/tests/pjsua/wavs/input.8.wav"; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
3AE90E95115F7A4E00FAEAA5 /* 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; };
|
||||
3AE90E96115F7A4F00FAEAA5 /* 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; };
|
||||
3AE90E97115F7A4F00FAEAA5 /* 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; };
|
||||
3AE90E98115F7A4F00FAEAA5 /* 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; };
|
||||
3AE90E99115F7A4F00FAEAA5 /* 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; };
|
||||
3AE90E9A115F7A4F00FAEAA5 /* 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 /* ipjsystest-Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = "ipjsystest-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 */,
|
||||
2892E4100DC94CBA00A64D0F /* CoreGraphics.framework in Frameworks */,
|
||||
3A34794B1154E39900D51880 /* libpjmedia-arm-apple-darwin9.a in Frameworks */,
|
||||
3A34794D1154E39900D51880 /* libpjmedia-audiodev-arm-apple-darwin9.a in Frameworks */,
|
||||
3A34794F1154E3F000D51880 /* libpjsip-arm-apple-darwin9.a in Frameworks */,
|
||||
3A3479511154E42400D51880 /* libpjsip-simple-arm-apple-darwin9.a in Frameworks */,
|
||||
3A3479531154E42400D51880 /* libpjsip-ua-arm-apple-darwin9.a in Frameworks */,
|
||||
3A3479551154E42400D51880 /* libpjsua-arm-apple-darwin9.a in Frameworks */,
|
||||
3A34795B1154E45A00D51880 /* libpj-arm-apple-darwin9.a in Frameworks */,
|
||||
3A34795D1154E48700D51880 /* libpjlib-util-arm-apple-darwin9.a in Frameworks */,
|
||||
3A3479791154EBDE00D51880 /* libpjmedia-codec-arm-apple-darwin9.a in Frameworks */,
|
||||
3A34797B1154EBDE00D51880 /* libpjnath-arm-apple-darwin9.a in Frameworks */,
|
||||
3A3479871154EC4E00D51880 /* AudioToolbox.framework in Frameworks */,
|
||||
3A34799A1154ECA300D51880 /* libgsmcodec-arm-apple-darwin9.a in Frameworks */,
|
||||
3A34799C1154ECB100D51880 /* libresample-arm-apple-darwin9.a in Frameworks */,
|
||||
3AE90E9B115F7A4F00FAEAA5 /* libg7221codec-arm-apple-darwin9.a in Frameworks */,
|
||||
3AE90E9C115F7A4F00FAEAA5 /* libilbccodec-arm-apple-darwin9.a in Frameworks */,
|
||||
3AE90E9D115F7A4F00FAEAA5 /* libmilenage-arm-apple-darwin9.a in Frameworks */,
|
||||
3AE90E9E115F7A4F00FAEAA5 /* libpjsdp-arm-apple-darwin9.a in Frameworks */,
|
||||
3AE90E9F115F7A4F00FAEAA5 /* libspeex-arm-apple-darwin9.a in Frameworks */,
|
||||
3AE90EA0115F7A4F00FAEAA5 /* libsrtp-arm-apple-darwin9.a in Frameworks */,
|
||||
3ABE0507147CA00B00A57A62 /* CFNetwork.framework in Frameworks */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
/* End PBXFrameworksBuildPhase section */
|
||||
|
||||
/* Begin PBXGroup section */
|
||||
080E96DDFE201D6D7F000001 /* Classes */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
3A3478AD1154BFD700D51880 /* TestViewController.h */,
|
||||
3A3478AE1154BFD700D51880 /* TestViewController.m */,
|
||||
28C286DF0D94DF7D0034E888 /* RootViewController.h */,
|
||||
28C286E00D94DF7D0034E888 /* RootViewController.m */,
|
||||
1D3623240D0F684500981E51 /* ipjsystestAppDelegate.h */,
|
||||
1D3623250D0F684500981E51 /* ipjsystestAppDelegate.m */,
|
||||
);
|
||||
path = Classes;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
19C28FACFE9D520D11CA2CBB /* Products */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
1D6058910D05DD3D006BFB54 /* ipjsystest.app */,
|
||||
);
|
||||
name = Products;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
29B97314FDCFA39411CA2CEA /* CustomTemplate */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
080E96DDFE201D6D7F000001 /* Classes */,
|
||||
29B97315FDCFA39411CA2CEA /* Other Sources */,
|
||||
29B97317FDCFA39411CA2CEA /* Resources */,
|
||||
29B97323FDCFA39411CA2CEA /* Frameworks */,
|
||||
3A3479941154EC6B00D51880 /* Libraries */,
|
||||
19C28FACFE9D520D11CA2CBB /* Products */,
|
||||
);
|
||||
name = CustomTemplate;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
29B97315FDCFA39411CA2CEA /* Other Sources */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
3A3479201154DAE600D51880 /* pjsystest */,
|
||||
28A0AAE50D9B0CCF005BE974 /* ipjsystest_Prefix.pch */,
|
||||
29B97316FDCFA39411CA2CEA /* main.m */,
|
||||
);
|
||||
name = "Other Sources";
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
29B97317FDCFA39411CA2CEA /* Resources */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
3AC6435D1162192900B7A751 /* tock8.wav */,
|
||||
3ADA4AB811572300008D95FE /* input.8.wav */,
|
||||
3A3478A91154BF8E00D51880 /* TestViewController.xib */,
|
||||
28F335F01007B36200424DE2 /* RootViewController.xib */,
|
||||
28AD735F0D9D9599002E5188 /* MainWindow.xib */,
|
||||
8D1107310486CEB800E47090 /* ipjsystest-Info.plist */,
|
||||
);
|
||||
name = Resources;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
29B97323FDCFA39411CA2CEA /* Frameworks */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
3ABE0506147CA00B00A57A62 /* CFNetwork.framework */,
|
||||
3A3479861154EC4E00D51880 /* AudioToolbox.framework */,
|
||||
1DF5F4DF0D08C38300B7A737 /* UIKit.framework */,
|
||||
1D30AB110D05D00D00671497 /* Foundation.framework */,
|
||||
2892E40F0DC94CBA00A64D0F /* CoreGraphics.framework */,
|
||||
);
|
||||
name = Frameworks;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
3A3479201154DAE600D51880 /* pjsystest */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
3A3479731154EB6B00D51880 /* systest.h */,
|
||||
3A3479721154EB5B00D51880 /* gui.h */,
|
||||
3A3479211154DB0800D51880 /* systest.c */,
|
||||
);
|
||||
name = pjsystest;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
3A3479941154EC6B00D51880 /* Libraries */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
3AE90E95115F7A4E00FAEAA5 /* libg7221codec-arm-apple-darwin9.a */,
|
||||
3AE90E96115F7A4F00FAEAA5 /* libilbccodec-arm-apple-darwin9.a */,
|
||||
3AE90E97115F7A4F00FAEAA5 /* libmilenage-arm-apple-darwin9.a */,
|
||||
3AE90E98115F7A4F00FAEAA5 /* libpjsdp-arm-apple-darwin9.a */,
|
||||
3AE90E99115F7A4F00FAEAA5 /* libspeex-arm-apple-darwin9.a */,
|
||||
3AE90E9A115F7A4F00FAEAA5 /* libsrtp-arm-apple-darwin9.a */,
|
||||
3A3479991154ECA300D51880 /* libgsmcodec-arm-apple-darwin9.a */,
|
||||
3A34799B1154ECB100D51880 /* libresample-arm-apple-darwin9.a */,
|
||||
3A34794A1154E39900D51880 /* libpjmedia-arm-apple-darwin9.a */,
|
||||
3A34794C1154E39900D51880 /* libpjmedia-audiodev-arm-apple-darwin9.a */,
|
||||
3A34794E1154E3F000D51880 /* libpjsip-arm-apple-darwin9.a */,
|
||||
3A3479501154E42400D51880 /* libpjsip-simple-arm-apple-darwin9.a */,
|
||||
3A3479521154E42400D51880 /* libpjsip-ua-arm-apple-darwin9.a */,
|
||||
3A3479541154E42400D51880 /* libpjsua-arm-apple-darwin9.a */,
|
||||
3A34795A1154E45A00D51880 /* libpj-arm-apple-darwin9.a */,
|
||||
3A34795C1154E48700D51880 /* libpjlib-util-arm-apple-darwin9.a */,
|
||||
3A3479781154EBDE00D51880 /* libpjmedia-codec-arm-apple-darwin9.a */,
|
||||
3A34797A1154EBDE00D51880 /* libpjnath-arm-apple-darwin9.a */,
|
||||
);
|
||||
name = Libraries;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
/* End PBXGroup section */
|
||||
|
||||
/* Begin PBXNativeTarget section */
|
||||
1D6058900D05DD3D006BFB54 /* ipjsystest */ = {
|
||||
isa = PBXNativeTarget;
|
||||
buildConfigurationList = 1D6058960D05DD3E006BFB54 /* Build configuration list for PBXNativeTarget "ipjsystest" */;
|
||||
buildPhases = (
|
||||
1D60588D0D05DD3D006BFB54 /* Resources */,
|
||||
1D60588E0D05DD3D006BFB54 /* Sources */,
|
||||
1D60588F0D05DD3D006BFB54 /* Frameworks */,
|
||||
);
|
||||
buildRules = (
|
||||
);
|
||||
dependencies = (
|
||||
);
|
||||
name = ipjsystest;
|
||||
productName = ipjsystest;
|
||||
productReference = 1D6058910D05DD3D006BFB54 /* ipjsystest.app */;
|
||||
productType = "com.apple.product-type.application";
|
||||
};
|
||||
/* End PBXNativeTarget section */
|
||||
|
||||
/* Begin PBXProject section */
|
||||
29B97313FDCFA39411CA2CEA /* Project object */ = {
|
||||
isa = PBXProject;
|
||||
attributes = {
|
||||
ORGANIZATIONNAME = Teluu;
|
||||
};
|
||||
buildConfigurationList = C01FCF4E08A954540054247B /* Build configuration list for PBXProject "ipjsystest" */;
|
||||
compatibilityVersion = "Xcode 3.1";
|
||||
developmentRegion = English;
|
||||
hasScannedForEncodings = 1;
|
||||
knownRegions = (
|
||||
English,
|
||||
Japanese,
|
||||
French,
|
||||
German,
|
||||
en,
|
||||
);
|
||||
mainGroup = 29B97314FDCFA39411CA2CEA /* CustomTemplate */;
|
||||
projectDirPath = "";
|
||||
projectRoot = "";
|
||||
targets = (
|
||||
1D6058900D05DD3D006BFB54 /* ipjsystest */,
|
||||
);
|
||||
};
|
||||
/* End PBXProject section */
|
||||
|
||||
/* Begin PBXResourcesBuildPhase section */
|
||||
1D60588D0D05DD3D006BFB54 /* Resources */ = {
|
||||
isa = PBXResourcesBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
28AD73600D9D9599002E5188 /* MainWindow.xib in Resources */,
|
||||
28F335F11007B36200424DE2 /* RootViewController.xib in Resources */,
|
||||
3A3478AA1154BF8E00D51880 /* TestViewController.xib in Resources */,
|
||||
3ADA4AB911572300008D95FE /* input.8.wav in Resources */,
|
||||
3AC6435E1162192900B7A751 /* tock8.wav in Resources */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
/* End PBXResourcesBuildPhase section */
|
||||
|
||||
/* Begin PBXSourcesBuildPhase section */
|
||||
1D60588E0D05DD3D006BFB54 /* Sources */ = {
|
||||
isa = PBXSourcesBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
1D60589B0D05DD56006BFB54 /* main.m in Sources */,
|
||||
1D3623260D0F684500981E51 /* ipjsystestAppDelegate.m in Sources */,
|
||||
28C286E10D94DF7D0034E888 /* RootViewController.m in Sources */,
|
||||
3A3478AF1154BFD700D51880 /* TestViewController.m in Sources */,
|
||||
3A3479221154DB0800D51880 /* systest.c in Sources */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
/* End PBXSourcesBuildPhase section */
|
||||
|
||||
/* Begin XCBuildConfiguration section */
|
||||
1D6058940D05DD3E006BFB54 /* Debug */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
ALWAYS_SEARCH_USER_PATHS = NO;
|
||||
COPY_PHASE_STRIP = NO;
|
||||
GCC_DYNAMIC_NO_PIC = NO;
|
||||
GCC_OPTIMIZATION_LEVEL = 0;
|
||||
GCC_PRECOMPILE_PREFIX_HEADER = YES;
|
||||
GCC_PREFIX_HEADER = ipjsystest_Prefix.pch;
|
||||
GCC_PREPROCESSOR_DEFINITIONS = "PJ_AUTOCONF=1";
|
||||
INFOPLIST_FILE = "ipjsystest-Info.plist";
|
||||
LIBRARY_SEARCH_PATHS = (
|
||||
"$(inherited)",
|
||||
"\"$(SRCROOT)/../../../pjmedia/lib\"",
|
||||
"\"$(SRCROOT)/../../../pjsip/lib\"",
|
||||
"\"$(SRCROOT)/../../../pjlib/lib\"",
|
||||
"\"$(SRCROOT)/../../../pjlib-util/lib\"",
|
||||
"\"$(SRCROOT)/../../../pjnath/lib\"",
|
||||
"\"$(SRCROOT)/../../../third_party/lib\"",
|
||||
);
|
||||
PRODUCT_NAME = ipjsystest;
|
||||
SDKROOT = iphoneos;
|
||||
};
|
||||
name = Debug;
|
||||
};
|
||||
1D6058950D05DD3E006BFB54 /* Release */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
ALWAYS_SEARCH_USER_PATHS = NO;
|
||||
COPY_PHASE_STRIP = YES;
|
||||
GCC_PRECOMPILE_PREFIX_HEADER = YES;
|
||||
GCC_PREFIX_HEADER = ipjsystest_Prefix.pch;
|
||||
GCC_PREPROCESSOR_DEFINITIONS = "PJ_AUTOCONF=1";
|
||||
INFOPLIST_FILE = "ipjsystest-Info.plist";
|
||||
LIBRARY_SEARCH_PATHS = (
|
||||
"$(inherited)",
|
||||
"\"$(SRCROOT)/../../../pjmedia/lib\"",
|
||||
"\"$(SRCROOT)/../../../pjsip/lib\"",
|
||||
"\"$(SRCROOT)/../../../pjlib/lib\"",
|
||||
"\"$(SRCROOT)/../../../pjlib-util/lib\"",
|
||||
"\"$(SRCROOT)/../../../pjnath/lib\"",
|
||||
"\"$(SRCROOT)/../../../third_party/lib\"",
|
||||
);
|
||||
PRODUCT_NAME = ipjsystest;
|
||||
SDKROOT = iphoneos;
|
||||
};
|
||||
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_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,
|
||||
);
|
||||
PREBINDING = NO;
|
||||
SDKROOT = iphoneos4.0;
|
||||
};
|
||||
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_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,
|
||||
);
|
||||
PREBINDING = NO;
|
||||
SDKROOT = iphoneos4.0;
|
||||
};
|
||||
name = Release;
|
||||
};
|
||||
/* End XCBuildConfiguration section */
|
||||
|
||||
/* Begin XCConfigurationList section */
|
||||
1D6058960D05DD3E006BFB54 /* Build configuration list for PBXNativeTarget "ipjsystest" */ = {
|
||||
isa = XCConfigurationList;
|
||||
buildConfigurations = (
|
||||
1D6058940D05DD3E006BFB54 /* Debug */,
|
||||
1D6058950D05DD3E006BFB54 /* Release */,
|
||||
);
|
||||
defaultConfigurationIsVisible = 0;
|
||||
defaultConfigurationName = Release;
|
||||
};
|
||||
C01FCF4E08A954540054247B /* Build configuration list for PBXProject "ipjsystest" */ = {
|
||||
isa = XCConfigurationList;
|
||||
buildConfigurations = (
|
||||
C01FCF4F08A954540054247B /* Debug */,
|
||||
C01FCF5008A954540054247B /* Release */,
|
||||
);
|
||||
defaultConfigurationIsVisible = 0;
|
||||
defaultConfigurationName = Release;
|
||||
};
|
||||
/* End XCConfigurationList section */
|
||||
};
|
||||
rootObject = 29B97313FDCFA39411CA2CEA /* Project object */;
|
||||
}
|
||||
@@ -0,0 +1,14 @@
|
||||
//
|
||||
// Prefix header for all source files of the 'ipjsystest' target in the 'ipjsystest' project
|
||||
//
|
||||
#import <Availability.h>
|
||||
|
||||
#ifndef __IPHONE_3_0
|
||||
#warning "This project uses features only available in iPhone SDK 3.0 and later."
|
||||
#endif
|
||||
|
||||
|
||||
#ifdef __OBJC__
|
||||
#import <Foundation/Foundation.h>
|
||||
#import <UIKit/UIKit.h>
|
||||
#endif
|
||||
@@ -0,0 +1,27 @@
|
||||
/* $Id$ */
|
||||
/*
|
||||
* 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>
|
||||
|
||||
int main(int argc, char *argv[]) {
|
||||
|
||||
NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];
|
||||
int retVal = UIApplicationMain(argc, argv, nil, nil);
|
||||
[pool release];
|
||||
return retVal;
|
||||
}
|
||||
@@ -0,0 +1,23 @@
|
||||
apply plugin: 'com.android.application'
|
||||
|
||||
android {
|
||||
compileSdkVersion 15
|
||||
buildToolsVersion "23.0.3"
|
||||
|
||||
defaultConfig {
|
||||
applicationId "org.pjsip.pjsua"
|
||||
minSdkVersion 15
|
||||
targetSdkVersion 15
|
||||
|
||||
ndk {
|
||||
moduleName "libpjsua"
|
||||
}
|
||||
}
|
||||
|
||||
buildTypes {
|
||||
release {
|
||||
minifyEnabled false
|
||||
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,47 @@
|
||||
<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:glEsVersion="0x00020000" android:required="false" />
|
||||
|
||||
<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>
|
||||
@@ -0,0 +1,292 @@
|
||||
/* $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.view.SurfaceHolder;
|
||||
import android.view.SurfaceView;
|
||||
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 implements SurfaceHolder.Callback {
|
||||
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);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onCallVideoStart() {
|
||||
MainActivity ma = ((MyHandler)ui_handler.get()).mTarget.get();
|
||||
SurfaceView surfaceView = (SurfaceView)
|
||||
ma.findViewById(R.id.surfaceViewIncomingCall);
|
||||
|
||||
WindowHandle wh = new WindowHandle();
|
||||
wh.setWindow(surfaceView.getHolder().getSurface());
|
||||
pjsua.setVideoWindow(wh);
|
||||
}
|
||||
}
|
||||
|
||||
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 loading video dependency libs
|
||||
try {
|
||||
System.loadLibrary("openh264");
|
||||
System.loadLibrary("yuv");
|
||||
} catch (UnsatisfiedLinkError e) {
|
||||
LOG.ERROR(ui_handler, "UnsatisfiedLinkError: " + e.getMessage());
|
||||
LOG.ERROR(ui_handler, "This could be safely ignored if you "+
|
||||
"don't need video.");
|
||||
}
|
||||
|
||||
// Load pjsua
|
||||
try {
|
||||
System.loadLibrary(CONST.LIB_FILENAME);
|
||||
} catch (UnsatisfiedLinkError e) {
|
||||
LOG.ERROR(ui_handler, "UnsatisfiedLinkError: " + e.getMessage());
|
||||
return -1;
|
||||
}
|
||||
|
||||
// Wait for GDB to init, for native debugging only
|
||||
if (false && (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);
|
||||
|
||||
SurfaceView surfaceView = (SurfaceView)
|
||||
findViewById(R.id.surfaceViewIncomingCall);
|
||||
surfaceView.getHolder().addCallback(this);
|
||||
|
||||
LOG.INFO(ui_handler, "Starting module..");
|
||||
|
||||
int rc = pjsua.pjsuaStart();
|
||||
|
||||
if (rc != 0) {
|
||||
LOG.INFO(ui_handler, "Failed starting telnet");
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
public void surfaceChanged(SurfaceHolder holder, int format, int w, int h)
|
||||
{
|
||||
WindowHandle wh = new WindowHandle();
|
||||
wh.setWindow(holder.getSurface());
|
||||
pjsua.setVideoWindow(wh);
|
||||
}
|
||||
|
||||
public void surfaceCreated(SurfaceHolder holder)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
public void surfaceDestroyed(SurfaceHolder holder)
|
||||
{
|
||||
WindowHandle wh = new WindowHandle();
|
||||
wh.setWindow(null);
|
||||
pjsua.setVideoWindow(wh);
|
||||
}
|
||||
|
||||
}
|
||||
BIN
Binary file not shown.
|
After Width: | Height: | Size: 8.1 KiB |
BIN
Binary file not shown.
|
After Width: | Height: | Size: 3.8 KiB |
BIN
Binary file not shown.
|
After Width: | Height: | Size: 4.9 KiB |
BIN
Binary file not shown.
|
After Width: | Height: | Size: 12 KiB |
+46
@@ -0,0 +1,46 @@
|
||||
<?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" >
|
||||
|
||||
<TextView
|
||||
android:id="@+id/textStatus"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_alignParentBottom="true"
|
||||
android:layout_alignParentTop="false"
|
||||
android:layout_centerHorizontal="true"
|
||||
android:textIsSelectable="false" />
|
||||
|
||||
<SurfaceView
|
||||
android:id="@+id/surfaceViewIncomingCall"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_above="@+id/imageApp"
|
||||
android:layout_alignParentLeft="true"
|
||||
android:layout_alignParentRight="true"
|
||||
android:layout_alignParentTop="true"
|
||||
android:layout_marginBottom="50dp" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/textApp"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_above="@+id/textStatus"
|
||||
android:layout_centerHorizontal="true"
|
||||
android:layout_marginBottom="126dp"
|
||||
android:text="@string/app_name"
|
||||
android:textSize="40sp"
|
||||
android:typeface="serif" />
|
||||
|
||||
<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" />
|
||||
|
||||
</RelativeLayout>
|
||||
@@ -0,0 +1,5 @@
|
||||
<resources>
|
||||
|
||||
<style name="AppTheme" parent="android:Theme.Holo.Light" />
|
||||
|
||||
</resources>
|
||||
@@ -0,0 +1,5 @@
|
||||
<resources>
|
||||
|
||||
<style name="AppTheme" parent="android:Theme.Holo.Light.DarkActionBar" />
|
||||
|
||||
</resources>
|
||||
@@ -0,0 +1,6 @@
|
||||
<resources>
|
||||
|
||||
<string name="app_name">pjsua</string>
|
||||
<string name="title_activity_main">MainActivity</string>
|
||||
|
||||
</resources>
|
||||
@@ -0,0 +1,5 @@
|
||||
<resources>
|
||||
|
||||
<style name="AppTheme" parent="android:Theme.Light" />
|
||||
|
||||
</resources>
|
||||
@@ -0,0 +1,17 @@
|
||||
// Top-level build file where you can add configuration options common to all sub-projects/modules.
|
||||
buildscript {
|
||||
repositories {
|
||||
jcenter()
|
||||
google()
|
||||
}
|
||||
dependencies {
|
||||
classpath 'com.android.tools.build:gradle:3.5.2'
|
||||
}
|
||||
}
|
||||
|
||||
allprojects {
|
||||
repositories {
|
||||
jcenter()
|
||||
google()
|
||||
}
|
||||
}
|
||||
BIN
Binary file not shown.
+6
@@ -0,0 +1,6 @@
|
||||
#Mon Dec 28 10:00:20 PST 2015
|
||||
distributionBase=GRADLE_USER_HOME
|
||||
distributionPath=wrapper/dists
|
||||
zipStoreBase=GRADLE_USER_HOME
|
||||
zipStorePath=wrapper/dists
|
||||
distributionUrl=https\://services.gradle.org/distributions/gradle-5.4.1-all.zip
|
||||
@@ -0,0 +1,160 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
##############################################################################
|
||||
##
|
||||
## Gradle start up script for UN*X
|
||||
##
|
||||
##############################################################################
|
||||
|
||||
# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
|
||||
DEFAULT_JVM_OPTS=""
|
||||
|
||||
APP_NAME="Gradle"
|
||||
APP_BASE_NAME=`basename "$0"`
|
||||
|
||||
# Use the maximum available, or set MAX_FD != -1 to use that value.
|
||||
MAX_FD="maximum"
|
||||
|
||||
warn ( ) {
|
||||
echo "$*"
|
||||
}
|
||||
|
||||
die ( ) {
|
||||
echo
|
||||
echo "$*"
|
||||
echo
|
||||
exit 1
|
||||
}
|
||||
|
||||
# OS specific support (must be 'true' or 'false').
|
||||
cygwin=false
|
||||
msys=false
|
||||
darwin=false
|
||||
case "`uname`" in
|
||||
CYGWIN* )
|
||||
cygwin=true
|
||||
;;
|
||||
Darwin* )
|
||||
darwin=true
|
||||
;;
|
||||
MINGW* )
|
||||
msys=true
|
||||
;;
|
||||
esac
|
||||
|
||||
# Attempt to set APP_HOME
|
||||
# Resolve links: $0 may be a link
|
||||
PRG="$0"
|
||||
# Need this for relative symlinks.
|
||||
while [ -h "$PRG" ] ; do
|
||||
ls=`ls -ld "$PRG"`
|
||||
link=`expr "$ls" : '.*-> \(.*\)$'`
|
||||
if expr "$link" : '/.*' > /dev/null; then
|
||||
PRG="$link"
|
||||
else
|
||||
PRG=`dirname "$PRG"`"/$link"
|
||||
fi
|
||||
done
|
||||
SAVED="`pwd`"
|
||||
cd "`dirname \"$PRG\"`/" >/dev/null
|
||||
APP_HOME="`pwd -P`"
|
||||
cd "$SAVED" >/dev/null
|
||||
|
||||
CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar
|
||||
|
||||
# Determine the Java command to use to start the JVM.
|
||||
if [ -n "$JAVA_HOME" ] ; then
|
||||
if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
|
||||
# IBM's JDK on AIX uses strange locations for the executables
|
||||
JAVACMD="$JAVA_HOME/jre/sh/java"
|
||||
else
|
||||
JAVACMD="$JAVA_HOME/bin/java"
|
||||
fi
|
||||
if [ ! -x "$JAVACMD" ] ; then
|
||||
die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME
|
||||
|
||||
Please set the JAVA_HOME variable in your environment to match the
|
||||
location of your Java installation."
|
||||
fi
|
||||
else
|
||||
JAVACMD="java"
|
||||
which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
|
||||
|
||||
Please set the JAVA_HOME variable in your environment to match the
|
||||
location of your Java installation."
|
||||
fi
|
||||
|
||||
# Increase the maximum file descriptors if we can.
|
||||
if [ "$cygwin" = "false" -a "$darwin" = "false" ] ; then
|
||||
MAX_FD_LIMIT=`ulimit -H -n`
|
||||
if [ $? -eq 0 ] ; then
|
||||
if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then
|
||||
MAX_FD="$MAX_FD_LIMIT"
|
||||
fi
|
||||
ulimit -n $MAX_FD
|
||||
if [ $? -ne 0 ] ; then
|
||||
warn "Could not set maximum file descriptor limit: $MAX_FD"
|
||||
fi
|
||||
else
|
||||
warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT"
|
||||
fi
|
||||
fi
|
||||
|
||||
# For Darwin, add options to specify how the application appears in the dock
|
||||
if $darwin; then
|
||||
GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\""
|
||||
fi
|
||||
|
||||
# For Cygwin, switch paths to Windows format before running java
|
||||
if $cygwin ; then
|
||||
APP_HOME=`cygpath --path --mixed "$APP_HOME"`
|
||||
CLASSPATH=`cygpath --path --mixed "$CLASSPATH"`
|
||||
JAVACMD=`cygpath --unix "$JAVACMD"`
|
||||
|
||||
# We build the pattern for arguments to be converted via cygpath
|
||||
ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null`
|
||||
SEP=""
|
||||
for dir in $ROOTDIRSRAW ; do
|
||||
ROOTDIRS="$ROOTDIRS$SEP$dir"
|
||||
SEP="|"
|
||||
done
|
||||
OURCYGPATTERN="(^($ROOTDIRS))"
|
||||
# Add a user-defined pattern to the cygpath arguments
|
||||
if [ "$GRADLE_CYGPATTERN" != "" ] ; then
|
||||
OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)"
|
||||
fi
|
||||
# Now convert the arguments - kludge to limit ourselves to /bin/sh
|
||||
i=0
|
||||
for arg in "$@" ; do
|
||||
CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -`
|
||||
CHECK2=`echo "$arg"|egrep -c "^-"` ### Determine if an option
|
||||
|
||||
if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then ### Added a condition
|
||||
eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"`
|
||||
else
|
||||
eval `echo args$i`="\"$arg\""
|
||||
fi
|
||||
i=$((i+1))
|
||||
done
|
||||
case $i in
|
||||
(0) set -- ;;
|
||||
(1) set -- "$args0" ;;
|
||||
(2) set -- "$args0" "$args1" ;;
|
||||
(3) set -- "$args0" "$args1" "$args2" ;;
|
||||
(4) set -- "$args0" "$args1" "$args2" "$args3" ;;
|
||||
(5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;;
|
||||
(6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;;
|
||||
(7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;;
|
||||
(8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;;
|
||||
(9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;;
|
||||
esac
|
||||
fi
|
||||
|
||||
# Split up the JVM_OPTS And GRADLE_OPTS values into an array, following the shell quoting and substitution rules
|
||||
function splitJvmOpts() {
|
||||
JVM_OPTS=("$@")
|
||||
}
|
||||
eval splitJvmOpts $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS
|
||||
JVM_OPTS[${#JVM_OPTS[*]}]="-Dorg.gradle.appname=$APP_BASE_NAME"
|
||||
|
||||
exec "$JAVACMD" "${JVM_OPTS[@]}" -classpath "$CLASSPATH" org.gradle.wrapper.GradleWrapperMain "$@"
|
||||
@@ -0,0 +1,90 @@
|
||||
@if "%DEBUG%" == "" @echo off
|
||||
@rem ##########################################################################
|
||||
@rem
|
||||
@rem Gradle startup script for Windows
|
||||
@rem
|
||||
@rem ##########################################################################
|
||||
|
||||
@rem Set local scope for the variables with windows NT shell
|
||||
if "%OS%"=="Windows_NT" setlocal
|
||||
|
||||
@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
|
||||
set DEFAULT_JVM_OPTS=
|
||||
|
||||
set DIRNAME=%~dp0
|
||||
if "%DIRNAME%" == "" set DIRNAME=.
|
||||
set APP_BASE_NAME=%~n0
|
||||
set APP_HOME=%DIRNAME%
|
||||
|
||||
@rem Find java.exe
|
||||
if defined JAVA_HOME goto findJavaFromJavaHome
|
||||
|
||||
set JAVA_EXE=java.exe
|
||||
%JAVA_EXE% -version >NUL 2>&1
|
||||
if "%ERRORLEVEL%" == "0" goto init
|
||||
|
||||
echo.
|
||||
echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
|
||||
echo.
|
||||
echo Please set the JAVA_HOME variable in your environment to match the
|
||||
echo location of your Java installation.
|
||||
|
||||
goto fail
|
||||
|
||||
:findJavaFromJavaHome
|
||||
set JAVA_HOME=%JAVA_HOME:"=%
|
||||
set JAVA_EXE=%JAVA_HOME%/bin/java.exe
|
||||
|
||||
if exist "%JAVA_EXE%" goto init
|
||||
|
||||
echo.
|
||||
echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME%
|
||||
echo.
|
||||
echo Please set the JAVA_HOME variable in your environment to match the
|
||||
echo location of your Java installation.
|
||||
|
||||
goto fail
|
||||
|
||||
:init
|
||||
@rem Get command-line arguments, handling Windowz variants
|
||||
|
||||
if not "%OS%" == "Windows_NT" goto win9xME_args
|
||||
if "%@eval[2+2]" == "4" goto 4NT_args
|
||||
|
||||
:win9xME_args
|
||||
@rem Slurp the command line arguments.
|
||||
set CMD_LINE_ARGS=
|
||||
set _SKIP=2
|
||||
|
||||
:win9xME_args_slurp
|
||||
if "x%~1" == "x" goto execute
|
||||
|
||||
set CMD_LINE_ARGS=%*
|
||||
goto execute
|
||||
|
||||
:4NT_args
|
||||
@rem Get arguments from the 4NT Shell from JP Software
|
||||
set CMD_LINE_ARGS=%$
|
||||
|
||||
:execute
|
||||
@rem Setup the command line
|
||||
|
||||
set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar
|
||||
|
||||
@rem Execute Gradle
|
||||
"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS%
|
||||
|
||||
:end
|
||||
@rem End local scope for the variables with windows NT shell
|
||||
if "%ERRORLEVEL%"=="0" goto mainEnd
|
||||
|
||||
:fail
|
||||
rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of
|
||||
rem the _cmd.exe /c_ return code!
|
||||
if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1
|
||||
exit /b 1
|
||||
|
||||
:mainEnd
|
||||
if "%OS%"=="Windows_NT" endlocal
|
||||
|
||||
:omega
|
||||
@@ -0,0 +1,56 @@
|
||||
include ../../../../../build.mak
|
||||
include ../../../../../build/common.mak
|
||||
|
||||
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
|
||||
|
||||
OUT_DIR := ../build/jni
|
||||
LIBPJSUA_SO := ../app/src/main/jniLibs/armeabi/libpjsua.so
|
||||
|
||||
# Env settings, e.g: path to SWIG, JDK, java(.exe), javac(.exe)
|
||||
MY_SWIG := swig
|
||||
MY_JNI_CFLAGS := -D__ANDROID__ -fPIC
|
||||
MY_JNI_LDFLAGS := -Wl,-soname,libpjsua.so
|
||||
SWIG_FLAGS := -D__ANDROID__ -c++
|
||||
|
||||
# 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.pjsua
|
||||
MY_PACKAGE_PATH := ../app/src/main/java/$(subst .,/,$(MY_PACKAGE_NAME))
|
||||
|
||||
all: $(LIBPJSUA_SO) java
|
||||
|
||||
$(LIBPJSUA_SO): $(OUT_DIR)/pjsua_wrap.o
|
||||
mkdir -p ../app/src/main/jniLibs/armeabi
|
||||
$(PJ_CXX) -shared -o $(LIBPJSUA_SO) \
|
||||
$(OUT_DIR)/pjsua_wrap.o $(OUT_DIR)/pjsua_app_callback.o \
|
||||
$(MY_MODULES) \
|
||||
$(MY_CFLAGS) $(MY_LDFLAGS)
|
||||
|
||||
$(OUT_DIR)/pjsua_wrap.o: $(OUT_DIR)/pjsua_wrap.cpp pjsua_app_callback.cpp Makefile
|
||||
$(PJ_CXX) -c $(OUT_DIR)/pjsua_wrap.cpp -o $(OUT_DIR)/pjsua_wrap.o \
|
||||
$(MY_CFLAGS)
|
||||
$(PJ_CXX) -c pjsua_app_callback.cpp -o $(OUT_DIR)/pjsua_app_callback.o \
|
||||
$(MY_CFLAGS)
|
||||
|
||||
$(OUT_DIR)/pjsua_wrap.cpp: pjsua.i
|
||||
mkdir -p $(MY_PACKAGE_PATH)
|
||||
mkdir -p $(OUT_DIR)
|
||||
swig $(SWIG_FLAGS) -java -package $(MY_PACKAGE_NAME) \
|
||||
-outdir $(MY_PACKAGE_PATH) \
|
||||
-o $(OUT_DIR)/pjsua_wrap.cpp pjsua.i
|
||||
|
||||
clean distclean realclean:
|
||||
rm -rf $(LIBPJSUA_SO) $(OUT_DIR)/* \
|
||||
$(MY_PACKAGE_PATH)/*.java
|
||||
|
||||
java:
|
||||
ifneq (,$(findstring PJMEDIA_VIDEO_DEV_HAS_ANDROID=1,$(ANDROID_CFLAGS)))
|
||||
@echo "Copying Android camera helper components..."
|
||||
cp $(PJDIR)/pjmedia/src/pjmedia-videodev/android/PjCamera*.java $(MY_PACKAGE_PATH)/..
|
||||
endif
|
||||
@@ -0,0 +1,26 @@
|
||||
%module (directors="1") pjsua
|
||||
|
||||
%{
|
||||
#include "../../jni/pjsua_app_callback.h"
|
||||
#include "../../../pjsua_app.h"
|
||||
|
||||
#if defined(PJMEDIA_HAS_VIDEO) && PJMEDIA_HAS_VIDEO!=0
|
||||
# include <android/native_window_jni.h>
|
||||
#else
|
||||
# define ANativeWindow_fromSurface(a,b) NULL
|
||||
#endif
|
||||
%}
|
||||
|
||||
/* Turn on director wrapping PjsuaAppCallback */
|
||||
%feature("director") PjsuaAppCallback;
|
||||
|
||||
/* Convert Surface object to ANativeWindow */
|
||||
%typemap(in) jobject surface {
|
||||
$1 = $input? (jobject)ANativeWindow_fromSurface(jenv, $input) : NULL;
|
||||
}
|
||||
|
||||
%extend WindowHandle {
|
||||
void setWindow(jobject surface) { $self->window = surface; }
|
||||
}
|
||||
|
||||
%include "pjsua_app_callback.h"
|
||||
@@ -0,0 +1,169 @@
|
||||
/* $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
|
||||
|
||||
#include <android/log.h>
|
||||
|
||||
static PjsuaAppCallback* registeredCallbackObject = NULL;
|
||||
static pjsua_app_cfg_t android_app_config;
|
||||
static int restart_argc;
|
||||
static char **restart_argv;
|
||||
static pjsua_callback pjsua_cb_orig;
|
||||
static pjsua_vid_win_id winId = PJSUA_INVALID_ID;
|
||||
|
||||
void setVideoWindow(const WindowHandle& win)
|
||||
{
|
||||
pjmedia_vid_dev_hwnd vhwnd;
|
||||
|
||||
vhwnd.info.window = win.window;
|
||||
if (winId != PJSUA_INVALID_ID)
|
||||
pjsua_vid_win_set_win(winId, &vhwnd);
|
||||
}
|
||||
|
||||
extern const char *pjsua_app_def_argv[];
|
||||
|
||||
#define THIS_FILE "pjsua_app_callback.cpp"
|
||||
|
||||
extern "C" {
|
||||
static void log_writer(int level, const char *data, int len)
|
||||
{
|
||||
__android_log_write(ANDROID_LOG_INFO, "pjsua", data);
|
||||
}
|
||||
}
|
||||
|
||||
static void on_call_media_state(pjsua_call_id call_id)
|
||||
{
|
||||
#if PJMEDIA_HAS_VIDEO
|
||||
pjsua_call_info call_info;
|
||||
unsigned mi;
|
||||
|
||||
pjsua_call_get_info(call_id, &call_info);
|
||||
|
||||
for (mi=0; mi<call_info.media_cnt; ++mi) {
|
||||
pjsua_call_media_info *med_info = &call_info.media[mi];
|
||||
if (med_info->type == PJMEDIA_TYPE_VIDEO &&
|
||||
med_info->status == PJSUA_CALL_MEDIA_ACTIVE &&
|
||||
med_info->stream.vid.win_in != PJSUA_INVALID_ID)
|
||||
{
|
||||
winId = med_info->stream.vid.win_in;
|
||||
registeredCallbackObject->onCallVideoStart();
|
||||
break;
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
/* Forward to original callback */
|
||||
if (pjsua_cb_orig.on_call_media_state)
|
||||
(*pjsua_cb_orig.on_call_media_state)(call_id);
|
||||
}
|
||||
|
||||
/** Callback wrapper **/
|
||||
static void on_cli_config(pjsua_app_config *cfg)
|
||||
{
|
||||
pjsua_cb_orig = cfg->cfg.cb;
|
||||
cfg->log_cfg.cb = &log_writer;
|
||||
|
||||
/* Override pjsua callback, e.g: to install renderer view */
|
||||
cfg->cfg.cb.on_call_media_state = &on_call_media_state;
|
||||
}
|
||||
|
||||
static 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);
|
||||
}
|
||||
}
|
||||
|
||||
static 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_config_init = &on_cli_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
|
||||
@@ -0,0 +1,43 @@
|
||||
/* $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
|
||||
* 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_CALLBACK_H__
|
||||
#define __PJSUA_APP_CALLBACK_H__
|
||||
|
||||
class PjsuaAppCallback {
|
||||
public:
|
||||
virtual ~PjsuaAppCallback() {}
|
||||
virtual void onStarted(const char *msg) {}
|
||||
virtual void onStopped(int restart) {}
|
||||
virtual void onCallVideoStart() {}
|
||||
};
|
||||
|
||||
typedef struct WindowHandle {
|
||||
void *window;
|
||||
} WindowHandle;
|
||||
|
||||
void setVideoWindow(const WindowHandle& win);
|
||||
|
||||
extern "C" {
|
||||
int pjsuaStart();
|
||||
void pjsuaDestroy();
|
||||
int pjsuaRestart();
|
||||
void setCallbackObject(PjsuaAppCallback* callback);
|
||||
}
|
||||
|
||||
#endif /* __PJSUA_APP_CALLBACK_H__ */
|
||||
@@ -0,0 +1 @@
|
||||
include ':app'
|
||||
@@ -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>
|
||||
@@ -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>
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,4 @@
|
||||
1
|
||||
2
|
||||
main.qml
|
||||
images/teluu-logo.png
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 76 KiB |
@@ -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
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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>
|
||||
@@ -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)
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 5.9 KiB |
@@ -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.
|
||||
@@ -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();
|
||||
}
|
||||
@@ -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_ */
|
||||
@@ -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)
|
||||
}
|
||||
@@ -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:
|
||||
|
||||
@@ -0,0 +1 @@
|
||||
include (../PjsuaBB.pro)
|
||||
@@ -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>
|
||||
@@ -0,0 +1,39 @@
|
||||
/* $Id$ */
|
||||
/*
|
||||
* 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 __GUI_H__
|
||||
#define __GUI_H__
|
||||
|
||||
PJ_BEGIN_DECL
|
||||
|
||||
#ifdef USE_GUI
|
||||
|
||||
#define printf showMsg
|
||||
#define puts(str) showMsg("%s\n", str)
|
||||
#define fgets getInput
|
||||
|
||||
void showMsg(const char *format, ...);
|
||||
char * getInput(char *s, int n, FILE *stream);
|
||||
pj_bool_t showNotification(pjsua_call_id call_id);
|
||||
|
||||
#endif
|
||||
|
||||
PJ_END_DECL
|
||||
|
||||
|
||||
#endif /* __GUI_H__ */
|
||||
+551
@@ -0,0 +1,551 @@
|
||||
// !$*UTF8*$!
|
||||
{
|
||||
archiveVersion = 1;
|
||||
classes = {
|
||||
};
|
||||
objectVersion = 50;
|
||||
objects = {
|
||||
|
||||
/* Begin PBXBuildFile section */
|
||||
3A6FC61C25CBD4540065F472 /* ipjsua_swiftApp.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3A6FC61B25CBD4540065F472 /* ipjsua_swiftApp.swift */; };
|
||||
3A6FC61E25CBD4540065F472 /* ContentView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3A6FC61D25CBD4540065F472 /* ContentView.swift */; };
|
||||
3A6FC62025CBD4550065F472 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 3A6FC61F25CBD4550065F472 /* Assets.xcassets */; };
|
||||
3A6FC62325CBD4550065F472 /* Preview Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 3A6FC62225CBD4550065F472 /* Preview Assets.xcassets */; };
|
||||
3A6FC77125CBDB620065F472 /* pjsip.m in Sources */ = {isa = PBXBuildFile; fileRef = 3A6FC77025CBDB620065F472 /* pjsip.m */; };
|
||||
3A6FC77625CBE3700065F472 /* AudioToolbox.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3A6FC75B25CBD6E10065F472 /* AudioToolbox.framework */; };
|
||||
3A6FC77725CBE3700065F472 /* AVFoundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3A6FC76B25CBD6E10065F472 /* AVFoundation.framework */; };
|
||||
3A6FC77825CBE3700065F472 /* CFNetwork.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3A6FC76925CBD6E10065F472 /* CFNetwork.framework */; };
|
||||
3A6FC77925CBE3700065F472 /* CoreAudio.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3A6FC76525CBD6E10065F472 /* CoreAudio.framework */; };
|
||||
3A6FC77A25CBE3700065F472 /* CoreFoundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3A6FC76725CBD6E10065F472 /* CoreFoundation.framework */; };
|
||||
3A6FC77B25CBE3700065F472 /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3A6FC75C25CBD6E10065F472 /* CoreGraphics.framework */; };
|
||||
3A6FC77C25CBE3700065F472 /* CoreImage.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3A6FC75E25CBD6E10065F472 /* CoreImage.framework */; };
|
||||
3A6FC77D25CBE3700065F472 /* CoreMedia.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3A6FC76025CBD6E10065F472 /* CoreMedia.framework */; };
|
||||
3A6FC77E25CBE3700065F472 /* CoreVideo.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3A6FC76225CBD6E10065F472 /* CoreVideo.framework */; };
|
||||
3A6FC77F25CBE3700065F472 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3A6FC75F25CBD6E10065F472 /* Foundation.framework */; };
|
||||
3A6FC78025CBE3700065F472 /* libc++.tbd in Frameworks */ = {isa = PBXBuildFile; fileRef = 3A6FC75D25CBD6E10065F472 /* libc++.tbd */; };
|
||||
3A6FC78125CBE3700065F472 /* OpenGLES.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3A6FC76825CBD6E10065F472 /* OpenGLES.framework */; };
|
||||
3A6FC78225CBE3700065F472 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3A6FC76625CBD6E10065F472 /* QuartzCore.framework */; };
|
||||
3A6FC78325CBE3700065F472 /* Security.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3A6FC76425CBD6E10065F472 /* Security.framework */; };
|
||||
3A6FC78425CBE3700065F472 /* SystemConfiguration.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3A6FC76325CBD6E10065F472 /* SystemConfiguration.framework */; };
|
||||
3A6FC78525CBE3700065F472 /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3A6FC76A25CBD6E10065F472 /* UIKit.framework */; };
|
||||
3A6FC78625CBE3700065F472 /* VideoToolbox.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3A6FC76125CBD6E10065F472 /* VideoToolbox.framework */; };
|
||||
3A6FC7E125CD1A3D0065F472 /* libpjsip-simple.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 3A6FC7CD25CD1A3D0065F472 /* libpjsip-simple.a */; };
|
||||
3A6FC7E225CD1A3D0065F472 /* libgsmcodec.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 3A6FC7CE25CD1A3D0065F472 /* libgsmcodec.a */; };
|
||||
3A6FC7E325CD1A3D0065F472 /* libpj.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 3A6FC7CF25CD1A3D0065F472 /* libpj.a */; };
|
||||
3A6FC7E425CD1A3D0065F472 /* libpjsip-ua.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 3A6FC7D025CD1A3D0065F472 /* libpjsip-ua.a */; };
|
||||
3A6FC7E525CD1A3E0065F472 /* libresample.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 3A6FC7D125CD1A3D0065F472 /* libresample.a */; };
|
||||
3A6FC7E625CD1A3E0065F472 /* libsrtp.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 3A6FC7D225CD1A3D0065F472 /* libsrtp.a */; };
|
||||
3A6FC7E725CD1A3E0065F472 /* libyuv.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 3A6FC7D325CD1A3D0065F472 /* libyuv.a */; };
|
||||
3A6FC7E825CD1A3E0065F472 /* libpjmedia-videodev.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 3A6FC7D425CD1A3D0065F472 /* libpjmedia-videodev.a */; };
|
||||
3A6FC7E925CD1A3E0065F472 /* libpjlib-util.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 3A6FC7D525CD1A3D0065F472 /* libpjlib-util.a */; };
|
||||
3A6FC7EA25CD1A3E0065F472 /* libpjnath.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 3A6FC7D625CD1A3D0065F472 /* libpjnath.a */; };
|
||||
3A6FC7EB25CD1A3E0065F472 /* libpjsua.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 3A6FC7D725CD1A3D0065F472 /* libpjsua.a */; };
|
||||
3A6FC7EC25CD1A3E0065F472 /* libpjmedia.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 3A6FC7D825CD1A3D0065F472 /* libpjmedia.a */; };
|
||||
3A6FC7ED25CD1A3E0065F472 /* libspeex.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 3A6FC7D925CD1A3D0065F472 /* libspeex.a */; };
|
||||
3A6FC7EE25CD1A3E0065F472 /* libg7221codec.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 3A6FC7DA25CD1A3D0065F472 /* libg7221codec.a */; };
|
||||
3A6FC7EF25CD1A3E0065F472 /* libpjsip.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 3A6FC7DB25CD1A3D0065F472 /* libpjsip.a */; };
|
||||
3A6FC7F025CD1A3E0065F472 /* libpjsua2.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 3A6FC7DC25CD1A3D0065F472 /* libpjsua2.a */; };
|
||||
3A6FC7F125CD1A3E0065F472 /* libilbccodec.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 3A6FC7DD25CD1A3D0065F472 /* libilbccodec.a */; };
|
||||
3A6FC7F225CD1A3E0065F472 /* libwebrtc.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 3A6FC7DE25CD1A3D0065F472 /* libwebrtc.a */; };
|
||||
3A6FC7F325CD1A3E0065F472 /* libpjmedia-codec.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 3A6FC7DF25CD1A3D0065F472 /* libpjmedia-codec.a */; };
|
||||
3A6FC7F425CD1A3E0065F472 /* libpjmedia-audiodev.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 3A6FC7E025CD1A3D0065F472 /* libpjmedia-audiodev.a */; };
|
||||
/* End PBXBuildFile section */
|
||||
|
||||
/* Begin PBXFileReference section */
|
||||
3A6FC61825CBD4540065F472 /* ipjsua-swift.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "ipjsua-swift.app"; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
3A6FC61B25CBD4540065F472 /* ipjsua_swiftApp.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ipjsua_swiftApp.swift; sourceTree = "<group>"; };
|
||||
3A6FC61D25CBD4540065F472 /* ContentView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ContentView.swift; sourceTree = "<group>"; };
|
||||
3A6FC61F25CBD4550065F472 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = "<group>"; };
|
||||
3A6FC62225CBD4550065F472 /* Preview Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = "Preview Assets.xcassets"; sourceTree = "<group>"; };
|
||||
3A6FC62425CBD4550065F472 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
|
||||
3A6FC75B25CBD6E10065F472 /* AudioToolbox.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AudioToolbox.framework; path = System/Library/Frameworks/AudioToolbox.framework; sourceTree = SDKROOT; };
|
||||
3A6FC75C25CBD6E10065F472 /* CoreGraphics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = System/Library/Frameworks/CoreGraphics.framework; sourceTree = SDKROOT; };
|
||||
3A6FC75D25CBD6E10065F472 /* libc++.tbd */ = {isa = PBXFileReference; lastKnownFileType = "sourcecode.text-based-dylib-definition"; name = "libc++.tbd"; path = "usr/lib/libc++.tbd"; sourceTree = SDKROOT; };
|
||||
3A6FC75E25CBD6E10065F472 /* CoreImage.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreImage.framework; path = System/Library/Frameworks/CoreImage.framework; sourceTree = SDKROOT; };
|
||||
3A6FC75F25CBD6E10065F472 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; };
|
||||
3A6FC76025CBD6E10065F472 /* CoreMedia.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreMedia.framework; path = System/Library/Frameworks/CoreMedia.framework; sourceTree = SDKROOT; };
|
||||
3A6FC76125CBD6E10065F472 /* VideoToolbox.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = VideoToolbox.framework; path = System/Library/Frameworks/VideoToolbox.framework; sourceTree = SDKROOT; };
|
||||
3A6FC76225CBD6E10065F472 /* CoreVideo.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreVideo.framework; path = System/Library/Frameworks/CoreVideo.framework; sourceTree = SDKROOT; };
|
||||
3A6FC76325CBD6E10065F472 /* SystemConfiguration.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = SystemConfiguration.framework; path = System/Library/Frameworks/SystemConfiguration.framework; sourceTree = SDKROOT; };
|
||||
3A6FC76425CBD6E10065F472 /* Security.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Security.framework; path = System/Library/Frameworks/Security.framework; sourceTree = SDKROOT; };
|
||||
3A6FC76525CBD6E10065F472 /* CoreAudio.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreAudio.framework; path = System/Library/Frameworks/CoreAudio.framework; sourceTree = SDKROOT; };
|
||||
3A6FC76625CBD6E10065F472 /* QuartzCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuartzCore.framework; path = System/Library/Frameworks/QuartzCore.framework; sourceTree = SDKROOT; };
|
||||
3A6FC76725CBD6E10065F472 /* CoreFoundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreFoundation.framework; path = System/Library/Frameworks/CoreFoundation.framework; sourceTree = SDKROOT; };
|
||||
3A6FC76825CBD6E10065F472 /* OpenGLES.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = OpenGLES.framework; path = System/Library/Frameworks/OpenGLES.framework; sourceTree = SDKROOT; };
|
||||
3A6FC76925CBD6E10065F472 /* CFNetwork.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CFNetwork.framework; path = System/Library/Frameworks/CFNetwork.framework; sourceTree = SDKROOT; };
|
||||
3A6FC76A25CBD6E10065F472 /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = System/Library/Frameworks/UIKit.framework; sourceTree = SDKROOT; };
|
||||
3A6FC76B25CBD6E10065F472 /* AVFoundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AVFoundation.framework; path = System/Library/Frameworks/AVFoundation.framework; sourceTree = SDKROOT; };
|
||||
3A6FC76F25CBDB620065F472 /* ipjsua-swift-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "ipjsua-swift-Bridging-Header.h"; sourceTree = "<group>"; };
|
||||
3A6FC77025CBDB620065F472 /* pjsip.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = pjsip.m; sourceTree = "<group>"; };
|
||||
3A6FC7CD25CD1A3D0065F472 /* libpjsip-simple.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = "libpjsip-simple.a"; sourceTree = "<group>"; };
|
||||
3A6FC7CE25CD1A3D0065F472 /* libgsmcodec.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = libgsmcodec.a; sourceTree = "<group>"; };
|
||||
3A6FC7CF25CD1A3D0065F472 /* libpj.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = libpj.a; sourceTree = "<group>"; };
|
||||
3A6FC7D025CD1A3D0065F472 /* libpjsip-ua.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = "libpjsip-ua.a"; sourceTree = "<group>"; };
|
||||
3A6FC7D125CD1A3D0065F472 /* libresample.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = libresample.a; sourceTree = "<group>"; };
|
||||
3A6FC7D225CD1A3D0065F472 /* libsrtp.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = libsrtp.a; sourceTree = "<group>"; };
|
||||
3A6FC7D325CD1A3D0065F472 /* libyuv.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = libyuv.a; sourceTree = "<group>"; };
|
||||
3A6FC7D425CD1A3D0065F472 /* libpjmedia-videodev.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = "libpjmedia-videodev.a"; sourceTree = "<group>"; };
|
||||
3A6FC7D525CD1A3D0065F472 /* libpjlib-util.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = "libpjlib-util.a"; sourceTree = "<group>"; };
|
||||
3A6FC7D625CD1A3D0065F472 /* libpjnath.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = libpjnath.a; sourceTree = "<group>"; };
|
||||
3A6FC7D725CD1A3D0065F472 /* libpjsua.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = libpjsua.a; sourceTree = "<group>"; };
|
||||
3A6FC7D825CD1A3D0065F472 /* libpjmedia.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = libpjmedia.a; sourceTree = "<group>"; };
|
||||
3A6FC7D925CD1A3D0065F472 /* libspeex.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = libspeex.a; sourceTree = "<group>"; };
|
||||
3A6FC7DA25CD1A3D0065F472 /* libg7221codec.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = libg7221codec.a; sourceTree = "<group>"; };
|
||||
3A6FC7DB25CD1A3D0065F472 /* libpjsip.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = libpjsip.a; sourceTree = "<group>"; };
|
||||
3A6FC7DC25CD1A3D0065F472 /* libpjsua2.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = libpjsua2.a; sourceTree = "<group>"; };
|
||||
3A6FC7DD25CD1A3D0065F472 /* libilbccodec.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = libilbccodec.a; sourceTree = "<group>"; };
|
||||
3A6FC7DE25CD1A3D0065F472 /* libwebrtc.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = libwebrtc.a; sourceTree = "<group>"; };
|
||||
3A6FC7DF25CD1A3D0065F472 /* libpjmedia-codec.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = "libpjmedia-codec.a"; sourceTree = "<group>"; };
|
||||
3A6FC7E025CD1A3D0065F472 /* libpjmedia-audiodev.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = "libpjmedia-audiodev.a"; sourceTree = "<group>"; };
|
||||
/* End PBXFileReference section */
|
||||
|
||||
/* Begin PBXFrameworksBuildPhase section */
|
||||
3A6FC61525CBD4540065F472 /* Frameworks */ = {
|
||||
isa = PBXFrameworksBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
3A6FC7EE25CD1A3E0065F472 /* libg7221codec.a in Frameworks */,
|
||||
3A6FC7F025CD1A3E0065F472 /* libpjsua2.a in Frameworks */,
|
||||
3A6FC77625CBE3700065F472 /* AudioToolbox.framework in Frameworks */,
|
||||
3A6FC7ED25CD1A3E0065F472 /* libspeex.a in Frameworks */,
|
||||
3A6FC7E425CD1A3D0065F472 /* libpjsip-ua.a in Frameworks */,
|
||||
3A6FC77725CBE3700065F472 /* AVFoundation.framework in Frameworks */,
|
||||
3A6FC77825CBE3700065F472 /* CFNetwork.framework in Frameworks */,
|
||||
3A6FC77925CBE3700065F472 /* CoreAudio.framework in Frameworks */,
|
||||
3A6FC77A25CBE3700065F472 /* CoreFoundation.framework in Frameworks */,
|
||||
3A6FC77B25CBE3700065F472 /* CoreGraphics.framework in Frameworks */,
|
||||
3A6FC77C25CBE3700065F472 /* CoreImage.framework in Frameworks */,
|
||||
3A6FC77D25CBE3700065F472 /* CoreMedia.framework in Frameworks */,
|
||||
3A6FC77E25CBE3700065F472 /* CoreVideo.framework in Frameworks */,
|
||||
3A6FC7F225CD1A3E0065F472 /* libwebrtc.a in Frameworks */,
|
||||
3A6FC77F25CBE3700065F472 /* Foundation.framework in Frameworks */,
|
||||
3A6FC7EB25CD1A3E0065F472 /* libpjsua.a in Frameworks */,
|
||||
3A6FC78025CBE3700065F472 /* libc++.tbd in Frameworks */,
|
||||
3A6FC7EC25CD1A3E0065F472 /* libpjmedia.a in Frameworks */,
|
||||
3A6FC7E525CD1A3E0065F472 /* libresample.a in Frameworks */,
|
||||
3A6FC7E325CD1A3D0065F472 /* libpj.a in Frameworks */,
|
||||
3A6FC7E225CD1A3D0065F472 /* libgsmcodec.a in Frameworks */,
|
||||
3A6FC78125CBE3700065F472 /* OpenGLES.framework in Frameworks */,
|
||||
3A6FC7E825CD1A3E0065F472 /* libpjmedia-videodev.a in Frameworks */,
|
||||
3A6FC7E925CD1A3E0065F472 /* libpjlib-util.a in Frameworks */,
|
||||
3A6FC7EF25CD1A3E0065F472 /* libpjsip.a in Frameworks */,
|
||||
3A6FC78225CBE3700065F472 /* QuartzCore.framework in Frameworks */,
|
||||
3A6FC7E625CD1A3E0065F472 /* libsrtp.a in Frameworks */,
|
||||
3A6FC7F125CD1A3E0065F472 /* libilbccodec.a in Frameworks */,
|
||||
3A6FC7E725CD1A3E0065F472 /* libyuv.a in Frameworks */,
|
||||
3A6FC78325CBE3700065F472 /* Security.framework in Frameworks */,
|
||||
3A6FC7F425CD1A3E0065F472 /* libpjmedia-audiodev.a in Frameworks */,
|
||||
3A6FC7EA25CD1A3E0065F472 /* libpjnath.a in Frameworks */,
|
||||
3A6FC7E125CD1A3D0065F472 /* libpjsip-simple.a in Frameworks */,
|
||||
3A6FC78425CBE3700065F472 /* SystemConfiguration.framework in Frameworks */,
|
||||
3A6FC7F325CD1A3E0065F472 /* libpjmedia-codec.a in Frameworks */,
|
||||
3A6FC78525CBE3700065F472 /* UIKit.framework in Frameworks */,
|
||||
3A6FC78625CBE3700065F472 /* VideoToolbox.framework in Frameworks */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
/* End PBXFrameworksBuildPhase section */
|
||||
|
||||
/* Begin PBXGroup section */
|
||||
3A6FC60F25CBD4540065F472 = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
3A6FC75A25CBD6CF0065F472 /* Frameworks */,
|
||||
3A6FC6AF25CBD5790065F472 /* Libraries */,
|
||||
3A6FC61A25CBD4540065F472 /* ipjsua-swift */,
|
||||
3A6FC61925CBD4540065F472 /* Products */,
|
||||
);
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
3A6FC61925CBD4540065F472 /* Products */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
3A6FC61825CBD4540065F472 /* ipjsua-swift.app */,
|
||||
);
|
||||
name = Products;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
3A6FC61A25CBD4540065F472 /* ipjsua-swift */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
3A6FC61B25CBD4540065F472 /* ipjsua_swiftApp.swift */,
|
||||
3A6FC61D25CBD4540065F472 /* ContentView.swift */,
|
||||
3A6FC61F25CBD4550065F472 /* Assets.xcassets */,
|
||||
3A6FC62425CBD4550065F472 /* Info.plist */,
|
||||
3A6FC62125CBD4550065F472 /* Preview Content */,
|
||||
3A6FC77025CBDB620065F472 /* pjsip.m */,
|
||||
3A6FC76F25CBDB620065F472 /* ipjsua-swift-Bridging-Header.h */,
|
||||
);
|
||||
path = "ipjsua-swift";
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
3A6FC62125CBD4550065F472 /* Preview Content */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
3A6FC62225CBD4550065F472 /* Preview Assets.xcassets */,
|
||||
);
|
||||
path = "Preview Content";
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
3A6FC6AF25CBD5790065F472 /* Libraries */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
3A6FC7DA25CD1A3D0065F472 /* libg7221codec.a */,
|
||||
3A6FC7CE25CD1A3D0065F472 /* libgsmcodec.a */,
|
||||
3A6FC7DD25CD1A3D0065F472 /* libilbccodec.a */,
|
||||
3A6FC7CF25CD1A3D0065F472 /* libpj.a */,
|
||||
3A6FC7D525CD1A3D0065F472 /* libpjlib-util.a */,
|
||||
3A6FC7E025CD1A3D0065F472 /* libpjmedia-audiodev.a */,
|
||||
3A6FC7DF25CD1A3D0065F472 /* libpjmedia-codec.a */,
|
||||
3A6FC7D425CD1A3D0065F472 /* libpjmedia-videodev.a */,
|
||||
3A6FC7D825CD1A3D0065F472 /* libpjmedia.a */,
|
||||
3A6FC7D625CD1A3D0065F472 /* libpjnath.a */,
|
||||
3A6FC7CD25CD1A3D0065F472 /* libpjsip-simple.a */,
|
||||
3A6FC7D025CD1A3D0065F472 /* libpjsip-ua.a */,
|
||||
3A6FC7DB25CD1A3D0065F472 /* libpjsip.a */,
|
||||
3A6FC7D725CD1A3D0065F472 /* libpjsua.a */,
|
||||
3A6FC7DC25CD1A3D0065F472 /* libpjsua2.a */,
|
||||
3A6FC7D125CD1A3D0065F472 /* libresample.a */,
|
||||
3A6FC7D925CD1A3D0065F472 /* libspeex.a */,
|
||||
3A6FC7D225CD1A3D0065F472 /* libsrtp.a */,
|
||||
3A6FC7DE25CD1A3D0065F472 /* libwebrtc.a */,
|
||||
3A6FC7D325CD1A3D0065F472 /* libyuv.a */,
|
||||
);
|
||||
path = Libraries;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
3A6FC75A25CBD6CF0065F472 /* Frameworks */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
3A6FC75B25CBD6E10065F472 /* AudioToolbox.framework */,
|
||||
3A6FC76B25CBD6E10065F472 /* AVFoundation.framework */,
|
||||
3A6FC76925CBD6E10065F472 /* CFNetwork.framework */,
|
||||
3A6FC76525CBD6E10065F472 /* CoreAudio.framework */,
|
||||
3A6FC76725CBD6E10065F472 /* CoreFoundation.framework */,
|
||||
3A6FC75C25CBD6E10065F472 /* CoreGraphics.framework */,
|
||||
3A6FC75E25CBD6E10065F472 /* CoreImage.framework */,
|
||||
3A6FC76025CBD6E10065F472 /* CoreMedia.framework */,
|
||||
3A6FC76225CBD6E10065F472 /* CoreVideo.framework */,
|
||||
3A6FC75F25CBD6E10065F472 /* Foundation.framework */,
|
||||
3A6FC75D25CBD6E10065F472 /* libc++.tbd */,
|
||||
3A6FC76825CBD6E10065F472 /* OpenGLES.framework */,
|
||||
3A6FC76625CBD6E10065F472 /* QuartzCore.framework */,
|
||||
3A6FC76425CBD6E10065F472 /* Security.framework */,
|
||||
3A6FC76325CBD6E10065F472 /* SystemConfiguration.framework */,
|
||||
3A6FC76A25CBD6E10065F472 /* UIKit.framework */,
|
||||
3A6FC76125CBD6E10065F472 /* VideoToolbox.framework */,
|
||||
);
|
||||
name = Frameworks;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
/* End PBXGroup section */
|
||||
|
||||
/* Begin PBXNativeTarget section */
|
||||
3A6FC61725CBD4540065F472 /* ipjsua-swift */ = {
|
||||
isa = PBXNativeTarget;
|
||||
buildConfigurationList = 3A6FC62725CBD4550065F472 /* Build configuration list for PBXNativeTarget "ipjsua-swift" */;
|
||||
buildPhases = (
|
||||
3A6FC61425CBD4540065F472 /* Sources */,
|
||||
3A6FC61525CBD4540065F472 /* Frameworks */,
|
||||
3A6FC61625CBD4540065F472 /* Resources */,
|
||||
);
|
||||
buildRules = (
|
||||
);
|
||||
dependencies = (
|
||||
);
|
||||
name = "ipjsua-swift";
|
||||
productName = "ipjsua-swift";
|
||||
productReference = 3A6FC61825CBD4540065F472 /* ipjsua-swift.app */;
|
||||
productType = "com.apple.product-type.application";
|
||||
};
|
||||
/* End PBXNativeTarget section */
|
||||
|
||||
/* Begin PBXProject section */
|
||||
3A6FC61025CBD4540065F472 /* Project object */ = {
|
||||
isa = PBXProject;
|
||||
attributes = {
|
||||
LastSwiftUpdateCheck = 1240;
|
||||
LastUpgradeCheck = 1240;
|
||||
TargetAttributes = {
|
||||
3A6FC61725CBD4540065F472 = {
|
||||
CreatedOnToolsVersion = 12.4;
|
||||
LastSwiftMigration = 1240;
|
||||
};
|
||||
};
|
||||
};
|
||||
buildConfigurationList = 3A6FC61325CBD4540065F472 /* Build configuration list for PBXProject "ipjsua-swift" */;
|
||||
compatibilityVersion = "Xcode 9.3";
|
||||
developmentRegion = en;
|
||||
hasScannedForEncodings = 0;
|
||||
knownRegions = (
|
||||
en,
|
||||
Base,
|
||||
);
|
||||
mainGroup = 3A6FC60F25CBD4540065F472;
|
||||
productRefGroup = 3A6FC61925CBD4540065F472 /* Products */;
|
||||
projectDirPath = "";
|
||||
projectRoot = "";
|
||||
targets = (
|
||||
3A6FC61725CBD4540065F472 /* ipjsua-swift */,
|
||||
);
|
||||
};
|
||||
/* End PBXProject section */
|
||||
|
||||
/* Begin PBXResourcesBuildPhase section */
|
||||
3A6FC61625CBD4540065F472 /* Resources */ = {
|
||||
isa = PBXResourcesBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
3A6FC62325CBD4550065F472 /* Preview Assets.xcassets in Resources */,
|
||||
3A6FC62025CBD4550065F472 /* Assets.xcassets in Resources */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
/* End PBXResourcesBuildPhase section */
|
||||
|
||||
/* Begin PBXSourcesBuildPhase section */
|
||||
3A6FC61425CBD4540065F472 /* Sources */ = {
|
||||
isa = PBXSourcesBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
3A6FC77125CBDB620065F472 /* pjsip.m in Sources */,
|
||||
3A6FC61E25CBD4540065F472 /* ContentView.swift in Sources */,
|
||||
3A6FC61C25CBD4540065F472 /* ipjsua_swiftApp.swift in Sources */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
/* End PBXSourcesBuildPhase section */
|
||||
|
||||
/* Begin XCBuildConfiguration section */
|
||||
3A6FC62525CBD4550065F472 /* Debug */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
ALWAYS_SEARCH_USER_PATHS = NO;
|
||||
CLANG_ANALYZER_NONNULL = YES;
|
||||
CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
|
||||
CLANG_CXX_LANGUAGE_STANDARD = "gnu++14";
|
||||
CLANG_CXX_LIBRARY = "libc++";
|
||||
CLANG_ENABLE_MODULES = YES;
|
||||
CLANG_ENABLE_OBJC_ARC = YES;
|
||||
CLANG_ENABLE_OBJC_WEAK = YES;
|
||||
CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
|
||||
CLANG_WARN_BOOL_CONVERSION = YES;
|
||||
CLANG_WARN_COMMA = YES;
|
||||
CLANG_WARN_CONSTANT_CONVERSION = YES;
|
||||
CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
|
||||
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
|
||||
CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
|
||||
CLANG_WARN_EMPTY_BODY = YES;
|
||||
CLANG_WARN_ENUM_CONVERSION = YES;
|
||||
CLANG_WARN_INFINITE_RECURSION = YES;
|
||||
CLANG_WARN_INT_CONVERSION = YES;
|
||||
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
|
||||
CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
|
||||
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
|
||||
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
|
||||
CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
|
||||
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
|
||||
CLANG_WARN_STRICT_PROTOTYPES = YES;
|
||||
CLANG_WARN_SUSPICIOUS_MOVE = YES;
|
||||
CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
|
||||
CLANG_WARN_UNREACHABLE_CODE = YES;
|
||||
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
|
||||
COPY_PHASE_STRIP = NO;
|
||||
DEBUG_INFORMATION_FORMAT = dwarf;
|
||||
ENABLE_BITCODE = NO;
|
||||
ENABLE_STRICT_OBJC_MSGSEND = YES;
|
||||
ENABLE_TESTABILITY = YES;
|
||||
GCC_C_LANGUAGE_STANDARD = gnu11;
|
||||
GCC_DYNAMIC_NO_PIC = NO;
|
||||
GCC_NO_COMMON_BLOCKS = YES;
|
||||
GCC_OPTIMIZATION_LEVEL = 0;
|
||||
GCC_PREPROCESSOR_DEFINITIONS = (
|
||||
"DEBUG=1",
|
||||
"$(inherited)",
|
||||
);
|
||||
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
|
||||
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
|
||||
GCC_WARN_UNDECLARED_SELECTOR = YES;
|
||||
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
|
||||
GCC_WARN_UNUSED_FUNCTION = YES;
|
||||
GCC_WARN_UNUSED_VARIABLE = YES;
|
||||
HEADER_SEARCH_PATHS = (
|
||||
../../../../pjsip/include,
|
||||
../../../../pjlib/include,
|
||||
"../../../../pjlib-util/include",
|
||||
../../../../pjnath/include,
|
||||
../../../../pjmedia/include,
|
||||
);
|
||||
IPHONEOS_DEPLOYMENT_TARGET = 14.4;
|
||||
MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
|
||||
MTL_FAST_MATH = YES;
|
||||
ONLY_ACTIVE_ARCH = YES;
|
||||
SDKROOT = iphoneos;
|
||||
SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG;
|
||||
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
|
||||
};
|
||||
name = Debug;
|
||||
};
|
||||
3A6FC62625CBD4550065F472 /* Release */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
ALWAYS_SEARCH_USER_PATHS = NO;
|
||||
CLANG_ANALYZER_NONNULL = YES;
|
||||
CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
|
||||
CLANG_CXX_LANGUAGE_STANDARD = "gnu++14";
|
||||
CLANG_CXX_LIBRARY = "libc++";
|
||||
CLANG_ENABLE_MODULES = YES;
|
||||
CLANG_ENABLE_OBJC_ARC = YES;
|
||||
CLANG_ENABLE_OBJC_WEAK = YES;
|
||||
CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
|
||||
CLANG_WARN_BOOL_CONVERSION = YES;
|
||||
CLANG_WARN_COMMA = YES;
|
||||
CLANG_WARN_CONSTANT_CONVERSION = YES;
|
||||
CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
|
||||
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
|
||||
CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
|
||||
CLANG_WARN_EMPTY_BODY = YES;
|
||||
CLANG_WARN_ENUM_CONVERSION = YES;
|
||||
CLANG_WARN_INFINITE_RECURSION = YES;
|
||||
CLANG_WARN_INT_CONVERSION = YES;
|
||||
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
|
||||
CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
|
||||
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
|
||||
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
|
||||
CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
|
||||
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
|
||||
CLANG_WARN_STRICT_PROTOTYPES = YES;
|
||||
CLANG_WARN_SUSPICIOUS_MOVE = YES;
|
||||
CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
|
||||
CLANG_WARN_UNREACHABLE_CODE = YES;
|
||||
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
|
||||
COPY_PHASE_STRIP = NO;
|
||||
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
|
||||
ENABLE_BITCODE = NO;
|
||||
ENABLE_NS_ASSERTIONS = NO;
|
||||
ENABLE_STRICT_OBJC_MSGSEND = YES;
|
||||
GCC_C_LANGUAGE_STANDARD = gnu11;
|
||||
GCC_NO_COMMON_BLOCKS = YES;
|
||||
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
|
||||
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
|
||||
GCC_WARN_UNDECLARED_SELECTOR = YES;
|
||||
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
|
||||
GCC_WARN_UNUSED_FUNCTION = YES;
|
||||
GCC_WARN_UNUSED_VARIABLE = YES;
|
||||
HEADER_SEARCH_PATHS = (
|
||||
../../../../pjsip/include,
|
||||
../../../../pjlib/include,
|
||||
"../../../../pjlib-util/include",
|
||||
../../../../pjnath/include,
|
||||
../../../../pjmedia/include,
|
||||
);
|
||||
IPHONEOS_DEPLOYMENT_TARGET = 14.4;
|
||||
MTL_ENABLE_DEBUG_INFO = NO;
|
||||
MTL_FAST_MATH = YES;
|
||||
SDKROOT = iphoneos;
|
||||
SWIFT_COMPILATION_MODE = wholemodule;
|
||||
SWIFT_OPTIMIZATION_LEVEL = "-O";
|
||||
VALIDATE_PRODUCT = YES;
|
||||
};
|
||||
name = Release;
|
||||
};
|
||||
3A6FC62825CBD4550065F472 /* Debug */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
|
||||
ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
|
||||
CLANG_ENABLE_MODULES = YES;
|
||||
CODE_SIGN_STYLE = Automatic;
|
||||
DEVELOPMENT_ASSET_PATHS = "\"ipjsua-swift/Preview Content\"";
|
||||
DEVELOPMENT_TEAM = 93NHJQ455P;
|
||||
ENABLE_PREVIEWS = YES;
|
||||
INFOPLIST_FILE = "ipjsua-swift/Info.plist";
|
||||
IPHONEOS_DEPLOYMENT_TARGET = 14.0;
|
||||
LD_RUNPATH_SEARCH_PATHS = (
|
||||
"$(inherited)",
|
||||
"@executable_path/Frameworks",
|
||||
);
|
||||
LIBRARY_SEARCH_PATHS = (
|
||||
"$(inherited)",
|
||||
"$(SRCROOT)",
|
||||
"$(SRCROOT)/Libraries",
|
||||
"\"$(SRCROOT)/../../../../pjlib/lib\"",
|
||||
"\"$(SRCROOT)/../../../../pjlib-util/lib\"",
|
||||
"\"$(SRCROOT)/../../../../pjmedia/lib\"",
|
||||
"\"$(SRCROOT)/../../../../pjnath/lib\"",
|
||||
"\"$(SRCROOT)/../../../../pjsip/lib\"",
|
||||
"\"$(SRCROOT)/../../../../third_party/lib\"",
|
||||
"$(PROJECT_DIR)",
|
||||
"$(PROJECT_DIR)/Libraries",
|
||||
);
|
||||
PRODUCT_BUNDLE_IDENTIFIER = "com.teluu.ipjsua-swift";
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
SWIFT_OBJC_BRIDGING_HEADER = "ipjsua-swift/ipjsua-swift-Bridging-Header.h";
|
||||
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
|
||||
SWIFT_VERSION = 5.0;
|
||||
TARGETED_DEVICE_FAMILY = "1,2";
|
||||
};
|
||||
name = Debug;
|
||||
};
|
||||
3A6FC62925CBD4550065F472 /* Release */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
|
||||
ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
|
||||
CLANG_ENABLE_MODULES = YES;
|
||||
CODE_SIGN_STYLE = Automatic;
|
||||
DEVELOPMENT_ASSET_PATHS = "\"ipjsua-swift/Preview Content\"";
|
||||
DEVELOPMENT_TEAM = 93NHJQ455P;
|
||||
ENABLE_PREVIEWS = YES;
|
||||
INFOPLIST_FILE = "ipjsua-swift/Info.plist";
|
||||
IPHONEOS_DEPLOYMENT_TARGET = 14.0;
|
||||
LD_RUNPATH_SEARCH_PATHS = (
|
||||
"$(inherited)",
|
||||
"@executable_path/Frameworks",
|
||||
);
|
||||
LIBRARY_SEARCH_PATHS = (
|
||||
"$(inherited)",
|
||||
"$(SRCROOT)",
|
||||
"$(SRCROOT)/Libraries",
|
||||
"\"$(SRCROOT)/../../../../pjlib/lib\"",
|
||||
"\"$(SRCROOT)/../../../../pjlib-util/lib\"",
|
||||
"\"$(SRCROOT)/../../../../pjmedia/lib\"",
|
||||
"\"$(SRCROOT)/../../../../pjnath/lib\"",
|
||||
"\"$(SRCROOT)/../../../../pjsip/lib\"",
|
||||
"\"$(SRCROOT)/../../../../third_party/lib\"",
|
||||
"$(PROJECT_DIR)",
|
||||
"$(PROJECT_DIR)/Libraries",
|
||||
);
|
||||
PRODUCT_BUNDLE_IDENTIFIER = "com.teluu.ipjsua-swift";
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
SWIFT_OBJC_BRIDGING_HEADER = "ipjsua-swift/ipjsua-swift-Bridging-Header.h";
|
||||
SWIFT_VERSION = 5.0;
|
||||
TARGETED_DEVICE_FAMILY = "1,2";
|
||||
};
|
||||
name = Release;
|
||||
};
|
||||
/* End XCBuildConfiguration section */
|
||||
|
||||
/* Begin XCConfigurationList section */
|
||||
3A6FC61325CBD4540065F472 /* Build configuration list for PBXProject "ipjsua-swift" */ = {
|
||||
isa = XCConfigurationList;
|
||||
buildConfigurations = (
|
||||
3A6FC62525CBD4550065F472 /* Debug */,
|
||||
3A6FC62625CBD4550065F472 /* Release */,
|
||||
);
|
||||
defaultConfigurationIsVisible = 0;
|
||||
defaultConfigurationName = Release;
|
||||
};
|
||||
3A6FC62725CBD4550065F472 /* Build configuration list for PBXNativeTarget "ipjsua-swift" */ = {
|
||||
isa = XCConfigurationList;
|
||||
buildConfigurations = (
|
||||
3A6FC62825CBD4550065F472 /* Debug */,
|
||||
3A6FC62925CBD4550065F472 /* Release */,
|
||||
);
|
||||
defaultConfigurationIsVisible = 0;
|
||||
defaultConfigurationName = Release;
|
||||
};
|
||||
/* End XCConfigurationList section */
|
||||
};
|
||||
rootObject = 3A6FC61025CBD4540065F472 /* Project object */;
|
||||
}
|
||||
+7
@@ -0,0 +1,7 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<Workspace
|
||||
version = "1.0">
|
||||
<FileRef
|
||||
location = "self:">
|
||||
</FileRef>
|
||||
</Workspace>
|
||||
+8
@@ -0,0 +1,8 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>IDEDidComputeMac32BitWarning</key>
|
||||
<true/>
|
||||
</dict>
|
||||
</plist>
|
||||
+11
@@ -0,0 +1,11 @@
|
||||
{
|
||||
"colors" : [
|
||||
{
|
||||
"idiom" : "universal"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
||||
+98
@@ -0,0 +1,98 @@
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"idiom" : "iphone",
|
||||
"scale" : "2x",
|
||||
"size" : "20x20"
|
||||
},
|
||||
{
|
||||
"idiom" : "iphone",
|
||||
"scale" : "3x",
|
||||
"size" : "20x20"
|
||||
},
|
||||
{
|
||||
"idiom" : "iphone",
|
||||
"scale" : "2x",
|
||||
"size" : "29x29"
|
||||
},
|
||||
{
|
||||
"idiom" : "iphone",
|
||||
"scale" : "3x",
|
||||
"size" : "29x29"
|
||||
},
|
||||
{
|
||||
"idiom" : "iphone",
|
||||
"scale" : "2x",
|
||||
"size" : "40x40"
|
||||
},
|
||||
{
|
||||
"idiom" : "iphone",
|
||||
"scale" : "3x",
|
||||
"size" : "40x40"
|
||||
},
|
||||
{
|
||||
"idiom" : "iphone",
|
||||
"scale" : "2x",
|
||||
"size" : "60x60"
|
||||
},
|
||||
{
|
||||
"idiom" : "iphone",
|
||||
"scale" : "3x",
|
||||
"size" : "60x60"
|
||||
},
|
||||
{
|
||||
"idiom" : "ipad",
|
||||
"scale" : "1x",
|
||||
"size" : "20x20"
|
||||
},
|
||||
{
|
||||
"idiom" : "ipad",
|
||||
"scale" : "2x",
|
||||
"size" : "20x20"
|
||||
},
|
||||
{
|
||||
"idiom" : "ipad",
|
||||
"scale" : "1x",
|
||||
"size" : "29x29"
|
||||
},
|
||||
{
|
||||
"idiom" : "ipad",
|
||||
"scale" : "2x",
|
||||
"size" : "29x29"
|
||||
},
|
||||
{
|
||||
"idiom" : "ipad",
|
||||
"scale" : "1x",
|
||||
"size" : "40x40"
|
||||
},
|
||||
{
|
||||
"idiom" : "ipad",
|
||||
"scale" : "2x",
|
||||
"size" : "40x40"
|
||||
},
|
||||
{
|
||||
"idiom" : "ipad",
|
||||
"scale" : "1x",
|
||||
"size" : "76x76"
|
||||
},
|
||||
{
|
||||
"idiom" : "ipad",
|
||||
"scale" : "2x",
|
||||
"size" : "76x76"
|
||||
},
|
||||
{
|
||||
"idiom" : "ipad",
|
||||
"scale" : "2x",
|
||||
"size" : "83.5x83.5"
|
||||
},
|
||||
{
|
||||
"idiom" : "ios-marketing",
|
||||
"scale" : "1x",
|
||||
"size" : "1024x1024"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
||||
+6
@@ -0,0 +1,6 @@
|
||||
{
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,133 @@
|
||||
/*
|
||||
* Copyright (C) 2021-2021 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 SwiftUI
|
||||
|
||||
struct VidView: UIViewRepresentable {
|
||||
@Binding var vidWin: UIView?
|
||||
|
||||
func makeUIView(context: Context) -> UIView {
|
||||
let view = UIView();
|
||||
view.backgroundColor = UIColor.black;
|
||||
return view;
|
||||
}
|
||||
|
||||
func updateUIView(_ uiView: UIView, context: Context) {
|
||||
if let vid_win = vidWin {
|
||||
/* Add the video window as subview */
|
||||
if (!vid_win.isDescendant(of: uiView)) {
|
||||
uiView.addSubview(vid_win)
|
||||
/* Resize it to fit width */
|
||||
vid_win.bounds = CGRect(x:0, y:0, width:uiView.bounds.size.width,
|
||||
height:(uiView.bounds.size.height *
|
||||
1.0 * uiView.bounds.size.width /
|
||||
vid_win.bounds.size.width));
|
||||
/* Center it horizontally */
|
||||
vid_win.center = CGPoint(x:uiView.bounds.size.width / 2.0,
|
||||
y:vid_win.bounds.size.height / 2.0);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
class PjsipVars: ObservableObject {
|
||||
@Published var calling = false
|
||||
var dest: String = "sip:test@pjsip.org"
|
||||
var call_id: pjsua_call_id = PJSUA_INVALID_ID.rawValue
|
||||
}
|
||||
|
||||
private func call_func(user_data: UnsafeMutableRawPointer?) {
|
||||
let pjsip_vars = Unmanaged<PjsipVars>.fromOpaque(user_data!).takeUnretainedValue()
|
||||
if (!pjsip_vars.calling) {
|
||||
var status: pj_status_t;
|
||||
var opt = pjsua_call_setting();
|
||||
|
||||
pjsua_call_setting_default(&opt);
|
||||
opt.aud_cnt = 1;
|
||||
opt.vid_cnt = 1;
|
||||
|
||||
let dest_str = strdup(pjsip_vars.dest);
|
||||
var dest:pj_str_t = pj_str(dest_str);
|
||||
status = pjsua_call_make_call(0, &dest, &opt, nil, nil, &pjsip_vars.call_id);
|
||||
DispatchQueue.main.sync {
|
||||
pjsip_vars.calling = (status == PJ_SUCCESS.rawValue);
|
||||
}
|
||||
free(dest_str);
|
||||
} else {
|
||||
if (pjsip_vars.call_id != PJSUA_INVALID_ID.rawValue) {
|
||||
DispatchQueue.main.sync {
|
||||
pjsip_vars.calling = false;
|
||||
}
|
||||
pjsua_call_hangup(pjsip_vars.call_id, 200, nil, nil);
|
||||
pjsip_vars.call_id = PJSUA_INVALID_ID.rawValue;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
struct ContentView: View {
|
||||
@StateObject var pjsip_vars = PjsipVars()
|
||||
@EnvironmentObject var vinfo: VidInfo;
|
||||
|
||||
var body: some View {
|
||||
VStack(alignment: .center) {
|
||||
HStack(alignment: .center) {
|
||||
if (!pjsip_vars.calling) {
|
||||
Text("Destination:")
|
||||
TextField(pjsip_vars.dest, text: $pjsip_vars.dest)
|
||||
.frame(minWidth:0, maxWidth:200)
|
||||
}
|
||||
}
|
||||
|
||||
Button(action: {
|
||||
let user_data =
|
||||
UnsafeMutableRawPointer(Unmanaged.passUnretained(pjsip_vars).toOpaque())
|
||||
|
||||
/* IMPORTANT:
|
||||
* We need to call PJSIP API from a separate thread since
|
||||
* PJSIP API can potentially block the main/GUI thread.
|
||||
* And make sure we don't use Apple's Dispatch / gcd since
|
||||
* it's incompatible with POSIX threads.
|
||||
* In this example, we take advantage of PJSUA's timer thread
|
||||
* to make and hangup call. For a more complex application,
|
||||
* it is recommended to create your own separate thread
|
||||
* instead for this purpose.
|
||||
*/
|
||||
pjsua_schedule_timer2_dbg(call_func, user_data, 0, "swift", 0);
|
||||
}) {
|
||||
if (!pjsip_vars.calling) {
|
||||
Text("Make call")
|
||||
.foregroundColor(Color.black)
|
||||
} else {
|
||||
Text("Hangup call")
|
||||
.foregroundColor(Color.black)
|
||||
}
|
||||
}
|
||||
.padding(.all, 8.0)
|
||||
.background(Color.green);
|
||||
|
||||
VidView(vidWin: $vinfo.vid_win)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
struct ContentView_Previews: PreviewProvider {
|
||||
static var previews: some View {
|
||||
ContentView()
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,57 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>NSMicrophoneUsageDescription</key>
|
||||
<string>Audio call permission</string>
|
||||
<key>NSCameraUsageDescription</key>
|
||||
<string>Video call permission</string>
|
||||
<key>CFBundleDevelopmentRegion</key>
|
||||
<string>$(DEVELOPMENT_LANGUAGE)</string>
|
||||
<key>CFBundleExecutable</key>
|
||||
<string>$(EXECUTABLE_NAME)</string>
|
||||
<key>CFBundleIdentifier</key>
|
||||
<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
|
||||
<key>CFBundleInfoDictionaryVersion</key>
|
||||
<string>6.0</string>
|
||||
<key>CFBundleName</key>
|
||||
<string>$(PRODUCT_NAME)</string>
|
||||
<key>CFBundlePackageType</key>
|
||||
<string>$(PRODUCT_BUNDLE_PACKAGE_TYPE)</string>
|
||||
<key>CFBundleShortVersionString</key>
|
||||
<string>1.0</string>
|
||||
<key>CFBundleVersion</key>
|
||||
<string>1</string>
|
||||
<key>LSRequiresIPhoneOS</key>
|
||||
<true/>
|
||||
<key>UIApplicationSceneManifest</key>
|
||||
<dict>
|
||||
<key>UIApplicationSupportsMultipleScenes</key>
|
||||
<true/>
|
||||
</dict>
|
||||
<key>UIApplicationSupportsIndirectInputEvents</key>
|
||||
<true/>
|
||||
<key>UILaunchScreen</key>
|
||||
<dict/>
|
||||
<key>UIRequiredDeviceCapabilities</key>
|
||||
<array>
|
||||
<string>video-camera</string>
|
||||
<string>wifi</string>
|
||||
<string>microphone</string>
|
||||
<string>armv7</string>
|
||||
</array>
|
||||
<key>UISupportedInterfaceOrientations</key>
|
||||
<array>
|
||||
<string>UIInterfaceOrientationPortrait</string>
|
||||
<string>UIInterfaceOrientationLandscapeLeft</string>
|
||||
<string>UIInterfaceOrientationLandscapeRight</string>
|
||||
</array>
|
||||
<key>UISupportedInterfaceOrientations~ipad</key>
|
||||
<array>
|
||||
<string>UIInterfaceOrientationPortrait</string>
|
||||
<string>UIInterfaceOrientationPortraitUpsideDown</string>
|
||||
<string>UIInterfaceOrientationLandscapeLeft</string>
|
||||
<string>UIInterfaceOrientationLandscapeRight</string>
|
||||
</array>
|
||||
</dict>
|
||||
</plist>
|
||||
+6
@@ -0,0 +1,6 @@
|
||||
{
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
||||
+6
@@ -0,0 +1,6 @@
|
||||
//
|
||||
// Use this file to import your target's public headers that you would like to expose to Swift.
|
||||
//
|
||||
|
||||
#define PJ_AUTOCONF 1
|
||||
#import "pjsua.h"
|
||||
@@ -0,0 +1,166 @@
|
||||
/*
|
||||
* Copyright (C) 2021-2021 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
|
||||
*/
|
||||
|
||||
/* This is a simple Swift demo app that shows an example of how to use
|
||||
* PJSUA API to make one audio+video call to another user.
|
||||
*/
|
||||
|
||||
import SwiftUI
|
||||
|
||||
class VidInfo: ObservableObject {
|
||||
/* Video window */
|
||||
@Published var vid_win:UIView? = nil
|
||||
}
|
||||
|
||||
class AppDelegate: NSObject, UIApplicationDelegate {
|
||||
static let Shared = AppDelegate()
|
||||
var vinfo = VidInfo()
|
||||
}
|
||||
|
||||
@main
|
||||
struct ipjsua_swiftApp: App {
|
||||
init() {
|
||||
/* Create pjsua */
|
||||
var status: pj_status_t;
|
||||
status = pjsua_create();
|
||||
if (status != PJ_SUCCESS.rawValue) {
|
||||
NSLog("Failed creating pjsua");
|
||||
}
|
||||
|
||||
/* Init configs */
|
||||
var cfg = pjsua_config();
|
||||
var log_cfg = pjsua_logging_config();
|
||||
var media_cfg = pjsua_media_config();
|
||||
pjsua_config_default(&cfg);
|
||||
pjsua_logging_config_default(&log_cfg);
|
||||
pjsua_media_config_default(&media_cfg);
|
||||
|
||||
/* Initialize application callbacks */
|
||||
cfg.cb.on_call_state = on_call_state;
|
||||
cfg.cb.on_call_media_state = on_call_media_state;
|
||||
|
||||
/* Init pjsua */
|
||||
status = pjsua_init(&cfg, &log_cfg, &media_cfg);
|
||||
|
||||
/* Create transport */
|
||||
var transport_id = pjsua_transport_id();
|
||||
var tcp_cfg = pjsua_transport_config();
|
||||
pjsua_transport_config_default(&tcp_cfg);
|
||||
tcp_cfg.port = 5060;
|
||||
status = pjsua_transport_create(PJSIP_TRANSPORT_TCP,
|
||||
&tcp_cfg, &transport_id);
|
||||
|
||||
/* Init account config */
|
||||
let id = strdup("Test<sip:test@pjsip.org>");
|
||||
let username = strdup("test");
|
||||
let passwd = strdup("pwd");
|
||||
let realm = strdup("*");
|
||||
let registrar = strdup("sip:pjsip.org");
|
||||
let proxy = strdup("sip:sip.pjsip.org;transport=tcp");
|
||||
|
||||
var acc_cfg = pjsua_acc_config();
|
||||
pjsua_acc_config_default(&acc_cfg);
|
||||
acc_cfg.id = pj_str(id);
|
||||
acc_cfg.cred_count = 1;
|
||||
acc_cfg.cred_info.0.username = pj_str(username);
|
||||
acc_cfg.cred_info.0.realm = pj_str(realm);
|
||||
acc_cfg.cred_info.0.data = pj_str(passwd);
|
||||
acc_cfg.reg_uri = pj_str(registrar);
|
||||
acc_cfg.proxy_cnt = 1;
|
||||
acc_cfg.proxy.0 = pj_str(proxy);
|
||||
acc_cfg.vid_out_auto_transmit = pj_bool_t(PJ_TRUE.rawValue);
|
||||
acc_cfg.vid_in_auto_show = pj_bool_t(PJ_TRUE.rawValue);
|
||||
|
||||
/* Add account */
|
||||
pjsua_acc_add(&acc_cfg, pj_bool_t(PJ_TRUE.rawValue), nil);
|
||||
|
||||
/* Free strings */
|
||||
free(id); free(username); free(passwd); free(realm);
|
||||
free(registrar); free(proxy);
|
||||
|
||||
/* Start pjsua */
|
||||
status = pjsua_start();
|
||||
}
|
||||
|
||||
var body: some Scene {
|
||||
WindowGroup {
|
||||
ContentView()
|
||||
.environmentObject(AppDelegate.Shared.vinfo)
|
||||
.preferredColorScheme(.light)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private func on_call_state(call_id: pjsua_call_id, e: UnsafeMutablePointer<pjsip_event>?) {
|
||||
var ci = pjsua_call_info();
|
||||
pjsua_call_get_info(call_id, &ci);
|
||||
if (ci.state == PJSIP_INV_STATE_DISCONNECTED) {
|
||||
/* UIView update must be done in the main thread */
|
||||
DispatchQueue.main.sync {
|
||||
AppDelegate.Shared.vinfo.vid_win = nil;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private func tupleToArray<Tuple, Value>(tuple: Tuple) -> [Value] {
|
||||
let tupleMirror = Mirror(reflecting: tuple)
|
||||
return tupleMirror.children.compactMap { (child: Mirror.Child) -> Value? in
|
||||
return child.value as? Value
|
||||
}
|
||||
}
|
||||
|
||||
private func on_call_media_state(call_id: pjsua_call_id) {
|
||||
var ci = pjsua_call_info();
|
||||
pjsua_call_get_info(call_id, &ci);
|
||||
|
||||
for mi in 0...ci.media_cnt {
|
||||
let media: [pjsua_call_media_info] = tupleToArray(tuple: ci.media);
|
||||
|
||||
if (media[Int(mi)].status == PJSUA_CALL_MEDIA_ACTIVE ||
|
||||
media[Int(mi)].status == PJSUA_CALL_MEDIA_REMOTE_HOLD)
|
||||
{
|
||||
switch (media[Int(mi)].type) {
|
||||
case PJMEDIA_TYPE_AUDIO:
|
||||
var call_conf_slot: pjsua_conf_port_id;
|
||||
|
||||
call_conf_slot = media[Int(mi)].stream.aud.conf_slot;
|
||||
pjsua_conf_connect(call_conf_slot, 0);
|
||||
pjsua_conf_connect(0, call_conf_slot);
|
||||
break;
|
||||
|
||||
case PJMEDIA_TYPE_VIDEO:
|
||||
let wid = media[Int(mi)].stream.vid.win_in;
|
||||
var wi = pjsua_vid_win_info();
|
||||
|
||||
if (pjsua_vid_win_get_info(wid, &wi) == PJ_SUCCESS.rawValue) {
|
||||
let vid_win:UIView =
|
||||
Unmanaged<UIView>.fromOpaque(wi.hwnd.info.ios.window).takeUnretainedValue();
|
||||
|
||||
/* UIView update must be done in the main thread */
|
||||
DispatchQueue.main.sync {
|
||||
AppDelegate.Shared.vinfo.vid_win = vid_win;
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Loaded 100 of 2474 files, more files were not shown because too many files have changed in this diff.
Show more
Reference in new issue
Block a user