CurrentLinkStatus( Status_Down ),
CurrentNotificationStatus( NotificationStatus_NotReported ),
TimeLinkStatusChanged( microsec_clock::universal_time() ),
- StatusNotifierCmd( status_notifier_cmd ),
+ StatusNotifierCmd( new StatusNotifierCommand( status_notifier_cmd ) ),
Mutex()
{
BOOST_ASSERT( 0 <= hosts_down_limit );
BOOST_ASSERT( CurrentLinkStatus == Status_Up );
BOOST_ASSERT( CurrentNotificationStatus == NotificationStatus_NotReported );
- StatusNotifierCmd.set_token_value(
+ StatusNotifierCmd->set_token_value(
StatusNotifierCommand::StatusToken,
"up"
); //lint !e534
- bool executed = StatusNotifierCmd.execute();
+ bool executed = StatusNotifierCmd->execute();
if ( executed )
{
BOOST_ASSERT( CurrentLinkStatus == Status_Down );
BOOST_ASSERT( CurrentNotificationStatus == NotificationStatus_NotReported );
- StatusNotifierCmd.set_token_value(
+ StatusNotifierCmd->set_token_value(
StatusNotifierCommand::StatusToken,
"down"
); //lint !e534
- bool executed = StatusNotifierCmd.execute();
+ bool executed = StatusNotifierCmd->execute();
if ( executed )
{
/// When was the last time the status changed
boost::posix_time::ptime TimeLinkStatusChanged;
/// Command used to notify the status of the link
- StatusNotifierCommand StatusNotifierCmd;
+ StatusNotifierCommandItem StatusNotifierCmd;
/// Mutual exclusion variable to avoid data races
boost::mutex Mutex;
#include <string>
+#include <boost/scoped_ptr.hpp>
+
//-----------------------------------------------------------------------------
// StatusNotifierCommand
//-----------------------------------------------------------------------------
};
+//-----------------------------------------------------------------------------
+// StatusNotifierCommandItem
+//-----------------------------------------------------------------------------
+
+typedef boost::scoped_ptr<StatusNotifierCommand> StatusNotifierCommandItem;
+
#endif // STATUS_NOTIFIER_COMMAND_H