You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@activemq.apache.org by ta...@apache.org on 2008/11/25 02:31:11 UTC
svn commit: r720375 [3/3] - in
/activemq/activemq-cpp/trunk/src/main/activemq/connector/openwire/marshal:
v1/ v2/
Modified: activemq/activemq-cpp/trunk/src/main/activemq/connector/openwire/marshal/v2/ProducerInfoMarshaller.cpp
URL: http://svn.apache.org/viewvc/activemq/activemq-cpp/trunk/src/main/activemq/connector/openwire/marshal/v2/ProducerInfoMarshaller.cpp?rev=720375&r1=720374&r2=720375&view=diff
==============================================================================
--- activemq/activemq-cpp/trunk/src/main/activemq/connector/openwire/marshal/v2/ProducerInfoMarshaller.cpp (original)
+++ activemq/activemq-cpp/trunk/src/main/activemq/connector/openwire/marshal/v2/ProducerInfoMarshaller.cpp Mon Nov 24 17:31:08 2008
@@ -74,6 +74,7 @@
info->getBrokerPath().clear();
}
info->setDispatchAsync( bs->readBoolean() );
+ info->setWindowSize( dataIn->readInt() );
}
AMQ_CATCH_RETHROW( decaf::io::IOException )
AMQ_CATCH_EXCEPTION_CONVERT( exceptions::ActiveMQException, decaf::io::IOException )
@@ -94,7 +95,7 @@
rc += tightMarshalObjectArray1( wireFormat, info->getBrokerPath(), bs );
bs->writeBoolean( info->isDispatchAsync() );
- return rc + 0;
+ return rc + 4;
}
AMQ_CATCH_RETHROW( decaf::io::IOException )
AMQ_CATCH_EXCEPTION_CONVERT( exceptions::ActiveMQException, decaf::io::IOException )
@@ -114,6 +115,7 @@
tightMarshalCachedObject2( wireFormat, info->getDestination(), dataOut, bs );
tightMarshalObjectArray2( wireFormat, info->getBrokerPath(), dataOut, bs );
bs->readBoolean();
+ dataOut->writeInt( info->getWindowSize() );
}
AMQ_CATCH_RETHROW( decaf::io::IOException )
AMQ_CATCH_EXCEPTION_CONVERT( exceptions::ActiveMQException, decaf::io::IOException )
@@ -145,6 +147,7 @@
info->getBrokerPath().clear();
}
info->setDispatchAsync( dataIn->readBoolean() );
+ info->setWindowSize( dataIn->readInt() );
}
AMQ_CATCH_RETHROW( decaf::io::IOException )
AMQ_CATCH_EXCEPTION_CONVERT( exceptions::ActiveMQException, decaf::io::IOException )
@@ -164,6 +167,7 @@
looseMarshalCachedObject( wireFormat, info->getDestination(), dataOut );
looseMarshalObjectArray( wireFormat, info->getBrokerPath(), dataOut );
dataOut->writeBoolean( info->isDispatchAsync() );
+ dataOut->writeInt( info->getWindowSize() );
}
AMQ_CATCH_RETHROW( decaf::io::IOException )
AMQ_CATCH_EXCEPTION_CONVERT( exceptions::ActiveMQException, decaf::io::IOException )
Modified: activemq/activemq-cpp/trunk/src/main/activemq/connector/openwire/marshal/v2/ProducerInfoMarshaller.h
URL: http://svn.apache.org/viewvc/activemq/activemq-cpp/trunk/src/main/activemq/connector/openwire/marshal/v2/ProducerInfoMarshaller.h?rev=720375&r1=720374&r2=720375&view=diff
==============================================================================
--- activemq/activemq-cpp/trunk/src/main/activemq/connector/openwire/marshal/v2/ProducerInfoMarshaller.h (original)
+++ activemq/activemq-cpp/trunk/src/main/activemq/connector/openwire/marshal/v2/ProducerInfoMarshaller.h Mon Nov 24 17:31:08 2008
@@ -28,6 +28,7 @@
#include <decaf/io/DataInputStream.h>
#include <decaf/io/DataOutputStream.h>
#include <decaf/io/IOException.h>
+#include <activemq/util/Config.h>
#include <activemq/connector/openwire/OpenWireFormat.h>
#include <activemq/connector/openwire/commands/DataStructure.h>
#include <activemq/connector/openwire/utils/BooleanStream.h>
@@ -45,7 +46,7 @@
* if you need to make a change, please see the Java Classes
* in the activemq-openwire-generator module
*/
- class ProducerInfoMarshaller : public BaseCommandMarshaller
+ class AMQCPP_API ProducerInfoMarshaller : public BaseCommandMarshaller
{
public:
Modified: activemq/activemq-cpp/trunk/src/main/activemq/connector/openwire/marshal/v2/RemoveInfoMarshaller.h
URL: http://svn.apache.org/viewvc/activemq/activemq-cpp/trunk/src/main/activemq/connector/openwire/marshal/v2/RemoveInfoMarshaller.h?rev=720375&r1=720374&r2=720375&view=diff
==============================================================================
--- activemq/activemq-cpp/trunk/src/main/activemq/connector/openwire/marshal/v2/RemoveInfoMarshaller.h (original)
+++ activemq/activemq-cpp/trunk/src/main/activemq/connector/openwire/marshal/v2/RemoveInfoMarshaller.h Mon Nov 24 17:31:08 2008
@@ -28,6 +28,7 @@
#include <decaf/io/DataInputStream.h>
#include <decaf/io/DataOutputStream.h>
#include <decaf/io/IOException.h>
+#include <activemq/util/Config.h>
#include <activemq/connector/openwire/OpenWireFormat.h>
#include <activemq/connector/openwire/commands/DataStructure.h>
#include <activemq/connector/openwire/utils/BooleanStream.h>
@@ -45,7 +46,7 @@
* if you need to make a change, please see the Java Classes
* in the activemq-openwire-generator module
*/
- class RemoveInfoMarshaller : public BaseCommandMarshaller
+ class AMQCPP_API RemoveInfoMarshaller : public BaseCommandMarshaller
{
public:
Modified: activemq/activemq-cpp/trunk/src/main/activemq/connector/openwire/marshal/v2/RemoveSubscriptionInfoMarshaller.h
URL: http://svn.apache.org/viewvc/activemq/activemq-cpp/trunk/src/main/activemq/connector/openwire/marshal/v2/RemoveSubscriptionInfoMarshaller.h?rev=720375&r1=720374&r2=720375&view=diff
==============================================================================
--- activemq/activemq-cpp/trunk/src/main/activemq/connector/openwire/marshal/v2/RemoveSubscriptionInfoMarshaller.h (original)
+++ activemq/activemq-cpp/trunk/src/main/activemq/connector/openwire/marshal/v2/RemoveSubscriptionInfoMarshaller.h Mon Nov 24 17:31:08 2008
@@ -28,6 +28,7 @@
#include <decaf/io/DataInputStream.h>
#include <decaf/io/DataOutputStream.h>
#include <decaf/io/IOException.h>
+#include <activemq/util/Config.h>
#include <activemq/connector/openwire/OpenWireFormat.h>
#include <activemq/connector/openwire/commands/DataStructure.h>
#include <activemq/connector/openwire/utils/BooleanStream.h>
@@ -45,7 +46,7 @@
* if you need to make a change, please see the Java Classes
* in the activemq-openwire-generator module
*/
- class RemoveSubscriptionInfoMarshaller : public BaseCommandMarshaller
+ class AMQCPP_API RemoveSubscriptionInfoMarshaller : public BaseCommandMarshaller
{
public:
Modified: activemq/activemq-cpp/trunk/src/main/activemq/connector/openwire/marshal/v2/ReplayCommandMarshaller.h
URL: http://svn.apache.org/viewvc/activemq/activemq-cpp/trunk/src/main/activemq/connector/openwire/marshal/v2/ReplayCommandMarshaller.h?rev=720375&r1=720374&r2=720375&view=diff
==============================================================================
--- activemq/activemq-cpp/trunk/src/main/activemq/connector/openwire/marshal/v2/ReplayCommandMarshaller.h (original)
+++ activemq/activemq-cpp/trunk/src/main/activemq/connector/openwire/marshal/v2/ReplayCommandMarshaller.h Mon Nov 24 17:31:08 2008
@@ -28,6 +28,7 @@
#include <decaf/io/DataInputStream.h>
#include <decaf/io/DataOutputStream.h>
#include <decaf/io/IOException.h>
+#include <activemq/util/Config.h>
#include <activemq/connector/openwire/OpenWireFormat.h>
#include <activemq/connector/openwire/commands/DataStructure.h>
#include <activemq/connector/openwire/utils/BooleanStream.h>
@@ -45,7 +46,7 @@
* if you need to make a change, please see the Java Classes
* in the activemq-openwire-generator module
*/
- class ReplayCommandMarshaller : public BaseCommandMarshaller
+ class AMQCPP_API ReplayCommandMarshaller : public BaseCommandMarshaller
{
public:
Modified: activemq/activemq-cpp/trunk/src/main/activemq/connector/openwire/marshal/v2/ResponseMarshaller.h
URL: http://svn.apache.org/viewvc/activemq/activemq-cpp/trunk/src/main/activemq/connector/openwire/marshal/v2/ResponseMarshaller.h?rev=720375&r1=720374&r2=720375&view=diff
==============================================================================
--- activemq/activemq-cpp/trunk/src/main/activemq/connector/openwire/marshal/v2/ResponseMarshaller.h (original)
+++ activemq/activemq-cpp/trunk/src/main/activemq/connector/openwire/marshal/v2/ResponseMarshaller.h Mon Nov 24 17:31:08 2008
@@ -28,6 +28,7 @@
#include <decaf/io/DataInputStream.h>
#include <decaf/io/DataOutputStream.h>
#include <decaf/io/IOException.h>
+#include <activemq/util/Config.h>
#include <activemq/connector/openwire/OpenWireFormat.h>
#include <activemq/connector/openwire/commands/DataStructure.h>
#include <activemq/connector/openwire/utils/BooleanStream.h>
@@ -45,7 +46,7 @@
* if you need to make a change, please see the Java Classes
* in the activemq-openwire-generator module
*/
- class ResponseMarshaller : public BaseCommandMarshaller
+ class AMQCPP_API ResponseMarshaller : public BaseCommandMarshaller
{
public:
Modified: activemq/activemq-cpp/trunk/src/main/activemq/connector/openwire/marshal/v2/SessionIdMarshaller.h
URL: http://svn.apache.org/viewvc/activemq/activemq-cpp/trunk/src/main/activemq/connector/openwire/marshal/v2/SessionIdMarshaller.h?rev=720375&r1=720374&r2=720375&view=diff
==============================================================================
--- activemq/activemq-cpp/trunk/src/main/activemq/connector/openwire/marshal/v2/SessionIdMarshaller.h (original)
+++ activemq/activemq-cpp/trunk/src/main/activemq/connector/openwire/marshal/v2/SessionIdMarshaller.h Mon Nov 24 17:31:08 2008
@@ -28,6 +28,7 @@
#include <decaf/io/DataInputStream.h>
#include <decaf/io/DataOutputStream.h>
#include <decaf/io/IOException.h>
+#include <activemq/util/Config.h>
#include <activemq/connector/openwire/OpenWireFormat.h>
#include <activemq/connector/openwire/commands/DataStructure.h>
#include <activemq/connector/openwire/utils/BooleanStream.h>
@@ -45,7 +46,7 @@
* if you need to make a change, please see the Java Classes
* in the activemq-openwire-generator module
*/
- class SessionIdMarshaller : public BaseDataStreamMarshaller
+ class AMQCPP_API SessionIdMarshaller : public BaseDataStreamMarshaller
{
public:
Modified: activemq/activemq-cpp/trunk/src/main/activemq/connector/openwire/marshal/v2/SessionInfoMarshaller.h
URL: http://svn.apache.org/viewvc/activemq/activemq-cpp/trunk/src/main/activemq/connector/openwire/marshal/v2/SessionInfoMarshaller.h?rev=720375&r1=720374&r2=720375&view=diff
==============================================================================
--- activemq/activemq-cpp/trunk/src/main/activemq/connector/openwire/marshal/v2/SessionInfoMarshaller.h (original)
+++ activemq/activemq-cpp/trunk/src/main/activemq/connector/openwire/marshal/v2/SessionInfoMarshaller.h Mon Nov 24 17:31:08 2008
@@ -28,6 +28,7 @@
#include <decaf/io/DataInputStream.h>
#include <decaf/io/DataOutputStream.h>
#include <decaf/io/IOException.h>
+#include <activemq/util/Config.h>
#include <activemq/connector/openwire/OpenWireFormat.h>
#include <activemq/connector/openwire/commands/DataStructure.h>
#include <activemq/connector/openwire/utils/BooleanStream.h>
@@ -45,7 +46,7 @@
* if you need to make a change, please see the Java Classes
* in the activemq-openwire-generator module
*/
- class SessionInfoMarshaller : public BaseCommandMarshaller
+ class AMQCPP_API SessionInfoMarshaller : public BaseCommandMarshaller
{
public:
Modified: activemq/activemq-cpp/trunk/src/main/activemq/connector/openwire/marshal/v2/ShutdownInfoMarshaller.h
URL: http://svn.apache.org/viewvc/activemq/activemq-cpp/trunk/src/main/activemq/connector/openwire/marshal/v2/ShutdownInfoMarshaller.h?rev=720375&r1=720374&r2=720375&view=diff
==============================================================================
--- activemq/activemq-cpp/trunk/src/main/activemq/connector/openwire/marshal/v2/ShutdownInfoMarshaller.h (original)
+++ activemq/activemq-cpp/trunk/src/main/activemq/connector/openwire/marshal/v2/ShutdownInfoMarshaller.h Mon Nov 24 17:31:08 2008
@@ -28,6 +28,7 @@
#include <decaf/io/DataInputStream.h>
#include <decaf/io/DataOutputStream.h>
#include <decaf/io/IOException.h>
+#include <activemq/util/Config.h>
#include <activemq/connector/openwire/OpenWireFormat.h>
#include <activemq/connector/openwire/commands/DataStructure.h>
#include <activemq/connector/openwire/utils/BooleanStream.h>
@@ -45,7 +46,7 @@
* if you need to make a change, please see the Java Classes
* in the activemq-openwire-generator module
*/
- class ShutdownInfoMarshaller : public BaseCommandMarshaller
+ class AMQCPP_API ShutdownInfoMarshaller : public BaseCommandMarshaller
{
public:
Modified: activemq/activemq-cpp/trunk/src/main/activemq/connector/openwire/marshal/v2/SubscriptionInfoMarshaller.cpp
URL: http://svn.apache.org/viewvc/activemq/activemq-cpp/trunk/src/main/activemq/connector/openwire/marshal/v2/SubscriptionInfoMarshaller.cpp?rev=720375&r1=720374&r2=720375&view=diff
==============================================================================
--- activemq/activemq-cpp/trunk/src/main/activemq/connector/openwire/marshal/v2/SubscriptionInfoMarshaller.cpp (original)
+++ activemq/activemq-cpp/trunk/src/main/activemq/connector/openwire/marshal/v2/SubscriptionInfoMarshaller.cpp Mon Nov 24 17:31:08 2008
@@ -62,6 +62,8 @@
tightUnmarshalCachedObject( wireFormat, dataIn, bs ) ) );
info->setSelector( tightUnmarshalString( dataIn, bs ) );
info->setSubcriptionName( tightUnmarshalString( dataIn, bs ) );
+ info->setSubscribedDestination( dynamic_cast< ActiveMQDestination* >(
+ tightUnmarshalNestedObject( wireFormat, dataIn, bs ) ) );
}
AMQ_CATCH_RETHROW( decaf::io::IOException )
AMQ_CATCH_EXCEPTION_CONVERT( exceptions::ActiveMQException, decaf::io::IOException )
@@ -81,6 +83,7 @@
rc += tightMarshalCachedObject1( wireFormat, info->getDestination(), bs );
rc += tightMarshalString1( info->getSelector(), bs );
rc += tightMarshalString1( info->getSubcriptionName(), bs );
+ rc += tightMarshalNestedObject1( wireFormat, info->getSubscribedDestination(), bs );
return rc + 0;
}
@@ -102,6 +105,7 @@
tightMarshalCachedObject2( wireFormat, info->getDestination(), dataOut, bs );
tightMarshalString2( info->getSelector(), dataOut, bs );
tightMarshalString2( info->getSubcriptionName(), dataOut, bs );
+ tightMarshalNestedObject2( wireFormat, info->getSubscribedDestination(), dataOut, bs );
}
AMQ_CATCH_RETHROW( decaf::io::IOException )
AMQ_CATCH_EXCEPTION_CONVERT( exceptions::ActiveMQException, decaf::io::IOException )
@@ -121,6 +125,8 @@
looseUnmarshalCachedObject( wireFormat, dataIn ) ) );
info->setSelector( looseUnmarshalString( dataIn ) );
info->setSubcriptionName( looseUnmarshalString( dataIn ) );
+ info->setSubscribedDestination( dynamic_cast< ActiveMQDestination* >(
+ looseUnmarshalNestedObject( wireFormat, dataIn ) ) );
}
AMQ_CATCH_RETHROW( decaf::io::IOException )
AMQ_CATCH_EXCEPTION_CONVERT( exceptions::ActiveMQException, decaf::io::IOException )
@@ -140,6 +146,7 @@
looseMarshalCachedObject( wireFormat, info->getDestination(), dataOut );
looseMarshalString( info->getSelector(), dataOut );
looseMarshalString( info->getSubcriptionName(), dataOut );
+ looseMarshalNestedObject( wireFormat, info->getSubscribedDestination(), dataOut );
}
AMQ_CATCH_RETHROW( decaf::io::IOException )
AMQ_CATCH_EXCEPTION_CONVERT( exceptions::ActiveMQException, decaf::io::IOException )
Modified: activemq/activemq-cpp/trunk/src/main/activemq/connector/openwire/marshal/v2/SubscriptionInfoMarshaller.h
URL: http://svn.apache.org/viewvc/activemq/activemq-cpp/trunk/src/main/activemq/connector/openwire/marshal/v2/SubscriptionInfoMarshaller.h?rev=720375&r1=720374&r2=720375&view=diff
==============================================================================
--- activemq/activemq-cpp/trunk/src/main/activemq/connector/openwire/marshal/v2/SubscriptionInfoMarshaller.h (original)
+++ activemq/activemq-cpp/trunk/src/main/activemq/connector/openwire/marshal/v2/SubscriptionInfoMarshaller.h Mon Nov 24 17:31:08 2008
@@ -28,6 +28,7 @@
#include <decaf/io/DataInputStream.h>
#include <decaf/io/DataOutputStream.h>
#include <decaf/io/IOException.h>
+#include <activemq/util/Config.h>
#include <activemq/connector/openwire/OpenWireFormat.h>
#include <activemq/connector/openwire/commands/DataStructure.h>
#include <activemq/connector/openwire/utils/BooleanStream.h>
@@ -45,7 +46,7 @@
* if you need to make a change, please see the Java Classes
* in the activemq-openwire-generator module
*/
- class SubscriptionInfoMarshaller : public BaseDataStreamMarshaller
+ class AMQCPP_API SubscriptionInfoMarshaller : public BaseDataStreamMarshaller
{
public:
Modified: activemq/activemq-cpp/trunk/src/main/activemq/connector/openwire/marshal/v2/TransactionIdMarshaller.h
URL: http://svn.apache.org/viewvc/activemq/activemq-cpp/trunk/src/main/activemq/connector/openwire/marshal/v2/TransactionIdMarshaller.h?rev=720375&r1=720374&r2=720375&view=diff
==============================================================================
--- activemq/activemq-cpp/trunk/src/main/activemq/connector/openwire/marshal/v2/TransactionIdMarshaller.h (original)
+++ activemq/activemq-cpp/trunk/src/main/activemq/connector/openwire/marshal/v2/TransactionIdMarshaller.h Mon Nov 24 17:31:08 2008
@@ -28,6 +28,7 @@
#include <decaf/io/DataInputStream.h>
#include <decaf/io/DataOutputStream.h>
#include <decaf/io/IOException.h>
+#include <activemq/util/Config.h>
#include <activemq/connector/openwire/OpenWireFormat.h>
#include <activemq/connector/openwire/commands/DataStructure.h>
#include <activemq/connector/openwire/utils/BooleanStream.h>
@@ -45,7 +46,7 @@
* if you need to make a change, please see the Java Classes
* in the activemq-openwire-generator module
*/
- class TransactionIdMarshaller : public BaseDataStreamMarshaller
+ class AMQCPP_API TransactionIdMarshaller : public BaseDataStreamMarshaller
{
public:
Modified: activemq/activemq-cpp/trunk/src/main/activemq/connector/openwire/marshal/v2/TransactionInfoMarshaller.h
URL: http://svn.apache.org/viewvc/activemq/activemq-cpp/trunk/src/main/activemq/connector/openwire/marshal/v2/TransactionInfoMarshaller.h?rev=720375&r1=720374&r2=720375&view=diff
==============================================================================
--- activemq/activemq-cpp/trunk/src/main/activemq/connector/openwire/marshal/v2/TransactionInfoMarshaller.h (original)
+++ activemq/activemq-cpp/trunk/src/main/activemq/connector/openwire/marshal/v2/TransactionInfoMarshaller.h Mon Nov 24 17:31:08 2008
@@ -28,6 +28,7 @@
#include <decaf/io/DataInputStream.h>
#include <decaf/io/DataOutputStream.h>
#include <decaf/io/IOException.h>
+#include <activemq/util/Config.h>
#include <activemq/connector/openwire/OpenWireFormat.h>
#include <activemq/connector/openwire/commands/DataStructure.h>
#include <activemq/connector/openwire/utils/BooleanStream.h>
@@ -45,7 +46,7 @@
* if you need to make a change, please see the Java Classes
* in the activemq-openwire-generator module
*/
- class TransactionInfoMarshaller : public BaseCommandMarshaller
+ class AMQCPP_API TransactionInfoMarshaller : public BaseCommandMarshaller
{
public:
Modified: activemq/activemq-cpp/trunk/src/main/activemq/connector/openwire/marshal/v2/WireFormatInfoMarshaller.h
URL: http://svn.apache.org/viewvc/activemq/activemq-cpp/trunk/src/main/activemq/connector/openwire/marshal/v2/WireFormatInfoMarshaller.h?rev=720375&r1=720374&r2=720375&view=diff
==============================================================================
--- activemq/activemq-cpp/trunk/src/main/activemq/connector/openwire/marshal/v2/WireFormatInfoMarshaller.h (original)
+++ activemq/activemq-cpp/trunk/src/main/activemq/connector/openwire/marshal/v2/WireFormatInfoMarshaller.h Mon Nov 24 17:31:08 2008
@@ -28,6 +28,7 @@
#include <decaf/io/DataInputStream.h>
#include <decaf/io/DataOutputStream.h>
#include <decaf/io/IOException.h>
+#include <activemq/util/Config.h>
#include <activemq/connector/openwire/OpenWireFormat.h>
#include <activemq/connector/openwire/commands/DataStructure.h>
#include <activemq/connector/openwire/utils/BooleanStream.h>
@@ -45,7 +46,7 @@
* if you need to make a change, please see the Java Classes
* in the activemq-openwire-generator module
*/
- class WireFormatInfoMarshaller : public BaseDataStreamMarshaller
+ class AMQCPP_API WireFormatInfoMarshaller : public BaseDataStreamMarshaller
{
public:
Modified: activemq/activemq-cpp/trunk/src/main/activemq/connector/openwire/marshal/v2/XATransactionIdMarshaller.h
URL: http://svn.apache.org/viewvc/activemq/activemq-cpp/trunk/src/main/activemq/connector/openwire/marshal/v2/XATransactionIdMarshaller.h?rev=720375&r1=720374&r2=720375&view=diff
==============================================================================
--- activemq/activemq-cpp/trunk/src/main/activemq/connector/openwire/marshal/v2/XATransactionIdMarshaller.h (original)
+++ activemq/activemq-cpp/trunk/src/main/activemq/connector/openwire/marshal/v2/XATransactionIdMarshaller.h Mon Nov 24 17:31:08 2008
@@ -28,6 +28,7 @@
#include <decaf/io/DataInputStream.h>
#include <decaf/io/DataOutputStream.h>
#include <decaf/io/IOException.h>
+#include <activemq/util/Config.h>
#include <activemq/connector/openwire/OpenWireFormat.h>
#include <activemq/connector/openwire/commands/DataStructure.h>
#include <activemq/connector/openwire/utils/BooleanStream.h>
@@ -45,7 +46,7 @@
* if you need to make a change, please see the Java Classes
* in the activemq-openwire-generator module
*/
- class XATransactionIdMarshaller : public TransactionIdMarshaller
+ class AMQCPP_API XATransactionIdMarshaller : public TransactionIdMarshaller
{
public: