// ----------------------------------------------------------------------------
// Generated by InterfaceFactory [Thu May 15 21:06:24 2003]
// 
// File        : api_configx.h
// Class       : api_config
// class layer : Dispatchable Receiver
// ----------------------------------------------------------------------------

#ifndef __API_CONFIGX_H
#define __API_CONFIGX_H

#include "api_config.h"

class CfgItem;
class ConfigFile;

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

class api_configX : public api_config {
  protected:
    api_configX() {}
  public:
    virtual void config_registerCfgItem(CfgItem *cfgitem)=0;
    virtual void config_deregisterCfgItem(CfgItem *cfgitem)=0;
    virtual int config_getNumCfgItems()=0;
    virtual CfgItem *config_enumCfgItem(int n)=0;
    virtual CfgItem *config_getCfgItemByGuid(GUID g)=0;
    virtual void setIntPrivate(const wchar_t *name, int val)=0;
    virtual int getIntPrivate(const wchar_t *name, int def_val)=0;
    virtual void setIntArrayPrivate(const wchar_t *name, const int *val, int nval)=0;
    virtual int getIntArrayPrivate(const wchar_t *name, int *val, int nval)=0;
    virtual void setStringPrivate(const wchar_t *name, const wchar_t *str)=0;
    virtual int getStringPrivate(const wchar_t *name, wchar_t *buf, int buf_len, const wchar_t *default_str)=0;
    virtual int getStringPrivateLen(const wchar_t *name)=0;
    virtual void setIntPublic(const wchar_t *name, int val)=0;
    virtual int getIntPublic(const wchar_t *name, int def_val)=0;
    virtual void setStringPublic(const wchar_t *name, const wchar_t *str)=0;
    virtual int getStringPublic(const wchar_t *name, wchar_t *buf, int buf_len, const wchar_t *default_str)=0;
  
  protected:
    RECVS_DISPATCH;
};

#endif // __API_CONFIGX_H