#author("2021-12-14T01:52:21+00:00","","")
#author("2021-12-14T02:32:46+00:00","","")
// 下階層用テンプレート
#topicpath
----
//ここにコンテンツを記述します。
Eclipseのプロキシーの設定は
 ウィンドウ >> 設定 >> インストール/更新
に記載されていますが、この情報を取得する方法を調べました。

#ref(pic.png)

この画面は org.eclipse.ui.preferencePages 拡張ポイントで作成されますが、その実装クラス org.eclipse.update.internal.ui.preferences.MainPreferencePage を見てみると

 SiteManager.setHttpProxyInfo(enableHttpProxy.getSelection(),
   httpProxyHostText.getText(),httpProxyPortText.getText());

となっていました。どうやら、このorg.eclipse.update.core.SiteManagerにこのプロキシの情報が格納されている模様です。


ちなみにこの設定は
 org.eclipse.update.ui
プラグインに記述されています。

抜粋
 <extension point="org.eclipse.ui.preferencePages">
   <page  name="%mainPreference.name"
     class="org.eclipse.update.internal.ui.preferences.MainPreferencePage"
     id="org.eclipse.update.internal.ui.preferences.MainPreferencePage">
     <keywordReference id="org.eclipse.update.ui.general"/>
   </page>
 </extension>


さて、このクラスorg.eclipse.update.core.SiteManagerですが、ここから値を取り出すためのstaticなメソッドがあります。
 org.eclipse.update.core.SiteManager#getHttpProxyPort
 org.eclipse.update.core.SiteManager#getHttpProxyServer
このメソッドを通して、SiteManagerに設定した値が取得できます。

つまり、自分が作ったプラグインも org.eclipse.update.uiを必須プラグインに設定し、上のメソッドを呼び出せばプロキシのアドレスやポート番号を取得することができます。


----
この記事は
#vote(おもしろかった[6],そうでもない[1])
#vote(おもしろかった[7],そうでもない[1])
-調べてみると、割と単純でしたね。でも認証のID/PASSは設定する画面がないので、ココは作り込みかあ。 -- [[きの]] &new{2006-04-05 00:05:54 (水)};
-org.eclipse.core.runtime.Preferences.IPropertyChangeListener 実装して、UpdateCoreのPreferencesにaddしても、設定画面の変更に反応してくれない。。なんで??UpdateCoreがinternalだから??(そんなことできんの?そもそも、internalてEclipse的にはどういう扱いなの?) -- [[きの]] &new{2006-04-05 09:12:41 (水)};
-よく見たら、プロキシを使う・使わないのチェックボックスには反応してるなあ -- [[きの]] &new{2006-04-05 09:25:20 (水)};

#comment
#topicpath


SIZE(10){現在のアクセス:&counter;}

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS