* #39226: Switch back to pjsip rev 4710

Rev 4716 introduces errors when building for android (miltiple definitions)
diff --git a/jni/pjproject-android/.svn/pristine/7b/7b09ab1784565aa2421000b88c3c9755b26e5d26.svn-base b/jni/pjproject-android/.svn/pristine/7b/7b09ab1784565aa2421000b88c3c9755b26e5d26.svn-base
new file mode 100644
index 0000000..bb1324e
--- /dev/null
+++ b/jni/pjproject-android/.svn/pristine/7b/7b09ab1784565aa2421000b88c3c9755b26e5d26.svn-base
@@ -0,0 +1,208 @@
+/* $Id$ */
+/* 
+ * Copyright (C) 2010 Teluu Inc. (http://www.teluu.com)
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA 
+ */
+#ifndef __PJLIB_UTIL_CLI_IMP_H__
+#define __PJLIB_UTIL_CLI_IMP_H__
+
+/**
+ * @file cli_imp.h
+ * @brief Command Line Interface Implementor's API
+ */
+
+#include <pjlib-util/cli.h>
+
+
+PJ_BEGIN_DECL
+
+/**
+ * @defgroup PJLIB_UTIL_CLI_IMP Command Line Interface Implementor's API
+ * @ingroup PJLIB_UTIL_CLI
+ * @{
+ *
+ */
+
+/**
+ * Default log level for console sessions.
+ */
+#ifndef PJ_CLI_CONSOLE_LOG_LEVEL
+#   define PJ_CLI_CONSOLE_LOG_LEVEL	PJ_LOG_MAX_LEVEL
+#endif
+
+/**
+ * Default log level for telnet sessions.
+ */
+#ifndef PJ_CLI_TELNET_LOG_LEVEL
+#   define PJ_CLI_TELNET_LOG_LEVEL	4
+#endif
+
+/**
+ * Default port number for telnet daemon.
+ */
+#ifndef PJ_CLI_TELNET_PORT
+#   define PJ_CLI_TELNET_PORT		0
+#endif
+
+/**
+ * This enumeration specifies front end types.
+ */
+typedef enum pj_cli_front_end_type
+{
+    PJ_CLI_CONSOLE_FRONT_END,	/**< Console front end.	*/
+    PJ_CLI_TELNET_FRONT_END,	/**< Telnet front end.	*/
+    PJ_CLI_HTTP_FRONT_END,	/**< HTTP front end.	*/
+    PJ_CLI_GUI_FRONT_END	/**< GUI front end.	*/
+} pj_cli_front_end_type;
+
+
+/**
+ * Front end operations. Only the CLI should call these functions
+ * directly.
+ */
+typedef struct pj_cli_front_end_op
+{
+    /**
+     * Callback to write a log message to the appropriate sessions belonging
+     * to this front end. The front end would only send the log message to
+     * the session if the session's log verbosity level is greater than the
+     * level of this log message.
+     *
+     * @param fe	The front end.
+     * @param level	Verbosity level of this message message.
+     * @param data	The message itself.
+     * @param len 	Length of this message.
+     */
+    void (*on_write_log)(pj_cli_front_end *fe, int level,
+		         const char *data, pj_size_t len);
+
+    /**
+     * Callback to be called when the application is quitting, to signal the
+     * front-end to end its main loop or any currently blocking functions,
+     * if any.
+     *
+     * @param fe	The front end.
+     * @param req	The session which requested the application quit.
+     */
+    void (*on_quit)(pj_cli_front_end *fe, pj_cli_sess *req);
+
+    /**
+     * Callback to be called to close and self destroy the front-end. This
+     * must also close any active sessions created by this front-ends.
+     *
+     * @param fe	The front end.
+     */
+    void (*on_destroy)(pj_cli_front_end *fe);
+
+} pj_cli_front_end_op;
+
+
+/**
+ * This structure describes common properties of CLI front-ends. A front-
+ * end is a mean to interact with end user, for example the CLI application
+ * may interact with console, telnet, web, or even a GUI.
+ *
+ * Each end user's interaction will create an instance of pj_cli_sess.
+ *
+ * Application instantiates the front end by calling the appropriate
+ * function to instantiate them.
+ */
+struct pj_cli_front_end
+{
+    /**
+     * Linked list members
+     */
+    PJ_DECL_LIST_MEMBER(struct pj_cli_front_end);
+
+    /**
+     * Front end type.
+     */
+    pj_cli_front_end_type type;
+
+    /**
+     * The CLI application.
+     */
+    pj_cli_t *cli;
+
+    /**
+     * Front end operations.
+     */
+    pj_cli_front_end_op *op;
+};
+
+
+/**
+ * Session operations.
+ */
+typedef struct pj_cli_sess_op
+{
+    /**
+     * Callback to be called to close and self destroy the session.
+     *
+     * @param sess	The session to destroy.
+     */
+    void (*destroy)(pj_cli_sess *sess);
+
+} pj_cli_sess_op;
+
+
+/**
+ * This structure describes common properties of a CLI session. A CLI session
+ * is the interaction of an end user to the CLI application via a specific
+ * renderer, where the renderer can be console, telnet, web, or a GUI app for
+ * mobile. A session is created by its renderer, and it's creation procedures
+ * vary among renderer (for example, a telnet session is created when the
+ * end user connects to the application, while a console session is always
+ * instantiated once the program is run).
+ */
+struct pj_cli_sess
+{
+    /**
+     * Linked list members
+     */
+    PJ_DECL_LIST_MEMBER(struct pj_cli_sess);
+
+    /**
+     * Pointer to the front-end instance which created this session.
+     */
+    pj_cli_front_end *fe;
+
+    /**
+     * Session operations.
+     */
+    pj_cli_sess_op *op;
+
+    /**
+     * Text containing session info, which is filled by the renderer when
+     * the session is created.
+     */
+    pj_str_t info;
+
+    /**
+     * Log verbosity of this session.
+     */
+    int log_level;
+
+};
+
+/**
+ * @}
+ */
+
+
+PJ_END_DECL
+
+#endif	/* __PJLIB_UTIL_CLI_IMP_H__ */