package de.reinhardt_karlheinz.pcc.pc.plugins.example;

import java.io.File;
import java.util.Scanner;

import de.reinhardt_karlheinz.pcc.interfaces.PCCPlugin;
import de.reinhardt_karlheinz.pcc.interfaces.PCCPluginInterface;

public class PCCChat implements PCCPlugin {
  private PCCPluginInterface plgItfc;

  @Override
  public String getName() {
    return "PCCChat";
  }

  @Override
  public String getVersion() {
    return "0.0.1";
  }

  private Thread chat;

  @Override
  public void onPluginStart(PCCPluginInterface plgIntfc) {
    this.plgItfc = plgIntfc;
    Runnable r = new Runnable() {

      @Override
      public void run() {
        Scanner s = new Scanner(System.in);
        String send;
        while (true) {
          System.out.println("enter sth");
          send = s.next();
          if (send.isEmpty() == false) {
            plgItfc.sendMsg(send);
          } else {
            System.out.println("is empty");
          }
        }
      }
    };
    chat = new Thread(r);
    chat.setDaemon(false);
    chat.start();
  }

  @Override
  public void onPluginClose() {
    // TODO Auto-generated method stub
    chat.stop();// TODO
  }

  @Override
  public void onConnectionEstablished() {
    // TODO Auto-generated method stub

  }

  @Override
  public void onConnectionLost() {
    // TODO Auto-generated method stub

  }

  @Override
  public void onMessageReceived(String msg) {
    // TODO Auto-generated method stub

  }

  @Override
  public void onCommandReceived(String cmd) {
    // TODO Auto-generated method stub

  }

  @Override
  public String getAuthor() {
    // TODO Auto-generated method stub
    return null;
  }

  @Override
  public String getInformation() {
    // TODO Auto-generated method stub
    return null;
  }

  @Override
  public void onPluginShow() {
    // TODO Auto-generated method stub

  }

  @Override
  public void onPluginHide() {
    // TODO Auto-generated method stub

  }

  @Override
  public void onFileReceived(File file) {
    // TODO Auto-generated method stub

  }

}
