[OSADL-svn-commits] r83 - fapia-trunk/FAPIAIPCParameter/interface

OSADL repository commits osadl-svn-commits at lists.osadl.org
Tue Oct 2 11:46:35 CEST 2007


Author: tb10rts
Date: Thu Jul 19 07:13:16 2007
New Revision: 83

Log:
Added a folder remotely

Added:
   fapia-trunk/FAPIAIPCParameter/interface/
   fapia-trunk/FAPIAIPCParameter/interface/FAPIAIPCIParameter.h
   fapia-trunk/FAPIAIPCParameter/interface/FAPIAIPCParameterCommunication.h
   fapia-trunk/FAPIAIPCParameter/interface/FAPIAIPCParameterError.h
   fapia-trunk/FAPIAIPCParameter/interface/FAPIAIPCParameterImplementation.h
   fapia-trunk/FAPIAIPCParameter/interface/FAPIAIPCParameterInfo.h
   fapia-trunk/FAPIAIPCParameter/interface/FAPIAIPCParameterInit.h
   fapia-trunk/FAPIAIPCParameter/interface/FAPIAIPCParameterMethodRequest.h
   fapia-trunk/FAPIAIPCParameter/interface/FAPIAIPCParameterMethodRequestInfoRequest.h
   fapia-trunk/FAPIAIPCParameter/interface/FAPIAIPCParameterMethodRequestInfoResponse.h
   fapia-trunk/FAPIAIPCParameter/interface/FAPIAIPCParameterMethodRequestReadRequest.h
   fapia-trunk/FAPIAIPCParameter/interface/FAPIAIPCParameterMethodRequestReadResponse.h
   fapia-trunk/FAPIAIPCParameter/interface/FAPIAIPCParameterMethodRequestWriteRequest.h
   fapia-trunk/FAPIAIPCParameter/interface/FAPIAIPCParameterMethodRequestWriteResponse.h
   fapia-trunk/FAPIAIPCParameter/interface/FAPIAIPCParameterParameter.h
   fapia-trunk/FAPIAIPCParameter/interface/FAPIAIPCParameterValue.h

Added: fapia-trunk/FAPIAIPCParameter/interface/FAPIAIPCIParameter.h
==============================================================================
--- (empty file)
+++ fapia-trunk/FAPIAIPCParameter/interface/FAPIAIPCIParameter.h	Thu Jul 19 07:13:16 2007
@@ -0,0 +1,64 @@
+/* -*- C++ -*- */
+
+//=============================================================================
+/**
+ *  @file    FAPIAIPCIParameter.h
+ *
+ *  $Id$
+ *
+ *  @author Thomas Rothfuss <thomas.rothfuss at homag.de>
+ */
+//=============================================================================
+
+#ifndef _FAPI_ACYCLIC_IPC_IPARAMETER_H_
+#define _FAPI_ACYCLIC_IPC_IPARAMETER_H_
+
+#include "FAPIAIPCParameterInit.h"
+#include "FAPIAIPCParameterError.h"
+
+namespace FAPI
+  {
+    namespace Acyclic
+      {
+        namespace IPC
+          {
+            /**
+             * @interface IParameter
+             *
+             * @brief The IParameter is the interface for the IPC::Parameter
+             * module.
+             *
+             */
+            class IParameter
+              {
+
+              public:
+                /**
+                 * @brief Initializes the IPC::Parameter module. The
+                 * physical_object_address is returned.
+                 *
+                 * If it returns -1 there was an error. Look at the error object.
+                 *
+                 */
+                virtual int init
+                  (
+                    const FAPI::Acyclic::IPC::Parameter::Init& init,
+                    ACE_CString& physical_object_address,
+                    FAPI::Acyclic::IPC::Parameter::Error& error
+                  ) = 0;
+
+                /**
+                 * @brief Deinitializes the IPC::Parameter module.
+                 *
+                 * If it returns -1 an error occured.
+                 *
+                 */
+                virtual int deinit (void) = 0;
+
+              }; /* class IParameter */
+
+          } /* namespace IPC */
+      } /* namespace Acyclic */
+  } /* namespace FAPI */
+
+#endif /* _FAPI_ACYCLIC_IPC_IPARAMETER_H_ */

Added: fapia-trunk/FAPIAIPCParameter/interface/FAPIAIPCParameterCommunication.h
==============================================================================
--- (empty file)
+++ fapia-trunk/FAPIAIPCParameter/interface/FAPIAIPCParameterCommunication.h	Thu Jul 19 07:13:16 2007
@@ -0,0 +1,110 @@
+/* -*- C++ -*- */
+
+//=============================================================================
+/**
+ *  @file    FAPIAIPCParameterCommunication.h
+ *
+ *  $Id$
+ *
+ *  @author Thomas Rothfuss <thomas.rothfuss at homag.de>
+ */
+//=============================================================================
+
+#ifndef _FAPI_ACYCLIC_IPC_PARAMETER_COMMUNICATION_H_
+#define _FAPI_ACYCLIC_IPC_PARAMETER_COMMUNICATION_H_
+
+#include /**/ <ace/SString.h>
+#include "FAPIAIPCParameterError.h"
+
+
+namespace FAPI
+  {
+    namespace Acyclic
+      {
+        namespace IPC
+          {
+            namespace Parameter
+              {
+                /**
+                 * @class Communication
+                 *
+                 * @brief The Communication is used inside all
+                 * MethodRequests.
+                 *
+                 */
+                class  Communication
+                  {
+
+                  public:
+                    /**
+                     * @brief Constructor of Communication.
+                     *
+                     */
+                    Communication (void);
+
+                    /**
+                     * @brief Copy Constructor.
+                     *
+                     */
+                    Communication (const Communication&);
+
+                    /**
+                     * @brief Assignment operator.
+                     *
+                     */
+                    const Communication& operator= (const Communication&);
+
+                    /**
+                     * @brief Destructor of Communication.
+                     *
+                     */
+                    virtual ~Communication (void);
+
+                    /**
+                     * @brief Comparison operator.
+                     *
+                     */
+                    bool operator!= (const Communication&) const;
+
+                  // The member variables are public. Therefore there is no need
+                  // to implement get and set methods. This class is used as a
+                  // structure with constructor, destructor, copy constructor and
+                  // assignement operator.
+                  public:
+
+                    /// Possible communication error. If the error_code is not
+                    /// ok then the whole transaction was canceled.
+                    FAPI::Acyclic::IPC::Parameter::Error  communication_error_;
+
+                    /// Transaction id to identify the message. The combination
+                    /// of source_name and transaction_id is unique.
+                    unsigned long       transaction_id_;
+
+                    /// Name of the logical object.
+                    ACE_CString        logical_object_name_;
+
+                    /// Name of the physical source object.
+                    ACE_CString        source_physical_object_name_;
+
+                    /// Indicates whether a request should be replied or not.
+                    bool                send_reply_;
+
+
+                  private:
+                    /// internal initialisation
+                    void open (void);
+
+                    /// internal copying
+                    void copy (const Communication&);
+
+                    /// internal cleanup
+                    void close (void);
+
+                  }; /* class Communication */
+
+              } /* namespace Parameter */
+          } /* namespace IPC */
+      } /* namespace Acyclic */
+  } /* namespace FAPI */
+
+#endif /* _FAPI_ACYCLIC_IPC_PARAMETER_COMMUNICATION_H_ */

