#include "consumer.h"

Consumer::Consumer (void)
:ch_(&this->thr_mgr),
init_(NOT_STARTED)
{
  // No-Op.
}

Consumer::~Consumer (void)
{
  ACE_DEBUG ((LM_DEBUG,"Consumer::~Consumer\n"));
}

void
Consumer::close (BOOL consumerinitiated)
{
 // Shut down the ORB
  ch_.close (consumerinitiated);
}

int
Consumer::run (void)
{
  // Run the <Consumer_Handler>'s ORB.
  return ch_.activate ();
}

int
Consumer::initialize (int argc, char *argv[], Event_Comm_i *receiver)
{
  init_ = IN_PROGRESS;

  // Initialize the <Consumer_Handler>.
  if (this->ch_.init (argc, argv, receiver) == -1) {
	  init_ = FAILED;
     ACE_ERROR_RETURN ((LM_ERROR,
			"%p\n",
			"Consumer_Handler failed to initialize\n"),
                       -1);
  }

  init_ = COMPLETE;
  return 0;
}

Consumer::initializationState Consumer::initState()
{
	return init_;

}
// TODO remove this - no longer used. Verify
int Consumer::isShutdown()
{
	return ch_.isClosed();
}
