private IDictionary <string, object> RpcGetConfiguration(string uuid) { IUserObject instance = m_mot.GetInstance(Guid.Parse(uuid)); if (instance == null) { throw new ArgumentException("No such object."); } IDictionary <string, object> config = m_mot.GetConfiguration(instance.UUID); if (config == null) { throw new ArgumentException("Object does not have a configuration."); } // Set up the result Dictionary <string, object> result = new Dictionary <string, object>(); result["active"] = config; IConfigurationDescription configDescription = m_mot.GetConfigurationDescription(instance.UUID); List <IDictionary <string, object> > details = new List <IDictionary <string, object> >(); foreach (IConfigurationValue value in configDescription) { details.Add(value.Pack()); } result["details"] = details; return(result); }
/// <summary> /// Constructor /// </summary> public ServiceManager() { // Add ourselves to the MOT MasterObjectTable mot = Locator.Current.GetService <MasterObjectTable>(); mot.AddMetaData(Utilities.GetContainingAssembly <ServiceManager>()); mot.AddInstance(this); // Load and apply our configuration (IFolder must be available by now) IConfigurationDescription serverConfigDescription = mot.GetConfigurationDescription(UUID); IDictionary <string, object> serverConfig = mot.GetConfigurationFromFile(UUID, "SensHub.json"); ApplyConfiguration(serverConfigDescription, serverConfig); }