Added: fapia-trunk/FAPIAIPCParameter/interface/FAPIAIPCParameterError.h
==============================================================================
--- (empty file)
+++ fapia-trunk/FAPIAIPCParameter/interface/FAPIAIPCParameterError.h	Thu Jul 19 07:13:16 2007
@@ -0,0 +1,101 @@
+/* -*- C++ -*- */
+
+//=============================================================================
+/**
+ *  @file    FAPIAIPCParameterError.h
+ *
+ *  $Id$
+ *
+ *  @author Thomas Rothfuss <thomas.rothfuss at homag.de>
+ */
+//=============================================================================
+
+#ifndef _FAPI_ACYCLIC_IPC_PARAMETER_ERROR_H_
+#define _FAPI_ACYCLIC_IPC_PARAMETER_ERROR_H_
+
+#include <FAPIA/interface/FAPIA.h>
+
+#include /**/ <ace/SString.h>
+#include /**/ <ace/Vector_T.h>
+
+namespace FAPI
+  {
+    namespace Acyclic
+      {
+        namespace IPC
+          {
+            namespace Parameter
+              {
+                /**
+                 * @class Error
+                 *
+                 * @brief The Error is used as a result for all requests.
+                 *
+                 */
+                class  Error
+                  {
+
+                  public:
+                    /**
+                     * @brief Constructor of Error.
+                     *
+                     */
+                    Error (void);
+
+                    /**
+                     * @brief Copy Constructor.
+                     *
+                     */
+                    Error (const Error&);
+
+                    /**
+                     * @brief Assignment operator.
+                     *
+                     */
+                    const Error& operator= (const Error&);
+
+                    /**
+                     * @brief Destructor of Error.
+                     *
+                     */
+                    virtual ~Error (void);
+
+                    /**
+                     * @brief Comparison operator.
+                     *
+                     */
+                    bool operator!= (const Error&) const;
+
+                  // The member variables are public. Therefore there is no need
+                  // to implement get and set methods. This class is used as a
+                  // structure with constructor, destructor, copy constructor and
+                  // assignement operator.
+                  public:
+                    /// Error code. Maybe ok.
+                    FAPIAErrorCode                       error_code_;
+
+                    /// Reason of failure. If error_ is ok the reason_ is an
+                    /// empty string.
+                    ACE_CString                          reason_;
+
+                  private:
+                    /// internal initialisation
+                    void open (void);
+
+                    /// internal copying
+                    void copy (const Error&);
+
+                    /// internal cleanup
+                    void close (void);
+
+                  }; /* class Error */
+
+                  /// This typedef is a container for Errors.
+                typedef  ACE_Vector<FAPI::Acyclic::IPC::Parameter::Error> Errors;
+
+              } /* namespace Parameter */
+          } /* namespace IPC */
+      } /* namespace Acyclic */
+  } /* namespace FAPI */
+
+#endif /* _FAPI_ACYCLIC_IPC_PARAMETER_ERROR_H_ */

Added: fapia-trunk/FAPIAIPCParameter/interface/FAPIAIPCParameterImplementation.h
==============================================================================
--- (empty file)
+++ fapia-trunk/FAPIAIPCParameter/interface/FAPIAIPCParameterImplementation.h	Thu Jul 19 07:13:16 2007
@@ -0,0 +1,97 @@
+/* -*- C++ -*- */
+
+//=============================================================================
+/**
+ *  @file    FAPIAIPCParameterImplementation.h
+ *
+ *  $Id$
+ *
+ *  @author Friedhelm Wolf <friedhelm.wolf at homag.de>
+ */
+//=============================================================================
+
+#ifndef _FAPI_ACYCLIC_IPC_ParameterImplementation_H_
+#define _FAPI_ACYCLIC_IPC_ParameterImplementation_H_
+
+#include "FAPIAIPCIParameter.h"
+
+namespace FAPI
+  {
+    namespace Acyclic
+      {
+        namespace IPC
+          {
+            namespace Parameter
+              {
+
+                // forward declarations
+                class SenderService;
+                class ReceiverTask;
+
+                /**
+                 * @class ParameterImplementation
+                 *
+                 * @brief The IParameterImplementation is the interface for the IPC::ParameterImplementation
+                 * module.
+                 *
+                 */
+                class ParameterImplementation : public IParameter
+                  {
+
+                  public:
+
+                    /**
+                     * @brief Constructor of ParameterImplementation.
+                     *
+                     */
+                    ParameterImplementation ();
+
+                    /**
+                     * @brief Constructor of ParameterImplementation.
+                     *
+                     */
+                    virtual ~ParameterImplementation ();
+
+                    /**
+                     * @sa IParameterImplementation
+                     */
+                    virtual int init
+                      (
+                        const FAPI::Acyclic::IPC::Parameter::Init& init,
+                        ACE_CString& physical_object_address,
+                        FAPI::Acyclic::IPC::Parameter::Error& error
+                      );
+
+                    /**
+                     * @sa IParameterImplementation
+                     */
+                    virtual int deinit (void);
+
+                  protected:
+                    /// responsible for processing of incoming requests
+                    ReceiverTask* recv_task_;
+
+                    /// responsible for sending requests
+                    SenderService* send_task_;
+
+                  private:
+                    /**
+                     * @brief private copy constructor to prevent
+                     *        copying of this class
+                     */
+                    ParameterImplementation (const ParameterImplementation&);
+
+                    /**
+                     * @brief private assignment operator to prevent
+                     *        copying of this class
+                     */
+                    const ParameterImplementation& operator= (const ParameterImplementation&);
+
+                  }; /* class ParameterImplementation */
+
+              } /* namespace Parameter */
+          } /* namespace IPC */
+      } /* namespace Acyclic */
+  } /* namespace FAPI */
+
+#endif /* _FAPI_ACYCLIC_IPC_ParameterImplementation_H_ */

