// ----------------------------------------------------------------------------
// Generated by InterfaceFactory [Fri Oct 17 16:03:31 2003]
// 
// File        : api_locales.h
// Class       : api_locales
// class layer : Dispatchable Interface
// ----------------------------------------------------------------------------

#ifndef __API_LOCALES_H
#define __API_LOCALES_H

#include <bfc/dispatch.h>
#include <bfc/common.h>

// ----------------------------------------------------------------------------

class NOVTABLE api_locales: public Dispatchable {
  protected:
    api_locales() {}
    ~api_locales() {}
  public:
    const wchar_t *locales_getTranslation(const wchar_t *str);
    void locales_addTranslation(const wchar_t *from, const wchar_t *to);
    const wchar_t *locales_getBindFromAction(int action);
    int locales_getNumEntries();
    const wchar_t  *locales_enumEntry(int n);
    void locales_registerAcceleratorSection(const wchar_t *name, ifc_window *wnd, int global = 0);
  
  protected:
    enum {
      API_LOCALES_LOCALES_GETTRANSLATION = 10,
      API_LOCALES_LOCALES_ADDTRANSLATION = 20,
      API_LOCALES_LOCALES_GETBINDFROMACTION = 30,
      API_LOCALES_LOCALES_GETNUMENTRIES = 40,
      API_LOCALES_LOCALES_ENUMENTRY = 50,
      API_LOCALES_LOCALES_REGISTERACCELERATORSECTION = 60,
    };
};

// ----------------------------------------------------------------------------

inline const wchar_t *api_locales::locales_getTranslation(const wchar_t *str) {
  const wchar_t *__retval = _call(API_LOCALES_LOCALES_GETTRANSLATION, (const wchar_t *)0, str);
  return __retval;
}

inline void api_locales::locales_addTranslation(const wchar_t *from, const wchar_t *to) 
{
  _voidcall(API_LOCALES_LOCALES_ADDTRANSLATION, from, to);
}

inline const wchar_t *api_locales::locales_getBindFromAction(int action) {
  const wchar_t *__retval = _call(API_LOCALES_LOCALES_GETBINDFROMACTION, (const wchar_t *)0, action);
  return __retval;
}

inline int api_locales::locales_getNumEntries() {
  int __retval = _call(API_LOCALES_LOCALES_GETNUMENTRIES, (int)0);
  return __retval;
}

inline const wchar_t *api_locales::locales_enumEntry(int n) 
{
  const wchar_t *__retval = _call(API_LOCALES_LOCALES_ENUMENTRY, (const wchar_t *)0, n);
  return __retval;
}

inline void api_locales::locales_registerAcceleratorSection(const wchar_t *name, ifc_window *wnd, int global) {
  _voidcall(API_LOCALES_LOCALES_REGISTERACCELERATORSECTION, name, wnd, global);
}

// ----------------------------------------------------------------------------

// {C1251318-A6F5-4cd2-9142-A4CEAA08B846}
static const GUID localesApiServiceGuid = 
{ 0xc1251318, 0xa6f5, 0x4cd2, { 0x91, 0x42, 0xa4, 0xce, 0xaa, 0x8, 0xb8, 0x46 } };

extern api_locales *localesApi;

#endif // __API_LOCALES_H