#ifndef LNAME_H
#define LNAME_H 1
/*
 * This file was generated by orbit-idl - DO NOT EDIT!
 */

#include <glib.h>
#define ORBIT_IDL_SERIAL 9
#include <orb/orbit.h>

#include "CosNaming.h"

/*
 * This file was generated by orbit-idl - DO NOT EDIT!
 */

/* The following lines are added, because LName and LNameComponent are
   pseudo objects, not real ones */
#define _LName_defined
#define _LNameComponent_defined
typedef void* LName;
typedef void* LNameComponent;

/* The following 2 functions define the means to get instances of
   those 2 pseudo objects*/
extern LName create_lname(); 
extern LNameComponent create_lname_component();

/* The following 3 functions are provided as add-ons by ORBit */
LNameComponent ORBit_string_to_LNameComponent(const CORBA_char* string, 
					      CORBA_Environment * ev);
LName ORBit_string_to_LName(const CORBA_char* string, CORBA_Environment * ev);
CosNaming_Name* ORBit_string_to_CosNaming_Name(const CORBA_char* string, 
					       CORBA_Environment * ev);

/* from now on its the original one as generated by orbit-idl */

#include <glib.h>
#include <orb/orbit.h>

#ifdef __cplusplus
extern "C" {
#endif				/* __cplusplus */

/* Begin interface LNameComponent */

   /* client-side data structures and methods */
#ifndef _LNameComponent_defined
#define _LNameComponent_defined

   typedef CORBA_Object LNameComponent;
#define LNameComponent__free CORBA_Object__free
#endif				/* !_LNameComponent_defined */

   extern CORBA_unsigned_long LNameComponent__classid;
#ifndef _LNameComponent_NotSet_defined
#define _LNameComponent_NotSet_defined

   typedef struct LNameComponent_NotSet {
	int empty_struct;
   } LNameComponent_NotSet;
#define ex_LNameComponent_NotSet "ex_LNameComponent_NotSet"
#endif				/* !_LNameComponent_NotSet_defined */

   extern LNameComponent_NotSet *LNameComponent_NotSet__alloc(void);
   extern gpointer LNameComponent_NotSet__free(gpointer mem, gpointer dat, CORBA_boolean free_strings);		/* ORBit internals */

   extern CORBA_char *LNameComponent_get_id(LNameComponent _obj, CORBA_Environment * ev);

   extern void LNameComponent_set_id(LNameComponent _obj, CORBA_char * i, CORBA_Environment * ev);

   extern CORBA_char *LNameComponent_get_kind(LNameComponent _obj, CORBA_Environment * ev);

   extern void LNameComponent_set_kind(LNameComponent _obj, CORBA_char * k, CORBA_Environment * ev);

   extern void LNameComponent_destroy(LNameComponent _obj, CORBA_Environment * ev);

   /* server-side (via the POA) data structures and methods */
#ifndef _POA_LNameComponent__epv_defined
#define _POA_LNameComponent__epv_defined

   typedef struct {
      void *_private;
      CORBA_char *(*get_id) (PortableServer_Servant servant, CORBA_Environment * ev);
      void (*set_id) (PortableServer_Servant servant, CORBA_char * i, CORBA_Environment * ev);
      CORBA_char *(*get_kind) (PortableServer_Servant servant, CORBA_Environment * ev);
      void (*set_kind) (PortableServer_Servant servant, CORBA_char * k, CORBA_Environment * ev);
      void (*destroy) (PortableServer_Servant servant, CORBA_Environment * ev);
   } POA_LNameComponent__epv;
#endif				/* !_POA_LNameComponent__epv_defined */

#ifndef _POA_LNameComponent__vepv_defined
#define _POA_LNameComponent__vepv_defined

   typedef struct {
      PortableServer_ServantBase__epv *_base_epv;
      POA_LNameComponent__epv *LNameComponent_epv;
   } POA_LNameComponent__vepv;
#endif				/* !_POA_LNameComponent__vepv_defined */

#ifndef _POA_LNameComponent_defined
#define _POA_LNameComponent_defined

   typedef struct {
      void *_private;
      POA_LNameComponent__vepv *vepv;
   } POA_LNameComponent;
#endif				/* !_POA_LNameComponent_defined */

   extern void POA_LNameComponent__init(POA_LNameComponent * servant, CORBA_Environment * ev);
   extern void POA_LNameComponent__fini(POA_LNameComponent * servant, CORBA_Environment * ev);
/* End interface LNameComponent */

/* Begin interface LName */

   /* client-side data structures and methods */
#ifndef _LName_defined
#define _LName_defined

   typedef CORBA_Object LName;
#define LName__free CORBA_Object__free
#endif				/* !_LName_defined */

   extern CORBA_unsigned_long LName__classid;
#ifndef _LName_NoComponent_defined
#define _LName_NoComponent_defined

   typedef struct LName_NoComponent {
	int empty_struct;
   } LName_NoComponent;
#define ex_LName_NoComponent "ex_LName_NoComponent"
#endif				/* !_LName_NoComponent_defined */

   extern LName_NoComponent *LName_NoComponent__alloc(void);
   extern gpointer LName_NoComponent__free(gpointer mem, gpointer dat, CORBA_boolean free_strings);	/* ORBit internals */

#ifndef _LName_OverFlow_defined
#define _LName_OverFlow_defined

   typedef struct LName_OverFlow {
	int empty_struct;
   } LName_OverFlow;
#define ex_LName_OverFlow "ex_LName_OverFlow"
#endif				/* !_LName_OverFlow_defined */

   extern LName_OverFlow *LName_OverFlow__alloc(void);
   extern gpointer LName_OverFlow__free(gpointer mem, gpointer dat, CORBA_boolean free_strings);	/* ORBit internals */

#ifndef _LName_InvalidName_defined
#define _LName_InvalidName_defined

   typedef struct LName_InvalidName {
	int empty_struct;
   } LName_InvalidName;
#define ex_LName_InvalidName "ex_LName_InvalidName"
#endif				/* !_LName_InvalidName_defined */

   extern LName_InvalidName *LName_InvalidName__alloc(void);
   extern gpointer LName_InvalidName__free(gpointer mem, gpointer dat, CORBA_boolean free_strings);	/* ORBit internals */

   extern LName LName_insert_component(LName _obj, CORBA_unsigned_long i, LNameComponent n, CORBA_Environment * ev);

   extern LNameComponent LName_get_component(LName _obj, CORBA_unsigned_long i, CORBA_Environment * ev);

   extern LNameComponent LName_delete_component(LName _obj, CORBA_unsigned_long i, CORBA_Environment * ev);

   extern CORBA_unsigned_long LName_num_components(LName _obj, CORBA_Environment * ev);

   extern CORBA_boolean LName_equal(LName _obj, LName ln, CORBA_Environment * ev);

   extern CORBA_boolean LName_less_than(LName _obj, LName ln, CORBA_Environment * ev);

   extern CosNaming_Name *LName_to_idl_form(LName _obj, CORBA_Environment * ev);

   extern void LName_from_idl_form(LName _obj, CosNaming_Name * n, CORBA_Environment * ev);

   extern void LName_destroy(LName _obj, CORBA_Environment * ev);

   /* server-side (via the POA) data structures and methods */
#ifndef _POA_LName__epv_defined
#define _POA_LName__epv_defined

   typedef struct {
      void *_private;
       LName(*insert_component) (PortableServer_Servant servant, CORBA_unsigned_long i, LNameComponent n, CORBA_Environment * ev);
       LNameComponent(*get_component) (PortableServer_Servant servant, CORBA_unsigned_long i, CORBA_Environment * ev);
       LNameComponent(*delete_component) (PortableServer_Servant servant, CORBA_unsigned_long i, CORBA_Environment * ev);
       CORBA_unsigned_long(*num_components) (PortableServer_Servant servant, CORBA_Environment * ev);
       CORBA_boolean(*equal) (PortableServer_Servant servant, LName ln, CORBA_Environment * ev);
       CORBA_boolean(*less_than) (PortableServer_Servant servant, LName ln, CORBA_Environment * ev);
      CosNaming_Name *(*to_idl_form) (PortableServer_Servant servant, CORBA_Environment * ev);
      void (*from_idl_form) (PortableServer_Servant servant, CosNaming_Name * n, CORBA_Environment * ev);
      void (*destroy) (PortableServer_Servant servant, CORBA_Environment * ev);
   } POA_LName__epv;
#endif				/* !_POA_LName__epv_defined */

#ifndef _POA_LName__vepv_defined
#define _POA_LName__vepv_defined

   typedef struct {
      PortableServer_ServantBase__epv *_base_epv;
      POA_LName__epv *LName_epv;
   } POA_LName__vepv;
#endif				/* !_POA_LName__vepv_defined */

#ifndef _POA_LName_defined
#define _POA_LName_defined

   typedef struct {
      void *_private;
      POA_LName__vepv *vepv;
   } POA_LName;
#endif				/* !_POA_LName_defined */

   extern void POA_LName__init(POA_LName * servant, CORBA_Environment * ev);
   extern void POA_LName__fini(POA_LName * servant, CORBA_Environment * ev);
/* End interface LName */

#ifdef __cplusplus
}

#endif				/* __cplusplus */
#undef ORBIT_IDL_SERIAL
#endif /* LNAME_H */
