/[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 5356 - (hide annotations) (download)
Fri Sep 2 20:40:10 2005 UTC (14 years, 4 months ago) by derek
File size: 7829 byte(s)
compiles again
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 greg 5308
58     virtual void onMessage(InviteSessionHandle, const SipMessage& msg);
59     virtual void onMessageSuccess(InviteSessionHandle, const SipMessage& msg);
60     virtual void onMessageFailure(InviteSessionHandle, const SipMessage& msg);
61 jason 4076
62     // Registration Handler ////////////////////////////////////////////////////////
63     virtual void onSuccess(ClientRegistrationHandle h, const SipMessage& response);
64     virtual void onFailure(ClientRegistrationHandle h, const SipMessage& response);
65     virtual void onRemoved(ClientRegistrationHandle h);
66     virtual int onRequestRetry(ClientRegistrationHandle h, int retryMinimum, const SipMessage& msg);
67    
68     // ClientSubscriptionHandler ///////////////////////////////////////////////////
69     virtual void onRefreshRejected(ClientSubscriptionHandle h, const SipMessage& rejection);
70     virtual void onUpdatePending(ClientSubscriptionHandle h, const SipMessage& notify);
71     virtual void onUpdateActive(ClientSubscriptionHandle h, const SipMessage& notify);
72     virtual void onUpdateExtension(ClientSubscriptionHandle, const SipMessage& notify);
73     virtual void onTerminated(ClientSubscriptionHandle h, const SipMessage& notify);
74     virtual void onNewSubscription(ClientSubscriptionHandle h, const SipMessage& notify);
75     virtual int onRequestRetry(ClientSubscriptionHandle h, int retryMinimum, const SipMessage& notify);
76    
77     // ClientPublicationHandler ////////////////////////////////////////////////////
78     virtual void onSuccess(ClientPublicationHandle h, const SipMessage& status);
79     virtual void onRemove(ClientPublicationHandle h, const SipMessage& status);
80     virtual void onFailure(ClientPublicationHandle h, const SipMessage& response);
81     virtual int onRequestRetry(ClientPublicationHandle h, int retryMinimum, const SipMessage& response);
82    
83     // OutOfDialogHandler //////////////////////////////////////////////////////////
84     virtual void onSuccess(ClientOutOfDialogReqHandle, const SipMessage& response);
85     virtual void onFailure(ClientOutOfDialogReqHandle, const SipMessage& response);
86     virtual void onReceivedRequest(ServerOutOfDialogReqHandle, const SipMessage& request);
87     virtual void onForkDestroyed(ClientInviteSessionHandle);
88    
89     protected:
90     void addTransport(TransportType type, int port);
91    
92     private:
93 sgodin 4781 SharedPtr<MasterProfile> mProfile;
94 jason 4383 Security* mSecurity;
95     SipStack mStack;
96 jason 4076 DialogUsageManager mDum;
97 jason 4383 StackThread mStackThread;
98 jason 4076 };
99    
100     }
101    
102     #endif
103 derek 4602
104     /* ====================================================================
105     * The Vovida Software License, Version 1.0
106     *
107     * Copyright (c) 2000 Vovida Networks, Inc. All rights reserved.
108     *
109     * Redistribution and use in source and binary forms, with or without
110     * modification, are permitted provided that the following conditions
111     * are met:
112     *
113     * 1. Redistributions of source code must retain the above copyright
114     * notice, this list of conditions and the following disclaimer.
115     *
116     * 2. Redistributions in binary form must reproduce the above copyright
117     * notice, this list of conditions and the following disclaimer in
118     * the documentation and/or other materials provided with the
119     * distribution.
120     *
121     * 3. The names "VOCAL", "Vovida Open Communication Application Library",
122     * and "Vovida Open Communication Application Library (VOCAL)" must
123     * not be used to endorse or promote products derived from this
124     * software without prior written permission. For written
125     * permission, please contact vocal@vovida.org.
126     *
127     * 4. Products derived from this software may not be called "VOCAL", nor
128     * may "VOCAL" appear in their name, without prior written
129     * permission of Vovida Networks, Inc.
130     *
131     * THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESSED OR IMPLIED
132     * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
133     * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, TITLE AND
134     * NON-INFRINGEMENT ARE DISCLAIMED. IN NO EVENT SHALL VOVIDA
135     * NETWORKS, INC. OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT DAMAGES
136     * IN EXCESS OF $1,000, NOR FOR ANY INDIRECT, INCIDENTAL, SPECIAL,
137     * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
138     * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
139     * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
140     * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
141     * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
142     * USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
143     * DAMAGE.
144     *
145     * ====================================================================
146     *
147     * This software consists of voluntary contributions made by Vovida
148     * Networks, Inc. and many individuals on behalf of Vovida Networks,
149     * Inc. For more information on Vovida Networks, Inc., please see
150     * <http://www.vovida.org/>.
151     *
152     */

Properties

Name Value
svn:eol-style LF

webmaster AT resiprocate DOT org
ViewVC Help
Powered by ViewVC 1.1.27