Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## com.skype.tutorial.step8
Class Tutorial_8

    java.lang.Object
      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:
   - adds the target Contact
   - deletes the target Contact
   - lists the user’s Contacts
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:
    - `ADD_CONTACT`
    - `DELETE_CONTACT`
    - `LIST_CONTACTS`
  Since:
    1.0
  See Also:
    `MySkype.GetNormalizationStr(String)`

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD