async void model_PeerDiscovered(ShareTarget shareTarget) { await Dispatcher.RunAsync(Windows.UI.Core.CoreDispatcherPriority.Normal, () => { Targets.Add(shareTarget); }); }
async void PeerDiscovered(ShareTarget discoveredTarget) { await Dispatcher.RunAsync(Windows.UI.Core.CoreDispatcherPriority.Normal, () => { bool alreadyDiscovered = false; foreach (ShareTarget target in Targets) { if (target.Equals(discoveredTarget)) { alreadyDiscovered = true; break; } } if (!alreadyDiscovered) { Targets.Add(discoveredTarget); } }); }
private async void Share(ShareTarget target) { if (this.EnsureUnsnapped()) { var filePicker = new FileOpenPicker(); filePicker.ViewMode = PickerViewMode.Thumbnail; filePicker.CommitButtonText = "Share File"; filePicker.SettingsIdentifier = "becharming"; filePicker.SuggestedStartLocation = PickerLocationId.DocumentsLibrary; filePicker.FileTypeFilter.Add("*"); var selectedFile = await filePicker.PickSingleFileAsync(); if (selectedFile != null) { var properties = await selectedFile.GetBasicPropertiesAsync(); var size = properties.Size; var fileStream = await selectedFile.OpenReadAsync(); using (DataReader dataReader = new DataReader(fileStream)) { await dataReader.LoadAsync((uint)size); byte[] buffer = new byte[(int)size]; dataReader.ReadBytes(buffer); var fileBytes = buffer; ShareRequest request = new ShareRequest(); request.FileContents = fileBytes; request.FileName = selectedFile.Name; request.Target = target; ((MainViewModel)DataContext).Share(request); } } } }
public void PerformShare(ShareTarget shareTarget) { }
public void PerformShare(ShareTarget shareTarget) { shareIntent.SetPackage(shareTarget.PackageName); CrossCurrentActivity.Current.Activity.StartActivity(shareIntent); }
public void IncrementShareCount(ShareTarget target) { model.IncrementShareCount(target); }
public void AddTargetExecute(object state) { var target = new ShareTarget() { IPAddress = TargetIPAddress, Name = TargetName }; model.AddShareTarget(target); ShowAddNewShareTarget = false; }
void socket_MessageReceived(DatagramSocket sender, DatagramSocketMessageReceivedEventArgs args) { DataReader dr = args.GetDataReader(); var dataLength = dr.UnconsumedBufferLength; string discoveryResult = dr.ReadString(dataLength); string[] parts = discoveryResult.Split('|'); string name = parts[0]; bool isPinProtected = bool.Parse(parts[1]); string uniqueName = parts[3]; var existingTarget = GetShareTarget(uniqueName); var discoveredTarget = new ShareTarget() { Name = name, IPAddress = args.RemoteAddress.DisplayName, IsPinCodeRequired = isPinProtected, ShareTargetUniqueName = uniqueName }; if (existingTarget != null) { discoveredTarget.ShareCount = existingTarget.ShareCount; } if (PeerDiscovered != null) { PeerDiscovered(discoveredTarget); } }
public void DeleteShareTarget(ShareTarget shareTarget) { var localSettings = Windows.Storage.ApplicationData.Current.LocalSettings; var container = localSettings.CreateContainer("BeCharmingSettings", Windows.Storage.ApplicationDataCreateDisposition.Always); List<ShareTarget> shareTargets = null; if (container.Values["ShareTargets"] != null) { shareTargets = ObjectSerializer<List<ShareTarget>>.FromXml(container.Values["ShareTargets"] as string); } shareTargets.Remove(shareTarget); var xml = ObjectSerializer<List<ShareTarget>>.ToXml(shareTargets); container.Values["ShareTargets"] = xml; }
public void IncrementShareCount(ShareTarget target) { var localSettings = Windows.Storage.ApplicationData.Current.LocalSettings; var container = localSettings.CreateContainer("BeCharmingSettings", Windows.Storage.ApplicationDataCreateDisposition.Always); List<ShareTarget> shareTargets = null; if (container.Values["ShareTargets"] != null) { shareTargets = ObjectSerializer<List<ShareTarget>>.FromXml(container.Values["ShareTargets"] as string); } else { shareTargets = new List<ShareTarget>(); container.Values["ShareTargets"] = ObjectSerializer<List<ShareTarget>>.ToXml(shareTargets); } var targetToUpdate = shareTargets.Where(t => t.ShareTargetUniqueName == target.ShareTargetUniqueName).SingleOrDefault(); target.ShareCount++; if (targetToUpdate == null) { shareTargets.Add(target); } else { targetToUpdate.ShareCount = target.ShareCount; } var xml = ObjectSerializer<List<ShareTarget>>.ToXml(shareTargets); container.Values["ShareTargets"] = xml; }
public bool DoesTargetRequirePin(ShareTarget target) { return target.IsPinCodeRequired; }