* #27232: jni: added pjproject checkout as regular git content

We will remove it once the next release of pjsip (with Android support)
comes out and is merged into SFLphone.
diff --git a/jni/pjproject-android/.svn/pristine/f3/f337bc4dfd93732af9a14119ce2961b2a6e4c224.svn-base b/jni/pjproject-android/.svn/pristine/f3/f337bc4dfd93732af9a14119ce2961b2a6e4c224.svn-base
new file mode 100644
index 0000000..83a4074
--- /dev/null
+++ b/jni/pjproject-android/.svn/pristine/f3/f337bc4dfd93732af9a14119ce2961b2a6e4c224.svn-base
@@ -0,0 +1,20 @@
+# $Id$
+import inc_sip as sip
+import inc_sdp as sdp
+
+pjsua = "--null-audio --id=sip:CLIENT --registrar sip:127.0.0.1:$PORT " + \
+	"--realm=python --user=username --password=password " + \
+	"--auto-update-nat=0 --reg-timeout 300"
+
+# 423 Response with Min-Expires header that is lower than what the client
+# had requested
+req1 = sip.RecvfromTransaction("Initial request", 423,
+				include=["REGISTER sip"], 
+				exclude=[],
+				resp_hdr=["Min-Expires: 250"],
+				expect="invalid Min-Expires"
+
+			  	)
+
+recvfrom_cfg = sip.RecvfromCfg("Invalid 423 response to REGISTER",
+			       pjsua, [req1])
diff --git a/jni/pjproject-android/.svn/pristine/f3/f34188cd9ed85f18f8726a6cac0f43d8ef01a731.svn-base b/jni/pjproject-android/.svn/pristine/f3/f34188cd9ed85f18f8726a6cac0f43d8ef01a731.svn-base
new file mode 100644
index 0000000..1f928e7
--- /dev/null
+++ b/jni/pjproject-android/.svn/pristine/f3/f34188cd9ed85f18f8726a6cac0f43d8ef01a731.svn-base
@@ -0,0 +1,77 @@
+<?xml version="1.0" encoding="ISO-8859-1" ?>

+<!DOCTYPE scenario SYSTEM "sipp.dtd">

+

+<!-- 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             -->

+<!--                                                                    -->

+<!--                 Sipp default 'uas' scenario.                       -->

+<!--                                                                    -->

+

+<scenario name="Basic UAS responder">

+  <!-- By adding rrs="true" (Record Route Sets), the route sets         -->

+  <!-- are saved and used for following messages sent. Useful to test   -->

+  <!-- against stateful SIP proxies/B2BUAs.                             -->

+  <recv request="INVITE" crlf="true">

+  </recv>

+

+  <!-- The '[last_*]' keyword is replaced automatically by the          -->

+  <!-- specified header if it was present in the last message received  -->

+  <!-- (except if it was a retransmission). If the header was not       -->

+  <!-- present or if no message has been received, the '[last_*]'       -->

+  <!-- keyword is discarded, and all bytes until the end of the line    -->

+  <!-- are also discarded.                                              -->

+  <!--                                                                  -->

+  <!-- If the specified header was present several times in the         -->

+  <!-- message, all occurences are concatenated (CRLF seperated)        -->

+  <!-- to be used in place of the '[last_*]' keyword.                   -->

+

+  <send retrans="500">

+    <![CDATA[

+

+      SIP/2.0 200 OK

+      [last_Via:]

+      [last_From:]

+      [last_To:];tag=[call_number]

+      [last_Call-ID:]

+      [last_CSeq:]

+      Contact: <sip:sipp@[local_ip]:[local_port]>

+      Content-Type: application/sdp

+

+      v=0

+      o=- 3441953879 3441953879 IN IP4 192.168.0.15

+      s=pjmedia

+      c=IN IP4 192.168.0.15

+      t=0 0

+      m=audio 4004 RTP/SAVP 0 101

+      a=rtpmap:0 PCMU/8000

+      a=rtpmap:101 telephone-event/8000

+      a=fmtp:101 0-15

+      a=crypto:1 AES_CM_128_HMAC_SHA1_80 inline:D4Mf5fIPqxwse/lLrVc2XhLk7NSL6JI0k0Jps4Br

+

+    ]]>

