Autopsy  4.19.3
Graphical digital forensics platform for The Sleuth Kit and other tools.
Public Member Functions | Private Member Functions | Private Attributes | Static Private Attributes | List of all members
org.sleuthkit.autopsy.events.AutopsyEventPublisher Class Reference

Public Member Functions

 AutopsyEventPublisher ()
 
void addSubscriber (Set< String > eventNames, PropertyChangeListener subscriber)
 
void addSubscriber (String eventName, PropertyChangeListener subscriber)
 
synchronized void closeRemoteEventChannel ()
 
synchronized void openRemoteEventChannel (String channelName) throws AutopsyEventException
 
void publish (AutopsyEvent event)
 
void publishLocally (AutopsyEvent event)
 
synchronized void publishRemotely (AutopsyEvent event)
 
void removeSubscriber (Set< String > eventNames, PropertyChangeListener subscriber)
 
void removeSubscriber (String eventName, PropertyChangeListener subscriber)
 

Private Member Functions

synchronized void stopRemotePublisher ()
 

Private Attributes

String currentChannelName
 
final LocalEventPublisher localPublisher
 
RemoteEventPublisher remotePublisher
 

Static Private Attributes

static final Logger logger = Logger.getLogger(AutopsyEventPublisher.class.getName())
 
static final int MAX_REMOTE_EVENT_PUBLISH_TRIES = 1
 

Detailed Description

Provides thread-safe support for publishing events to registered subscribers on both this Autopsy node and other Autopsy nodes. Subscribers are required to be PropertyChangeListeners to integrate with the legacy use of JavaBeans PropertyChangeEvents and PropertyChangeListeners as an application event system.

Definition at line 40 of file AutopsyEventPublisher.java.

Constructor & Destructor Documentation

org.sleuthkit.autopsy.events.AutopsyEventPublisher.AutopsyEventPublisher ( )

Constructs an object for publishing events to registered subscribers on both this Autopsy node and other Autopsy nodes. Communication with other nodes is not turned on by default - call openRemoteEventChannel() after construction.

Definition at line 56 of file AutopsyEventPublisher.java.

Member Function Documentation

void org.sleuthkit.autopsy.events.AutopsyEventPublisher.addSubscriber ( Set< String >  eventNames,
PropertyChangeListener  subscriber 
)
void org.sleuthkit.autopsy.events.AutopsyEventPublisher.addSubscriber ( String  eventName,
PropertyChangeListener  subscriber 
)

Adds an event subscriber to this publisher.

Parameters
eventNameThe event the subscriber is interested in.
subscriberThe subscriber to add.

Definition at line 111 of file AutopsyEventPublisher.java.

synchronized void org.sleuthkit.autopsy.events.AutopsyEventPublisher.closeRemoteEventChannel ( )
synchronized void org.sleuthkit.autopsy.events.AutopsyEventPublisher.openRemoteEventChannel ( String  channelName) throws AutopsyEventException

Opens an event channel used for publishing events to, and receiving events from, other Autopsy nodes. Only one channel may be open at a time.

Parameters
channelNameThe name of the event channel.
Exceptions
AutopsyEventExceptionif the channel was not opened.

Definition at line 68 of file AutopsyEventPublisher.java.

References org.sleuthkit.autopsy.events.AutopsyEventPublisher.closeRemoteEventChannel(), org.sleuthkit.autopsy.events.AutopsyEventPublisher.currentChannelName, org.sleuthkit.autopsy.core.UserPreferences.getMessageServiceConnectionInfo(), and org.sleuthkit.autopsy.events.AutopsyEventPublisher.remotePublisher.

Referenced by org.sleuthkit.autopsy.casemodule.Case.openCommunicationChannels(), and org.sleuthkit.autopsy.events.AutopsyEventPublisher.publishRemotely().

void org.sleuthkit.autopsy.events.AutopsyEventPublisher.publish ( AutopsyEvent  event)

Publishes an event to this Autopsy node and other Autopsy nodes.

Parameters
eventThe event to publish.

Definition at line 140 of file AutopsyEventPublisher.java.

References org.sleuthkit.autopsy.events.AutopsyEventPublisher.publishLocally(), and org.sleuthkit.autopsy.events.AutopsyEventPublisher.publishRemotely().

