結果ウィンドウの表示
最後に結果ウィンドウの表示です。結果ウィンドウ自体はLiveアプリケーションが表示しますので,
表示ボタンと詳細情報リンクの有効化はHasPublishResultsメソッドとHasSummaryInformationメソッドの戻り値の設定により行います。どちらのメソッドも戻り値がBoolean型で,
Public Function HasPublishResults(ByVal sessionXml As XmlDocument) As Boolean Implements IPublishPlugin.HasPublishResults
' 表示ボタン有効
Return True
End Function
Public Function HasSummaryInformation(ByVal sessionXml As XmlDocument) As Boolean Implements IPublishPlugin.HasSummaryInformation
' 詳細情報リンク無効
Return False
End Function
表示ボタンクリック時の動作はLaunchPublishResultsメソッドに記述します。引数はSession XMLです。
Public Sub LaunchPublishResults(ByVal sessionXml As XmlDocument) Implements IPublishPlugin.LaunchPublishResults
Dim session = XDocument.Parse(sessionXml.InnerXml)
Dim userName = session.<PhotoGalleryPublishSession>.<PublishParameters>.<UserName>.Value
Try
' はてなフォトライフのユーザーページを開く
Process.Start("http://f.hatena.ne.jp/" & userName)
Catch ex As Exception
' Do nothing
End Try
End Sub
詳細情報リンククリック時の動作はShowSummaryInformationメソッドに記述します。ウィンドウの表示が想定されているため引数には,
Public Sub ShowSummaryInformation(ByVal parentWindow As IWin32Window, ByVal sessionXml As XmlDocument) Implements IPublishPlugin.ShowSummaryInformation
' 呼ばれない
End Sub
プラグインの実行
以上でLive フォト ギャラリーからはてなフォトライフへ写真のアップロードが可能になりました。実際に動かしてみましょう
もしセッション中に例外がスローされた場合はLiveアプリケーション側で吸収され詳細はわかりません。処理を細かく切り分けて失敗している原因を探すとよいでしょう。
次回もPhoto Gallery Publishing Plug-in Platformを利用したプラグイン作成の予定です。