void SetInterface(string name, bool val)
{
Interfaces flag = 0;
if (name == "org.a11y.atspi.Accessible") {
// All objects should support this
} else if (name == "org.a11y.atspi.Action") {
flag = Interfaces.Action;
} else if (name == "org.a11y.atspi.Application") {
flag = Interfaces.Application;
} else if (name == "org.a11y.atspi.Collection") {
// All objects should support this
} else if (name == "org.a11y.atspi.Component") {
flag = Interfaces.Component;
} else if (name == "org.a11y.atspi.Document") {
flag = Interfaces.Document;
} else if (name == "org.a11y.atspi.EditableText") {
flag = Interfaces.EditableText;
} else if (name == "org.a11y.atspi.Hyperlink") {
flag = Interfaces.Hyperlink;
} else if (name == "org.a11y.atspi.Hypertext") {
flag = Interfaces.Hypertext;
} else if (name == "org.a11y.atspi.Image") {
flag = Interfaces.Image;
} else if (name == "org.a11y.atspi.Selection") {
flag = Interfaces.Selection;
} else if (name == "org.a11y.atspi.StreamableContent") {
flag = Interfaces.StreamableContent;
} else if (name == "org.a11y.atspi.Table") {
flag = Interfaces.Table;
} else if (name == "org.a11y.atspi.Text") {
flag = Interfaces.Text;
} else if (name == "org.a11y.atspi.Value") {
flag = Interfaces.Value;
} else
Console.WriteLine ("at-spi-sharp: Warning: Unknown interface name \"" + name + "\"");
if (val)
interfaces |= flag;
else
interfaces &= ~flag;
}