## NAME

ACE_Registry - A Name Server implementation

## SYNOPSIS

    #include <ace/Registry.h>

    class ACE_Registry
    {
      public:
        typedef ACE_WString Istring;
        typedef ACE_CString Istring;

        struct ACE_Export Name_Component
        {
          public:
            Istring id_;
            Istring kind_;
            int operator== (const Name_Component &rhs) const;
            int operator!= (const Name_Component &rhs) const;
        };

`typedef ACE_Unbounded_Set<Name_Component> Name;` `static LPCTSTR STRING_SEPARATOR;` `static Istring make_string (const Name &name);` `static Name make_name (const Istring &string);` `enum Binding_Type {INVALID, OBJECT, CONTEXT};` `typedef ACE_Unbounded_Set<Binding> Binding_List;` `};`

## DESCRIPTION

The registry interface is inspired by the interface specified in the CORBA Naming Service Specification. The implementation is done through Win32 Reg*() functions. Other than providing an OO wrapper for the Win32 Reg*() functions, ACE_Registry provides an abstraction for iteration over the elements of the Registry.

## PUBLIC MEMBERS

    typedef ACE_WString Istring;

    typedef ACE_CString Istring;

    typedef ACE_Unbounded_Set<Name_Component> Name;

    static LPCTSTR STRING_SEPARATOR;

Separator for components in a name

    static Istring make_string (const Name &name);

Convert a `name` to a `string`

    static Name make_name (const Istring &string);

Convert a `string` to a `name`

    typedef ACE_Unbounded_Set<Binding> Binding_List;

## AUTHOR

Irfan Pyarali (irfan@cs.wustl.edu)

## LIBRARY

ace