reSIProcate/DialogUsageManager  9680
DumProcessHandler.hxx
Go to the documentation of this file.
00001 #if !defined(RESIP_DUM_PROCESS_HANDLER_HXX)
00002 #define RESIP_DUM_PROCESS_HANDLER_HXX
00003 
00004 #include "rutil/AsyncProcessHandler.hxx"
00005 #include "resip/dum/ExternalTimer.hxx"
00006 
00007 
00008 namespace resip
00009 {
00010 
00011 class DialogUsageManager;
00012 
00013 
00014 class DumProcessHandler : public AsyncProcessHandler, public ExternalTimerHandler
00015 {
00016    public:
00017       DumProcessHandler(ExternalTimer*);      
00018       virtual void handleProcessNotification(); 
00019       virtual void handleTimeout(AsyncID timerID);
00020       
00021       //would put in constructor, but things are circular
00022       void start(DialogUsageManager*);
00023       void stop();
00024    private:
00025       bool mHaveActiveTimer;      
00026       AsyncID mTimerID;      
00027       DialogUsageManager* mDum;      
00028       ExternalTimer* mExternalTimer;      
00029       bool mStopped;      
00030       bool mCurrentlyProcessing;
00031 };
00032 
00033 } // namespace resip
00034 
00035 #endif // !RESIP_DUM_PROCESS_HANDLER_HXX
00036 
00037 /* ====================================================================
00038  * The Vovida Software License, Version 1.0 
00039  * 
00040  * Copyright (c) 2000 Vovida Networks, Inc.  All rights reserved.
00041  * 
00042  * Redistribution and use in source and binary forms, with or without
00043  * modification, are permitted provided that the following conditions
00044  * are met:
00045  * 
00046  * 1. Redistributions of source code must retain the above copyright
00047  *    notice, this list of conditions and the following disclaimer.
00048  * 
00049  * 2. Redistributions in binary form must reproduce the above copyright
00050  *    notice, this list of conditions and the following disclaimer in
00051  *    the documentation and/or other materials provided with the
00052  *    distribution.
00053  * 
00054  * 3. The names "VOCAL", "Vovida Open Communication Application Library",
00055  *    and "Vovida Open Communication Application Library (VOCAL)" must
00056  *    not be used to endorse or promote products derived from this
00057  *    software without prior written permission. For written
00058  *    permission, please contact vocal@vovida.org.
00059  *
00060  * 4. Products derived from this software may not be called "VOCAL", nor
00061  *    may "VOCAL" appear in their name, without prior written
00062  *    permission of Vovida Networks, Inc.
00063  * 
00064  * THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESSED OR IMPLIED
00065  * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
00066  * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, TITLE AND
00067  * NON-INFRINGEMENT ARE DISCLAIMED.  IN NO EVENT SHALL VOVIDA
00068  * NETWORKS, INC. OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT DAMAGES
00069  * IN EXCESS OF $1,000, NOR FOR ANY INDIRECT, INCIDENTAL, SPECIAL,
00070  * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
00071  * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
00072  * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
00073  * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
00074  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
00075  * USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
00076  * DAMAGE.
00077  * 
00078  * ====================================================================
00079  * 
00080  * This software consists of voluntary contributions made by Vovida
00081  * Networks, Inc. and many individuals on behalf of Vovida Networks,
00082  * Inc.  For more information on Vovida Networks, Inc., please see
00083  * <http://www.vovida.org/>.
00084  *
00085  */