Added: fapia-trunk/FAPIAIPCParameter/interface/FAPIAIPCParameterInfo.h
==============================================================================
--- (empty file)
+++ fapia-trunk/FAPIAIPCParameter/interface/FAPIAIPCParameterInfo.h	Thu Jul 19 07:13:16 2007
@@ -0,0 +1,128 @@
+/* -*- C++ -*- */
+
+//=============================================================================
+/**
+ *  @file    FAPIAIPCParameterInfo.h
+ *
+ *  $Id$
+ *
+ *  @author Thomas Rothfuss <thomas.rothfuss at homag.de>
+ */
+//=============================================================================
+
+#ifndef _FAPI_ACYCLIC_IPC_PARAMETER_INFO_H_
+#define _FAPI_ACYCLIC_IPC_PARAMETER_INFO_H_
+
+#include /**/ <ace/SString.h>
+#include /**/ <ace/Vector_T.h>
+
+#include <FAPIA/interface/FAPIA.h>
+
+namespace FAPI
+  {
+    namespace Acyclic
+      {
+        namespace IPC
+          {
+            namespace Parameter
+              {
+                /**
+                 * @class Info
+                 *
+                 * @brief The Info instance contains a info for a parameter.
+                 *
+                 */
+                class  Info
+                  {
+
+                  public:
+                    /**
+                     * @brief Constructor of Info.
+                     *
+                     */
+                    Info (void);
+
+                    /**
+                     * @brief Copy Constructor.
+                     *
+                     */
+                    Info (const Info&);
+
+                    /**
+                     * @brief Assignment operator.
+                     *
+                     */
+                    const Info& operator= (const Info&);
+
+                    /**
+                     * @brief Destructor of Info.
+                     *
+                     */
+                    virtual ~Info (void);
+
+                    /**
+                     * @brief Comparison operator.
+                     *
+                     */
+                    bool operator!= (const Info&) const;
+
+                  // The member variables are public. Therefore there is no need
+                  // to implement get and set methods. This class is used as a
+                  // structure with constructor, destructor, copy constructor and
+                  // assignement operator.
+                  public:
+
+                    /// Datatype of the parameter.
+                    FAPIADataType                        data_type_;
+
+                    /// Length of the info.
+                    unsigned long                        data_len_;
+
+                    /// Pointer to the minimum value. Dependend on the data_type
+                    /// it must be casted.
+                    void*                                min_value_;
+
+                    /// Pointer to the minimum value. Dependend on the data_type
+                    /// it must be casted.
+                    void*                                max_value_;
+
+                    /// Priority of the transaction.
+                    FAPIAAccessRights                    access_rights_;
+
+                    /// Unit of the value.
+                    ACE_CString                          unit_;
+
+                    /// Exponent of base 10 to determine value for corresponding unit.
+                    /// If exponent is not used it must be 0.
+                    long                                 exponent_;
+
+                    /// Factor to determine value for corresponding unit.
+                    /// If factor is not used it must be 1.
+                    long                                 factor_;
+
+                    /// Descriptoin of the parameter.
+                    ACE_CString                          description_;
+
+
+                  private:
+
+                    /// internal initialisation
+                    void open (void);
+
+                    /// internal copying
+                    void copy (const Info&);
+
+                    /// internal cleanup
+                    void close (void);
+
+                  }; /* class Info */
+
+                  /// This typedef is a container for Infos.
+                typedef  ACE_Vector<FAPI::Acyclic::IPC::Parameter::Info> Infos;
+
+              } /* namespace Parameter */
+          } /* namespace IPC */
+      } /* namespace Acyclic */
+  } /* namespace FAPI */
+
+#endif /* _FAPI_ACYCLIC_IPC_PARAMETER_INFO_H_ */

Added: fapia-trunk/FAPIAIPCParameter/interface/FAPIAIPCParameterInit.h
==============================================================================
--- (empty file)
+++ fapia-trunk/FAPIAIPCParameter/interface/FAPIAIPCParameterInit.h	Thu Jul 19 07:13:16 2007
@@ -0,0 +1,92 @@
+/* -*- C++ -*- */
+
+//=============================================================================
+/**
+ *  @file    FAPIAIPCParameterInit.h
+ *
+ *  $Id$
+ *
+ *  @author Thomas Rothfuss <thomas.rothfuss at homag.de>
+ */
+//=============================================================================
+
+#ifndef _FAPI_ACYCLIC_IPC_PARAMETER_INIT_H_
+#define _FAPI_ACYCLIC_IPC_PARAMETER_INIT_H__
+
+// forward declarations
+class ACE_Activation_Queue;
+
+namespace FAPI
+  {
+    namespace Acyclic
+      {
+        namespace IPC
+          {
+            namespace Parameter
+              {
+                /**
+                 * @class Init
+                 *
+                 * @brief The Init structure is used to initialize the
+                 * IPC::Parameter module.
+                 *
+                 */
+                class  Init
+                  {
+
+                  public:
+                    /**
+                     * @brief Constructor of Init.
+                     *
+                     */
+                    Init (void);
+
+                    /**
+                     * @brief Copy Constructor.
+                     *
+                     */
+                    Init (const Init&);
+
+                    /**
+                     * @brief Assignment operator.
+                     *
+                     */
+                    const Init& operator= (const Init&);
+
+                    /**
+                     * @brief Destructor of Init.
+                     *
+                     */
+                    virtual ~Init (void);
+
+                  // The member variables are public. Therefore there is no need
+                  // to implement get and set methods. This class is used as a
+                  // structure with constructor, destructor, copy constructor and
+                  // assignement operator.
+                  public:
+                    /// Reference to the send_queue. The IPC::Parameter module
+                    /// reads the requests from this queue.
+                    ACE_Activation_Queue*                   send_queue_;
+
+                    /// Reference to the receive_queue. The IPC::Parameter module
+                    /// writes the replies to this queue.
+                    ACE_Activation_Queue*                   receive_queue_;
+
+                  private:
+                    /// internal initialisation
+                    void open (void);
+
+                    /// internal copying
+                    void copy (const Init& init);
+
+                    /// internal cleanup
+                    void close (void);
+
+                  }; /* class Init */
+
+              } /* namespace Parameter */
+          } /* namespace IPC */
+      } /* namespace Acyclic */
+  } /* namespace FAPI */
+
+#endif /* _FAPI_ACYCLIC_IPC_PARAMETER_INIT_H_ */

