package com.beolnix.marvin.plugins.api;

import com.beolnix.marvin.im.api.IMSessionManager;
import com.beolnix.marvin.im.api.IMIncomingMessage;

import java.util.List;
import java.util.Set;

/**
 * Created by beolnix on 31/10/15.
 */
public interface IMPlugin {
    public final String LOGS_PATH_PARAM_NAME = "logsPath";
    public final String DIRECTORY_PARAM_NAME = "dirPath";

    void setIMSessionManager(IMSessionManager imSessionManager);

    String getPluginName();

    Boolean isProcessAll();
    List<String> getCommandsList();

    void process(IMIncomingMessage msg);

    IMPluginState getPluginState();

    String getErrorDescription();

    Set<String> getSupportedProtocols();

    boolean isProtocolSupported(String protocol);

    boolean isAllProtocolsSupported();

}

@@ -476,9 +476,9 @@
     
-B
+b
 oole
@@ -496,16 +496,17 @@
 sAll();%0A
+%0A
     List
@@ -530,24 +530,73 @@
 ndsList();%0A%0A
+    boolean isCommandSupported(String command);%0A%0A
     void pro

add isCommandSupported method to the IMPlugin interface