// \file MtaIntegrate.hpp // // Copyright (C) 2011 ARM Research Labs, LLC. // See www.armresearch.com for the copyright terms. // // This file defines the MtaIntegrate interface. // // $Id$ // /////////////////////////////////////////////////////////////////////////////////////////////////// #ifndef MtaIntegratehpp_included #define MtaIntegratehpp_included #include #include "Utility.hpp" #include "FileBackup.hpp" /// Base class to manage a Sniffer integration with an MTA. // // This class defines the interface to integrate and unintegrate with an MTA. // ////////////////////////////////////////////////////////////////////////////////////////////////////////// class MtaIntegrate : public Utility { public: /// Constructor. MtaIntegrate(); /// Specifies the operating system type. // // \param[in] OperatingSystemType is the value of SNF_OSTYPE // specified when configuring sniffer for *nix, or "Windows". // virtual void SetOperatingSystem(std::string OperatingSystemType) = 0; /// Integrate with the MTA. // // If the MTA is already integrated, this method takes no action. // Otherwise, the MTA is integrated with Sniffer, and the MTA // configuration is reloaded if the MTA is running. // // \param[in] SaveFile is the object to back up any configuration // files. // virtual void Integrate(FileBackup *SaveFile) = 0; /// Unintegrate with the MTA. // // If the MTA is not integrated, this method takes no action. // Otherwise, the MTA is unintegrated with Sniffer, and the MTA // configuration is reloaded if the MTA is running. // // \param[in] SaveFile is the object to back up any configuration // files. // virtual void Unintegrate(FileBackup *SaveFile) = 0; private: /// Check whether the MTA is determined to be running. // // \return true if the MTA is determined to be running. If the // MTA is not running, or the running status cannot be determined, // the return value is false. // virtual bool MtaIsRunningDetected() = 0; /// Reload the MTA configuration. // // This method causes the MTA to reload its configuration. // // \return true if the MTA successfully reloaded its // configuration, false otherwise. // virtual bool ReloadMta() = 0; /// Determine whether the MTA is integrated. virtual bool IsIntegrated() = 0; }; #endif