Added: fapia-trunk/FAPIAIPCParameter/interface/FAPIAIPCParameterMethodRequest.h
==============================================================================
--- (empty file)
+++ fapia-trunk/FAPIAIPCParameter/interface/FAPIAIPCParameterMethodRequest.h	Thu Jul 19 07:13:16 2007
@@ -0,0 +1,88 @@
+/* -*- C++ -*- */
+
+//=============================================================================
+/**
+ *  @file    FAPIAIPCParameterMethodRequest.h
+ *
+ *  $Id$
+ *
+ *  @author Thomas Rothfuss <thomas.rothfuss at homag.de>
+ */
+//=============================================================================
+
+#ifndef _FAPI_ACYCLIC_IPC_PARAMETER_METHOD_REQUEST_H_
+#define _FAPI_ACYCLIC_IPC_PARAMETER_METHOD_REQUEST_H_
+
+#include /**/ <ace/SString.h>
+#include /**/ <ace/Method_Request.h>
+
+namespace FAPI
+  {
+    namespace Acyclic
+      {
+        namespace IPC
+          {
+            namespace Parameter
+              {
+                /**
+                 * @class MethodRequest
+                 *
+                 * @brief The MethodRequest is the base class for all method
+                 * requests of the two IPC::Parameter queues.
+                 *
+                 */
+                class  MethodRequest : public ACE_Method_Request
+                  {
+
+                  public:
+                    /**
+                     * @brief Constructor of MethodRequest.
+                     *
+                     */
+                    MethodRequest (unsigned long priority = 0);
+
+                    /**
+                     * @brief Destructor of MethodRequest.
+                     *
+                     */
+                    virtual ~MethodRequest (void);
+
+                    /**
+                     * @brief Invoked when the MethodRequest is scheduled to run.
+                     *
+                     * If it returns -1 the receiving thread of this message must
+                     * shut down.
+                     *
+                     */
+                    virtual int call (void) = 0;
+
+                    /// Address of the destination endpoint.
+                    ACE_CString         destination_physical_object_address_;
+
+                  protected:
+
+                  private:
+                    /**
+                     * @brief Copy Constructor is private, so this object cannot
+                     * be copied.
+                     *
+                     */
+                    MethodRequest (const MethodRequest&);
+
+                    /**
+                     * @brief Assignment operator is private, so this object cannot
+                     * be copied.
+                     *
+                     */
+                    const MethodRequest& operator= (const MethodRequest&);
+
+                  }; /* class MethodRequest */
+
+              } /* namespace Parameter */
+          } /* namespace IPC */
+      } /* namespace Acyclic */
+  } /* namespace FAPI */
+
+#define FAPIA_COMMUNICATION_PRIORITY_MAX 0xFFFF
+
+#endif /* _FAPI_ACYCLIC_IPC_PARAMETER_METHOD_REQUEST_H_ */

Added: fapia-trunk/FAPIAIPCParameter/interface/FAPIAIPCParameterMethodRequestInfoRequest.h
==============================================================================
--- (empty file)
+++ fapia-trunk/FAPIAIPCParameter/interface/FAPIAIPCParameterMethodRequestInfoRequest.h	Thu Jul 19 07:13:16 2007
@@ -0,0 +1,97 @@
+/* -*- C++ -*- */
+
+//=============================================================================
+/**
+ *  @file    FAPIAIPCParameterMethodRequestInfoRequest.h
+ *
+ *  $Id$
+ *
+ *  @author Thomas Rothfuss <thomas.rothfuss at homag.de>
+ */
+//=============================================================================
+
+#ifndef _FAPI_ACYCLIC_IPC_PARAMETER_METHOD_REQUEST_INFO_REQUEST_H_
+#define _FAPI_ACYCLIC_IPC_PARAMETER_METHOD_REQUEST_INFO_REQUEST_H_
+
+#include "FAPIAIPCParameterMethodRequest.h"
+#include "FAPIAIPCParameterCommunication.h"
+#include "FAPIAIPCParameterParameter.h"
+
+namespace FAPI
+  {
+    namespace Acyclic
+      {
+        namespace IPC
+          {
+            namespace Parameter
+              {
+                /**
+                 * @class MethodRequestInfoRequest
+                 *
+                 * @brief The MethodRequestInfoRequest is the class for a info
+                 * operation request.
+                 *
+                 */
+                class  MethodRequestInfoRequest : public FAPI::Acyclic::IPC::Parameter::MethodRequest
+                  {
+
+                  public:
+                    /**
+                     * @brief Constructor of MethodRequestInfoRequest.
+                     *
+                     */
+                    MethodRequestInfoRequest (void);
+
+                    /**
+                     * @brief Destructor of MethodRequestInfoRequest.
+                     *
+                     */
+                    virtual ~MethodRequestInfoRequest (void);
+
+                    /**
+                     * @brief Comparison operator
+                     *
+                     */
+                    bool operator!= (const MethodRequestInfoRequest&) const;
+
+                    /**
+                     * @brief Invoked when the MethodRequestInfoRequest is
+                     * scheduled to run.
+                     *
+                     * If it returns -1 the receiving thread of this message
+                     * must shut down.
+                     *
+                     */
+                    virtual int call (void);
+
+                    /// Information for communication purposes.
+                    FAPI::Acyclic::IPC::Parameter::Communication  communication_;
+
+                    /// Parameters to info.
+                    FAPI::Acyclic::IPC::Parameter::Parameters     parameters_;
+
+                  protected:
+
+                  private:
+                    /**
+                     * @brief Copy Constructor is private, so this object cannot
+                     * be copied.
+                     *
+                     */
+                    MethodRequestInfoRequest (const MethodRequestInfoRequest&);
+
+                    /**
+                     * @brief Assignment operator is private, so this object cannot
+                     * be copied.
+                     *
+                     */
+                    const MethodRequestInfoRequest& operator= (const MethodRequestInfoRequest&);
+
+                  }; /* class MethodRequestInfoRequest */
+
+              } /* namespace Parameter */
+          } /* namespace IPC */
+      } /* namespace Acyclic */
+  } /* namespace FAPI */
+
+#endif /* _FAPI_ACYCLIC_IPC_PARAMETER_METHOD_REQUEST_INFO_REQUEST_H_ */

