A name-to-object association is called a Binding.
struct Binding
{
CosNaming::Name binding_name;
CosNaming::BindingType binding_type;
};
typedef sequence < CosNaming::Binding > BindingList;
Specifies whether the given binding is for a object (that is not a naming context) or for a naming context.
enum BindingType
{
nobject,
ncontext
};
typedef string Istring;
typedef sequence < CosNaming::NameComponent > Name;
Many of the operations defined on a naming context take names as parameters. Names have structure. A name is an ordered sequence of components.
struct NameComponent
{
CosNaming::Istring id;
CosNaming::Istring kind;
};
A name with a single component is called a simple name; a name with multiple components is called a compound name. Each component except the last is used to name a context; the last component denotes the bound object.
A name component consists of two attributes: the identifier attribute and the kind attribute. Both the identifier attribute and the kind attribute are represented as IDL strings. The kind attribute adds descriptive power to names in a syntax-independent way. Examples of the value of the kind attribute include c_source, object_code, executable, postscript, or " ".