public void WriteProfile(GarminFitnessPlugin.Data.GarminProfile profile) { Logger.Instance.LogText("Comm. : Writing profile"); Debug.Assert(m_CurrentOperation == DeviceOperations.Idle); m_CancellationError = ""; m_Controller.CommunicatorBridge.SetDeviceNumber(m_DeviceNumber); if (SupportsFITProfile) { if (m_FITSportFileWritePath.Equals(m_FITSettingsFileWritePath)) { Logger.Instance.LogText("Comm. : Writing FIT profile"); IList<String> filenames; ClearTempDirectory(); filenames = ProfileExporter.ExportProfileToFIT(m_TempDirectoryLocation); Logger.Instance.LogText(String.Format("Comm. : {0} FIT profile files", filenames.Count)); m_CurrentOperation = DeviceOperations.WriteProfile; m_Controller.CommunicatorBridge.WriteFilesToDevice(filenames, m_FITSportFileWritePath); } else { throw new Exception("Different export path for setting & sport FIT files. Please report this problem to PissedOffCil on the SportTracks forum."); } } else { string fileName = "UserProfile.tcx"; MemoryStream textStream = new MemoryStream(); ProfileExporter.ExportProfile(profile, textStream); string xmlCode = Encoding.UTF8.GetString(textStream.GetBuffer()); m_CurrentOperation = DeviceOperations.WriteProfile; m_Controller.CommunicatorBridge.WriteProfileToFitnessDevice(xmlCode, fileName); } }
public void ReadProfile(GarminFitnessPlugin.Data.GarminProfile profile) { Logger.Instance.LogText("Comm. : Reading profile"); Debug.Assert(m_CurrentOperation == DeviceOperations.Idle); m_CancellationError = ""; m_Controller.CommunicatorBridge.SetDeviceNumber(m_DeviceNumber); if (SupportsFITProfile) { Logger.Instance.LogText("Comm. : Reading FIT directory for profile"); m_MassStorageFileReadCount = 0; m_IsReadingDirectory = true; ClearTempDirectory(); m_CurrentOperation = DeviceOperations.ReadFITProfile; m_Controller.CommunicatorBridge.GetFITDirectoryInfo(); } else { m_CurrentOperation = DeviceOperations.ReadProfile; m_Controller.CommunicatorBridge.ReadProfileFromFitnessDevice(); } }