Added: fapia-trunk/FAPIAIPCParameter/interface/FAPIAIPCParameterMethodRequestInfoResponse.h
==============================================================================
--- (empty file)
+++ fapia-trunk/FAPIAIPCParameter/interface/FAPIAIPCParameterMethodRequestInfoResponse.h	Thu Jul 19 07:13:16 2007
@@ -0,0 +1,106 @@
+/* -*- C++ -*- */
+
+//=============================================================================
+/**
+ *  @file    FAPIAIPCParameterMethodRequestInfoResponse.h
+ *
+ *  $Id$
+ *
+ *  @author Thomas Rothfuss <thomas.rothfuss at homag.de>
+ */
+//=============================================================================
+
+#ifndef _FAPI_ACYCLIC_IPC_PARAMETER_METHOD_REQUEST_INFO_RESPONSE_H_
+#define _FAPI_ACYCLIC_IPC_PARAMETER_METHOD_REQUEST_INFO_RESPONSE_H_
+
+#include "FAPIAIPCParameterMethodRequest.h"
+#include "FAPIAIPCParameterCommunication.h"
+#include "FAPIAIPCParameterParameter.h"
+#include "FAPIAIPCParameterInfo.h"
+#include "FAPIAIPCParameterError.h"
+
+namespace FAPI
+  {
+    namespace Acyclic
+      {
+        namespace IPC
+          {
+            namespace Parameter
+              {
+                /**
+                 * @class MethodRequestInfoResponse
+                 *
+                 * @brief The MethodRequestInfoResponse is the class for a info
+                 * operation request.
+                 *
+                 */
+                class  MethodRequestInfoResponse : public FAPI::Acyclic::IPC::Parameter::MethodRequest
+                  {
+
+                  public:
+                    /**
+                     * @brief Constructor of MethodRequestInfoResponse.
+                     *
+                     */
+                    MethodRequestInfoResponse (void);
+
+                    /**
+                     * @brief Destructor of MethodRequestInfoResponse.
+                     *
+                     */
+                    virtual ~MethodRequestInfoResponse (void);
+
+                    /**
+                     * @brief Comparison operator
+                     *
+                     */
+                    bool operator!= (const MethodRequestInfoResponse&) const;
+
+                    /**
+                     * @brief Invoked when the MethodRequestInfoResponse is
+                     * scheduled to run.
+                     *
+                     * If it returns -1 the receiving thread of this message
+                     * must shut down.
+                     *
+                     */
+                    virtual int call (void);
+
+                    /// Information for communication purposes.
+                    Communication                               communication_;
+
+                    /// Parameters which were written.
+                    FAPI::Acyclic::IPC::Parameter::Parameters   parameters_;
+
+                    /// Infos which were written.
+                    FAPI::Acyclic::IPC::Parameter::Infos        infos_;
+
+                    /// Errors for the written parameters. If the relating error
+                    /// is ok the value was successfully written.
+                    FAPI::Acyclic::IPC::Parameter::Errors       errors_;
+
+                  protected:
+
+                  private:
+                    /**
+                     * @brief Copy Constructor is private, so this object cannot
+                     * be copied.
+                     *
+                     */
+                    MethodRequestInfoResponse (const MethodRequestInfoResponse&);
+
+                    /**
+                     * @brief Assignment operator is private, so this object cannot
+                     * be copied.
+                     *
+                     */
+                    const MethodRequestInfoResponse& operator= (const MethodRequestInfoResponse&);
+
+                  }; /* class MethodRequestInfoResponse */
+
+              } /* namespace Parameter */
+          } /* namespace IPC */
+      } /* namespace Acyclic */
+  } /* namespace FAPI */
+
+#endif /* _FAPI_ACYCLIC_IPC_PARAMETER_METHOD_REQUEST_INFO_RESPONSE_H_ */

Added: fapia-trunk/FAPIAIPCParameter/interface/FAPIAIPCParameterMethodRequestReadRequest.h
==============================================================================
--- (empty file)
+++ fapia-trunk/FAPIAIPCParameter/interface/FAPIAIPCParameterMethodRequestReadRequest.h	Thu Jul 19 07:13:16 2007
@@ -0,0 +1,100 @@
+/* -*- C++ -*- */
+
+//=============================================================================
+/**
+ *  @file    FAPIAIPCParameterMethodRequestReadRequest.h
+ *
+ *  $Id$
+ *
+ *  @author Thomas Rothfuss <thomas.rothfuss at homag.de>
+ */
+//=============================================================================
+
+#ifndef _FAPI_ACYCLIC_IPC_PARAMETER_METHOD_REQUEST_READ_REQUEST_H_
+#define _FAPI_ACYCLIC_IPC_PARAMETER_METHOD_REQUEST_READ_REQUEST_H_
+
+#include "FAPIAIPCParameterMethodRequest.h"
+#include "FAPIAIPCParameterCommunication.h"
+#include "FAPIAIPCParameterParameter.h"
+
+namespace FAPI
+  {
+    namespace Acyclic
+      {
+        namespace IPC
+          {
+            namespace Parameter
+              {
+                /**
+                 * @class MethodRequestReadRequest
+                 *
+                 * @brief The MethodRequestReadRequest is the class for a read
+                 * operation request.
+                 *
+                 */
+                class  MethodRequestReadRequest : \
+                    public FAPI::Acyclic::IPC::Parameter::MethodRequest
+                  {
+
+                  public:
+                    /**
+                     * @brief Constructor of MethodRequestReadRequest.
+                     *
+                     */
+                    MethodRequestReadRequest (void);
+
+                    /**
+                     * @brief Destructor of MethodRequestReadRequest.
+                     *
+                     */
+                    virtual ~MethodRequestReadRequest (void);
+
+                    /**
+                     * @brief Comparison operator
+                     *
+                     */
+                    bool operator!= (const MethodRequestReadRequest&) const;
+
+                    /**
+                     * @brief Invoked when the MethodRequestReadRequest is
+                     * scheduled to run.
+                     *
+                     * If it returns -1 the receiving thread of this message
+                     * must shut down.
+                     *
+                     */
+                    virtual int call (void);
+
+                    /// Information for communication purposes.
+                    FAPI::Acyclic::IPC::Parameter::Communication \
+                        communication_;
+
+                    /// Parameters to read.
+                    FAPI::Acyclic::IPC::Parameter::Parameters   parameters_;
+
+                  protected:
+
+                  private:
+                    /**
+                     * @brief Copy Constructor is private, so this object 
+                     * cannot be copied.
+                     *
+                     */
+                    MethodRequestReadRequest (const MethodRequestReadRequest&);
+
+                    /**
+                     * @brief Assignment operator is private, so this object 
+                     * cannot be copied.
+                     *
+                     */
+                    const MethodRequestReadRequest& operator= ( \
+                                              const MethodRequestReadRequest&);
+
+                  }; /* class MethodRequestReadRequest */
+
+              } /* namespace Parameter */
+          } /* namespace IPC */
+      } /* namespace Acyclic */
+  } /* namespace FAPI */
+
+#endif /* _FAPI_ACYCLIC_IPC_PARAMETER_METHOD_REQUEST_READ_REQUEST_H_ */

