// IWcfCentralHost bool IWcfCentralHost.Initialize(string serviceUUID, string uploadUUID, string downloadUUID) { Utils.Info("Initialize: {0}, {1}, {2}", serviceUUID, uploadUUID, downloadUUID); lock (mLockObject) { if (mStatus != Status.Invalid) { Utils.Error("invalid status: {0}", mStatus.ToString()); return(false); } try { mCallback = OperationContext.Current.GetCallbackChannel <IWcfCentralCallback>(); mServiceUUID = new Guid(serviceUUID); mUploadUUID = new Guid(uploadUUID); mDownloadUUID = new Guid(downloadUUID); } catch (Exception e) { Utils.Error(e.ToString()); CleanupInternal(); return(false); } SetStatus(Status.Ready); mCallback.OnReady(); } return(true); }
private void CleanupInternal() { if (mStatus == Status.Scan) { StopScanInternal(); } SetStatus(Status.Invalid); CleanupConnection(); mCallback = null; mFinished = true; }