+  </send>

+

+  <recv request="ACK" crlf="true">

+  </recv>

+

+

+  <!-- definition of the response time repartition table (unit is ms)   -->

+  <ResponseTimeRepartition value="10, 20, 30, 40, 50, 100, 150, 200"/>

+

+  <!-- definition of the call length repartition table (unit is ms)     -->

+  <CallLengthRepartition value="10, 50, 100, 500, 1000, 5000, 10000"/>

+

+</scenario>

+

diff --git a/jni/pjproject-android/.svn/pristine/f3/f37284937f3c00c0785df71634d3471e0951c38f.svn-base b/jni/pjproject-android/.svn/pristine/f3/f37284937f3c00c0785df71634d3471e0951c38f.svn-base
new file mode 100644
index 0000000..45480b8
--- /dev/null
+++ b/jni/pjproject-android/.svn/pristine/f3/f37284937f3c00c0785df71634d3471e0951c38f.svn-base
@@ -0,0 +1,19 @@
+# $Id$
+#
+from inc_cfg import *
+
+ADD_PARAM = ""
+
+if (HAS_SND_DEV == 0):
+	ADD_PARAM += "--null-audio"
+
+# Call with iLBC codec
+test_param = TestParam(
+		"PESQ codec iLBC",
+		[
+			InstanceParam("UA1", ADD_PARAM + " --max-calls=1 --add-codec ilbc --clock-rate 8000 --play-file wavs/input.8.wav"),
+			InstanceParam("UA2", "--null-audio --max-calls=1 --add-codec ilbc --clock-rate 8000 --rec-file  wavs/tmp.8.wav   --auto-answer 200")
+		]
+		)
+
+pesq_threshold = 3.0
diff --git a/jni/pjproject-android/.svn/pristine/f3/f3a704de5b06ac5d9883641a9145dc124f779886.svn-base b/jni/pjproject-android/.svn/pristine/f3/f3a704de5b06ac5d9883641a9145dc124f779886.svn-base
new file mode 100644
index 0000000..8595260
--- /dev/null
+++ b/jni/pjproject-android/.svn/pristine/f3/f3a704de5b06ac5d9883641a9145dc124f779886.svn-base
@@ -0,0 +1,261 @@
+/*
+========================================================================
+ Name        : PjsuaContainerView.cpp
+ Author      : nanang
+ Copyright   : Copyright (C) 2013 Teluu Inc. (http://www.teluu.com)
+ Description : 
+========================================================================
+*/
+// [[[ begin generated region: do not modify [Generated System Includes]
+#include <aknviewappui.h>
+#include <eikmenub.h>
+#include <avkon.hrh>
+#include <barsread.h>
+#include <eikimage.h>
+#include <eikenv.h>
+#include <stringloader.h>
+#include <eiklabel.h>
+#include <akncontext.h>
+#include <akntitle.h>
+#include <eikbtgpc.h>
+#include <pjsua.rsg>
+// ]]] end generated region [Generated System Includes]
+
+// [[[ begin generated region: do not modify [Generated User Includes]
+
+#include "pjsua.hrh"
+#include "pjsuaContainerView.h"
+#include "pjsuaContainer.h"
+// ]]] end generated region [Generated User Includes]
+
+// [[[ begin generated region: do not modify [Generated Constants]
+// ]]] end generated region [Generated Constants]
+
+/**
+ * First phase of Symbian two-phase construction. Should not contain any
+ * code that could leave.
+ */
+CpjsuaContainerView::CpjsuaContainerView()
+	{
+	// [[[ begin generated region: do not modify [Generated Contents]
+	iPjsuaContainer = NULL;
+	// ]]] end generated region [Generated Contents]
+	
+	}
+
+/** 
+ * The view's destructor removes the container from the control
+ * stack and destroys it.
+ */
+CpjsuaContainerView::~CpjsuaContainerView()
+	{
+	// [[[ begin generated region: do not modify [Generated Contents]
+	delete iPjsuaContainer;
+	iPjsuaContainer = NULL;
+	// ]]] end generated region [Generated Contents]
+	
+	}
+
+/**
+ * Symbian two-phase constructor.
+ * This creates an instance then calls the second-phase constructor
+ * without leaving the instance on the cleanup stack.
+ * @return new instance of CpjsuaContainerView
+ */
+CpjsuaContainerView* CpjsuaContainerView::NewL()
+	{
+	CpjsuaContainerView* self = CpjsuaContainerView::NewLC();
+	CleanupStack::Pop( self );
+	return self;
+	}
+
+/**
+ * Symbian two-phase constructor.
+ * This creates an instance, pushes it on the cleanup stack,
+ * then calls the second-phase constructor.
+ * @return new instance of CpjsuaContainerView
+ */
+CpjsuaContainerView* CpjsuaContainerView::NewLC()
+	{
+	CpjsuaContainerView* self = new ( ELeave ) CpjsuaContainerView();
+	CleanupStack::PushL( self );
+	self->ConstructL();
+	return self;
+	}
+
+
+/**
+ * Second-phase constructor for view.  
+ * Initialize contents from resource.
+ */ 
+void CpjsuaContainerView::ConstructL()
+	{
+	// [[[ begin generated region: do not modify [Generated Code]
+	BaseConstructL( R_PJSUA_CONTAINER_PJSUA_CONTAINER_VIEW );
+				
+	// ]]] end generated region [Generated Code]
+	
+	// add your own initialization code here
+	}
+
+/**
+ * @return The UID for this view
+ */
+TUid CpjsuaContainerView::Id() const
+	{
+	return TUid::Uid( EPjsuaContainerViewId );
+	}
+
+/**
+ * Handle a command for this view (override)
+ * @param aCommand command id to be handled
+ */
+void CpjsuaContainerView::HandleCommandL( TInt aCommand )
+	{
+	// [[[ begin generated region: do not modify [Generated Code]
+	TBool commandHandled = EFalse;
+	switch ( aCommand )
+		{	// code to dispatch to the AknView's menu and CBA commands is generated here
+		default:
+			break;
+		}
+	
+		
+	if ( !commandHandled ) 
+		{
+	
+		if ( aCommand == EAknSoftkeyBack )
+			{
+			AppUi()->HandleCommandL( EEikCmdExit );
+			}
+	
+		}
+	// ]]] end generated region [Generated Code]
+	
+	}
+
+/**
+ *	Handles user actions during activation of the view, 
+ *	such as initializing the content.
+ */
+void CpjsuaContainerView::DoActivateL( 
+		const TVwsViewId& /*aPrevViewId*/,
+		TUid /*aCustomMessageId*/,
+		const TDesC8& /*aCustomMessage*/ )
+	{
+	// [[[ begin generated region: do not modify [Generated Contents]
+	SetupStatusPaneL();
+	
+				
+				
+	
+	if ( iPjsuaContainer == NULL )
+		{
+		iPjsuaContainer = CreateContainerL();
+		iPjsuaContainer->SetMopParent( this );
+		AppUi()->AddToStackL( *this, iPjsuaContainer );
+		} 
+	// ]]] end generated region [Generated Contents]
+	
+	}
+
+/**
+ */
+void CpjsuaContainerView::DoDeactivate()
+	{
+	// [[[ begin generated region: do not modify [Generated Contents]
+	CleanupStatusPane();
+	
+	if ( iPjsuaContainer != NULL )
+		{
+		AppUi()->RemoveFromViewStack( *this, iPjsuaContainer );
+		delete iPjsuaContainer;
+		iPjsuaContainer = NULL;
+		}
+	// ]]] end generated region [Generated Contents]
+	
+	}
+
+/** 
+ * Handle status pane size change for this view (override)
+ */
+void CpjsuaContainerView::HandleStatusPaneSizeChange()
+	{
+	CAknView::HandleStatusPaneSizeChange();
+	
+	// this may fail, but we're not able to propagate exceptions here
+	TVwsViewId view;
+	AppUi()->GetActiveViewId( view );
+	if ( view.iViewUid == Id() )
+		{
+		TInt result;
+		TRAP( result, SetupStatusPaneL() );
+		}
+
+	// Hide menu
+	Cba()->MakeVisible(EFalse);
+	
+	//PutMessage("HandleStatusPaneSizeChange()");
+	
+	// [[[ begin generated region: do not modify [Generated Code]
+	// ]]] end generated region [Generated Code]
+	
+	}
+
+// [[[ begin generated function: do not modify
+void CpjsuaContainerView::SetupStatusPaneL()
+	{
+	// reset the context pane
+	TUid contextPaneUid = TUid::Uid( EEikStatusPaneUidContext );
+	CEikStatusPaneBase::TPaneCapabilities subPaneContext = 
+		StatusPane()->PaneCapabilities( contextPaneUid );
+	if ( subPaneContext.IsPresent() && subPaneContext.IsAppOwned() )
+		{
+		CAknContextPane* context = static_cast< CAknContextPane* > ( 
+			StatusPane()->ControlL( contextPaneUid ) );
+		context->SetPictureToDefaultL();
+		}
+	
+	// setup the title pane
+	TUid titlePaneUid = TUid::Uid( EEikStatusPaneUidTitle );
+	CEikStatusPaneBase::TPaneCapabilities subPaneTitle = 
+		StatusPane()->PaneCapabilities( titlePaneUid );
+	if ( subPaneTitle.IsPresent() && subPaneTitle.IsAppOwned() )
+		{
+		CAknTitlePane* title = static_cast< CAknTitlePane* >( 
+			StatusPane()->ControlL( titlePaneUid ) );
+		TResourceReader reader;
+		iEikonEnv->CreateResourceReaderLC( reader, R_PJSUA_CONTAINER_TITLE_RESOURCE );
+		title->SetFromResourceL( reader );
+		CleanupStack::PopAndDestroy(); // reader internal state
+		}
+				
+	}
+
+// ]]] end generated function
+
+// [[[ begin generated function: do not modify
+void CpjsuaContainerView::CleanupStatusPane()
+	{
+	}
+
+// ]]] end generated function
+
+/**
+ *	Creates the top-level container for the view.  You may modify this method's
+ *	contents and the CPjsuaContainer::NewL() signature as needed to initialize the
+ *	container, but the signature for this method is fixed.
+ *	@return new initialized instance of CPjsuaContainer
+ */
+CPjsuaContainer* CpjsuaContainerView::CreateContainerL()
+	{
+	return CPjsuaContainer::NewL( ClientRect(), NULL, this );
+	}
+
+void CpjsuaContainerView::PutMessage( const char *msg )
+{
+	if (!iPjsuaContainer)
+	    return;
+
+	TRAPD(result, iPjsuaContainer->PutMessageL(msg));
+}
diff --git a/jni/pjproject-android/.svn/pristine/f3/f3a7c6646562374fdf42b3272d7b67564b1487bd.svn-base b/jni/pjproject-android/.svn/pristine/f3/f3a7c6646562374fdf42b3272d7b67564b1487bd.svn-base
new file mode 100644
index 0000000..639c0be
--- /dev/null
+++ b/jni/pjproject-android/.svn/pristine/f3/f3a7c6646562374fdf42b3272d7b67564b1487bd.svn-base
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="Windows-1252"?>

