TWNcidSchnittstelle TWNcidSchnittstelle der NCID Client für die Vodafone Box Easy-Box 802

Ein NCID Java Api für die Easy-Box 802, Easy-Box 602 von Vodafone und andere.

Diese Schnittstelle ist ein Framwork, der es ermöglicht einfach auf aktuelle Anrufe und die History zuzugreifen.
Ein Anwendungsbeispiel ist das TWNcid Programm.

Wie kann von Java auf die Funktionen zugegriffen werden?

Installation Einfach das twncid-0.2.1.zip auspacken und alle Jars aus dem lib Verzeichnis in den Java Classpath mit aufnehmen. Dann in der Klasse, die bei einem Anruf benachrichtigt werden soll, das IAnrufListener Interface implementieren. Die Methode eingehenderAnrufUpdate(AnrufEvent event) muss implementiert werden. Mit IAnruf anruf = event.getAnruf(); kann dann auf die Anrufer Informationen zugegriffen werden.
Die start-twncidcmd.bat Datei enthält ein Beispiel, wie die folgende Datei aufgerufen werden kann.

Die Javadoc enthält die Beschreibung der API mit UML Diagrammen.

Das folgende Beispiel zeigt die Anwendung der TWNcidSchnittstelle:

/**
 * TWNcidCmd.java
 *
 @author Copyright 2010 by Thomas Wenzlaff ( <a
 @see <a href="http://www.wenzlaff.de">www.wenzlaff.de </a>
 @since 04.01.2010
 
 * Source is only for non commercial and coaching usage. Not Warranty to use it.
 */
package de.wenzlaff.twncid.schnittstelle.impl;

import de.wenzlaff.twncid.schnittstelle.AnrufEvent;
import de.wenzlaff.twncid.schnittstelle.IAnrufListener;
import de.wenzlaff.twncid.schnittstelle.INcidController;
import de.wenzlaff.twncid.schnittstelle.NcidController;
import de.wenzlaff.twncid.schnittstelle.modell.AnrufModell;
import de.wenzlaff.twncid.schnittstelle.modell.IAnruf;
import de.wenzlaff.twncid.schnittstelle.modell.IAnrufModell;
import de.wenzlaff.twncid.schnittstelle.modell.ISetup;
import de.wenzlaff.twncid.schnittstelle.modell.Setup;
import de.wenzlaff.twncid.schnittstelle.util.DateHelper;
import de.wenzlaff.twncid.schnittstelle.util.TelHelper;

/**
 * Kommando Zeilen NCID Client für die Ausgabe auf der Konsole.
 
 * Mit -alle werden alle Anrufe aus der Box angezeigt die dort gespeichert sind. Mit -aktuelle wird auf der Konsolle jeder Anruf der Neu eingeht angezeigt.
 
 * Reihenfolge der Aufruf-Parameter: ip kanal -aktuelle z.B. 192.168.2.1 3333 -alle
 
 @author Thomas Wenzlaff
 @version 1.0
 */
public final class TWNcidCmd {

  /**
   * Wenn -aktuelle dann werden nur die Aktuellen angezeigt, mit -alle werden auch die aus der History angezeigt
   */
  private static String anzeigeFilter;

  private TWNcidCmd() {
    // keine Instanz bilden
  }

  /**
   * Reihenfolge der Parameter: 192.168.2.1 3333 -alle
   
   * ip kanal -aktuelle
   
   @param args
   */
  @SuppressWarnings("boxing")
  public static void main(String[] args) {

    String ip;
    int kanal;

    if (args.length == 0) { // bei 0 setzt default
      ip = "192.168.2.1";
      kanal = 3333;
      anzeigeFilter = "-alle";
    else if (args.length != 3) {
      System.out.println("Aufruf mit: TWNcidCmd ip kanal [-aktuelle | -alle] z.B. 192.168.2.1 3333 -alle");
      return;
    else {
      // übergebene Parameter aus args nehmen
      ip = args[0]// "192.168.2.1"
      kanal = Integer.valueOf(args[1])// 3333
      anzeigeFilter = args[2]// -aktuelle oder -alle
    }

    // Die IP und den Kanal setzen
    ISetup setup = new Setup(ip, kanal);

    // hier das Daten Modell anlegen
    IAnrufModell anruferModell = new AnrufModell();

    // Den Controller starten, läuft dann in einen eigenen Thread endlos bis interrupt() aufgerufen wird
    @SuppressWarnings("unused")
    INcidController ctr = new NcidController(setup, anruferModell, new AnrufAusgabe());
    ctr.connect();
    System.out.println("Verbindungs Status: " + anruferModell.isVerbunden());

    // Beenden würde mit interrupt laufen:
    // ctr.interrupt();
  }

  /**
   * Dies Klasse gibt die Anrufe entweder mit oder ohne History auf der Konsole aus. Jede Klasse die auf Anruf ereignisse reagieren soll, muss das {@code
   * IAnrufListener} Interface implementieren.
   
   @author Thomas Wenzlaff
   @version 1.0
   */
  private static class AnrufAusgabe implements IAnrufListener {

    /**
     * Diese Methode wird bei jedem Anruf ausgeführt.
     
     @param event
     *            der Anruf.
     */
    @Override
    public void eingehenderAnrufUpdate(AnrufEvent event) {

      IAnruf anruf = event.getAnruf();

      if (anruf.getStatus().isAktuellerAnruf() && anzeigeFilter.equalsIgnoreCase("-aktuelle")) {
        // keine History nur neue Anrufe anzeigen
        log(anruf);
      else if (anruf.getStatus().isAlterAnruf() && anzeigeFilter.equalsIgnoreCase("-alle")) {
        // mit History alle anzeigen
        log(anruf);
      }
    }

    private void log(IAnruf a) {
      System.out.println(DateHelper.formatDatum(a.getDate()) ", " + DateHelper.formatUhrzeit(a.getTime()) ", " + a.getZeitpunkt().getTime() ", "
          + TelHelper.formatTelefonnummer(a.getNummer()));
    }
  }

}
Download

Download der TWNcidSchnittstelle Download: TWNcidSchnittstelle    PAD Factsheet von TWNcidSchnittstelle




[Spende] - [Top] - [Home] - [Tools] - [Text] - [Suche] - [Kontakt]  RSS wenzlaff.de XML Feed [Valid Wenzlaff RSS XML feed] Valid HTML 4.0!
Copyright © 2017 by Thomas Wenzlaff. Alle Rechte vorbehalten. http://www.wenzlaff.de