package network.thunder.core.communication.objects.messages.interfaces.factories; import network.thunder.core.communication.objects.messages.interfaces.helper.*; import network.thunder.core.communication.processor.implementations.gossip.BroadcastHelper; import network.thunder.core.communication.processor.implementations.gossip.GossipSubject; import network.thunder.core.communication.processor.implementations.sync.SynchronizationHelper; import network.thunder.core.communication.processor.interfaces.*; import network.thunder.core.communication.processor.interfaces.lnpayment.LNPaymentLogic; import network.thunder.core.communication.processor.interfaces.lnpayment.LNPaymentProcessor; import network.thunder.core.mesh.NodeClient; import network.thunder.core.mesh.NodeServer; /** * Created by matsjerratsch on 18/01/2016. */ public interface ContextFactory { MessageSerializer getMessageSerializer (); MessageEncrypter getMessageEncrypter (); EncryptionProcessor getEncryptionProcessor (NodeClient node); AuthenticationProcessor getAuthenticationProcessor (NodeClient node); PeerSeedProcessor getPeerSeedProcessor (NodeClient node); SyncProcessor getSyncProcessor (NodeClient node); GossipProcessor getGossipProcessor (NodeClient node); LNEstablishProcessor getLNEstablishProcessor (NodeClient node); LNPaymentProcessor getLNPaymentProcessor (NodeClient node); LNPaymentHelper getPaymentHelper (); LNOnionHelper getOnionHelper (); LNEventHelper getEventHelper (); BroadcastHelper getBroadcastHelper (); SynchronizationHelper getSyncHelper (); WalletHelper getWalletHelper (); GossipSubject getGossipSubject (); LNPaymentLogic getLNPaymentLogic (); NodeServer getServerSettings (); EncryptionMessageFactory getEncryptionMessageFactory (); AuthenticationMessageFactory getAuthenticationMessageFactory (); PeerSeedMessageFactory getPeerSeedMessageFactory (); SyncMessageFactory getSyncMessageFactory (); GossipMessageFactory getGossipMessageFactory (); LNEstablishMessageFactory getLNEstablishMessageFactory (); LNPaymentMessageFactory getLNPaymentMessageFactory (); LNRoutingHelper getLNRoutingHelper (); BlockchainHelper getBlockchainHelper (); ChannelManager getChannelManager (); }