Main Page | Namespace List | Class Hierarchy | Class List | File List | Namespace Members | Class Members | File Members | Related Pages

factory_library.h File Reference


Detailed Description

Header file that presents a common interface for shared libraries.

The interface is basically a single function, flFactoryMethodV, that can perform a variety of tasks for the caller.

See also:
cbhey.cc

BrokerFactory.cc

PolicyFactory.cc

DelegateFactory.cc

Definition in file factory_library.h.

Include dependency graph for factory_library.h:

Include dependency graph

This graph shows which files directly or indirectly include this file:

Included by dependency graph

Go to the source code of this file.

Defines

#define FACTORY_METHOD_SYMBOL   flFactoryMethodV
 The symbol name for the primary library function.

Typedefs

typedef int(* factory_method_t )(factory_library_op_t op, int tag, va_list args)
 Function type for the primary library function interface.

Enumerations

enum  factory_library_op_t { FLO_MIN, FLO_QUERY, FLO_HEY, FLO_MAX }
 Sub-operations for the primary library function below. More...
enum  {
  FMA_TAG_DONE, FMA_ORB, FMA_POA, FMA_HeyParser,
  FMA_HeyServerHint, FMA_StandardOut, FMA_StandardError, FMA_USER_BASE = 0x1000
}
 Argument tags for the factory_method_t functions. More...

Functions

int FACTORY_METHOD_SYMBOL (factory_library_op_t op, int tag, va_list args)
 The primary library function.
int flFactoryMethod (factory_method_t fm, factory_library_op_t op, int tag,...)
 Wrapper function that calls a given factory_method_t with the arguments given on the stack.


Typedef Documentation

typedef int(* factory_method_t)(factory_library_op_t op, int tag, va_list args)
 

Function type for the primary library function interface.

Parameters:
op The sub-operation to execute.
tag The first tag in the tag list.
args The remaining tags in the tag list.
Returns:
Zero if the operation succeeded, an errno value otherwise.

Definition at line 66 of file factory_library.h.

Referenced by FactoryLibrary_ltdl::OpenLibrary(), and scan_file().


Enumeration Type Documentation

anonymous enum
 

Argument tags for the factory_method_t functions.

Enumeration values:
FMA_TAG_DONE  () - Terminate the tag list
FMA_ORB  (CORBA::ORB_ptr) - Pointer to an ORB
FMA_POA  (PortableServer::POA_ptr) - Pointer to a POA
FMA_HeyParser  (HeyParser *) - Pointer to an active HeyParser
FMA_HeyServerHint  (const char *) - Hint for the type of server
FMA_StandardOut  (ostream *) - Standard output stream
FMA_StandardError  (ostream *) - Standard error stream
FMA_USER_BASE  Base for user tags.

Definition at line 47 of file factory_library.h.

enum factory_library_op_t
 

Sub-operations for the primary library function below.

Enumeration values:
FLO_MIN  The minimum legal value.
FLO_QUERY  Ask the library if it contains support for something.
FLO_HEY  Ask the library to handle a 'hey' request.
FLO_MAX  The maximum legal value.

Definition at line 37 of file factory_library.h.


Function Documentation

int FACTORY_METHOD_SYMBOL factory_library_op_t  op,
int  tag,
va_list  args
 

The primary library function.

This function provides a generic interface to the capabilities of a shared library.

Parameters:
op The sub-operation to execute.
tag The first tag in the tag list.
args The remaining tags in the tag list.
Returns:
Zero if the operation succeeded, an errno value otherwise.

Definition at line 206 of file AllupFactory.cc.

References afAllupHey(), afFactoryLibraryHey(), FLO_HEY, FLO_QUERY, FMA_HeyParser, FMA_HeyServerHint, FMA_ORB, FMA_POA, FMA_StandardError, FMA_StandardOut, and tfHey().

Here is the call graph for this function:

int flFactoryMethod factory_method_t  fm,
factory_library_op_t  op,
int  tag,
  ...
 

Wrapper function that calls a given factory_method_t with the arguments given on the stack.

Parameters:
fm The primary library function to pass the request to.
op The sub-operation to execute.
tag The first tag in the tag list.
Returns:
Zero if the operation succeeded, an errno value otherwise.

Definition at line 24 of file factory_library.c.

References FLO_MAX, FLO_MIN, and require.

Referenced by FactoryLibrary_ltdl::Hey(), and scan_file().


Generated on Fri Oct 22 07:50:32 2004 for CPU Broker by  doxygen 1.3.9.1