#ifndef LinearFunction_CCA_H
#define LinearFunction_CCA_H

#include "ports/Function_CCA.h"

namespace functions
{
  namespace ccaimpl
  {
    /**
     * This class implements the Function interface for a linear function.
     */
    class LinearFunction:
      public virtual functions::ccaports::Function,
      public virtual gov::cca::Component
    {
    public:
      LinearFunction ();
      ~LinearFunction ();
      virtual double evaluate (double x);

      virtual void setServices (gov::cca::Services * services);

    private:
        gov::cca::Services * frameworkServices;
    };
  }
}
#endif                          // LinearFunction_CCA_H