コード例 #1
0
        public void CreateUser(string userName, bool propagate)
        {
            PeerGroupID gid = this.netPeerGroup.PeerGroupID;

            PipeID pipeid = IDFactory.NewPipeID(gid);

            PipeAdvertisement adv = new PipeAdvertisement();

            adv.SetPipeID(pipeid);
            adv.Type = (propagate ? "JxtaPropagate" : "JxtaUnicast");
            adv.Name = "JxtaTalkUserName." + userName;
            adv.Desc = "created by JXTA .NET";

            discovery.Publish(adv);
        }
コード例 #2
0
        /// <summary>
        /// Standard run-method. Call this for the 'whoami'-action.
        /// </summary>
        /// <param name="args">The commandline-parameters.</param>
        public override void Run(string[] args)
        {
            bool printpretty = false;
            bool printgroup  = false;
            bool printcreds  = false;

            for (int i = 1; i < args.Length; i++)
            {
                switch (args[i])
                {
                case "-g":
                    printgroup = true;
                    break;

                case "-c":
                    printcreds = true;
                    break;

                case "-p":
                    printpretty = true;
                    break;

                case "-h":
                    Help();
                    return;

                default:
                    textWriter.WriteLine("Error: invalid parameter");
                    return;
                }
            }

            PeerGroupAdvertisement myGroupAdv = this.netPeerGroup.PeerGroupAdvertisement;

            if (myGroupAdv == null)
            {
                textWriter.WriteLine("# ERROR - Invalid peer group advertisement\n");
                return;
            }

            PeerAdvertisement myAdv = this.netPeerGroup.PeerAdvertisement;

            if (myAdv == null)
            {
                textWriter.WriteLine("# ERROR - Invalid peer advertisement\n");
                return;
            }

            if (printpretty && printgroup)
            {
                ID           gid  = myGroupAdv.ID;
                ModuleSpecID msid = myGroupAdv.GetModuleSpecID();
                string       name = myGroupAdv.Name;
                string       desc = myGroupAdv.Description;

                textWriter.WriteLine("\nGroup : \n");
                textWriter.WriteLine("  Name : " + name);
                textWriter.WriteLine("  Desc : " + desc);
                textWriter.WriteLine("  GID  : " + gid);
                textWriter.WriteLine("  MSID : " + msid + "\n");
            }
            else if (printgroup)
            {
                textWriter.WriteLine(myGroupAdv.ToString());
            }

            /* peer adv part */
            if (printpretty)
            {
                ID          pid  = myAdv.ID;
                PeerGroupID gid  = myAdv.PeerGroupID;
                string      name = myAdv.Name;

                textWriter.WriteLine("\nPeer :");
                textWriter.WriteLine("  Name : " + name);
                textWriter.WriteLine("  PID : " + pid);
                textWriter.WriteLine("  GID : " + gid + "\n");
            }
            else
            {
                textWriter.WriteLine(myAdv.ToString());
            }

            /* credentials part */
            if (printcreds)
            {
                if (printpretty)
                {
                    textWriter.WriteLine("Credentials:\n");
                }

                MembershipService membership = this.netPeerGroup.MembershipService;

                if (membership == null)
                {
                    textWriter.WriteLine("# invalid membership service\n");
                    return;
                }

                List <Credential> creds = membership.CurrentCredentials;

                if (creds == null)
                {
                    textWriter.WriteLine("# could not get credentials.\n");
                    return;
                }

                for (int i = 0; i < creds.Count; i++)
                {
                    if (creds[i] == null)
                    {
                        textWriter.WriteLine("# could not get credential\n");
                        continue;
                    }

                    if (printpretty)
                    {
                        textWriter.WriteLine("Credential #" + i + ": \n");
                        textWriter.WriteLine("  PID : " + creds[i].PeerID);
                        textWriter.WriteLine("  GID : " + creds[i].PeerGroupID);
                    }
                    else
                    {
                        textWriter.WriteLine("Cred:\n" + creds[i].ToString());
                    }
                }
            }
        }