示例#1
0
        // 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);
        }
示例#2
0
        private void CleanupInternal()
        {
            if (mStatus == Status.Scan)
            {
                StopScanInternal();
            }

            SetStatus(Status.Invalid);

            CleanupConnection();

            mCallback = null;
            mFinished = true;
        }