Back to index

nordugrid-arc-nox  1.1.0~rc6
Public Member Functions | Static Protected Member Functions | Protected Attributes | Static Protected Attributes
Arc::ClientInterface Class Reference

Utility base class for MCC. More...

#include <ClientInterface.h>

Inheritance diagram for Arc::ClientInterface:
Inheritance graph
[legend]
Collaboration diagram for Arc::ClientInterface:
Collaboration graph
[legend]

List of all members.

Public Member Functions

 ClientInterface ()
 ClientInterface (const BaseConfig &cfg)
virtual ~ClientInterface ()
void Overlay (XMLNode cfg)
const ConfigGetConfig () const
MessageContextGetContext ()
virtual bool Load ()

Static Protected Member Functions

static void AddSecHandler (XMLNode mcccfg, XMLNode handlercfg)
static void AddPlugin (XMLNode mcccfg, const std::string &libname, const std::string &libpath="")

Protected Attributes

Config xmlcfg
XMLNode overlay
MCCLoaderloader
MessageContext context

Static Protected Attributes

static Logger logger

Detailed Description

Utility base class for MCC.

The ClientInterface class is a utility base class used for configuring a client side Message Chain Component (MCC) chain and loading it into memory. It has several specializations of increasing complexity of the MCC chains.

Definition at line 32 of file ClientInterface.h.


Constructor & Destructor Documentation

Definition at line 34 of file ClientInterface.h.

      : loader(NULL) {}

Definition at line 74 of file ClientInterface.cpp.

    : xmlcfg(NS()),
      //Need to add all of the configuration namespaces here?
      loader() {
    cfg.MakeConfig(xmlcfg);
    xmlcfg.NewChild("Chain");
    cfg.overlay.New(overlay);
  }

Here is the call graph for this function:

Definition at line 83 of file ClientInterface.cpp.

                                    {
    if (loader)
      delete loader;
  }

Member Function Documentation

void Arc::ClientInterface::AddPlugin ( XMLNode  mcccfg,
const std::string &  libname,
const std::string &  libpath = "" 
) [static, protected]

Definition at line 107 of file ClientInterface.cpp.

                                                                                                    {
    if (!libpath.empty()) {
      XMLNode mm = mcccfg["ModuleManager"];
      if (!mm)
        mcccfg.NewChild("ModuleManager", 0);
      XMLNode mp = mm["Path"];
      for (; (bool)mp; ++mp)
        if (mp == libpath)
          break;
      if (!mp)
        mm.NewChild("Path") = libpath;
    }
    if (!libname.empty()) {
      XMLNode pl = mcccfg["Plugins"];
      for (; (bool)pl; ++pl)
        if (pl["Name"] == libname)
          break;
      if (!pl)
        mcccfg.NewChild("Plugins", 0).NewChild("Name") = libname;
    }
  }

Here is the call graph for this function:

Here is the caller graph for this function:

void Arc::ClientInterface::AddSecHandler ( XMLNode  mcccfg,
XMLNode  handlercfg 
) [static, protected]

Definition at line 101 of file ClientInterface.cpp.

                                                                        {
    // Insert SecHandler configuration into MCC configuration block
    // Make sure namespaces and names are correct
    mcccfg.NewChild(handlercfg).Name("SecHandler");
  }

Here is the call graph for this function:

const Config& Arc::ClientInterface::GetConfig ( ) const [inline]

Definition at line 39 of file ClientInterface.h.

                                    {
      return xmlcfg;
    }

Here is the caller graph for this function:

Definition at line 42 of file ClientInterface.h.

                                 {
      return context;
    }

Here is the caller graph for this function:

bool Arc::ClientInterface::Load ( ) [virtual]

Reimplemented in Arc::ClientSOAP, Arc::ClientHTTP, and Arc::ClientTCP.

Definition at line 88 of file ClientInterface.cpp.

                             {
    if (!loader) {
      if (overlay)
        Overlay(overlay);
      loader = new MCCLoader(xmlcfg);
    }
    return (*loader);
  }

Here is the call graph for this function:

Here is the caller graph for this function:

Definition at line 97 of file ClientInterface.cpp.

Here is the call graph for this function:

Here is the caller graph for this function:


Member Data Documentation

Definition at line 50 of file ClientInterface.h.

Definition at line 49 of file ClientInterface.h.

Logger Arc::ClientInterface::logger [static, protected]

Definition at line 51 of file ClientInterface.h.

Definition at line 48 of file ClientInterface.h.

Definition at line 47 of file ClientInterface.h.


The documentation for this class was generated from the following files: