#ifndef TriggerCommandsOffLine_CheckIsNotRegistered_h
#define TriggerCommandsOffLine_CheckIsNotRegistered_h

#include <boost/shared_ptr.hpp>
#include <string>
#include <iostream>

#include "Processors/TriggerCommandsImpl.h"

namespace UpperTestAdapter {
  
namespace Processors {
  
namespace TriggerCommandsOffLine {
  
/*! Class CheckIsNotRegistered
 * \brief This class provides processing for CHECK_IS_NOT_REGISTERED Trigger command.
 */
class CheckIsNotRegistered : public UpperTestAdapter::Processors::TriggerCommandsImpl
{
  static std::string CheckIsNotRegisteredId;
  
  boost::shared_ptr<UpperTestAdapter::Processors::TriggerCommandsImpl> m_successor;
  
  boost::shared_ptr<EutIPInterface> m_eutIface;
  
public:
  CheckIsNotRegistered();
  CheckIsNotRegistered(boost::shared_ptr<EutIPInterface> eutIface);
  ~CheckIsNotRegistered();
  
public: // Public interface.
  int Process(const std::string &trigger, const std::vector<std::string> &parameterList);
  void SetSuccessor(boost::shared_ptr<UpperTestAdapter::Processors::TriggerCommandsImpl> successor);
};

} } } // namespaces

#endif // TriggerCommandsOffLine_CheckIsNotRegistered_h

