home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
OS/2 Shareware BBS: 10 Tools
/
10-Tools.zip
/
som30tk.zip
/
som30os2.zip
/
include
/
impldef.idl
< prev
next >
Wrap
Text File
|
1996-12-24
|
10KB
|
234 lines
/*
* @(#) 2.42 src/somd/impldef.idl, somd, som3.0 9/26/96 14:01:55 [12/24/96 07:39:24]
*/
//
// COMPONENT_NAME: somd
//
// ORIGINS: 27
//
//
// 25H7912 (C) COPYRIGHT International Business Machines Corp. 1992,1994,1996
// All Rights Reserved
// Licensed Materials - Property of IBM
// US Government Users Restricted Rights - Use, duplication or
// disclosure restricted by GSA ADP Schedule Contract with IBM Corp.
//
// CLASS SPECIFICATION FOR IMPLEMENTATION DEFINITION. THIS IS A PUBLIC IDL.
// All the attributes of an ImplementationDef object along with any new
// typedefs used by the attributes is listed here.
#ifndef SOM_impldef_idl
#define SOM_impldef_idl
/* new for 3.0 */
#include <somdtype.idl>
#include <somestio.idl>
interface ImplementationDef : CosStream::Streamable
{
const int SOMD_MAXLEN_IMPL_ID = 36;
//# SOMD_MAXLEN_IMPL_ID should always equal definition
//# of SOM_UUIDSTR_MAXLEN found in private/uuid.h
const int SOMD_MAXLEN_IMPL_ALIAS = 255;
const int SOMD_MAXLEN_IMPL_PROGRAM = 255;
const int SOMD_MAXLEN_FILENAME = 255;
const int SOMD_MAXLEN_HOSTNAME = 32;
const int SOMD_MAXLEN_CLASSNAME = 255;
typedef sequence<octet> * octet_seqP;
// pointer to an octet sequence
struct prot_response
{
string protocol;
sequence <string> *response;
};
// structure containing the protocol along with its responses
// to form a valid tagged profile.
typedef sequence<prot_response> seq_prot_responses;
// ImplementationDef attributes
attribute string<SOMD_MAXLEN_IMPL_ID> impl_id;
// Refers to the unique impl_id of a server.
// On _get_impl_id, ownership of results are transfered to the caller.
attribute string<SOMD_MAXLEN_IMPL_ALIAS> impl_alias;
// impl_alias refers to the server alias
// On _get_impl_alias, ownership of results are transfered to the caller.
attribute string<SOMD_MAXLEN_IMPL_PROGRAM> impl_program;
// Contains the name of the server process executable. Default is
// somdsvr.exe.
// On _get_impl_program, ownership of results are transfered to the caller.
attribute Flags impl_flags;
// Bit vector representing the various server options.
attribute string<SOMD_MAXLEN_CLASSNAME> impl_server_class;
// Represents the class of the server object. Default is SOMDServer.
// On _get_impl_server_class, ownership of results are transfered to the
// caller.
attribute string<SOMD_MAXLEN_FILENAME> impl_refdata_file;
// Contains the name of the file containing ref data.
// Meaningful only in 2.X environment.
// On _get_impl_refdata_file, ownership of results are transfered to the
// caller.
attribute string<SOMD_MAXLEN_FILENAME> impl_refdata_bkup;
// Contains the name of the file containing ref data backup.
// Meaningful only in 2.X environment.
// On _get_impl_refdata_bkup, ownership of results are transfered to the
// caller.
attribute string<SOMD_MAXLEN_HOSTNAME> impl_hostname;
// Contains the hostname on which the server process would be started.
// Meaningful only in 2.X environment.
// On _get_impl_hostname, ownership of results are transfered to the caller.
attribute string<SOMD_MAXLEN_FILENAME> config_file;
// Contains the path of the config file which a server process could
// use to override those provided by the default config file in SOMENV.
// On _get_config_file, ownership of results are transfered to the caller.
attribute string<SOMD_MAXLEN_CLASSNAME> impldef_class;
// Contains the class of the ImplDef object. By default it is
// ImplementationDef.
// On _get_impldef_class, ownership of results are transfered to the caller.
attribute octet_seqP svr_objref;
// A pointer to a sequence of octets representing the binary form of the
// server's objref.
attribute string protocols;
// This contains the set of space separated protocol names that was used
// in forming the objref.
attribute seq_prot_responses *registrar_resp;
// Represents a sequence of structures where each structure contains the
// protocol name and a set of responses. This would be used to generate
// the tagged profile for that specific protocol through a programmatic
// interface.
#ifdef __SOMIDL__
implementation
{
releaseorder: _set_impl_id, _get_impl_id,
_set_impl_alias, _get_impl_alias,
_set_impl_program, _get_impl_program,
_set_impl_flags, _get_impl_flags,
_set_impl_server_class, _get_impl_server_class,
_set_impl_refdata_file, _get_impl_refdata_file,
_set_impl_refdata_bkup, _get_impl_refdata_bkup,
_set_impl_hostname, _get_impl_hostname,
_set_impl_def_struct, _get_impl_def_struct,
get_impl_winserver_handle,
_set_config_file, _get_config_file,
_set_impldef_class, _get_impldef_class,
_set_svr_objref, _get_svr_objref,
_set_protocols, _get_protocols,
_set_registrar_resp, _get_registrar_resp,
_set_impl_version, _get_impl_version,
_set_class_in_NS, _get_class_in_NS;
// memory management policy
memory_management = corba;
_get_svr_objref: object_owns_result;
_set_svr_objref: object_owns_parameters = "svr_objref";
_get_protocols: object_owns_result;
_set_protocols: object_owns_parameters = "protocols";
_get_registrar_resp: object_owns_result;
_set_registrar_resp: object_owns_parameters = "registrar_resp";
//# Class Modifiers
callstyle = idl;
dllname = "somd.dll";
majorversion = 2;
minorversion = 2;
functionprefix = "ImplDef_";
//# Passthrus
#define COMMON_H_PASSTHRU \
"" \
"/* flags */" \
"#define IMPLDEF_MULTI_THREAD 0x00000001" \
"#define IMPLDEF_DISABLE_SVR 0x00000004" \
"#define IMPLDEF_IMPLID_SET 0x00000008" \
"#define IMPLDEF_SECUREMODE 0x00000020" \
"#define IMPLDEF_MANAGED 0x00000040" \
""
//# D23660: Remove include somestrm.h
passthru C_h_after = COMMON_H_PASSTHRU
"#ifndef SOM_IMPORTEXPORT_somd"
"#if defined(_WIN32) && !defined(SOM_DLL_somd)"
"#define SOM_IMPORTEXPORT_somd SOMDLLIMPORT"
"#else"
"#define SOM_IMPORTEXPORT_somd"
"#endif"
"#endif"
"#ifdef SOM_STRICT_IDL"
"SOMEXTERN SOM_IMPORTEXPORT_somd ImplementationDef SOMDLINK SOMD_ImplDefObject;"
"#else"
"SOMEXTERN SOM_IMPORTEXPORT_somd ImplementationDef* SOMDLINK SOMD_ImplDefObject;"
"#endif /* SOM_STRICT_IDL */"
"";
passthru C_xh_after = COMMON_H_PASSTHRU
"#ifndef SOM_IMPORTEXPORT_somd"
"#if defined(_WIN32) && !defined(SOM_DLL_somd)"
"#define SOM_IMPORTEXPORT_somd SOMDLLIMPORT"
"#else"
"#define SOM_IMPORTEXPORT_somd"
"#endif"
"#endif"
"class ImplementationDef;"
"SOMEXTERN SOM_IMPORTEXPORT_somd ImplementationDef* SOMDLINK SOMD_ImplDefObject;"
"";
// D23595: remove passthru C_hh_before="#include <omglc.hh>"
//# declared via attributes
impl_id: noget, noset;
impl_alias: noget, noset;
impl_program: noget, noset;
impl_flags: noget, noset;
impl_server_class: noget, noset;
impl_refdata_file: noget, noset;
impl_refdata_bkup: noget, noset;
impl_hostname: noget, noset;
config_file: noget, noset;
impldef_class: noget, noset;
svr_objref: noget, noset;
protocols: noget, noset;
registrar_resp: noget, noset;
impl_version: noget, noset;
class_in_NS: noget, noset;
//# Method Modifiers
override: somDefaultInit, somDestruct ;
override: externalize_to_stream, internalize_from_stream;
};
#endif /* __SOMIDL__ */
};
#endif /* SOM_impldef_idl */