Added: fapia-trunk/FAPIAIPCParameter/interface/FAPIAIPCParameterMethodRequestReadResponse.h
==============================================================================
--- (empty file)
+++ fapia-trunk/FAPIAIPCParameter/interface/FAPIAIPCParameterMethodRequestReadResponse.h	Thu Jul 19 07:13:16 2007
@@ -0,0 +1,110 @@
+/* -*- C++ -*- */
+
+//=============================================================================
+/**
+ *  @file    FAPIAIPCParameterMethodRequestReadResponse.h
+ *
+ *  $Id$
+ *
+ *  @author Thomas Rothfuss <thomas.rothfuss at homag.de>
+ */
+//=============================================================================
+
+#ifndef _FAPI_ACYCLIC_IPC_PARAMETER_METHOD_REQUEST_READ_RESPONSE_H_
+#define _FAPI_ACYCLIC_IPC_PARAMETER_METHOD_REQUEST_READ_RESPONSE_H_
+
+#include "FAPIAIPCParameterMethodRequest.h"
+#include "FAPIAIPCParameterCommunication.h"
+#include "FAPIAIPCParameterParameter.h"
+#include "FAPIAIPCParameterValue.h"
+#include "FAPIAIPCParameterError.h"
+
+namespace FAPI
+  {
+    namespace Acyclic
+      {
+        namespace IPC
+          {
+            namespace Parameter
+              {
+                /**
+                 * @class MethodRequestReadResponse
+                 *
+                 * @brief The MethodRequestReadResponse is the class for a read
+                 * operation request.
+                 *
+                 */
+                class  MethodRequestReadResponse : 
+                    public FAPI::Acyclic::IPC::Parameter::MethodRequest
+                  {
+
+                  public:
+                    /**
+                     * @brief Constructor of MethodRequestReadResponse.
+                     *
+                     */
+                    MethodRequestReadResponse (void);
+
+                    /**
+                     * @brief Destructor of MethodRequestReadResponse.
+                     *
+                     */
+                    virtual ~MethodRequestReadResponse (void);
+
+                    /**
+                     * @brief Comparison operator
+                     *
+                     */
+                    bool operator!= (const MethodRequestReadResponse&) const;
+
+                    /**
+                     * @brief Invoked when the MethodRequestReadResponse is
+                     * scheduled to run.
+                     *
+                     * If it returns -1 the receiving thread of this message
+                     * must shut down.
+                     *
+                     */
+                    virtual int call (void);
+
+                    /// Information for communication purposes.
+                    Communication                               communication_;
+
+                    /// Parameters which were read.
+                    FAPI::Acyclic::IPC::Parameter::Parameters   parameters_;
+
+                    /// Values for parameters. The position of a value
+                    /// relates to the position of its parameter. The
+                    /// value is only valid if the relating error is ok.
+                    FAPI::Acyclic::IPC::Parameter::Values       values_;
+
+                    /// Errors for the parameters. If the relating error is ok
+                    /// the value is valid.
+                    FAPI::Acyclic::IPC::Parameter::Errors       errors_;
+
+                  protected:
+
+                  private:
+                    /**
+                     * @brief Copy Constructor is private, so this object cannot
+                     * be copied.
+                     *
+                     */
+                    MethodRequestReadResponse (const MethodRequestReadResponse&);
+
+                    /**
+                     * @brief Assignment operator is private, so this object cannot
+                     * be copied.
+                     *
+                     */
+                    const MethodRequestReadResponse& operator= (
+                        const MethodRequestReadResponse&);
+
+                  }; /* class MethodRequestReadResponse */
+
+              } /* namespace Parameter */
+          } /* namespace IPC */
+      } /* namespace Acyclic */
+  } /* namespace FAPI */
+
+#endif /* _FAPI_ACYCLIC_IPC_PARAMETER_METHOD_REQUEST_READ_RESPONSE_H_ */

