[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