+<VisualStudioPropertySheet

+	ProjectType="Visual C++"

+	Version="8.00"

+	Name="pjproject-vs8-wm2003-common-defaults"

+	>

+	<Tool

+		Name="VCCLCompilerTool"

+		PreprocessorDefinitions="_WIN32_WCE=$(CEVER);UNDER_CE;$(PLATFORMDEFINES);WINCE;$(ARCHFAM);$(_ARCHFAM_)"

+		DebugInformationFormat="3"

+		DisableSpecificWarnings="4214;4201"

+	/>

+	<Tool

+		Name="VCLinkerTool"

+		AdditionalDependencies="secchk.lib ccrtrtti.lib"

+		SubSystem="9"

+		StackReserveSize="65536"

+		StackCommitSize="4096"

+		EntryPointSymbol="WinMainCRTStartup"

+		TargetMachine="3"

+	/>

+	<Tool

+		Name="VCResourceCompilerTool"

+		PreprocessorDefinitions="_WIN32_WCE=$(CEVER);UNDER_CE;$(PLATFORMDEFINES);WINCE;$(ARCHFAM);$(_ARCHFAM_)"

+	/>

+	<UserMacro

+		Name="TargetCPU"

+		Value="armv4"

+	/>

+</VisualStudioPropertySheet>

