//==========================================================================
/**
 *  @file   Bping_Acceptor.h
 *
 *  @author Baranidharan K.
 */
//==========================================================================
#ifndef _BPING_ACCEPTOR_
#define _BPING_ACCEPTOR_

#include "ace/Acceptor.h"
#include "ace/SOCK_Acceptor.h"
#include "parser_task.h"

class Parser_Task;

/**
 * @class Bping_Acceptor
 *
 * @brief This an singletone class the responsibility of this class is
 * running the event handler.
 */
class Bping_Acceptor : public ACE_Acceptor<Parser_Task, ACE_SOCK_ACCEPTOR>
 {
  static Bping_Acceptor *pointer_;  
 public:
     Bping_Acceptor (void);
     /// Runnig the event handler
     virtual int make_svc_handler(Parser_Task *&conn); 
     /// This function responsible for the singletone class
     static Bping_Acceptor *instance (void);
 };

#endif
#include "Bping_Acceptor.h"

Bping_Acceptor::Bping_Acceptor (void)
 {
   
 }

int Bping_Acceptor::make_svc_handler (Parser_Task *&pt)
 {
   pt = Parser_Task::instance(); 
   pt->reactor (this->reactor());
   return 0;

 }

Bping_Acceptor * Bping_Acceptor::pointer_ = 0;

Bping_Acceptor *Bping_Acceptor::instance(void)
{
    ACE_TRACE("Bping_Acceptor::instance");
    if(Bping_Acceptor::pointer_ == 0)
        {
         ACE_MT (ACE_GUARD_RETURN (ACE_Recursive_Thread_Mutex, ace_mon,
                                   *ACE_Static_Object_Lock::instance (), 0));
         if(Bping_Acceptor::pointer_ == 0)
             ACE_NEW_RETURN(Bping_Acceptor::pointer_,Bping_Acceptor,0);        }
    return Bping_Acceptor::pointer_;
}

-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
_______________________________________________
Openipmi-developer mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/openipmi-developer

Reply via email to