Added: fapia-trunk/FAPIAIPCParameter/interface/FAPIAIPCParameterMethodRequestWriteRequest.h
==============================================================================
--- (empty file)
+++ fapia-trunk/FAPIAIPCParameter/interface/FAPIAIPCParameterMethodRequestWriteRequest.h	Thu Jul 19 07:13:16 2007
@@ -0,0 +1,102 @@
+/* -*- C++ -*- */
+
+//=============================================================================
+/**
+ *  @file    FAPIAIPCParameterMethodRequestWriteRequest.h
+ *
+ *  $Id$
+ *
+ *  @author Thomas Rothfuss <thomas.rothfuss at homag.de>
+ */
+//=============================================================================
+
+#ifndef _FAPI_ACYCLIC_IPC_PARAMETER_METHOD_REQUEST_WRITE_REQUEST_H_
+#define _FAPI_ACYCLIC_IPC_PARAMETER_METHOD_REQUEST_WRITE_REQUEST_H_
+
+#include "FAPIAIPCParameterMethodRequest.h"
+#include "FAPIAIPCParameterCommunication.h"
+#include "FAPIAIPCParameterParameter.h"
+#include "FAPIAIPCParameterValue.h"
+
+namespace FAPI
+  {
+    namespace Acyclic
+      {
+        namespace IPC
+          {
+            namespace Parameter
+              {
+                /**
+                 * @class MethodRequestWriteRequest
+                 *
+                 * @brief The MethodRequestWriteRequest is the class for a write
+                 * operation request.
+                 *
+                 */
+                class  MethodRequestWriteRequest : public FAPI::Acyclic::IPC::Parameter::MethodRequest
+                  {
+
+                  public:
+                    /**
+                     * @brief Constructor of MethodRequestWriteRequest.
+                     *
+                     */
+                    MethodRequestWriteRequest (void);
+
+                    /**
+                     * @brief Destructor of MethodRequestWriteRequest.
+                     *
+                     */
+                    virtual ~MethodRequestWriteRequest (void);
+
+                    /**
+                     * @brief Comparison operator
+                     *
+                     */
+                    bool operator!= (const MethodRequestWriteRequest&) const;
+
+                    /**
+                     * @brief Invoked when the MethodRequestWriteRequest is
+                     * scheduled to run.
+                     *
+                     * If it returns -1 the receiving thread of this message
+                     * must shut down.
+                     *
+                     */
+                    virtual int call (void);
+
+                    /// Information for communication purposes.
+                    FAPI::Acyclic::IPC::Parameter::Communication  communication_;
+
+                    /// Parameters to write.
+                    FAPI::Acyclic::IPC::Parameter::Parameters     parameters_;
+
+                    /// Values for parameters. The position of a value
+                    /// relates to the position of its parameter.
+                    FAPI::Acyclic::IPC::Parameter::Values         values_;
+
+                  protected:
+
+                  private:
+                    /**
+                     * @brief Copy Constructor is private, so this object cannot
+                     * be copied.
+                     *
+                     */
+                    MethodRequestWriteRequest (const MethodRequestWriteRequest&);
+
+                    /**
+                     * @brief Assignment operator is private, so this object cannot
+                     * be copied.
+                     *
+                     */
+                    const MethodRequestWriteRequest& operator= (const MethodRequestWriteRequest&);
+
+                  }; /* class MethodRequestWriteRequest */
+
+              } /* namespace Parameter */
+          } /* namespace IPC */
+      } /* namespace Acyclic */
+  } /* namespace FAPI */
+
+#endif /* _FAPI_ACYCLIC_IPC_PARAMETER_METHOD_REQUEST_WRITE_REQUEST_H_ */

Added: fapia-trunk/FAPIAIPCParameter/interface/FAPIAIPCParameterMethodRequestWriteResponse.h
==============================================================================
--- (empty file)
+++ fapia-trunk/FAPIAIPCParameter/interface/FAPIAIPCParameterMethodRequestWriteResponse.h	Thu Jul 19 07:13:16 2007
@@ -0,0 +1,102 @@
+/* -*- C++ -*- */
+
+//=============================================================================
+/**
+ *  @file    FAPIAIPCParameterMethodRequestWriteResponse.h
+ *
+ *  $Id$
+ *
+ *  @author Thomas Rothfuss <thomas.rothfuss at homag.de>
+ */
+//=============================================================================
+
+#ifndef _FAPI_ACYCLIC_IPC_PARAMETER_METHOD_REQUEST_WRITE_RESPONSE_H_
+#define _FAPI_ACYCLIC_IPC_PARAMETER_METHOD_REQUEST_WRITE_RESPONSE_H_
+
+#include "FAPIAIPCParameterMethodRequest.h"
+#include "FAPIAIPCParameterCommunication.h"
+#include "FAPIAIPCParameterParameter.h"
+#include "FAPIAIPCParameterError.h"
+
+namespace FAPI
+  {
+    namespace Acyclic
+      {
+        namespace IPC
+          {
+            namespace Parameter
+              {
+                /**
+                 * @class MethodRequestWriteResponse
+                 *
+                 * @brief The MethodRequestWriteResponse is the class for a write
+                 * operation request.
+                 *
+                 */
+                class  MethodRequestWriteResponse : public FAPI::Acyclic::IPC::Parameter::MethodRequest
+                  {
+
+                  public:
+                    /**
+                     * @brief Constructor of MethodRequestWriteResponse.
+                     *
+                     */
+                    MethodRequestWriteResponse (void);
+
+                    /**
+                     * @brief Destructor of MethodRequestWriteResponse.
+                     *
+                     */
+                    virtual ~MethodRequestWriteResponse (void);
+
+                    /**
+                     * @brief Comparison operator
+                     *
+                     */
+                    bool operator!= (const MethodRequestWriteResponse&) const;
+
+                    /**
+                     * @brief Invoked when the MethodRequestWriteResponse is
+                     * scheduled to run.
+                     *
+                     * If it returns -1 the receiving thread of this message
+                     * must shut down.
+                     *
+                     */
+                    virtual int call (void);
+
+                    /// Information for communication purposes.
+                    Communication                               communication_;
+
+                    /// Parameters which were written.
+                    FAPI::Acyclic::IPC::Parameter::Parameters   parameters_;
+
+                    /// Errors for the written parameters. If the relating error
+                    /// is ok the value was successfully written.
+                    FAPI::Acyclic::IPC::Parameter::Errors       errors_;
+
+                  protected:
+
+                  private:
+                    /**
+                     * @brief Copy Constructor is private, so this object cannot
+                     * be copied.
+                     *
+                     */
+                    MethodRequestWriteResponse (const MethodRequestWriteResponse&);
+
+                    /**
+                     * @brief Assignment operator is private, so this object cannot
+                     * be copied.
+                     *
+                     */
+                    const MethodRequestWriteResponse& operator= (const MethodRequestWriteResponse&);
+
+                  }; /* class MethodRequestWriteResponse */
+
+              } /* namespace Parameter */
+          } /* namespace IPC */
+      } /* namespace Acyclic */
+  } /* namespace FAPI */
+
+#endif /* _FAPI_ACYCLIC_IPC_PARAMETER_METHOD_REQUEST_WRITE_RESPONSE_H_ */

