<< "\t" << "plugin_output=" << attrs->Get("plugin_output") << "\n"
<< "\t" << "long_plugin_output=" << attrs->Get("long_plugin_output") << "\n"
<< "\t" << "performance_data=" << attrs->Get("performance_data") << "\n"
+ << "\t" << "check_source=" << attrs->Get("check_source") << "\n"
<< "\t" << "last_check=" << static_cast<long>(attrs->Get("last_check")) << "\n"
<< "\t" << "next_check=" << static_cast<long>(attrs->Get("next_check")) << "\n"
<< "\t" << "current_attempt=" << attrs->Get("current_attempt") << "\n"
attr->Set("next_notification", next_notification);
attr->Set("current_notification_number", notification_number);
+ String authority = service->GetCheckResultAuthority();
+ if (!authority.IsEmpty())
+ attr->Set("check_source", authority);
+
return attr;
}
olock.Lock();
SetLastCheckResult(cr);
+ if (!authority.IsEmpty())
+ SetCheckResultAuthority(authority);
+
bool was_flapping, is_flapping;
was_flapping = IsFlapping();
return parents;
}
+void Service::SetCheckResultAuthority(const String& authority)
+{
+ m_CheckResultAuthority = authority;
+}
+
+String Service::GetCheckResultAuthority(void) const
+{
+ if (m_CheckResultAuthority.IsEmpty())
+ return "(local)";
+ else
+ return m_CheckResultAuthority;
+}
+
bool Service::ResolveMacro(const String& macro, const Dictionary::Ptr& cr, String *result) const
{
if (macro == "SERVICEDESC") {
void AcknowledgeProblem(const String& author, const String& comment, AcknowledgementType type, double expiry = 0, const String& authority = String());
void ClearAcknowledgement(const String& authority = String());
+ void SetCheckResultAuthority(const String& authority);
+ String GetCheckResultAuthority(void) const;
+
/* Checks */
shared_ptr<CheckCommand> GetCheckCommand(void) const;
long GetMaxCheckAttempts(void) const;
Value m_AcknowledgementExpiry;
String m_HostName;
Value m_Volatile;
+ String m_CheckResultAuthority;
/* Checks */
String m_CheckCommand;