예제 #1
0
        public async void CheckEndpointCommand_Execute()
        {
            if (String.IsNullOrEmpty(WebsiteOrEndpointUrl))
            {
                return;
            }

            StatusText = "";

            Uri uri;

            try
            {
                uri = new Uri(WebsiteOrEndpointUrl);
            }
            catch
            {
                // TODO make use of ErrorInfo
                return;
            }

            IsBusy = true;
            try
            {
                //
                ServiceResultBase sr = await _serviceDiscovery.DiscoverService(uri);

                if (sr == null)
                {
                    return;
                }

                if (sr is ServiceResultErr)
                {
                    // TODO ErrorInfo
                    //(sr as ServiceResultErr).Err
                    return;
                }

                if (sr is ServiceResultAtomFeed)
                {
                    //(sr as ServiceResultAtomFeed).AtomFeedUrl
                }

                //ServiceResultAuthRequired

                //ServiceResultAtomPub
                //ServiceResultXmlRpc
                //ServiceResultAtomAPI

                //sr.EndpointUri

                /*
                 * switch (sr.Service)
                 * {
                 *  case ServiceTypes.AtomPub:
                 *      //
                 *      break;
                 *  case ServiceTypes.AtomPub_Hatena:
                 *      //
                 *      break;
                 *  case ServiceTypes.XmlRpc_WordPress:
                 *      //
                 *      break;
                 *  case ServiceTypes.XmlRpc_MovableType:
                 *      //
                 *      break;
                 *  case ServiceTypes.AtomApi:
                 *      //
                 *      break;
                 *  case ServiceTypes.AtomApi_GData:
                 *      //
                 *      break;
                 *  case ServiceTypes.Unknown:
                 *      //
                 *      break;
                 *
                 * }
                 *
                 */
            }
            finally
            {
                IsBusy = false;
            }
        }