Author: robbinspg
Date: Tue Apr 25 04:59:31 2006
New Revision: 396854
URL: http://svn.apache.org/viewcvs?rev=396854&view=rev
Log:
TUSCANY-164 encode return type
Modified:
incubator/tuscany/cpp/sca/runtime/core/src/tuscany/sca/core/Operation.cpp
incubator/tuscany/cpp/sca/runtime/core/src/tuscany/sca/core/Operation.h
incubator/tuscany/cpp/sca/runtime/core/src/tuscany/sca/core/SCAEntryPoint.cpp
incubator/tuscany/cpp/sca/runtime/core/test/CustomerInfo/CustomerInfoImpl.cpp
incubator/tuscany/cpp/sca/runtime/core/test/CustomerInfo/CustomerInfoImpl_CustomerInfoService_Proxy.cpp
incubator/tuscany/cpp/sca/runtime/core/test/CustomerInfo/CustomerInfoImpl_CustomerInfoService_Wrapper.cpp
incubator/tuscany/cpp/sca/runtime/core/test/MyValue/MyValueImpl_MyValueService_Proxy.cpp
incubator/tuscany/cpp/sca/runtime/core/test/MyValue/MyValueImpl_MyValueService_Wrapper.cpp
incubator/tuscany/cpp/sca/runtime/core/test/MyValue/MyValueImpl_customerInfo_Proxy.cpp
incubator/tuscany/cpp/sca/runtime/core/test/MyValue/MyValueImpl_stockQuote_Proxy.cpp
Modified:
incubator/tuscany/cpp/sca/runtime/core/src/tuscany/sca/core/Operation.cpp
URL:
http://svn.apache.org/viewcvs/incubator/tuscany/cpp/sca/runtime/core/src/tuscany/sca/core/Operation.cpp?rev=396854&r1=396853&r2=396854&view=diff
==============================================================================
--- incubator/tuscany/cpp/sca/runtime/core/src/tuscany/sca/core/Operation.cpp
(original)
+++ incubator/tuscany/cpp/sca/runtime/core/src/tuscany/sca/core/Operation.cpp
Tue Apr 25 04:59:31 2006
@@ -86,87 +86,143 @@
void Operation::addParameter(const void *parm)
{
LOGINFO(4, "Operation::addParameter(void*)");
- parameters.insert(parameters.begin(), Parameter((void*)parm,
VOID_TYPE));
+ parameters.insert(parameters.end(), Parameter((void*)parm,
VOID_TYPE));
}
void Operation::addParameter(const bool *parm)
{
LOGINFO(4, "Operation::addParameter(bool)");
- parameters.insert(parameters.begin(), Parameter((void*)parm,
BOOL));
+ parameters.insert(parameters.end(), Parameter((void*)parm, BOOL));
}
void Operation::addParameter(const short *parm)
{
LOGINFO(4, "Operation::addParameter(short)");
- parameters.insert(parameters.begin(), Parameter((void*)parm,
SHORT));
+ parameters.insert(parameters.end(), Parameter((void*)parm, SHORT));
}
void Operation::addParameter(const long *parm)
{
LOGINFO(4, "Operation::addParameter(long)");
- parameters.insert(parameters.begin(), Parameter((void*)parm,
LONG));
+ parameters.insert(parameters.end(), Parameter((void*)parm, LONG));
}
void Operation::addParameter(const unsigned short *parm)
{
LOGINFO(4, "Operation::addParameter(unsigned short)");
- parameters.insert(parameters.begin(), Parameter((void*)parm,
USHORT));
+ parameters.insert(parameters.end(), Parameter((void*)parm,
USHORT));
}
void Operation::addParameter(const unsigned long *parm)
{
LOGINFO(4, "Operation::addParameter(unsigned long)");
- parameters.insert(parameters.begin(), Parameter((void*)parm,
ULONG));
+ parameters.insert(parameters.end(), Parameter((void*)parm, ULONG));
}
void Operation::addParameter(const float *parm)
{
LOGINFO(4, "Operation::addParameter(float)");
- parameters.insert(parameters.begin(), Parameter((void*)parm,
FLOAT));
+ parameters.insert(parameters.end(), Parameter((void*)parm, FLOAT));
}
void Operation::addParameter(const double *parm)
{
LOGINFO(4, "Operation::addParameter(double)");
- parameters.insert(parameters.begin(), Parameter((void*)parm,
DOUBLE));
+ parameters.insert(parameters.end(), Parameter((void*)parm,
DOUBLE));
}
void Operation::addParameter(const long double *parm)
{
LOGINFO(4, "Operation::addParameter(long double)");
- parameters.insert(parameters.begin(), Parameter((void*)parm,
LONGDOUBLE));
+ parameters.insert(parameters.end(), Parameter((void*)parm,
LONGDOUBLE));
}
void Operation::addParameter(const char* *parm)
{
LOGINFO(4, "Operation::addParameter(char*)");
- parameters.insert(parameters.begin(), Parameter((void*)parm,
CHARS));
+ parameters.insert(parameters.end(), Parameter((void*)parm, CHARS));
}
void Operation::addParameter(const string *parm)
{
LOGINFO(4, "Operation::addParameter(string)");
- parameters.insert(parameters.begin(), Parameter((void*)parm,
STRING));
+ parameters.insert(parameters.end(), Parameter((void*)parm,
STRING));
}
void Operation::addParameter(const DataObjectPtr *parm)
{
LOGINFO(4, "Operation::addParameter(DataObjectPtr)");
- parameters.insert(parameters.begin(), Parameter((void*)parm,
DATAOBJECT));
+ parameters.insert(parameters.end(), Parameter((void*)parm,
DATAOBJECT));
}
- // ====================================
- // setReturnValue: set the return value
- // ====================================
- void Operation::setReturnValue(void* val)
+ Operation::Parameter::Parameter(void* val, Operation::ParameterType
typ)
+ : value(val), type(typ)
{
- returnValue = val;
}
- Operation::Parameter::Parameter(void* val, Operation::ParameterType
typ)
- : value(val), type(typ)
+ // ===========================================
+ // setReturnValue
+ // ===========================================
+ void Operation::setReturnValue(const void *parm)
+ {
+ returnValue = Parameter((void*)parm, VOID_TYPE);
+ }
+
+ void Operation::setReturnValue(const bool *parm)
+ {
+ returnValue = Parameter((void*)parm, BOOL);
+ }
+
+ void Operation::setReturnValue(const short *parm)
+ {
+ returnValue = Parameter((void*)parm, SHORT);
+ }
+
+ void Operation::setReturnValue(const long *parm)
+ {
+ returnValue = Parameter((void*)parm, LONG);
+ }
+
+ void Operation::setReturnValue(const unsigned short *parm)
+ {
+ returnValue = Parameter((void*)parm, USHORT);
+ }
+
+ void Operation::setReturnValue(const unsigned long *parm)
{
+ returnValue = Parameter((void*)parm, ULONG);
}
+
+ void Operation::setReturnValue(const float *parm)
+ {
+ returnValue = Parameter((void*)parm, FLOAT);
+ }
+
+ void Operation::setReturnValue(const double *parm)
+ {
+ returnValue = Parameter((void*)parm, DOUBLE);
+ }
+
+ void Operation::setReturnValue(const long double *parm)
+ {
+ returnValue = Parameter((void*)parm, LONGDOUBLE);
+ }
+
+ void Operation::setReturnValue(const char* *parm)
+ {
+ returnValue = Parameter((void*)parm, CHARS);
+ }
+
+ void Operation::setReturnValue(const string *parm)
+ {
+ returnValue = Parameter((void*)parm, STRING);
+ }
+
+ void Operation::setReturnValue(const DataObjectPtr *parm)
+ {
+ returnValue = Parameter((void*)parm, DATAOBJECT);
+ }
+
} // End namespace sca
} // End namespace tuscany
Modified:
incubator/tuscany/cpp/sca/runtime/core/src/tuscany/sca/core/Operation.h
URL:
http://svn.apache.org/viewcvs/incubator/tuscany/cpp/sca/runtime/core/src/tuscany/sca/core/Operation.h?rev=396854&r1=396853&r2=396854&view=diff
==============================================================================
--- incubator/tuscany/cpp/sca/runtime/core/src/tuscany/sca/core/Operation.h
(original)
+++ incubator/tuscany/cpp/sca/runtime/core/src/tuscany/sca/core/Operation.h Tue
Apr 25 04:59:31 2006
@@ -76,7 +76,7 @@
class Parameter
{
public:
- SCA_API Parameter(void* value, ParameterType type);
+ SCA_API Parameter(void* value = NULL, ParameterType type =
VOID_TYPE);
SCA_API void* getValue() {return value;}
SCA_API ParameterType getType() {return type;}
@@ -86,6 +86,23 @@
};
/**
+ * Set a return value for the operation.
+ * @param retVal Pointer to the return value.
+ */
+ SCA_API void setReturnValue(const void *retVal);
+ SCA_API void setReturnValue(const bool *retVal);
+ SCA_API void setReturnValue(const short *retVal);
+ SCA_API void setReturnValue(const long *retVal);
+ SCA_API void setReturnValue(const unsigned short *retVal);
+ SCA_API void setReturnValue(const unsigned long *retVal);
+ SCA_API void setReturnValue(const float *retVal);
+ SCA_API void setReturnValue(const double *retVal);
+ SCA_API void setReturnValue(const long double *retVal);
+ SCA_API void setReturnValue(const char* *retVal);
+ SCA_API void setReturnValue(const string *retVal);
+ SCA_API void setReturnValue(const DataObjectPtr *retVal);
+
+ /**
* Set a parameter on the operation.
* @param pos The position of the parameter in the parameter list.
* @param parm Pointer to the parameter to be passed.
@@ -103,7 +120,8 @@
SCA_API void addParameter(const string *parm);
SCA_API void addParameter(const DataObjectPtr *parm);
- SCA_API unsigned int getNParms() {return parameters.size();}
+ SCA_API unsigned int getNParms() {return parameters.size();}
+
/**
* Get a parameter from the operation.
* @param pos The position of the parameter in the parameter list.
@@ -128,23 +146,8 @@
*/
SCA_API void* getParameterValue(unsigned int pos);
- /**
- * Get the return value on the operation.
- * Normally the client
- * would set the return value and the service will get this
- * return value pointer and set the return value.
- * @return Pointer to the return type.
- */
- SCA_API void* getReturnValue() {return returnValue;}
-
- /**
- * Set the return value on the operation.
- * Normally the client
- * would set the return value pointer so that the service can
- * return a value
- * @param valPtr Pointer to the return type.
- */
- SCA_API void setReturnValue(void* valPtr);
+ SCA_API ParameterType getReturnType() {return
returnValue.getType();}
+ SCA_API void* getReturnValue() {return returnValue.getValue();}
private:
/**
@@ -159,10 +162,8 @@
PARAMETER_VECTOR parameters;
- /**
- * The return value.
- */
- void* returnValue;
+ Parameter returnValue;
+
};
} // End namespace sca
} // End namespace tuscany
Modified:
incubator/tuscany/cpp/sca/runtime/core/src/tuscany/sca/core/SCAEntryPoint.cpp
URL:
http://svn.apache.org/viewcvs/incubator/tuscany/cpp/sca/runtime/core/src/tuscany/sca/core/SCAEntryPoint.cpp?rev=396854&r1=396853&r2=396854&view=diff
==============================================================================
---
incubator/tuscany/cpp/sca/runtime/core/src/tuscany/sca/core/SCAEntryPoint.cpp
(original)
+++
incubator/tuscany/cpp/sca/runtime/core/src/tuscany/sca/core/SCAEntryPoint.cpp
Tue Apr 25 04:59:31 2006
@@ -164,7 +164,7 @@
Operation operation(operationName);
operation.addParameter(&inDataObject);
DataObjectPtr ret;
- operation.setReturnValue((void *)&ret);
+ operation.setReturnValue(&ret);
for (SERVICES::iterator iter = services.begin(); iter <
services.end(); iter++)
{
Modified:
incubator/tuscany/cpp/sca/runtime/core/test/CustomerInfo/CustomerInfoImpl.cpp
URL:
http://svn.apache.org/viewcvs/incubator/tuscany/cpp/sca/runtime/core/test/CustomerInfo/CustomerInfoImpl.cpp?rev=396854&r1=396853&r2=396854&view=diff
==============================================================================
---
incubator/tuscany/cpp/sca/runtime/core/test/CustomerInfo/CustomerInfoImpl.cpp
(original)
+++
incubator/tuscany/cpp/sca/runtime/core/test/CustomerInfo/CustomerInfoImpl.cpp
Tue Apr 25 04:59:31 2006
@@ -68,7 +68,7 @@
if (!strcmp("12345", customerID))
{
- return "IBM";
+ return "xzderg";
}
else
{
Modified:
incubator/tuscany/cpp/sca/runtime/core/test/CustomerInfo/CustomerInfoImpl_CustomerInfoService_Proxy.cpp
URL:
http://svn.apache.org/viewcvs/incubator/tuscany/cpp/sca/runtime/core/test/CustomerInfo/CustomerInfoImpl_CustomerInfoService_Proxy.cpp?rev=396854&r1=396853&r2=396854&view=diff
==============================================================================
---
incubator/tuscany/cpp/sca/runtime/core/test/CustomerInfo/CustomerInfoImpl_CustomerInfoService_Proxy.cpp
(original)
+++
incubator/tuscany/cpp/sca/runtime/core/test/CustomerInfo/CustomerInfoImpl_CustomerInfoService_Proxy.cpp
Tue Apr 25 04:59:31 2006
@@ -53,12 +53,11 @@
const char*
CustomerInfoImpl_CustomerInfoService_Proxy::getCustomerInformation(const char*
arg0)
{
Operation operation("getCustomerInformation");
-
operation.addParameter(&arg0);
-
-
+ const char* ret;
+ operation.setReturnValue(&ret);
target->invoke(operation);
- return (const char*)operation.getReturnValue();
+ return ret;
}
Modified:
incubator/tuscany/cpp/sca/runtime/core/test/CustomerInfo/CustomerInfoImpl_CustomerInfoService_Wrapper.cpp
URL:
http://svn.apache.org/viewcvs/incubator/tuscany/cpp/sca/runtime/core/test/CustomerInfo/CustomerInfoImpl_CustomerInfoService_Wrapper.cpp?rev=396854&r1=396853&r2=396854&view=diff
==============================================================================
---
incubator/tuscany/cpp/sca/runtime/core/test/CustomerInfo/CustomerInfoImpl_CustomerInfoService_Wrapper.cpp
(original)
+++
incubator/tuscany/cpp/sca/runtime/core/test/CustomerInfo/CustomerInfoImpl_CustomerInfoService_Wrapper.cpp
Tue Apr 25 04:59:31 2006
@@ -60,7 +60,7 @@
{
const char* p0 = *(const char**)operation.getParameterValue(0);
- operation.setReturnValue((void*) impl->getCustomerInformation(p0));
+ *(const char**)operation.getReturnValue() =
impl->getCustomerInformation(p0);
return;
}
Modified:
incubator/tuscany/cpp/sca/runtime/core/test/MyValue/MyValueImpl_MyValueService_Proxy.cpp
URL:
http://svn.apache.org/viewcvs/incubator/tuscany/cpp/sca/runtime/core/test/MyValue/MyValueImpl_MyValueService_Proxy.cpp?rev=396854&r1=396853&r2=396854&view=diff
==============================================================================
---
incubator/tuscany/cpp/sca/runtime/core/test/MyValue/MyValueImpl_MyValueService_Proxy.cpp
(original)
+++
incubator/tuscany/cpp/sca/runtime/core/test/MyValue/MyValueImpl_MyValueService_Proxy.cpp
Tue Apr 25 04:59:31 2006
@@ -53,49 +53,37 @@
float MyValueImpl_MyValueService_Proxy::getMyValue(const char* arg0)
{
Operation operation("getMyValue");
-
operation.addParameter(&arg0);
-
- float ret;
- operation.setReturnValue((void*)&ret);
+ float ret;
+ operation.setReturnValue(&ret);
target->invoke(operation);
return ret;
-
}
float MyValueImpl_MyValueService_Proxy::getMyValueS(const string& arg0)
{
Operation operation("getMyValueS");
-
operation.addParameter(&arg0);
-
- float ret;
- operation.setReturnValue((void*)&ret);
+ float ret;
+ operation.setReturnValue(&ret);
target->invoke(operation);
return ret;
-
}
string MyValueImpl_MyValueService_Proxy::getCustname( string& arg0)
{
Operation operation("getCustname");
-
operation.addParameter(&arg0);
-
- string ret;
- operation.setReturnValue((void*)&ret);
+ string ret;
+ operation.setReturnValue(&ret);
target->invoke(operation);
return ret;
-
}
const string& MyValueImpl_MyValueService_Proxy::getCustnamecs( string arg0)
{
Operation operation("getCustnamecs");
-
operation.addParameter(&arg0);
-
-
target->invoke(operation);
return *(const string*)operation.getReturnValue();
Modified:
incubator/tuscany/cpp/sca/runtime/core/test/MyValue/MyValueImpl_MyValueService_Wrapper.cpp
URL:
http://svn.apache.org/viewcvs/incubator/tuscany/cpp/sca/runtime/core/test/MyValue/MyValueImpl_MyValueService_Wrapper.cpp?rev=396854&r1=396853&r2=396854&view=diff
==============================================================================
---
incubator/tuscany/cpp/sca/runtime/core/test/MyValue/MyValueImpl_MyValueService_Wrapper.cpp
(original)
+++
incubator/tuscany/cpp/sca/runtime/core/test/MyValue/MyValueImpl_MyValueService_Wrapper.cpp
Tue Apr 25 04:59:31 2006
@@ -78,7 +78,7 @@
{
string& p0 = *( string*)operation.getParameterValue(0);
const string& ret = impl->getCustnamecs(p0);
- operation.setReturnValue((void*)&ret);
+ operation.setReturnValue(&ret);
return;
}
Modified:
incubator/tuscany/cpp/sca/runtime/core/test/MyValue/MyValueImpl_customerInfo_Proxy.cpp
URL:
http://svn.apache.org/viewcvs/incubator/tuscany/cpp/sca/runtime/core/test/MyValue/MyValueImpl_customerInfo_Proxy.cpp?rev=396854&r1=396853&r2=396854&view=diff
==============================================================================
---
incubator/tuscany/cpp/sca/runtime/core/test/MyValue/MyValueImpl_customerInfo_Proxy.cpp
(original)
+++
incubator/tuscany/cpp/sca/runtime/core/test/MyValue/MyValueImpl_customerInfo_Proxy.cpp
Tue Apr 25 04:59:31 2006
@@ -53,12 +53,11 @@
const char* MyValueImpl_customerInfo_Proxy::getCustomerInformation(const char*
arg0)
{
Operation operation("getCustomerInformation");
-
operation.addParameter(&arg0);
-
-
+ const char* ret;
+ operation.setReturnValue(&ret);
target->invoke(operation);
- return (const char*)operation.getReturnValue();
+ return ret;
}
Modified:
incubator/tuscany/cpp/sca/runtime/core/test/MyValue/MyValueImpl_stockQuote_Proxy.cpp
URL:
http://svn.apache.org/viewcvs/incubator/tuscany/cpp/sca/runtime/core/test/MyValue/MyValueImpl_stockQuote_Proxy.cpp?rev=396854&r1=396853&r2=396854&view=diff
==============================================================================
---
incubator/tuscany/cpp/sca/runtime/core/test/MyValue/MyValueImpl_stockQuote_Proxy.cpp
(original)
+++
incubator/tuscany/cpp/sca/runtime/core/test/MyValue/MyValueImpl_stockQuote_Proxy.cpp
Tue Apr 25 04:59:31 2006
@@ -57,7 +57,7 @@
operation.addParameter(&arg0);
commonj::sdo::DataObjectPtr ret = 0;
- operation.setReturnValue((void*)&ret);
+ operation.setReturnValue(&ret);
target->invoke(operation);
return ret;