Package com.biglybt.plugin.net.buddy
Class BuddyPlugin
- java.lang.Object
-
- com.biglybt.plugin.net.buddy.BuddyPlugin
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static interface
BuddyPlugin.CryptoResult
protected static class
BuddyPlugin.FeedDetails
-
Field Summary
-
Constructor Summary
Constructors Constructor Description BuddyPlugin()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description BuddyPluginBuddy
addBuddy(boolean public_network, java.lang.String key, int subsystem)
void
addListener(BuddyPluginListener listener)
void
addPartialBuddyListener(PartialBuddyListener l)
void
addPublicTagOrCategory(java.lang.String cat)
protected void
addRateLimiters(GenericMessageConnection connection)
protected void
addSWTUIWaiter(java.lang.Runnable r)
protected void
checkAvailable()
void
createChat(BuddyPluginBuddy[] buddies)
protected java.lang.String
escape(java.lang.String str)
protected void
fireAdded(BuddyPluginBuddy buddy)
protected void
fireDetailsChanged(BuddyPluginBuddy buddy)
protected void
fireEnabledStateChanged()
protected void
fireRemoved(BuddyPluginBuddy buddy)
protected void
fireUpdated()
protected long
getAddedTime(Download download)
BuddyPluginBeta
getBeta()
java.util.List<BuddyPluginBuddy>
getBuddies()
BuddyPluginBuddy
getBuddyFromPublicKey(java.lang.String key)
BooleanParameter
getEnableChatNotificationsParameter()
boolean
getFPEnabled()
protected int
getInitialisationState()
java.lang.String
getNickname(boolean public_network)
int
getOnlineStatus(boolean public_network)
java.lang.String
getOnlineStatus(int status)
java.util.List<PartialBuddy>
getPartialBuddies()
boolean
getPeersAreLANLocal()
PluginInterface
getPluginInterface()
private BuddyPluginNetwork
getPluginNetwork(boolean pub)
BuddyPluginNetwork[]
getPluginNetworks()
java.util.List<java.lang.String>
getProfileInfo(boolean public_network)
java.lang.String
getPublicKey(boolean public_network)
BuddyPlugin.FeedDetails
getRSS(BuddyPluginBuddy buddy, java.lang.String tag_or_category, java.lang.String if_mod)
byte[]
getRSSTorrent(BuddyPluginBuddy buddy, java.lang.String category, byte[] hash)
BuddyPluginViewInterface
getSWTUI()
BuddyPluginTracker
getTracker()
java.io.InputStream
handleURLProtocol(AZPluginConnection connection, java.lang.String arg_str)
void
initialize(PluginInterface _plugin_interface)
This method is called when the Plugin is loaded by the clientboolean
isAvailable()
boolean
isBetaEnabled()
boolean
isClassicEnabled()
boolean
isFullBuddy(Peer peer)
boolean
isInitializationComplete()
boolean
isLoggerEnabled()
boolean
isPartialBuddy(Download download, Peer peer)
boolean
isPublicTagOrCategory(java.lang.String cat)
static void
load(PluginInterface plugin_interface)
void
log(BuddyPluginBuddy buddy, java.lang.String str)
void
log(BuddyPluginBuddy buddy, java.lang.String str, java.lang.Throwable e)
void
logMessage(BuddyPluginBuddy buddy, java.lang.String str)
void
logMessage(BuddyPluginBuddy buddy, java.lang.String str, boolean is_error)
void
logMessage(BuddyPluginBuddy buddy, java.lang.String str, java.lang.Throwable e)
protected static java.lang.String
normaliseCat(java.lang.String str)
protected static void
normaliseCats(java.util.Set<java.lang.String> cats)
void
partialBuddyAdded(PartialBuddy pb)
void
partialBuddyChanged(PartialBuddy pb)
void
partialBuddyRemoved(PartialBuddy pb)
BuddyPluginBuddy
peekBuddy(boolean public_network, java.lang.String key)
void
removeListener(BuddyPluginListener listener)
void
removePartialBuddyListener(PartialBuddyListener l)
void
removePublicTagOrCategory(java.lang.String cat)
boolean
setClassicEnabled(boolean enabled, boolean auto)
void
setNickname(boolean public_network, java.lang.String str)
void
setOnlineStatus(boolean public_network, int status)
void
setPartialBuddy(Download download, Peer peer, boolean is_partial, boolean manual)
protected void
setPublicTagsOrCategories(java.lang.String str, boolean persist)
protected void
setPublicTagsOrCategories(java.util.Set<java.lang.String> new_pub_tags_or_cats, boolean persist)
protected void
setupDisablePrompt(UIInstance ui)
void
showConfig()
byte[]
sign(boolean public_network, byte[] payload)
private void
startup()
protected void
updateLocale(LocaleUtilities lu)
private void
updateNickName(boolean public_network, java.lang.String nick)
private void
updateOnlineStatus(boolean public_network, int status)
private void
updateProfiles()
private java.util.List<java.lang.String>
updateProfileSupport(StringParameter param)
boolean
verify(boolean public_network, java.lang.String pk, byte[] payload, byte[] signature)
boolean
verifyPublicKey(boolean public_network, java.lang.String key)
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface com.biglybt.pif.Plugin
getInitialProperties
-
-
-
-
Field Detail
-
SUPPORT_ONLINE_STATUS
public static final boolean SUPPORT_ONLINE_STATUS
- See Also:
- Constant Field Values
-
TIMER_PERIOD
public static final int TIMER_PERIOD
- See Also:
- Constant Field Values
-
FEED_UPDATE_MIN_MILLIS
private static final int FEED_UPDATE_MIN_MILLIS
- See Also:
- Constant Field Values
-
VIEW_ID
private static final java.lang.String VIEW_ID
- See Also:
- Constant Field Values
-
plugin_interface
private PluginInterface plugin_interface
-
STATUS_ONLINE
public static final int STATUS_ONLINE
- See Also:
- Constant Field Values
-
STATUS_AWAY
public static final int STATUS_AWAY
- See Also:
- Constant Field Values
-
STATUS_NOT_AVAILABLE
public static final int STATUS_NOT_AVAILABLE
- See Also:
- Constant Field Values
-
STATUS_BUSY
public static final int STATUS_BUSY
- See Also:
- Constant Field Values
-
STATUS_APPEAR_OFFLINE
public static final int STATUS_APPEAR_OFFLINE
- See Also:
- Constant Field Values
-
STATUS_VALUES
public static final java.lang.String[] STATUS_VALUES
-
STATUS_KEYS
public static final java.lang.String[] STATUS_KEYS
-
STATUS_STRINGS
public static final java.lang.String[] STATUS_STRINGS
-
classic_enabled_param
private BooleanParameter classic_enabled_param
-
nick_name_public_param
private StringParameter nick_name_public_param
-
online_status_public_param
private StringListParameter online_status_public_param
-
profile_public_param
private StringParameter profile_public_param
-
nick_name_anon_param
private StringParameter nick_name_anon_param
-
online_status_anon_param
private StringListParameter online_status_anon_param
-
profile_anon_param
private StringParameter profile_anon_param
-
public_profile_list
private java.util.List<java.lang.String> public_profile_list
-
anon_profile_list
private java.util.List<java.lang.String> anon_profile_list
-
enable_chat_notifications
private BooleanParameter enable_chat_notifications
-
cat_pub
private StringParameter cat_pub
-
beta_enabled_param
private BooleanParameter beta_enabled_param
-
buddy_tracker
private BuddyPluginTracker buddy_tracker
-
ta_category
private TorrentAttribute ta_category
-
logger
private LoggerChannel logger
-
public_tags_or_categories
private java.util.Set<java.lang.String> public_tags_or_categories
-
lan_local_peers
private boolean lan_local_peers
-
fp_enable
private boolean fp_enable
-
beta_plugin
private BuddyPluginBeta beta_plugin
-
swt_ui
private BuddyPluginViewInterface swt_ui
-
swt_ui_waiters
private java.util.List<java.lang.Runnable> swt_ui_waiters
-
listeners
private CopyOnWriteList<BuddyPluginListener> listeners
-
pb_listeners
private CopyOnWriteList<PartialBuddyListener> pb_listeners
-
configEnabledListener
private ParameterListener configEnabledListener
-
initialization_complete
private java.util.concurrent.atomic.AtomicBoolean initialization_complete
-
INIT_UNKNOWN
protected static final int INIT_UNKNOWN
- See Also:
- Constant Field Values
-
INIT_OK
protected static final int INIT_OK
- See Also:
- Constant Field Values
-
INIT_BAD
protected static final int INIT_BAD
- See Also:
- Constant Field Values
-
initialisation_state
private volatile int initialisation_state
-
inbound_limiter
private RateLimiter inbound_limiter
-
outbound_limiter
private RateLimiter outbound_limiter
-
plugin_networks
private BuddyPluginNetwork[] plugin_networks
-
-
Method Detail
-
load
public static void load(PluginInterface plugin_interface)
-
initialize
public void initialize(PluginInterface _plugin_interface)
Description copied from interface:Plugin
This method is called when the Plugin is loaded by the client- Specified by:
initialize
in interfacePlugin
- Parameters:
_plugin_interface
- the interface that the plugin must use to communicate with the client
-
getPluginInterface
public PluginInterface getPluginInterface()
-
getPluginNetworks
public BuddyPluginNetwork[] getPluginNetworks()
-
getInitialisationState
protected int getInitialisationState()
-
isInitializationComplete
public boolean isInitializationComplete()
-
getOnlineStatus
public java.lang.String getOnlineStatus(int status)
-
isClassicEnabled
public boolean isClassicEnabled()
-
setClassicEnabled
public boolean setClassicEnabled(boolean enabled, boolean auto)
-
isBetaEnabled
public boolean isBetaEnabled()
-
getBeta
public BuddyPluginBeta getBeta()
-
getTracker
public BuddyPluginTracker getTracker()
-
getPeersAreLANLocal
public boolean getPeersAreLANLocal()
-
getFPEnabled
public boolean getFPEnabled()
-
isLoggerEnabled
public boolean isLoggerEnabled()
-
updateLocale
protected void updateLocale(LocaleUtilities lu)
-
setupDisablePrompt
protected void setupDisablePrompt(UIInstance ui)
-
getNickname
public java.lang.String getNickname(boolean public_network)
-
setNickname
public void setNickname(boolean public_network, java.lang.String str)
-
getOnlineStatus
public int getOnlineStatus(boolean public_network)
-
setOnlineStatus
public void setOnlineStatus(boolean public_network, int status)
-
showConfig
public void showConfig()
-
fireEnabledStateChanged
protected void fireEnabledStateChanged()
-
fireUpdated
protected void fireUpdated()
-
getSWTUI
public BuddyPluginViewInterface getSWTUI()
-
addSWTUIWaiter
protected void addSWTUIWaiter(java.lang.Runnable r)
-
addRateLimiters
protected void addRateLimiters(GenericMessageConnection connection)
-
getPartialBuddies
public java.util.List<PartialBuddy> getPartialBuddies()
-
isAvailable
public boolean isAvailable()
-
checkAvailable
protected void checkAvailable() throws BuddyPluginException
- Throws:
BuddyPluginException
-
addListener
public void addListener(BuddyPluginListener listener)
-
removeListener
public void removeListener(BuddyPluginListener listener)
-
fireAdded
protected void fireAdded(BuddyPluginBuddy buddy)
-
fireRemoved
protected void fireRemoved(BuddyPluginBuddy buddy)
-
fireDetailsChanged
protected void fireDetailsChanged(BuddyPluginBuddy buddy)
-
isFullBuddy
public boolean isFullBuddy(Peer peer)
-
setPartialBuddy
public void setPartialBuddy(Download download, Peer peer, boolean is_partial, boolean manual)
-
getEnableChatNotificationsParameter
public BooleanParameter getEnableChatNotificationsParameter()
-
updateProfiles
private void updateProfiles()
-
updateProfileSupport
private java.util.List<java.lang.String> updateProfileSupport(StringParameter param)
-
normaliseCat
protected static java.lang.String normaliseCat(java.lang.String str)
-
normaliseCats
protected static void normaliseCats(java.util.Set<java.lang.String> cats)
-
isPublicTagOrCategory
public boolean isPublicTagOrCategory(java.lang.String cat)
-
addPublicTagOrCategory
public void addPublicTagOrCategory(java.lang.String cat)
-
removePublicTagOrCategory
public void removePublicTagOrCategory(java.lang.String cat)
-
setPublicTagsOrCategories
protected void setPublicTagsOrCategories(java.lang.String str, boolean persist)
-
setPublicTagsOrCategories
protected void setPublicTagsOrCategories(java.util.Set<java.lang.String> new_pub_tags_or_cats, boolean persist)
-
addPartialBuddyListener
public void addPartialBuddyListener(PartialBuddyListener l)
-
removePartialBuddyListener
public void removePartialBuddyListener(PartialBuddyListener l)
-
partialBuddyAdded
public void partialBuddyAdded(PartialBuddy pb)
-
partialBuddyChanged
public void partialBuddyChanged(PartialBuddy pb)
-
partialBuddyRemoved
public void partialBuddyRemoved(PartialBuddy pb)
-
handleURLProtocol
public java.io.InputStream handleURLProtocol(AZPluginConnection connection, java.lang.String arg_str) throws IPCException
- Throws:
IPCException
-
getAddedTime
protected long getAddedTime(Download download)
-
escape
protected java.lang.String escape(java.lang.String str)
-
getRSS
public BuddyPlugin.FeedDetails getRSS(BuddyPluginBuddy buddy, java.lang.String tag_or_category, java.lang.String if_mod) throws BuddyPluginException
- Throws:
BuddyPluginException
-
getRSSTorrent
public byte[] getRSSTorrent(BuddyPluginBuddy buddy, java.lang.String category, byte[] hash) throws BuddyPluginException
- Throws:
BuddyPluginException
-
createChat
public void createChat(BuddyPluginBuddy[] buddies)
-
getPluginNetwork
private BuddyPluginNetwork getPluginNetwork(boolean pub)
-
startup
private void startup()
-
updateNickName
private void updateNickName(boolean public_network, java.lang.String nick)
-
updateOnlineStatus
private void updateOnlineStatus(boolean public_network, int status)
-
getPublicKey
public java.lang.String getPublicKey(boolean public_network)
-
getProfileInfo
public java.util.List<java.lang.String> getProfileInfo(boolean public_network)
-
sign
public byte[] sign(boolean public_network, byte[] payload) throws BuddyPluginException
- Throws:
BuddyPluginException
-
verify
public boolean verify(boolean public_network, java.lang.String pk, byte[] payload, byte[] signature) throws BuddyPluginException
- Throws:
BuddyPluginException
-
verifyPublicKey
public boolean verifyPublicKey(boolean public_network, java.lang.String key)
-
addBuddy
public BuddyPluginBuddy addBuddy(boolean public_network, java.lang.String key, int subsystem)
-
peekBuddy
public BuddyPluginBuddy peekBuddy(boolean public_network, java.lang.String key)
-
getBuddies
public java.util.List<BuddyPluginBuddy> getBuddies()
-
getBuddyFromPublicKey
public BuddyPluginBuddy getBuddyFromPublicKey(java.lang.String key)
-
logMessage
public void logMessage(BuddyPluginBuddy buddy, java.lang.String str, java.lang.Throwable e)
-
logMessage
public void logMessage(BuddyPluginBuddy buddy, java.lang.String str)
-
logMessage
public void logMessage(BuddyPluginBuddy buddy, java.lang.String str, boolean is_error)
-
log
public void log(BuddyPluginBuddy buddy, java.lang.String str)
-
log
public void log(BuddyPluginBuddy buddy, java.lang.String str, java.lang.Throwable e)
-
-