diff --git a/jni/pjproject-android/.svn/pristine/f3/f3b326ac0bde7140d560922c2d80d527239c3150.svn-base b/jni/pjproject-android/.svn/pristine/f3/f3b326ac0bde7140d560922c2d80d527239c3150.svn-base
new file mode 100644
index 0000000..56e6d3e
--- /dev/null
+++ b/jni/pjproject-android/.svn/pristine/f3/f3b326ac0bde7140d560922c2d80d527239c3150.svn-base
@@ -0,0 +1,19 @@
+//
+//  ipjsuaAppDelegate.h
+//  ipjsua
+//
+//  Created by Liong Sauw Ming on 13/3/13.
+//  Copyright (c) 2013 Teluu. All rights reserved.
+//
+
+#import <UIKit/UIKit.h>
+
+@class ipjsuaViewController;
+
+@interface ipjsuaAppDelegate : UIResponder <UIApplicationDelegate>
+
+@property (strong, nonatomic) UIWindow *window;
+
+@property (strong, nonatomic) ipjsuaViewController *viewController;
+
+@end
diff --git a/jni/pjproject-android/.svn/pristine/f3/f3e2e66df16610fe0ddafde8bc01574def7987f2.svn-base b/jni/pjproject-android/.svn/pristine/f3/f3e2e66df16610fe0ddafde8bc01574def7987f2.svn-base
new file mode 100644
index 0000000..0c847a9
--- /dev/null
+++ b/jni/pjproject-android/.svn/pristine/f3/f3e2e66df16610fe0ddafde8bc01574def7987f2.svn-base
@@ -0,0 +1,58 @@
+EXPORTS
+	pjsip_100rel_attach                      @ 1 NONAME
+	pjsip_100rel_create_prack                @ 2 NONAME
+	pjsip_100rel_end_session                 @ 3 NONAME
+	pjsip_100rel_init_module                 @ 4 NONAME
+	pjsip_100rel_is_reliable                 @ 5 NONAME
+	pjsip_100rel_on_rx_prack                 @ 6 NONAME
+	pjsip_100rel_send_prack                  @ 7 NONAME
+	pjsip_100rel_tx_response                 @ 8 NONAME
+	pjsip_create_sdp_body                    @ 9 NONAME
+	pjsip_dlg_get_inv_session                @ 10 NONAME
+	pjsip_get_prack_method                   @ 11 NONAME
+	pjsip_get_refer_method                   @ 12 NONAME
+	pjsip_inv_answer                         @ 13 NONAME
+	pjsip_inv_create_ack                     @ 14 NONAME
+	pjsip_inv_create_uac                     @ 15 NONAME
+	pjsip_inv_create_uas                     @ 16 NONAME
+	pjsip_inv_end_session                    @ 17 NONAME
+	pjsip_inv_initial_answer                 @ 18 NONAME
+	pjsip_inv_invite                         @ 19 NONAME
+	pjsip_inv_reinvite                       @ 20 NONAME
+	pjsip_inv_send_msg                       @ 21 NONAME
+	pjsip_inv_set_sdp_answer                 @ 22 NONAME
+	pjsip_inv_state_name                     @ 23 NONAME
+	pjsip_inv_terminate                      @ 24 NONAME
+	pjsip_inv_update                         @ 25 NONAME
+	pjsip_inv_usage_init                     @ 26 NONAME
+	pjsip_inv_usage_instance                 @ 27 NONAME
+	pjsip_inv_verify_request                 @ 28 NONAME
+	pjsip_prack_method                       @ 29 NONAME
+	pjsip_refer_method                       @ 30 NONAME
+	pjsip_regc_add_headers                   @ 31 NONAME
+	pjsip_regc_create                        @ 32 NONAME
+	pjsip_regc_destroy                       @ 33 NONAME
+	pjsip_regc_get_info                      @ 34 NONAME
+	pjsip_regc_get_pool                      @ 35 NONAME
+	pjsip_regc_init                          @ 36 NONAME
+	pjsip_regc_register                      @ 37 NONAME
+	pjsip_regc_send                          @ 38 NONAME
+	pjsip_regc_set_credentials               @ 39 NONAME
+	pjsip_regc_set_prefs                     @ 40 NONAME
+	pjsip_regc_set_route_set                 @ 41 NONAME
+	pjsip_regc_set_transport                 @ 42 NONAME
+	pjsip_regc_unregister                    @ 43 NONAME
+	pjsip_regc_unregister_all                @ 44 NONAME
+	pjsip_regc_update_contact                @ 45 NONAME
+	pjsip_regc_update_expires                @ 46 NONAME
+	pjsip_replaces_hdr_create                @ 47 NONAME
+	pjsip_replaces_init_module               @ 48 NONAME
+	pjsip_replaces_verify_request            @ 49 NONAME
+	pjsip_xfer_accept                        @ 50 NONAME
+	pjsip_xfer_create_uac                    @ 51 NONAME
+	pjsip_xfer_create_uas                    @ 52 NONAME
+	pjsip_xfer_current_notify                @ 53 NONAME
+	pjsip_xfer_init_module                   @ 54 NONAME
+	pjsip_xfer_initiate                      @ 55 NONAME
+	pjsip_xfer_notify                        @ 56 NONAME
+	pjsip_xfer_send_request                  @ 57 NONAME
diff --git a/jni/pjproject-android/.svn/pristine/f3/f3ed5b9bd988ac12d055a1fd595c5ed3f41bfe66.svn-base b/jni/pjproject-android/.svn/pristine/f3/f3ed5b9bd988ac12d055a1fd595c5ed3f41bfe66.svn-base
new file mode 100644
index 0000000..7529a7b
--- /dev/null
+++ b/jni/pjproject-android/.svn/pristine/f3/f3ed5b9bd988ac12d055a1fd595c5ed3f41bfe66.svn-base
@@ -0,0 +1,80 @@
+/* $Id$ */
+/* 
+ * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com)
+ * Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA 
+ */
+#ifndef __PJLIB_UTIL_SHA1_H__
+#define __PJLIB_UTIL_SHA1_H__
+
+/**
+ * @file sha1.h
+ * @brief SHA1 encryption implementation
+ */
+
+#include <pj/types.h>
+
+PJ_BEGIN_DECL
+
+/**
+ * @defgroup PJLIB_UTIL_SHA1 SHA1
+ * @ingroup PJLIB_UTIL_ENCRYPTION
+ * @{
+ */
+
+/** SHA1 context */
+typedef struct pj_sha1_context
+{
+    pj_uint32_t state[5];	/**< State  */
+    pj_uint32_t count[2];	/**< Count  */
+    pj_uint8_t	buffer[64];	/**< Buffer */
+} pj_sha1_context;
+
+/** SHA1 digest size is 20 bytes */
+#define PJ_SHA1_DIGEST_SIZE	20
+
+
+/** Initialize the algorithm. 
+ *  @param ctx		SHA1 context.
+ */
+PJ_DECL(void) pj_sha1_init(pj_sha1_context *ctx);
+
+/** Append a stream to the message. 
+ *  @param ctx		SHA1 context.
+ *  @param data		Data.
+ *  @param nbytes	Length of data.
+ */
+PJ_DECL(void) pj_sha1_update(pj_sha1_context *ctx, 
+			     const pj_uint8_t *data, 
+			     const pj_size_t nbytes);
+
+/** Finish the message and return the digest. 
+ *  @param ctx		SHA1 context.
+ *  @param digest	16 byte digest.
+ */
+PJ_DECL(void) pj_sha1_final(pj_sha1_context *ctx, 
+			    pj_uint8_t digest[PJ_SHA1_DIGEST_SIZE]);
+
+
+/**
+ * @}
+ */
+
+PJ_END_DECL
+
+
+#endif	/* __PJLIB_UTIL_SHA1_H__ */
+
diff --git a/jni/pjproject-android/.svn/pristine/f3/f3f313d49f33ae7a6935c00e726dc3feef38e707.svn-base b/jni/pjproject-android/.svn/pristine/f3/f3f313d49f33ae7a6935c00e726dc3feef38e707.svn-base
new file mode 100644
index 0000000..6262d91
--- /dev/null
+++ b/jni/pjproject-android/.svn/pristine/f3/f3f313d49f33ae7a6935c00e726dc3feef38e707.svn-base
Binary files differ