xenadmin/XenModel/XenAPI-Extensions/Message.cs
Konstantina Chremmou 7a4d5719c7 Renamed class and file PropertyManager to FriendlyNameManager to avoid confusion,
because it only manages friendly names; moved it closer to the relevant resource files.

Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
2019-01-28 14:49:48 +00:00

103 lines
3.9 KiB
C#

/* Copyright (c) Citrix Systems, Inc.
* All rights reserved.
*
* Redistribution and use in source and binary forms,
* with or without modification, are permitted provided
* that the following conditions are met:
*
* * Redistributions of source code must retain the above
* copyright notice, this list of conditions and the
* following disclaimer.
* * Redistributions in binary form must reproduce the above
* copyright notice, this list of conditions and the
* following disclaimer in the documentation and/or other
* materials provided with the distribution.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
* CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
* INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
* MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
* DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
* CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
* SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
* WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*/
using System;
using XenAdmin.Core;
namespace XenAPI
{
public partial class Message
{
private string _messageTypeString;
public string MessageTypeString()
{
if (string.IsNullOrEmpty(_messageTypeString))
_messageTypeString = Type.ToString();
return _messageTypeString;
}
public DateTime TimestampLocal()
{
DateTime t = timestamp + Connection.ServerTimeOffset;
return t.ToLocalTime();
}
public static string FriendlyName(string type)
{
return FriendlyNameManager.GetFriendlyName(string.Format("Message.name-{0}", type.ToLowerInvariant()));
}
public static string FriendlyBody(string type)
{
return FriendlyNameManager.GetFriendlyName(string.Format("Message.body-{0}", type.ToLowerInvariant()));
}
public static string FriendlyHelp(string type)
{
return FriendlyNameManager.GetFriendlyName(string.Format("Message.help-{0}", type.ToLowerInvariant()));
}
public static string FriendlyAction(string type)
{
return FriendlyNameManager.GetFriendlyName(string.Format("Message.action-{0}", type.ToLowerInvariant()));
}
/// <summary>
/// True if this is a MessageType.ALARM. These Messages are generated by the perfmon daemon. Their Title
/// is always ALARM, and the Body contains the XML that specifies when the alert is triggered, as sent by us
/// to the server when the alert was configured.
/// </summary>
public bool IsPerfmonAlarm()
{
return this.Type == XenAPI.Message.MessageType.ALARM;
}
public bool ShowOnGraphs()
{
var typ = this.Type;
return typ == MessageType.VM_CLONED
|| typ == MessageType.VM_CRASHED
|| typ == MessageType.VM_REBOOTED
|| typ == MessageType.VM_RESUMED
|| typ == MessageType.VM_SHUTDOWN
|| typ == MessageType.VM_STARTED
|| typ == MessageType.VM_SUSPENDED;
}
public bool IsSquelched()
{
// We don't show HA_POOL_OVERCOMMITTED because we get HA_POOL_DROP_IN_PLAN_EXISTS_FOR at the same time.
return Type == MessageType.HA_POOL_OVERCOMMITTED;
}
}
}