using System;
using System.Collections.Generic;
namespace Vinno.vCloud.Common.FIS
{
public enum RegisterType
{
Success,
Error,
Failed
}
public interface IvCloudTerminal : IDisposable
{
///
/// Get device code.
///
string DeviceCode { get; }
string Url { get; }
///
/// The uniqueId create when terminal created, used to add terminal for client user.
///
string UniqueId { get; }
///
/// Gets the status of the Terminal
///
TerminalStatus Status { get; }
///
/// Raised when the status is changed.
///
event EventHandler StatusChanged;
///
/// Get the feature instance by feature enum.
///
/// The interface of the feature
/// The feature type
/// The instance of the feature
///
/// If the feature doesn't exist, this method will return null.
///
T GetFeature(TerminalFeatureType featureType) where T : IFeature;
IEnumerable GetOrganizations(string keyWord);
///
/// Disconnect to server.
///
void Disconnect();
///
/// Status == TerminalStatus.OrganizationMissing;
///
///
bool IsTerminalOrganizationMissging();
///
/// update terminal account organization name to server
///
///
///
/// update success or yfailed
bool UpdatelTerminalOrganizationName(string organizationName, bool createNewOrganization);
///
/// get terminal Organization name after this must login successed
///
///
string GetOrganizationName();
///
/// Update enabled feature types.
///
/// The enabled feature types.
void UpdateFeatures(IEnumerable enabledFeatureTypes);
}
}