linphone-developers
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Linphone-developers] [announce] Multiple calls API in liblinphone


From: Kevin Cross
Subject: Re: [Linphone-developers] [announce] Multiple calls API in liblinphone
Date: Fri, 3 Sep 2010 13:50:58 -0400

Hi again Simon,

The fix did not work. I guess the problem is that the enum isn't defined at that point of processing?

Moving the enum definition to the same place you added 'enum _LinphoneCallState;' would do the job I believe.

g++ -o test test.cpp -I/usr/local/include/linphone
In file included from test.cpp:26:
/usr/local/include/linphone/linphonecore.h:162: error: use of enum ‘_LinphoneCallState’ without previous declaration
/usr/local/include/linphone/linphonecore.h:166: error: use of enum ‘_LinphoneCallState’ without previous declaration
/usr/local/include/linphone/linphonecore.h:166: error: invalid type in declaration before ‘;’ token


Thanks,
K

On Fri, Sep 3, 2010 at 12:21 PM, Simon Morlat <address@hidden> wrote:
Hi Kevin,

It was a problem with C++ compilation of linphonecore.h. I just fixed
it, let me know if it worked.

Simon

Le jeudi 02 septembre 2010 à 10:50 -0400, Kevin Cross a écrit :
> Hi,
>
> I tried to quickly test the example you provided on a system that had
> your latest release compiled successfully (linphone-3.3.99.1), but I
> encountered this error. I  just started looking at linphone, so I
> might be missing something obvious. I understand by looking at the
> library why the error shows up but I am not sure if it has something
> to do with the way I compiled it or what since linphone gtk compiled
> just fine.
>
> $ g++ -I /usr/local/include/linphone/ -o test test.cpp
> In file included from test.cpp:26:
> /usr/local/include/linphone/linphonecore.h:165: error: use of enum
> ‘_LinphoneCallState’ without previous declaration
> /usr/local/include/linphone/linphonecore.h:165: error: invalid type in
> declaration before ‘;’ token
>
> Thanks,
> K
>
>
>
> On Tue, Aug 31, 2010 at 5:52 AM, Simon Morlat
> <address@hidden> wrote:
>         Hi,
>
>         This mail is too inform about some important changes in
>         liblinphone.
>         Since a few months, a work has be done in 'dev_multicall'
>         branch of git repo to implement multi-calls features in
>         liblinphone. This consists in:
>               * ability to pause and resume a call
>               * start a new call while others are paused
>               * receive and accept a new incoming call after the
>                 current running one is paused
>               * transfer a call to another destination
>               * accept incoming transfers
>         All this work is now done and finalized, and the dev_multicall
>         branch has been merged into 'master' branch.
>
>         The "only one call" original design of liblinphone had to be
>         changed to enable all theses new features. Some of these
>         changes are not compatible with previous versions of
>         liblinphone, requiring some changes in applications using
>         liblinphone.
>         Here is a summary of the changes:
>
>         * linphone_core_invite() and linphone_core_invite_address()
>         now return a LinphoneCall object instead of an int. This
>         LinphoneCall object represents a call. An application can
>         safely store its pointer after calling linphone_call_ref() and
>         then use it later to performs some actions on it: for example
>         linphone_core_terminate(LinphoneCore *lc, LinphoneCall *call).
>         When the application no more needs to hold a reference to the
>         call, it must call linphone_call_unref().
>
>         * linphone_core_terminate() and linphone_core_accept_call 's
>         2nd arguments become a LinphoneCall.
>
>         * linphone_core_pause_call() and linphone_core_resume_call()
>         have been added to pause and resume a call.
>
>         * The LinphoneCoreVTable structure holding callbacks has been
>         cleaned:
>           - all callbacks are optional, which facilitates the writing
>         of very simple applications that don't need all notifications.
>           - inv_recv and bye_recv callbacks are removed
>           - general_state callback is removed, as well as the gstate_t
>         structure and LinphoneGeneralState enum that went with it.
>           - instead 3 new callbacks have been added to notify all
>         events related to the 3 distinct domains: general state, call
>         state (, and registration state. These callbacks are:
>
>         **Call state notification callback prototype*/
>         typedef void (*LinphoneGlobalStateCb)(struct _LinphoneCore
>         *lc, LinphoneGlobalState gstate, const char *message);
>         /**Call state notification callback prototype*/
>         typedef void (*LinphoneCallStateCb)(struct _LinphoneCore *lc,
>         LinphoneCall *call, LinphoneCallState cstate, const char
>         *message);
>         /**Registration state notification callback prototype*/
>         typedef void (*LinphoneRegistrationStateCb)(struct
>         _LinphoneCore *lc, LinphoneProxyConfig *cfg, LinphoneCallState
>         cstate, const char *message);
>
>         The 3 enums describing the states are quite self-explaining:
>
>         typedef enum _LinphoneCallState{
>         LinphoneCallIdle,
>         LinphoneCallIncomingReceived,
>         LinphoneCallOutgoingInit,
>         LinphoneCallOutgoingProgress,
>         LinphoneCallOutgoingRinging,
>         LinphoneCallOutgoingEarlyMedia,
>         LinphoneCallConnected,
>         LinphoneCallStreamsRunning,
>         LinphoneCallPausing,
>         LinphoneCallPaused,
>         LinphoneCallResuming,
>         LinphoneCallRefered,
>         LinphoneCallError,
>         LinphoneCallEnd,
>         } LinphoneCallState;
>
>         typedef enum _LinphoneGlobalState{
>         LinphoneGlobalOff,
>         LinphoneGlobalStartup,
>         LinphoneGlobalOn,
>         LinphoneGlobalShutdown
>         }LinphoneGlobalState;
>
>         typedef enum _LinphoneRegistrationState{
>         LinphoneRegistrationNone,
>         LinphoneRegistrationProgress,
>         LinphoneRegistrationOk,
>         LinphoneRegistrationCleared,
>         LinphoneRegistrationFailed
>         }LinphoneRegistrationState;
>
>         * Additionnaly, linphone_core_set_play_file() can be used to
>         setup a music file (wav, 16bit) to be played while putting
>         somebody on hold.
>
>         These new features have been tested and validated using
>         linphonec. Linphonec has been enriched with new commands for
>         that purpose:
>         'pause' : to pause call
>         'resume <callid> : to resume a call
>         'calls' : lists all calls with their associated ids.
>         'transfer <call id> <destination>'
>
>         The gtk+ interface has not been modified yet to support all
>         these new features. This will come in the future.
>
>         The related API documentation can be browsed here:
>         http://download-mirror.savannah.gnu.org/releases/linphone/docs/liblinphone/modules.html
>
>         A simple tutorial showing liblinphone usage to place an
>         outgoing call has been added to the sources and the
>         documentation:
>         http://download-mirror.savannah.gnu.org/releases/linphone/docs/liblinphone/group__tutorial__liblinphone.html
>
>         A tarball can be downloaded here:
>         http://download-mirror.savannah.gnu.org/releases/linphone/unstable/source/linphone-3.3.99.1.tar.gz
>
>         As usual feedback is welcome.
>
>         Warm thanks to Maxim Podbereznyy, the CEO of MENTOREL company,
>         who sponsored the development of these new features,
>         as well to Aurélien Bouin who contributed the multicall patch
>         on which this work is based on.
>
>         Best regards,
>
>         Simon
>
>
>
>
>
>         _______________________________________________
>         Linphone-developers mailing list
>         address@hidden
>         http://lists.nongnu.org/mailman/listinfo/linphone-developers
>
>
> _______________________________________________
> Linphone-developers mailing list
> address@hidden
> http://lists.nongnu.org/mailman/listinfo/linphone-developers



_______________________________________________
Linphone-developers mailing list
address@hidden
http://lists.nongnu.org/mailman/listinfo/linphone-developers


reply via email to

[Prev in Thread] Current Thread [Next in Thread]