#include <cca.h>
#include <stdPorts.h>           // for GoPort and other well-known ports.

#include "NonlinearFunction_CCA.h"
#include "NonlinearFunction_CCA_wrapper.h"
extern "C"
{

// We need a C wrapper to get dynamic loading to work.
// Here's our NULL constructor wrapped in C.
  gov::cca::Component * create_NonlinearFunction ()
  {
    gov::cca::Component * wrapper;
    functions::ccaimpl::NonlinearFunction * component;
    component = new functions::ccaimpl::NonlinearFunction ();
    wrapper = dynamic_cast < gov::cca::Component * >(component);
    return wrapper;
  }
// See dccafe/cxx/dc/framework/ComponentFactory.h for details.
// More sophisticated repository interfaces would supplant this.
  char **getComponentList ()
  {
    static char *list[2];
    list[0] = "create_NonlinearFunction NonlinearFunction";
    list[1] = 0;
    return list;
  }
};