com.skype.tutorial.step8
Class Tutorial_8

java.lang.Object
  extended by com.skype.tutorial.step8.Tutorial_8

public class Tutorial_8
extends java.lang.Object

Getting Started With SkypeKit: Tutorial Application, Step 8. In this example, we'll write a command-line utility for adding, deleting, and listing PSTN (telephone number) contacts. This example illustrates a simple SkypeKit-based program that:

  1. Takes a Skype Name, password, target Contact information, command, and optional AppToken path name as command-line arguments
  2. Initiates login for that user
  3. Waits until the login process is complete
  4. Depending on the value of the command argument:
  5. Initiates logout
  6. Waits until logout is complete
  7. Cleans up and exits

Since:
1.0
Author:
Andrea Drane (ported from existing C++ tutorial code)

Field Summary
static int ACCOUNT_NAME_IDX
          Index of the account name in the command line argument list.
static int ACCOUNT_PWORD_IDX
          Index of the account password in the command line argument list.
static java.lang.String ADD_CONTACT
          Command option string for adding a Contact.
static int COMMAND_OPT_IDX
          Index of the command option key in the command line argument list.
private static java.lang.String commandOpt
          What to do with my Contacts
static java.lang.String DELETE_CONTACT
          Command option string for deleting a Contact.
static int DISPLAY_NAME_IDX
          Index of the "optional" Contact display name in the command line argument list.
private static java.lang.String displayName
          Display name for the PSTN Contact
static java.lang.String LIST_CONTACTS
          Command option string for listing Contact.
static java.lang.String MY_CLASS_TAG
          Info/Debug console output message prefix/identifier tag.
private static AppToken myAppToken
           
private static MySession mySession
           
private static Tutorial_8 myTutorial
          "Extraneous" instance of this tutorial so we can invoke our business logic method from main(String[]) without having to declare it as being "static".
private static java.lang.String newPstn
          Phone number for the PSTN Contact
static int OPT_ARG_CNT
          Number of optional arguments in the command line argument list.
static int PSTN_IDX
          Index of the "optional" phone number in the command line argument list.
static int REQ_ARG_CNT
          Number of required arguments in the command line argument list.
 
Constructor Summary
Tutorial_8()
           
 
Method Summary
(package private)  void doPstnContact(MySession mySession, java.lang.String pstn, java.lang.String displayName, java.lang.String commandOpt)
          List, add, or delete Contacts.
static void main(java.lang.String[] args)
          Main loop
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

ADD_CONTACT

public static final java.lang.String ADD_CONTACT
Command option string for adding a Contact.

Since:
1.0
See Also:
Constant Field Values

DELETE_CONTACT

public static final java.lang.String DELETE_CONTACT
Command option string for deleting a Contact.

Since:
1.0
See Also:
Constant Field Values

LIST_CONTACTS

public static final java.lang.String LIST_CONTACTS
Command option string for listing Contact.

Since:
1.0
See Also:
Constant Field Values

MY_CLASS_TAG

public static final java.lang.String MY_CLASS_TAG
Info/Debug console output message prefix/identifier tag. Corresponds to class name.

Since:
1.0
See Also:
Constant Field Values

ACCOUNT_NAME_IDX

public static final int ACCOUNT_NAME_IDX
Index of the account name in the command line argument list.

Since:
1.0
See Also:
Constant Field Values

ACCOUNT_PWORD_IDX

public static final int ACCOUNT_PWORD_IDX
Index of the account password in the command line argument list.

Since:
1.0
See Also:
Constant Field Values

COMMAND_OPT_IDX

public static final int COMMAND_OPT_IDX
Index of the command option key in the command line argument list.

Since:
1.0
See Also:
Constant Field Values

REQ_ARG_CNT

public static final int REQ_ARG_CNT
Number of required arguments in the command line argument list.

Since:
1.0
See Also:
Constant Field Values

PSTN_IDX

public static final int PSTN_IDX
Index of the "optional" phone number in the command line argument list. Required if COMMAND_OPT_IDX specified as -a or -d.

Since:
1.0
See Also:
Constant Field Values

DISPLAY_NAME_IDX

public static final int DISPLAY_NAME_IDX
Index of the "optional" Contact display name in the command line argument list. Required if COMMAND_OPT_IDX specified as -a.

Since:
1.0
See Also:
Constant Field Values

OPT_ARG_CNT

public static final int OPT_ARG_CNT
Number of optional arguments in the command line argument list. This includes the optional AppToken text file pathname in the command line argument list, which must always appears last.

Since:
1.0
See Also:
Constant Field Values

commandOpt

private static java.lang.String commandOpt
What to do with my Contacts

Since:
1.0

newPstn

private static java.lang.String newPstn
Phone number for the PSTN Contact

Since:
1.0

displayName

private static java.lang.String displayName
Display name for the PSTN Contact

Since:
1.0

myAppToken

private static AppToken myAppToken

mySession

private static MySession mySession

myTutorial

private static Tutorial_8 myTutorial
"Extraneous" instance of this tutorial so we can invoke our business logic method from main(String[]) without having to declare it as being "static".

Since:
1.0
Constructor Detail

Tutorial_8

public Tutorial_8()
Method Detail

main

public static void main(java.lang.String[] args)
Main loop

Parameters:
args -
  1. Name of the target Skype account.
  2. Password for the target Skype account.
  3. One of the following commands:
    • -l (list all PSTN contacts)
    • -a (add a contact)
    • -d (delete a contact)
  4. Contact's phone number (to be added or removed).
  5. Contact's displayname (to be added)
  6. Optional pathname of a text file containing an AppToken string.
Since:
1.0

doPstnContact

void doPstnContact(MySession mySession,
                   java.lang.String pstn,
                   java.lang.String displayName,
                   java.lang.String commandOpt)
List, add, or delete Contacts.

Parameters:
mySession - Populated session object.
pstn - Properly formatted phone number of the target PSTN Contact.
displayName - Display name of the target PSTN Contact (used by add only).
commandOpt - Command string, which must be one of:
Since:
1.0
See Also:
MySkype.GetNormalizationStr(String)