/[resiprocate]/main/resip/dum/test/UserAgent.hxx
ViewVC logotype

Annotation of /main/resip/dum/test/UserAgent.hxx

Parent Directory Parent Directory | Revision Log Revision Log


Revision 5929 - (hide annotations) (download)
Thu Feb 16 22:36:43 2006 UTC (13 years, 9 months ago) by dworley
File size: 7985 byte(s)
Start cleaning up svn:eol-style and EOLs in files.
Note that text and program files that can be used on both Un*x and Windows
should have svn:eol-style=native so they check out correctly on both
platforms.

1 jason 4076 #if !defined(DUM_UserAgent_hxx)
2     #define DUM_UserAgent_hxx
3    
4     #include "CommandLineParser.hxx"
5    
6 derek 5283 #include "resip/stack/StackThread.hxx"
7 jason 5276 #include "resip/dum/MasterProfile.hxx"
8     #include "resip/dum/RegistrationHandler.hxx"
9     #include "resip/dum/SubscriptionHandler.hxx"
10     #include "resip/dum/PublicationHandler.hxx"
11     #include "resip/dum/OutOfDialogHandler.hxx"
12     #include "resip/dum/InviteSessionHandler.hxx"
13     #include "resip/dum/DialogUsageManager.hxx"
14 jason 4076
15     namespace resip
16     {
17    
18     class UserAgent : public CommandLineParser,
19     public ClientRegistrationHandler,
20     public ClientSubscriptionHandler,
21     public ClientPublicationHandler,
22     public OutOfDialogHandler,
23 jason 4383 public InviteSessionHandler
24 jason 4076 {
25     public:
26     UserAgent(int argc, char** argv);
27     virtual ~UserAgent();
28    
29 jason 4078 void startup();
30     void shutdown();
31    
32 jason 4076 void process();
33    
34     public:
35     // Invite Session Handler /////////////////////////////////////////////////////
36     virtual void onNewSession(ClientInviteSessionHandle h, InviteSession::OfferAnswerType oat, const SipMessage& msg);
37     virtual void onNewSession(ServerInviteSessionHandle h, InviteSession::OfferAnswerType oat, const SipMessage& msg);
38     virtual void onFailure(ClientInviteSessionHandle h, const SipMessage& msg);
39     virtual void onEarlyMedia(ClientInviteSessionHandle, const SipMessage&, const SdpContents&);
40     virtual void onProvisional(ClientInviteSessionHandle, const SipMessage& msg);
41     virtual void onConnected(ClientInviteSessionHandle h, const SipMessage& msg);
42     virtual void onConnected(InviteSessionHandle, const SipMessage& msg);
43     virtual void onStaleCallTimeout(ClientInviteSessionHandle);
44     virtual void onTerminated(InviteSessionHandle h, InviteSessionHandler::TerminatedReason reason, const SipMessage* msg);
45     virtual void onRedirected(ClientInviteSessionHandle, const SipMessage& msg);
46     virtual void onAnswer(InviteSessionHandle, const SipMessage& msg, const SdpContents&);
47     virtual void onOffer(InviteSessionHandle handle, const SipMessage& msg, const SdpContents& offer);
48     virtual void onOfferRequired(InviteSessionHandle, const SipMessage& msg);
49 derek 5356 virtual void onOfferRejected(InviteSessionHandle, const SipMessage* msg);
50 jason 4076 virtual void onDialogModified(InviteSessionHandle, InviteSession::OfferAnswerType oat, const SipMessage& msg);
51     virtual void onInfo(InviteSessionHandle, const SipMessage& msg);
52     virtual void onInfoSuccess(InviteSessionHandle, const SipMessage& msg);
53     virtual void onInfoFailure(InviteSessionHandle, const SipMessage& msg);
54     virtual void onRefer(InviteSessionHandle, ServerSubscriptionHandle, const SipMessage& msg);
55     virtual void onReferAccepted(InviteSessionHandle, ClientSubscriptionHandle, const SipMessage& msg);
56     virtual void onReferRejected(InviteSessionHandle, const SipMessage& msg);
57 jozsef 5888 virtual void onReferNoSub(InviteSessionHandle, const SipMessage& msg);
58 greg 5308
59     virtual void onMessage(InviteSessionHandle, const SipMessage& msg);
60     virtual void onMessageSuccess(InviteSessionHandle, const SipMessage& msg);
61     virtual void onMessageFailure(InviteSessionHandle, const SipMessage& msg);
62 jason 4076
63     // Registration Handler ////////////////////////////////////////////////////////
64     virtual void onSuccess(ClientRegistrationHandle h, const SipMessage& response);
65     virtual void onFailure(ClientRegistrationHandle h, const SipMessage& response);
66 daniel 5759 virtual void onRemoved(ClientRegistrationHandle h, const SipMessage& response);
67 jason 4076 virtual int onRequestRetry(ClientRegistrationHandle h, int retryMinimum, const SipMessage& msg);
68    
69     // ClientSubscriptionHandler ///////////////////////////////////////////////////
70     virtual void onRefreshRejected(ClientSubscriptionHandle h, const SipMessage& rejection);
71 jozsef 5888 virtual void onUpdatePending(ClientSubscriptionHandle h, const SipMessage& notify, bool outOfOrder);
72     virtual void onUpdateActive(ClientSubscriptionHandle h, const SipMessage& notify, bool outOfOrder);
73     virtual void onUpdateExtension(ClientSubscriptionHandle, const SipMessage& notify, bool outOfOrder);
74 jason 4076 virtual void onTerminated(ClientSubscriptionHandle h, const SipMessage& notify);
75     virtual void onNewSubscription(ClientSubscriptionHandle h, const SipMessage& notify);
76     virtual int onRequestRetry(ClientSubscriptionHandle h, int retryMinimum, const SipMessage& notify);
77    
78     // ClientPublicationHandler ////////////////////////////////////////////////////
79     virtual void onSuccess(ClientPublicationHandle h, const SipMessage& status);
80     virtual void onRemove(ClientPublicationHandle h, const SipMessage& status);
81     virtual void onFailure(ClientPublicationHandle h, const SipMessage& response);
82     virtual int onRequestRetry(ClientPublicationHandle h, int retryMinimum, const SipMessage& response);
83    
84     // OutOfDialogHandler //////////////////////////////////////////////////////////
85     virtual void onSuccess(ClientOutOfDialogReqHandle, const SipMessage& response);
86     virtual void onFailure(ClientOutOfDialogReqHandle, const SipMessage& response);
87     virtual void onReceivedRequest(ServerOutOfDialogReqHandle, const SipMessage& request);
88     virtual void onForkDestroyed(ClientInviteSessionHandle);
89    
90     protected:
91     void addTransport(TransportType type, int port);
92    
93     private:
94 sgodin 4781 SharedPtr<MasterProfile> mProfile;
95 jason 4383 Security* mSecurity;
96     SipStack mStack;
97 jason 4076 DialogUsageManager mDum;
98 jason 4383 StackThread mStackThread;
99 jason 4076 };
100    
101     }
102    
103     #endif
104 derek 4602
105     /* ====================================================================
106     * The Vovida Software License, Version 1.0
107     *
108     * Copyright (c) 2000 Vovida Networks, Inc. All rights reserved.
109     *
110     * Redistribution and use in source and binary forms, with or without
111     * modification, are permitted provided that the following conditions
112     * are met:
113     *
114     * 1. Redistributions of source code must retain the above copyright
115     * notice, this list of conditions and the following disclaimer.
116     *
117     * 2. Redistributions in binary form must reproduce the above copyright
118     * notice, this list of conditions and the following disclaimer in
119     * the documentation and/or other materials provided with the
120     * distribution.
121     *
122     * 3. The names "VOCAL", "Vovida Open Communication Application Library",
123     * and "Vovida Open Communication Application Library (VOCAL)" must
124     * not be used to endorse or promote products derived from this
125     * software without prior written permission. For written
126     * permission, please contact vocal@vovida.org.
127     *
128     * 4. Products derived from this software may not be called "VOCAL", nor
129     * may "VOCAL" appear in their name, without prior written
130     * permission of Vovida Networks, Inc.
131     *
132     * THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESSED OR IMPLIED
133     * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
134     * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, TITLE AND
135     * NON-INFRINGEMENT ARE DISCLAIMED. IN NO EVENT SHALL VOVIDA
136     * NETWORKS, INC. OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT DAMAGES
137     * IN EXCESS OF $1,000, NOR FOR ANY INDIRECT, INCIDENTAL, SPECIAL,
138     * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
139     * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
140     * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
141     * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
142     * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
143     * USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
144     * DAMAGE.
145     *
146     * ====================================================================
147     *
148     * This software consists of voluntary contributions made by Vovida
149     * Networks, Inc. and many individuals on behalf of Vovida Networks,
150     * Inc. For more information on Vovida Networks, Inc., please see
151     * <http://www.vovida.org/>.
152     *
153     */

Properties

Name Value
svn:eol-style native

webmaster AT resiprocate DOT org
ViewVC Help
Powered by ViewVC 1.1.27