Class BuddyPluginBeta.ChatInstance

java.lang.Object
com.biglybt.plugin.net.buddy.BuddyPluginBeta.ChatInstance
All Implemented Interfaces:
DataSourceResolver.ExportableDataSource
Enclosing class:
BuddyPluginBeta

public class BuddyPluginBeta.ChatInstance extends Object implements DataSourceResolver.ExportableDataSource
  • Field Details

    • OPT_INVISIBLE

      public static final String OPT_INVISIBLE
      See Also:
    • MSG_HISTORY_MAX

      private static final int MSG_HISTORY_MAX
      See Also:
    • network

      private final String network
    • key

      private final String key
    • is_private_chat

      private boolean is_private_chat
    • is_invisible_chat

      private boolean is_invisible_chat
    • private_target

      private final BuddyPluginBeta.ChatParticipant private_target
    • binding_lock

      private Object binding_lock
    • binding_sem

      private AESemaphore binding_sem
    • msgsync_pi

      private volatile PluginInterface msgsync_pi
    • handler

      private volatile Object handler
    • my_public_key

      private byte[] my_public_key
    • managing_public_key

      private byte[] managing_public_key
    • read_only

      private boolean read_only
    • ipc_version

      private int ipc_version
    • my_address

      private InetSocketAddress my_address
    • chat_lock

      private Object chat_lock
    • message_uid_next

      private AtomicInteger message_uid_next
    • messages

      private List<BuddyPluginBeta.ChatMessage> messages
    • message_ids

      private ByteArrayHashMap<String> message_ids
    • messages_not_mine_count

      private int messages_not_mine_count
    • participants

    • nick_clash_map

      private Map<String,List<BuddyPluginBeta.ChatParticipant>> nick_clash_map
    • listeners

    • user_data

      private Map<Object,Object> user_data
    • auto_dup_set

      private LinkedHashMap<String,String> auto_dup_set
    • keep_alive

      private boolean keep_alive
    • have_interest

      private boolean have_interest
    • status

      private Map<String,Object> status
    • is_shared_nick

      private boolean is_shared_nick
    • instance_nick

      private String instance_nick
    • reference_count

      private volatile int reference_count
    • virtual_reference_count

      private int virtual_reference_count
    • last_message_requiring_attention

      private BuddyPluginBeta.ChatMessage last_message_requiring_attention
    • message_outstanding

      private boolean message_outstanding
    • is_favourite

      private boolean is_favourite
    • auto_notify

      private boolean auto_notify
    • save_messages

      private boolean save_messages
    • log_messages

      private boolean log_messages
    • auto_mute

      private boolean auto_mute
    • enable_notification_posts

      private boolean enable_notification_posts
    • disable_new_msg_indications

      private boolean disable_new_msg_indications
    • display_name

      private String display_name
    • has_been_viewed

      private boolean has_been_viewed
    • last_bind_fail

      private volatile String last_bind_fail
    • destroyed

      private boolean destroyed
    • sort_event

      private TimerEvent sort_event
    • sort_force_changed

      private boolean sort_force_changed
    • dispatcher

      AsyncDispatcher dispatcher
  • Constructor Details

  • Method Details

    • getClone

      public BuddyPluginBeta.ChatInstance getClone() throws Exception
      Throws:
      Exception
    • exportDataSource

      public DataSourceResolver.ExportedDataSource exportDataSource()
      Specified by:
      exportDataSource in interface DataSourceResolver.ExportableDataSource
    • getBooleanOption

      public Boolean getBooleanOption(int opt)
      Specified by:
      getBooleanOption in interface DataSourceResolver.ExportableDataSource
    • addVirtualReference

      protected void addVirtualReference()
    • addReference

      protected void addReference()
    • getReferenceCount

      public int getReferenceCount()
    • getName

      public String getName()
    • getName

      public String getName(boolean abbreviated)
    • getShortKey

      public String getShortKey()
    • getShortName

      public String getShortName()
    • getNetwork

      public String getNetwork()
    • getKey

      public String getKey()
    • isFavourite

      public boolean isFavourite()
    • setAutoNotify

      public void setAutoNotify(boolean b)
    • isAutoNotify

      public boolean isAutoNotify()
    • isInteresting

      public boolean isInteresting()
    • setInteresting

      public void setInteresting(boolean b)
    • isStatistics

      public boolean isStatistics()
    • setFavourite

      public void setFavourite(boolean b)
    • setHasBeenViewed

      public void setHasBeenViewed()
    • getHasBeenViewed

      public boolean getHasBeenViewed()
    • getSaveMessages

      public boolean getSaveMessages()
    • setSaveMessages

      public void setSaveMessages(boolean b)
    • getLogMessages

      public boolean getLogMessages()
    • setLogMessages

      public void setLogMessages(boolean b)
    • getAutoMute

      public boolean getAutoMute()
    • setAutoMute

      public void setAutoMute(boolean b)
    • getViewType

      public int getViewType()
    • setViewType

      public void setViewType(int t)
    • getDisableNewMsgIndications

      public boolean getDisableNewMsgIndications()
    • setDisableNewMsgIndications

      public void setDisableNewMsgIndications(boolean b)
    • getEnableNotificationsPost

      public boolean getEnableNotificationsPost()
    • setEnableNotificationsPost

      public void setEnableNotificationsPost(boolean b)
    • getDisplayName

      public String getDisplayName()
    • setDisplayName

      public void setDisplayName(String str)
    • setSpammer

      private void setSpammer(BuddyPluginBeta.ChatParticipant participant, boolean is_spammer)
    • isManaged

      public boolean isManaged()
    • amManager

      public boolean amManager()
    • isManagedFor

      public boolean isManagedFor(String network, String key)
    • getManagedChannel

      public BuddyPluginBeta.ChatInstance getManagedChannel() throws Exception
      Throws:
      Exception
    • isReadOnlyFor

      public boolean isReadOnlyFor(String network, String key)
    • getReadOnlyChannel

      public BuddyPluginBeta.ChatInstance getReadOnlyChannel() throws Exception
      Throws:
      Exception
    • isReadOnly

      public boolean isReadOnly()
    • getURL

      public String getURL()
    • getPublicKey

      public byte[] getPublicKey()
    • isInvisible

      public boolean isInvisible()
    • isPrivateChat

      public boolean isPrivateChat()
    • isAnonymous

      public boolean isAnonymous()
    • getNetAndKey

      public String getNetAndKey()
    • setKeepAlive

      public void setKeepAlive(boolean b)
    • getKeepAlive

      public boolean getKeepAlive()
    • getDefaultNickname

      public String getDefaultNickname()
    • isSharedNickname

      public boolean isSharedNickname()
    • setSharedNickname

      public void setSharedNickname(boolean _shared)
    • getInstanceNickname

      public String getInstanceNickname()
    • setInstanceNickname

      public void setInstanceNickname(String _nick)
    • getNickname

      public String getNickname(boolean use_default)
    • getHandler

      private Object getHandler()
    • bind

      private void bind(PluginInterface _msgsync_pi, Object _handler, long timeout) throws Exception
      Throws:
      Exception
    • checkRebind

      private void checkRebind()
    • updateOptions

      private void updateOptions(Map<String,Object> options) throws Exception
      Throws:
      Exception
    • unbind

      private void unbind()
    • isAvailable

      public boolean isAvailable()
    • getHistory

      public BuddyPluginBeta.ChatMessage[] getHistory()
    • update

      private void update()
    • updated

      private void updated()
    • configChanged

      private void configChanged()
    • handleDrop

      public void handleDrop(String str)
    • getEstimatedNodes

      public int getEstimatedNodes()
    • getMessageCount

      public int getMessageCount(boolean not_mine)
    • getIncomingSyncState

      public int getIncomingSyncState()
      -ve -> state unknown 0 - synced +ve - number of messages pending
      Returns:
    • getOutgoingSyncState

      public int getOutgoingSyncState()
      -ve -> state unknown 0 - synced +ve - number of messages pending
      Returns:
    • isInitialised

      public boolean isInitialised()
    • getStatus

      public String getStatus()
    • sortMessages

      private void sortMessages(boolean force_change)
    • sortMessagesSupport

      private boolean sortMessagesSupport()
    • flattenTree

      private List<BuddyPluginBeta.ChatMessage> flattenTree(BuddyPluginBeta.ChatMessage head, Map<BuddyPluginBeta.ChatMessage,Object> next_map, int num_messages)
    • merge

    • messageReceived

      public void messageReceived(Map<String,Object> message_map) throws IPCException
      Throws:
      IPCException
    • chatRequested

      public Map<String,Object> chatRequested(Map<String,Object> message_map) throws IPCException
      Throws:
      IPCException
    • sendMessage

      public void sendMessage(Download download)
    • resetIPFilters

      void resetIPFilters()
    • getMagnet

      public String getMagnet(Download download, int size_hint)
    • trimMagnet

      private String trimMagnet(String magnet, int max)
    • sendMessage

      public void sendMessage(String message, Map<String,Object> options)
    • sendMessage

      public void sendMessage(String message, Map<String,Object> flags, Map<String,Object> options)
    • sendRawMessage

      public void sendRawMessage(byte[] message, Map<String,Object> flags, Map<String,Object> options)
    • sendLocalMessage

      public void sendLocalMessage(String message, String[] args, int message_type)
    • sendControlMessage

      public void sendControlMessage(String cmd)
    • sendMessageSupport

      private void sendMessageSupport(Object o_message, Map<String,Object> flags, Map<String,Object> options)
    • export

      public String export()
    • getMessages

      public List<BuddyPluginBeta.ChatMessage> getMessages()
    • hasUnseenMessageWithNick

      public boolean hasUnseenMessageWithNick()
    • getUnseenMessages

      public List<BuddyPluginBeta.ChatMessage> getUnseenMessages()
    • getParticipants

      public BuddyPluginBeta.ChatParticipant[] getParticipants()
    • getParticipant

      public BuddyPluginBeta.ChatParticipant getParticipant(String nick)
    • removeParticipant

    • updated

      protected void updated(BuddyPluginBeta.ChatParticipant p)
    • registerNick

      private void registerNick(BuddyPluginBeta.ChatParticipant p, String old_nick, String new_nick)
    • getOtherNickClashesHidden

      private boolean getOtherNickClashesHidden(BuddyPluginBeta.ChatParticipant p)
    • getLastMessageRequiringAttention

      public BuddyPluginBeta.ChatMessage getLastMessageRequiringAttention()
    • setUserData

      public void setUserData(Object key, Object value)
    • getUserData

      public Object getUserData(Object key)
    • getMessageOutstanding

      public boolean getMessageOutstanding()
    • setMessageOutstanding

      public void setMessageOutstanding(BuddyPluginBeta.ChatMessage message)
    • isOldOutstandingMessage

      public boolean isOldOutstandingMessage(BuddyPluginBeta.ChatMessage msg)
    • fixupSeenState

      public void fixupSeenState(List<BuddyPluginBeta.ChatMessage> msgs)
    • getMyAddress

      public InetSocketAddress getMyAddress()
    • addListener

      public void addListener(BuddyPluginBeta.ChatListener listener)
    • removeListener

      public void removeListener(BuddyPluginBeta.ChatListener listener)
    • remove

      public void remove()
    • isDestroyed

      public boolean isDestroyed()
    • destroy

      public void destroy()
    • destroy

      private void destroy(boolean force)