Referenced by org.sleuthkit.autopsy.casemodule.Case.addReport(), org.sleuthkit.autopsy.casemodule.Case.deleteReports(), org.sleuthkit.autopsy.casemodule.Case.notifyAddingDataSource(), org.sleuthkit.autopsy.casemodule.Case.notifyBlackBoardArtifactTagAdded(), org.sleuthkit.autopsy.casemodule.Case.notifyBlackBoardArtifactTagDeleted(), org.sleuthkit.autopsy.casemodule.Case.notifyCentralRepoCommentChanged(), org.sleuthkit.autopsy.casemodule.Case.notifyContentTagAdded(), org.sleuthkit.autopsy.casemodule.Case.notifyContentTagDeleted(), org.sleuthkit.autopsy.casemodule.Case.notifyDataSourceAdded(), org.sleuthkit.autopsy.casemodule.Case.notifyDataSourceNameChanged(), org.sleuthkit.autopsy.casemodule.Case.notifyFailedAddingDataSource(), org.sleuthkit.autopsy.casemodule.Case.notifyTagDefinitionChanged(), org.sleuthkit.autopsy.casemodule.Case.SleuthkitEventListener.publicTagNamesAdded(), org.sleuthkit.autopsy.casemodule.Case.SleuthkitEventListener.publicTagNamesDeleted(), org.sleuthkit.autopsy.casemodule.Case.SleuthkitEventListener.publicTagNamesUpdated(), org.sleuthkit.autopsy.casemodule.Case.SleuthkitEventListener.publicTagSetsAdded(), org.sleuthkit.autopsy.casemodule.Case.SleuthkitEventListener.publicTagSetsDeleted(), org.sleuthkit.autopsy.casemodule.Case.SleuthkitEventListener.publishHostsAddedEvent(), org.sleuthkit.autopsy.casemodule.Case.SleuthkitEventListener.publishHostsAddedToPersonEvent(), org.sleuthkit.autopsy.casemodule.Case.SleuthkitEventListener.publishHostsDeletedEvent(), org.sleuthkit.autopsy.casemodule.Case.SleuthkitEventListener.publishHostsUpdatedEvent(), org.sleuthkit.autopsy.casemodule.Case.SleuthkitEventListener.publishOsAccountDeletedEvent(), org.sleuthkit.autopsy.casemodule.Case.SleuthkitEventListener.publishOsAccountInstancesAddedEvent(), org.sleuthkit.autopsy.casemodule.Case.SleuthkitEventListener.publishOsAccountsAddedEvent(), org.sleuthkit.autopsy.casemodule.Case.SleuthkitEventListener.publishOsAccountsUpdatedEvent(), org.sleuthkit.autopsy.casemodule.Case.SleuthkitEventListener.publisHostsRemovedFromPersonEvent(), org.sleuthkit.autopsy.casemodule.Case.SleuthkitEventListener.publishPersonsAddedEvent(), org.sleuthkit.autopsy.casemodule.Case.SleuthkitEventListener.publishPersonsDeletedEvent(), org.sleuthkit.autopsy.casemodule.Case.SleuthkitEventListener.publishPersonsUpdatedEvent(), org.sleuthkit.autopsy.casemodule.Case.SleuthkitEventListener.publishTimelineEventAddedEvent(), and org.sleuthkit.autopsy.ingest.IngestManager.PublishEventTask.run().

void org.sleuthkit.autopsy.events.AutopsyEventPublisher.publishLocally ( AutopsyEvent  event)
synchronized void org.sleuthkit.autopsy.events.AutopsyEventPublisher.publishRemotely ( AutopsyEvent  event)
void org.sleuthkit.autopsy.events.AutopsyEventPublisher.removeSubscriber ( Set< String >  eventNames,
PropertyChangeListener  subscriber 
)
void org.sleuthkit.autopsy.events.AutopsyEventPublisher.removeSubscriber ( String  eventName,
PropertyChangeListener  subscriber 
)

Removes an event subscriber from this publisher.

Parameters
eventNameThe event the subscriber is no longer interested in.
subscriberThe subscriber to remove.

Definition at line 131 of file AutopsyEventPublisher.java.

synchronized void org.sleuthkit.autopsy.events.AutopsyEventPublisher.stopRemotePublisher ( )
private

Member Data Documentation

String org.sleuthkit.autopsy.events.AutopsyEventPublisher.currentChannelName
private
final LocalEventPublisher org.sleuthkit.autopsy.events.AutopsyEventPublisher.localPublisher
private

Definition at line 44 of file AutopsyEventPublisher.java.

final Logger org.sleuthkit.autopsy.events.AutopsyEventPublisher.logger = Logger.getLogger(AutopsyEventPublisher.class.getName())
staticprivate

Definition at line 42 of file AutopsyEventPublisher.java.

final int org.sleuthkit.autopsy.events.AutopsyEventPublisher.MAX_REMOTE_EVENT_PUBLISH_TRIES = 1
staticprivate

Definition at line 43 of file AutopsyEventPublisher.java.

RemoteEventPublisher org.sleuthkit.autopsy.events.AutopsyEventPublisher.remotePublisher
private

The documentation for this class was generated from the following file:

Copyright © 2012-2022 Basis Technology. Generated on: Mon Sep 26 2022
This work is licensed under a Creative Commons Attribution-Share Alike 3.0 United States License.