public void Read (TProtocol iprot) { iprot.IncrementRecursionDepth(); try { TField field; iprot.ReadStructBegin(); while (true) { field = iprot.ReadFieldBegin(); if (field.Type == TType.Stop) { break; } switch (field.ID) { case 0: if (field.Type == TType.Struct) { Success = new ServiceConfig(); Success.Read(iprot); } else { TProtocolUtil.Skip(iprot, field.Type); } break; default: TProtocolUtil.Skip(iprot, field.Type); break; } iprot.ReadFieldEnd(); } iprot.ReadStructEnd(); } finally { iprot.DecrementRecursionDepth(); } }
public IAsyncResult Begin_SetConfiguration(AsyncCallback callback, object state, ServiceConfig newConfig) { return send_SetConfiguration(callback, state, newConfig); }
public void send_SetConfiguration(ServiceConfig newConfig) #endif { oprot_.WriteMessageBegin(new TMessage("SetConfiguration", TMessageType.Call, seqid_)); SetConfiguration_args args = new SetConfiguration_args(); args.NewConfig = newConfig; args.Write(oprot_); oprot_.WriteMessageEnd(); #if SILVERLIGHT return oprot_.Transport.BeginFlush(callback, state); #else oprot_.Transport.Flush(); #endif }
public IAsyncResult send_SetConfiguration(AsyncCallback callback, object state, ServiceConfig newConfig)
/// <summary> /// Sets the current service configuration /// </summary> /// <param name="newConfig"></param> public void SetConfiguration(ServiceConfig newConfig) { #if !SILVERLIGHT send_SetConfiguration(newConfig); recv_SetConfiguration(); #else var asyncResult = Begin_SetConfiguration(null, null, newConfig); End_SetConfiguration(asyncResult); #endif }
public void SetConfiguration(ServiceConfig newConfig) { // Lock the config so we don't try to modify and dispatch the service configuration at the same time lock (m_configLock) { m_pageIds = new List<string>(); m_pageIds.Add(newConfig.PageId); m_apiPollingPeriod = newConfig.PollingPeriod; m_rainmeterInstallDir = newConfig.RainmeterExe; } // Write the new config out to the config file for persistance using (XmlWriter writer = XmlWriter.Create("ServiceConfig.xml")) { writer.WriteStartDocument(); writer.WriteStartElement("JustGivingServiceConfig"); // Rainmeter install directory writer.WriteStartElement("RainmeterInstallDir"); writer.WriteString(m_rainmeterInstallDir); writer.WriteEndElement(); // Polling period writer.WriteStartElement("PollingPeriod"); writer.WriteString(m_apiPollingPeriod.ToString()); writer.WriteEndElement(); // Page ID writer.WriteStartElement("PageId"); writer.WriteString(m_pageIds.First()); writer.WriteEndElement(); writer.WriteEndElement(); writer.WriteEndDocument(); } }
// Thrift accessors public ServiceConfig GetConfiguration() { ServiceConfig config = new ServiceConfig(); // We don't want something to be accessing the config if it's in the middle of being changed lock (m_configLock) { config.PageId = m_pageIds.First(); // Obviously this will change when the rainmeter skin supports multiple fundraisers config.PollingPeriod = m_apiPollingPeriod; config.RainmeterExe = m_rainmeterInstallDir; } return config; }