Added: fapia-trunk/FAPIAIPCParameter/interface/FAPIAIPCParameterParameter.h
==============================================================================
--- (empty file)
+++ fapia-trunk/FAPIAIPCParameter/interface/FAPIAIPCParameterParameter.h	Thu Jul 19 07:13:16 2007
@@ -0,0 +1,96 @@
+/* -*- C++ -*- */
+
+//=============================================================================
+/**
+ *  @file    FAPIAIPCParameterParameter.h
+ *
+ *  $Id$
+ *
+ *  @author Thomas Rothfuss <thomas.rothfuss at homag.de>
+ */
+//=============================================================================
+
+#ifndef _FAPI_ACYCLIC_IPC_PARAMETER_PARAMETER_H_
+#define _FAPI_ACYCLIC_IPC_PARAMETER_PARAMETER_H_
+
+#include /**/ <ace/SString.h>
+#include /**/ <ace/Vector_T.h>
+
+
+namespace FAPI
+  {
+    namespace Acyclic
+      {
+        namespace IPC
+          {
+            namespace Parameter
+              {
+                /**
+                 * @class Parameter
+                 *
+                 * @brief The Parameter is used inside all MethodRequests.
+                 *
+                 */
+                class  Parameter
+                  {
+
+                  public:
+                    /**
+                     * @brief Constructor of Parameter.
+                     *
+                     */
+                    Parameter (void);
+
+                    /**
+                     * @brief Copy Constructor.
+                     *
+                     */
+                    Parameter (const Parameter&);
+
+                    /**
+                     * @brief Assignment operator.
+                     *
+                     */
+                    const Parameter& operator= (const Parameter&);
+
+                    /**
+                     * @brief Destructor of Parameter.
+                     *
+                     */
+                    virtual ~Parameter (void);
+
+                    /**
+                     * @brief Comparison operator.
+                     *
+                     */
+                    bool operator!= (const Parameter&) const;
+
+                  // The member variables are public. Therefore there is no need
+                  // to implement get and set methods. This class is used as a
+                  // structure with constructor, destructor, copy constructor and
+                  // assignement operator.
+                  public:
+                    /// Name of the parameter.
+                    ACE_CString                          parameter_name_;
+
+                  private:
+                    /// internal initialisation
+                    void open (void);
+
+                    /// internal copying
+                    void copy (const Parameter&);
+
+                    /// internal cleanup
+                    void close (void);
+
+                  }; /* class Parameter */
+
+                /// This typedef is a container for Parameters.
+                typedef  ACE_Vector<FAPI::Acyclic::IPC::Parameter::Parameter> Parameters;
+
+              } /* namespace Parameter */
+          } /* namespace IPC */
+      } /* namespace Acyclic */
+  } /* namespace FAPI */
+
+#endif /* _FAPI_ACYCLIC_IPC_PARAMETER_PARAMETER_H_ */

Added: fapia-trunk/FAPIAIPCParameter/interface/FAPIAIPCParameterValue.h
==============================================================================
--- (empty file)
+++ fapia-trunk/FAPIAIPCParameter/interface/FAPIAIPCParameterValue.h	Thu Jul 19 07:13:16 2007
@@ -0,0 +1,113 @@
+/* -*- C++ -*- */
+
+//=============================================================================
+/**
+ *  @file    FAPIAIPCParameterValue.h
+ *
+ *  $Id$
+ *
+ *  @author Thomas Rothfuss <thomas.rothfuss at homag.de>
+ */
+//=============================================================================
+
+#ifndef _FAPI_ACYCLIC_IPC_PARAMETER_VALUE_H_
+#define _FAPI_ACYCLIC_IPC_PARAMETER_VALUE_H_
+
+#include /**/ <ace/SString.h>
+#include /**/ <ace/Vector_T.h>
+
+#include <FAPIA/interface/FAPIA.h>
+
+namespace FAPI
+  {
+    namespace Acyclic
+      {
+        namespace IPC
+          {
+            namespace Parameter
+              {
+                /**
+                 * @class Value
+                 *
+                 * @brief The Value instance contains a value for a parameter.
+                 *
+                 */
+                class  Value
+                  {
+
+                  public:
+                    /**
+                     * @brief Constructor of Value.
+                     *
+                     */
+                    Value (void);
+
+                    /**
+                     * @brief Copy Constructor.
+                     *
+                     */
+                    Value (const Value&);
+
+                    /**
+                     * @brief Assignment operator.
+                     *
+                     */
+                    const Value& operator= (const Value&);
+
+                    /**
+                     * @brief Destructor of Value.
+                     *
+                     */
+                    virtual ~Value (void);
+
+                    /**
+                     * @brief Comparison operator.
+                     *
+                     */
+                    bool operator!= (const Value&) const;
+
+                  // The member variables are public. Therefore there is no need
+                  // to implement get and set methods. This class is used as a
+                  // structure with constructor, destructor, copy constructor and
+                  // assignement operator.
+                  public:
+
+                    /// Datatype of the parameter.
+                    FAPIADataType                        data_type_;
+
+                    /// getter for data field length in bytes
+                    unsigned long data_len (void) const;
+
+                    /// getter for data 
+                    const void* data_value (void) const;
+
+                    /// method to set a data value
+                    long data_value (const void* const value, unsigned long len);
+
+                  private:
+                    /// Length of the value.
+                    unsigned long                        data_len_;
+
+                    /// Pointer to the value.
+                    void*                                data_value_;
+
+                    /// internal initialisation
+                    void open (void);
+
+                    /// internal copying
+                    void copy (const Value&);
+
+                    /// internal cleanup
+                    void close (void);
+
+                  }; /* class Value */
+
+                  /// This typedef is a container for Values.
+                typedef  ACE_Vector<FAPI::Acyclic::IPC::Parameter::Value> Values;
+
+              } /* namespace Parameter */
+          } /* namespace IPC */
+      } /* namespace Acyclic */
+  } /* namespace FAPI */
+
+#endif /* _FAPI_ACYCLIC_IPC_PARAMETER_VALUE_H_ */


More information about the OSADL-svn-commits mailing list