addBase64Value() public method

Adds a base64 encoded value to the attribute. The value will be decoded and stored as bytes. String data encoded as a base64 value must be UTF-8 characters.
public addBase64Value ( System attrString ) : void
attrString System The base64 value of the attribute as a String. /// /// @throws IllegalArgumentException if attrString is null ///
return void
コード例 #1
0
ファイル: AttributeEditorWidget.cs プロジェクト: MrJoe/lat
        void RunViewerPlugin(AttributeViewPlugin avp, string attributeName)
        {
            LdapEntry le = conn.Data.GetEntry (currentDN);
            LdapAttribute la = le.getAttribute (attributeName);

            bool existing = false;
            if (la != null)
                existing = true;

            LdapAttribute newla = new LdapAttribute (attributeName);

            switch (avp.DataType) {

            case ViewerDataType.Binary:
                if (existing)
                    avp.OnActivate (attributeName, SupportClass.ToByteArray (la.ByteValue));
                else
                    avp.OnActivate (attributeName, new byte[0]);
                break;

            case ViewerDataType.String:
                if (existing)
                    avp.OnActivate (attributeName, la.StringValue);
                else
                    avp.OnActivate (attributeName, "");
                break;
            }

            if (avp.ByteValue != null)
                newla.addBase64Value (System.Convert.ToBase64String (avp.ByteValue, 0, avp.ByteValue.Length));
            else if (avp.StringValue != null)
                newla.addValue (avp.StringValue);
            else
                return;

            LdapModification lm;
            if (existing)
                lm = new LdapModification (LdapModification.REPLACE, newla);
            else
                lm = new LdapModification (LdapModification.ADD, newla);

            List<LdapModification> modList = new List<LdapModification> ();
            modList.Add (lm);
            Util.ModifyEntry (conn, currentDN, modList.ToArray());

            this.Show (conn, conn.Data.GetEntry (currentDN), displayAll);
        }
コード例 #2
0
ファイル: AttributeEditorWidget.cs プロジェクト: MrJoe/lat
        void OnAddBinaryValueActivate(object o, EventArgs args)
        {
            FileChooserDialog fcd = new FileChooserDialog (
                Mono.Unix.Catalog.GetString ("Select file to add as binary attribute"),
                Gtk.Stock.Open,
                null,
                FileChooserAction.Open);

            fcd.AddButton (Gtk.Stock.Cancel, ResponseType.Cancel);
            fcd.AddButton (Gtk.Stock.Open, ResponseType.Ok);

            fcd.SelectMultiple = false;

            ResponseType response = (ResponseType) fcd.Run();
            if (response == ResponseType.Ok) {

                byte[] fileBytes = ReadFileBytes (fcd.Filename);
                if (fileBytes.Length == 0)
                    return;

                string attributeName = GetAttributeName ();
                string attributeValue = Base64.encode (SupportClass.ToSByteArray (fileBytes));

                LdapEntry le = conn.Data.GetEntry (currentDN);
                LdapAttribute la = le.getAttribute (attributeName);

                bool existing = false;
                if (la != null)
                    existing = true;

                LdapAttribute newla = new LdapAttribute (attributeName);
                newla.addBase64Value (attributeValue);

                LdapModification lm;

                if (existing)
                    lm = new LdapModification (LdapModification.REPLACE, newla);
                else
                    lm = new LdapModification (LdapModification.ADD, newla);

                List<LdapModification> modList = new List<LdapModification> ();
                modList.Add (lm);

                Util.ModifyEntry (conn, currentDN, modList.ToArray());

                this.Show (conn, conn.Data.GetEntry (currentDN), displayAll);
            }

            fcd.Destroy();
        }