示例#1
0
        /**
         * Tears down a tutorial session.
         * <br /><br />
         * Specifically, this involves:
         * <ol>
         *   <li>Un-registering the listeners</li>
         *   <li>Disconnecting the transport</li>
         *   <li>"Closing" our Skype instance, which terminates the SkypeKit runtime</li>
         * </ol>
         *
         * @see Listeners#unRegisterAllListeners()
         *
         * @since 1.0
         */
        public void doTearDownSession()
        {
            if (myListeners != null)
            {
                myListeners.unRegisterAllListeners();
                myListeners = null;
            }
            // Closing Skype also disconnects the transport
            if (mySkype != null)
            {
                mySkype.stop();
                mySkype = null;
            }

            myConsole.printf("%s: Tore down session instance%n", myTutorialTag);
        }
示例#2
0
        /**
         * Creates <em>most</em> everything needed for a tutorial session; the Account instance is populated during sign-in.
         *
         * @param tutorialTag
         *  The tutorial's class name. If null or the empty string, default it to <code>T_TAG_DFLT</code>.
         * @param accountName
         *  The <em>name</em> of the account to use for this tutorial. If null or the empty string,
         *  <em>fail</em> by throwing a RuntimeException indicating that fact.
         * @param pathName
         * 	Pathname of the certificate file, which should be a PEM file.
         *
         * @return
         * <ul>
         *   <li>true: session initialized</li>
         *   <li>false: session initialization failed due to:
         *   	<ul>
         *   		<li>no or empty account name</li>
         *   		<li>com.skype.api.Skype.Init failed - most likely from an invalid AppKeyPair</li>
         *   		<li>could not obtain an Account instance</li>
         *   	</ul>
         *   </li>
         * </ul>
         *
         * @see com.skype.tutorial.util.SignInMgr
         *
         * @since 1.0
         */
        /*	public boolean doCreateSession(String tutorialTag, String accountName, AppKeyPairMgr myAppKeyPairMgr) {
        */
        public bool doCreateSession(String tutorialTag, String accountName, String pathName)
        {
            if ((tutorialTag != null) && (tutorialTag.Length != 0))
            {
                myTutorialTag = tutorialTag;
            }
            else
            {
                myTutorialTag = T_TAG_DFLT;
            }

            if ((accountName != null) && (accountName.Length != 0))
            {
                myAccountName = accountName; // All tutorials minimally require an account name
            }
            else
            {
                throw new Exception((myTutorialTag + ": Cannot initialize session instance - no account name!"));
            }

            // Set up our session with the SkypeKit runtime...
            // Note that most of the Skype methods - including static methods and GetVersionString - will
            // fail and/or throw an exception if invoked prior to successful initialization!
            mySkype = new Skype();
            myClientConfiguration = new ClientConfiguration();
            myClientConfiguration.setTcpTransport(IP_ADDR, PORT_NUM);
            myClientConfiguration.setCertificate(pathName);
            myListeners = new Listeners(this);
            myConsole.printf("%s: Instantiated Skype, ClientConfiguration, and Listeners instances...%n", myTutorialTag);

            mySkype.init(myClientConfiguration, myListeners);
            mySkype.start(); // You must invoke start --immediately-- after invoking init!

            myParseSkypeKitVersion = new ParseSkypeKitVersion(mySkype);
            myConsole.printf("%s: Initialized MySkype instance - version = %s (%d.%d.%d)%n",
                        myTutorialTag, myParseSkypeKitVersion.getVersionStr(),
                        myParseSkypeKitVersion.getMajorVersion(),
                        myParseSkypeKitVersion.getMinorVersion(),
                        myParseSkypeKitVersion.getPatchVersion());

            // Get the Account
            if ((myAccount = mySkype.getAccount(myAccountName)) == null)
            {
                myConsole.printf("%s: Could not get Account for %s!%n", myTutorialTag, myAccountName);
                myConsole.printf("%s: Session initialization failed!%n", myTutorialTag);
                return (false);
            }

            myConsole.printf("%s: Got Account for %s%n", myTutorialTag, myAccountName);
            myConsole.printf("%s: Initialized session!%n", myTutorialTag);

            return (true);
        }