You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@activemq.apache.org by ch...@apache.org on 2006/07/06 00:27:47 UTC
svn commit: r419365 [18/25] - in /incubator/activemq/trunk:
activemq-core/src/main/java/org/apache/activemq/thread/
activemq-core/src/test/java/org/apache/activemq/openwire/v1/
activemq-cpp/src/main/activemq/concurrent/
activemq-cpp/src/main/activemq/c...
Modified: incubator/activemq/trunk/activemq-cpp/src/main/activemq/transport/TcpTransportFactory.cpp
URL: http://svn.apache.org/viewvc/incubator/activemq/trunk/activemq-cpp/src/main/activemq/transport/TcpTransportFactory.cpp?rev=419365&r1=419364&r2=419365&view=diff
==============================================================================
--- incubator/activemq/trunk/activemq-cpp/src/main/activemq/transport/TcpTransportFactory.cpp (original)
+++ incubator/activemq/trunk/activemq-cpp/src/main/activemq/transport/TcpTransportFactory.cpp Wed Jul 5 15:27:34 2006
@@ -1,66 +1,66 @@
-/*
- * Copyright 2006 The Apache Software Foundation or its licensors, as
- * applicable.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include "TcpTransportFactory.h"
-
-#include <activemq/transport/TcpTransport.h>
-#include <activemq/transport/ResponseCorrelator.h>
-
-using namespace activemq;
-using namespace activemq::transport;
-using namespace activemq::exceptions;
-
-////////////////////////////////////////////////////////////////////////////////
-TransportFactory& TcpTransportFactory::getInstance(void)
-{
- // Create the one and only instance of the registrar
- static TransportFactoryMapRegistrar registrar(
- "tcp", new TcpTransportFactory());
-
- return registrar.getFactory();
-}
-
-////////////////////////////////////////////////////////////////////////////////
-Transport* TcpTransportFactory::createTransport(
- const activemq::util::Properties& properties )
- throw ( ActiveMQException )
-{
- try
- {
- TransportFactory* factory =
- TransportFactoryMap::getInstance().lookup( "io" );
-
- if( factory == NULL ){
- throw ActiveMQException(
- __FILE__, __LINE__,
- "TcpTransport::createTransport - "
- "unknown transport factory");
- }
-
- Transport* transport = new TcpTransport(
- properties, factory->createTransport( properties ) );
-
- // Create a response correlator. This will wrap around our
- // transport and manage its lifecycle - we don't need the
- // internal transport anymore, so we can reuse its pointer.
- transport = new ResponseCorrelator( transport );
-
- return transport;
- }
- AMQ_CATCH_RETHROW( ActiveMQException )
- AMQ_CATCHALL_THROW( ActiveMQException )
-}
+/*
+ * Copyright 2006 The Apache Software Foundation or its licensors, as
+ * applicable.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include "TcpTransportFactory.h"
+
+#include <activemq/transport/TcpTransport.h>
+#include <activemq/transport/ResponseCorrelator.h>
+
+using namespace activemq;
+using namespace activemq::transport;
+using namespace activemq::exceptions;
+
+////////////////////////////////////////////////////////////////////////////////
+TransportFactory& TcpTransportFactory::getInstance(void)
+{
+ // Create the one and only instance of the registrar
+ static TransportFactoryMapRegistrar registrar(
+ "tcp", new TcpTransportFactory());
+
+ return registrar.getFactory();
+}
+
+////////////////////////////////////////////////////////////////////////////////
+Transport* TcpTransportFactory::createTransport(
+ const activemq::util::Properties& properties )
+ throw ( ActiveMQException )
+{
+ try
+ {
+ TransportFactory* factory =
+ TransportFactoryMap::getInstance().lookup( "io" );
+
+ if( factory == NULL ){
+ throw ActiveMQException(
+ __FILE__, __LINE__,
+ "TcpTransport::createTransport - "
+ "unknown transport factory");
+ }
+
+ Transport* transport = new TcpTransport(
+ properties, factory->createTransport( properties ) );
+
+ // Create a response correlator. This will wrap around our
+ // transport and manage its lifecycle - we don't need the
+ // internal transport anymore, so we can reuse its pointer.
+ transport = new ResponseCorrelator( transport );
+
+ return transport;
+ }
+ AMQ_CATCH_RETHROW( ActiveMQException )
+ AMQ_CATCHALL_THROW( ActiveMQException )
+}
Propchange: incubator/activemq/trunk/activemq-cpp/src/main/activemq/transport/TcpTransportFactory.cpp
------------------------------------------------------------------------------
svn:eol-style = native
Modified: incubator/activemq/trunk/activemq-cpp/src/main/activemq/transport/TcpTransportFactory.h
URL: http://svn.apache.org/viewvc/incubator/activemq/trunk/activemq-cpp/src/main/activemq/transport/TcpTransportFactory.h?rev=419365&r1=419364&r2=419365&view=diff
==============================================================================
--- incubator/activemq/trunk/activemq-cpp/src/main/activemq/transport/TcpTransportFactory.h (original)
+++ incubator/activemq/trunk/activemq-cpp/src/main/activemq/transport/TcpTransportFactory.h Wed Jul 5 15:27:34 2006
@@ -1,54 +1,54 @@
-/*
- * Copyright 2006 The Apache Software Foundation or its licensors, as
- * applicable.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#ifndef _ACTIVEMQ_TRANSPORT_TCPTRANSPORTFACTORY_H_
-#define _ACTIVEMQ_TRANSPORT_TCPTRANSPORTFACTORY_H_
-
-#include <activemq/transport/TransportFactory.h>
-#include <activemq/transport/TransportFactoryMapRegistrar.h>
-#include <activemq/transport/IOTransportFactory.h>
-#include <activemq/exceptions/ActiveMQException.h>
-
-namespace activemq{
-namespace transport{
-
- class TcpTransportFactory : public TransportFactory
- {
- public:
-
- virtual ~TcpTransportFactory(void) {}
-
- /**
- * Creates a Transport instance.
- * @param properties The properties for the transport.
- * @throws ActiveMQException
- */
- virtual Transport* createTransport(
- const activemq::util::Properties& properties )
- throw ( exceptions::ActiveMQException );
-
- /**
- * Returns a reference to this TransportFactory
- * @returns TransportFactory Reference
- */
- static TransportFactory& getInstance(void);
-
- };
-
-}}
-
-#endif /*_ACTIVEMQ_TRANSPORT_TCPTRANSPORTFACTORY_H_*/
+/*
+ * Copyright 2006 The Apache Software Foundation or its licensors, as
+ * applicable.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef _ACTIVEMQ_TRANSPORT_TCPTRANSPORTFACTORY_H_
+#define _ACTIVEMQ_TRANSPORT_TCPTRANSPORTFACTORY_H_
+
+#include <activemq/transport/TransportFactory.h>
+#include <activemq/transport/TransportFactoryMapRegistrar.h>
+#include <activemq/transport/IOTransportFactory.h>
+#include <activemq/exceptions/ActiveMQException.h>
+
+namespace activemq{
+namespace transport{
+
+ class TcpTransportFactory : public TransportFactory
+ {
+ public:
+
+ virtual ~TcpTransportFactory(void) {}
+
+ /**
+ * Creates a Transport instance.
+ * @param properties The properties for the transport.
+ * @throws ActiveMQException
+ */
+ virtual Transport* createTransport(
+ const activemq::util::Properties& properties )
+ throw ( exceptions::ActiveMQException );
+
+ /**
+ * Returns a reference to this TransportFactory
+ * @returns TransportFactory Reference
+ */
+ static TransportFactory& getInstance(void);
+
+ };
+
+}}
+
+#endif /*_ACTIVEMQ_TRANSPORT_TCPTRANSPORTFACTORY_H_*/
Propchange: incubator/activemq/trunk/activemq-cpp/src/main/activemq/transport/TcpTransportFactory.h
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: incubator/activemq/trunk/activemq-cpp/src/main/activemq/transport/Transport.h
------------------------------------------------------------------------------
svn:eol-style = native
Modified: incubator/activemq/trunk/activemq-cpp/src/main/activemq/transport/TransportExceptionListener.h
URL: http://svn.apache.org/viewvc/incubator/activemq/trunk/activemq-cpp/src/main/activemq/transport/TransportExceptionListener.h?rev=419365&r1=419364&r2=419365&view=diff
==============================================================================
--- incubator/activemq/trunk/activemq-cpp/src/main/activemq/transport/TransportExceptionListener.h (original)
+++ incubator/activemq/trunk/activemq-cpp/src/main/activemq/transport/TransportExceptionListener.h Wed Jul 5 15:27:34 2006
@@ -1,49 +1,49 @@
-/*
- * Copyright 2006 The Apache Software Foundation or its licensors, as
- * applicable.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#ifndef ACTIVEMQ_TRANSPORT_TRANSPORTEXCEPTIONLISTENER_H_
-#define ACTIVEMQ_TRANSPORT_TRANSPORTEXCEPTIONLISTENER_H_
-
-#include <activemq/exceptions/ActiveMQException.h>
-
-namespace activemq{
-namespace transport{
-
- // Forward declarations.
- class Transport;
-
- /**
- * A listener of asynchronous exceptions from a command transport object.
- */
- class TransportExceptionListener{
- public:
-
- virtual ~TransportExceptionListener(){}
-
- /**
- * Event handler for an exception from a command transport.
- * @param source The source of the exception
- * @param ex The exception.
- */
- virtual void onTransportException(
- Transport* source,
- const exceptions::ActiveMQException& ex ) = 0;
- };
-
-}}
-
-#endif /*ACTIVEMQ_TRANSPORT_TRANSPORTEXCEPTIONLISTENER_H_*/
+/*
+ * Copyright 2006 The Apache Software Foundation or its licensors, as
+ * applicable.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ACTIVEMQ_TRANSPORT_TRANSPORTEXCEPTIONLISTENER_H_
+#define ACTIVEMQ_TRANSPORT_TRANSPORTEXCEPTIONLISTENER_H_
+
+#include <activemq/exceptions/ActiveMQException.h>
+
+namespace activemq{
+namespace transport{
+
+ // Forward declarations.
+ class Transport;
+
+ /**
+ * A listener of asynchronous exceptions from a command transport object.
+ */
+ class TransportExceptionListener{
+ public:
+
+ virtual ~TransportExceptionListener(){}
+
+ /**
+ * Event handler for an exception from a command transport.
+ * @param source The source of the exception
+ * @param ex The exception.
+ */
+ virtual void onTransportException(
+ Transport* source,
+ const exceptions::ActiveMQException& ex ) = 0;
+ };
+
+}}
+
+#endif /*ACTIVEMQ_TRANSPORT_TRANSPORTEXCEPTIONLISTENER_H_*/
Propchange: incubator/activemq/trunk/activemq-cpp/src/main/activemq/transport/TransportExceptionListener.h
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: incubator/activemq/trunk/activemq-cpp/src/main/activemq/transport/TransportFactory.h
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: incubator/activemq/trunk/activemq-cpp/src/main/activemq/transport/TransportFactoryMap.cpp
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: incubator/activemq/trunk/activemq-cpp/src/main/activemq/transport/TransportFactoryMap.h
------------------------------------------------------------------------------
svn:eol-style = native
Modified: incubator/activemq/trunk/activemq-cpp/src/main/activemq/transport/TransportFactoryMapRegistrar.h
URL: http://svn.apache.org/viewvc/incubator/activemq/trunk/activemq-cpp/src/main/activemq/transport/TransportFactoryMapRegistrar.h?rev=419365&r1=419364&r2=419365&view=diff
==============================================================================
--- incubator/activemq/trunk/activemq-cpp/src/main/activemq/transport/TransportFactoryMapRegistrar.h (original)
+++ incubator/activemq/trunk/activemq-cpp/src/main/activemq/transport/TransportFactoryMapRegistrar.h Wed Jul 5 15:27:34 2006
@@ -1,90 +1,90 @@
-/*
- * Copyright 2006 The Apache Software Foundation or its licensors, as
- * applicable.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#ifndef ACTIVEMQ_TRANSPORT_TRANSPORTFACTORYMAPREGISTRAR_H_
-#define ACTIVEMQ_TRANSPORT_TRANSPORTFACTORYMAPREGISTRAR_H_
-
-#include <activemq/transport/TransportFactoryMap.h>
-
-namespace activemq{
-namespace transport{
-
- /**
- * Registers the passed in factory into the factory map, this class
- * can manage the lifetime of the registered factory (default behaviour).
- */
- class TransportFactoryMapRegistrar
- {
- public:
-
- /**
- * Constructor for this class
- * @param name of the factory to register
- * @param the factory
- * @param boolean indicating if this object manages the lifetime of
- * the factory that is being registered.
- */
- TransportFactoryMapRegistrar(const std::string& name,
- TransportFactory* factory,
- bool manageLifetime = true)
- {
- // Register it in the map.
- TransportFactoryMap::getInstance().
- registerTransportFactory(name, factory);
-
- // Store for later deletion
- this->factory = factory;
- this->manageLifetime = manageLifetime;
- this->name = name;
- }
-
- virtual ~TransportFactoryMapRegistrar(void)
- {
- try
- {
- // UnRegister it in the map.
- TransportFactoryMap::getInstance().
- unregisterTransportFactory(name);
-
- if(manageLifetime)
- {
- delete factory;
- }
- }
- catch(...) {}
- }
-
- /**
- * Return a reference to the factory object that is contained in this
- * registrar.
- * @return TransportFactory reference
- */
- virtual TransportFactory& getFactory(void) {
- return *factory;
- }
-
- private:
-
- std::string name;
- TransportFactory* factory;
- bool manageLifetime;
-
- };
-
-}}
-
-#endif /*ACTIVEMQ_TRANSPORT_TRANSPORTFACTORYMAPREGISTRAR_H_*/
+/*
+ * Copyright 2006 The Apache Software Foundation or its licensors, as
+ * applicable.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ACTIVEMQ_TRANSPORT_TRANSPORTFACTORYMAPREGISTRAR_H_
+#define ACTIVEMQ_TRANSPORT_TRANSPORTFACTORYMAPREGISTRAR_H_
+
+#include <activemq/transport/TransportFactoryMap.h>
+
+namespace activemq{
+namespace transport{
+
+ /**
+ * Registers the passed in factory into the factory map, this class
+ * can manage the lifetime of the registered factory (default behaviour).
+ */
+ class TransportFactoryMapRegistrar
+ {
+ public:
+
+ /**
+ * Constructor for this class
+ * @param name of the factory to register
+ * @param the factory
+ * @param boolean indicating if this object manages the lifetime of
+ * the factory that is being registered.
+ */
+ TransportFactoryMapRegistrar(const std::string& name,
+ TransportFactory* factory,
+ bool manageLifetime = true)
+ {
+ // Register it in the map.
+ TransportFactoryMap::getInstance().
+ registerTransportFactory(name, factory);
+
+ // Store for later deletion
+ this->factory = factory;
+ this->manageLifetime = manageLifetime;
+ this->name = name;
+ }
+
+ virtual ~TransportFactoryMapRegistrar(void)
+ {
+ try
+ {
+ // UnRegister it in the map.
+ TransportFactoryMap::getInstance().
+ unregisterTransportFactory(name);
+
+ if(manageLifetime)
+ {
+ delete factory;
+ }
+ }
+ catch(...) {}
+ }
+
+ /**
+ * Return a reference to the factory object that is contained in this
+ * registrar.
+ * @return TransportFactory reference
+ */
+ virtual TransportFactory& getFactory(void) {
+ return *factory;
+ }
+
+ private:
+
+ std::string name;
+ TransportFactory* factory;
+ bool manageLifetime;
+
+ };
+
+}}
+
+#endif /*ACTIVEMQ_TRANSPORT_TRANSPORTFACTORYMAPREGISTRAR_H_*/
Propchange: incubator/activemq/trunk/activemq-cpp/src/main/activemq/transport/TransportFactoryMapRegistrar.h
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: incubator/activemq/trunk/activemq-cpp/src/main/activemq/transport/TransportFilter.h
------------------------------------------------------------------------------
svn:eol-style = native
Modified: incubator/activemq/trunk/activemq-cpp/src/main/activemq/util/Boolean.h
URL: http://svn.apache.org/viewvc/incubator/activemq/trunk/activemq-cpp/src/main/activemq/util/Boolean.h?rev=419365&r1=419364&r2=419365&view=diff
==============================================================================
--- incubator/activemq/trunk/activemq-cpp/src/main/activemq/util/Boolean.h (original)
+++ incubator/activemq/trunk/activemq-cpp/src/main/activemq/util/Boolean.h Wed Jul 5 15:27:34 2006
@@ -1,61 +1,61 @@
-/*
- * Copyright 2006 The Apache Software Foundation or its licensors, as
- * applicable.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#ifndef _ACTIVEMQ_UTIL_BOOLEAN_H_
-#define _ACTIVEMQ_UTIL_BOOLEAN_H_
-
-#include <activemq/util/Number.h>
-
-namespace activemq{
-namespace util{
-
- class Boolean : Number
- {
- public:
-
- Boolean(void) {}
- virtual ~Boolean(void) {}
-
- /**
- * Parses the String passed and extracts an bool.
- * @param String to parse
- * @return bool value
- */
- static int parseBoolean(const std::string& value){
- bool ret = 0;
- std::istringstream istream(value);
- istream.clear();
- istream >> std::boolalpha >> ret;
- return ret;
- }
-
- /**
- * Converts the bool to a String representation
- * @param bool to convert
- * @return string representation
- */
- static std::string toString(bool value){
- std::ostringstream ostream;
- ostream << std::boolalpha << value;
- return ostream.str();
- }
-
- };
-
-}}
-
-#endif /*BOOLEAN_H_*/
+/*
+ * Copyright 2006 The Apache Software Foundation or its licensors, as
+ * applicable.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef _ACTIVEMQ_UTIL_BOOLEAN_H_
+#define _ACTIVEMQ_UTIL_BOOLEAN_H_
+
+#include <activemq/util/Number.h>
+
+namespace activemq{
+namespace util{
+
+ class Boolean : Number
+ {
+ public:
+
+ Boolean(void) {}
+ virtual ~Boolean(void) {}
+
+ /**
+ * Parses the String passed and extracts an bool.
+ * @param String to parse
+ * @return bool value
+ */
+ static int parseBoolean(const std::string& value){
+ bool ret = 0;
+ std::istringstream istream(value);
+ istream.clear();
+ istream >> std::boolalpha >> ret;
+ return ret;
+ }
+
+ /**
+ * Converts the bool to a String representation
+ * @param bool to convert
+ * @return string representation
+ */
+ static std::string toString(bool value){
+ std::ostringstream ostream;
+ ostream << std::boolalpha << value;
+ return ostream.str();
+ }
+
+ };
+
+}}
+
+#endif /*BOOLEAN_H_*/
Propchange: incubator/activemq/trunk/activemq-cpp/src/main/activemq/util/Boolean.h
------------------------------------------------------------------------------
svn:eol-style = native
Modified: incubator/activemq/trunk/activemq-cpp/src/main/activemq/util/Endian.h
URL: http://svn.apache.org/viewvc/incubator/activemq/trunk/activemq-cpp/src/main/activemq/util/Endian.h?rev=419365&r1=419364&r2=419365&view=diff
==============================================================================
--- incubator/activemq/trunk/activemq-cpp/src/main/activemq/util/Endian.h (original)
+++ incubator/activemq/trunk/activemq-cpp/src/main/activemq/util/Endian.h Wed Jul 5 15:27:34 2006
@@ -1,199 +1,199 @@
-/*
- * Copyright 2006 The Apache Software Foundation or its licensors, as
- * applicable.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-#ifndef ACTIVEMQ_UTIL_ENDIAN_H
-#define ACTIVEMQ_UTIL_ENDIAN_H
-
-#if defined( unix ) || defined(__APPLE__)
-#include <netinet/in.h>
-#else
-#include <Winsock2.h>
-#endif
-
-// First try - check __BYTE_ORDER macro
-#if !defined IFR_IS_BIG_ENDIAN && !defined IFR_IS_LITTLE_ENDIAN && !defined IFR_IS_DPD_ENDIAN
-# if defined( unix ) || defined(__APPLE__)
-# include <sys/param.h> // defines __BYTE_ORDER (or sometimes __LITTLE_ENDIAN or __BIG_ENDIAN or __PDP_ENDIAN)
-# endif
-# if defined (__GLIBC__)
-# include <endian.h> // Can also define __BYTE_ORDER
-# endif
-# ifdef __BYTE_ORDER
-# if __BYTE_ORDER == __LITTLE_ENDIAN
-# define IFR_IS_LITTLE_ENDIAN
-# elif __BYTE_ORDER == __BIG_ENDIAN
-# define IFR_IS_BIG_ENDIAN
-# elif __BYTE_ORDER == __PDP_ENDIAN
-# define IFR_IS_PDP_ENDIAN
-# endif
-# endif
-#endif
-
-// Second try - check __LITTLE_ENDIAN or __BIG_ENDIAN
-#if !defined IFR_IS_BIG_ENDIAN && !defined IFR_IS_LITTLE_ENDIAN && !defined IFR_IS_DPD_ENDIAN
-# if defined __LITTLE_ENDIAN
-# define IFR_IS_LITTLE_ENDIAN
-# elif defined __BIG_ENDIAN
-# define IFR_IS_BIG_ENDIAN
-# elif defined __PDP_ENDIAN
-# define IFR_IS_PDP_ENDIAN
-# endif
-#endif
-
-// Last try - find out from well-known processor types using little endian
-#if !defined IFR_IS_BIG_ENDIAN && !defined IFR_IS_LITTLE_ENDIAN && !defined IFR_IS_DPD_ENDIAN
-# if defined (i386) || defined (__i386__) \
- || defined (_M_IX86) || defined (vax) \
- || defined (__alpha) || defined (__alpha__) \
- || defined (__x86_64__) || defined (__ia64) \
- || defined (__ia64__) || defined (__amd64__) \
- || defined (_M_IX86) || defined (_M_IA64) \
- || defined (_M_ALPHA)
-# define IFR_IS_LITTLE_ENDIAN
-# else
-# if defined (__sparc) || defined(__sparc__) \
- || defined(_POWER) || defined(__powerpc__) \
- || defined(__ppc__) || defined(__hppa) \
- || defined(_MIPSEB) || defined(_POWER) \
- || defined(__s390__)
-# define IFR_IS_BIG_ENDIAN
-# endif
-# endif
-#endif
-
-// Show error if we still don't know endianess
-#if !defined IFR_IS_BIG_ENDIAN && !defined IFR_IS_LITTLE_ENDIAN && !defined IFR_IS_DPD_ENDIAN
-#error "Could not determine endianess of your processor type"
-#endif
-
-// Use these if the compiler does not support _intXX
-#ifdef NEEDS_INT_DEFINED
-#define _int16 short
-#define _int32 int
-#define _int64 long long
-#endif
-
-// Check for uintXX types
-#ifndef uint8_t
-#define uint8_t unsigned char
-#endif
-#ifndef uint16_t
-#define uint16_t unsigned short
-#endif
-#ifndef uint32_t
-#define uint32_t unsigned int
-#endif
-#ifndef uint64_t
-#define uint64_t unsigned long long
-#endif
-
-// Macros and helpers for endian conversion
-namespace activemq{
-namespace util{
-
-/*#ifdef IFR_IS_BIGENDIAN
-inline unsigned int htoni (unsigned int i) { return i; }
-inline unsigned long long htonll (unsigned long long ll) { return ll; }
-inline float htonf (float f) { return f; }
-inline double htond (double d) { return d; }
-inline unsigned int ntohi (unsigned int i) { return i; }
-inline unsigned long long ntohll (unsigned long long ll) { return ll; }
-inline float ntohf (float f) { return f; }
-inline double ntohd (double d) { return d; }
-#else // !IFR_IS_BIGENDIAN
-
-inline unsigned int htoni (unsigned int i) {
- return ( i << 8 ) & 0xFF00 |
- ( i >> 8 ) & 0x00FF;
-}
-inline unsigned long long htonll (unsigned long long ll) {
- return
- ( ll << 56 ) & 0xFF00000000000000ULL |
- ( ll << 40 ) & 0x00FF000000000000ULL |
- ( ll << 24 ) & 0x0000FF0000000000ULL |
- ( ll << 8 ) & 0x000000FF00000000ULL |
- ( ll >> 8 ) & 0x00000000FF000000ULL |
- ( ll >> 24 ) & 0x0000000000FF0000ULL |
- ( ll >> 40 ) & 0x000000000000FF00ULL |
- ( ll >> 56 ) & 0x00000000000000FFULL;
-}
-
-
-inline float htonf (float f) {
- unsigned int i = htonl( *(unsigned int *)&f ) ;
- return *(float *)&i ;
-}
-inline double htond (double d) {
- unsigned long long ll = htonll( *(unsigned long long *)&d ) ;
- return *(double *)&ll ;
-}
-inline unsigned int ntohi (unsigned int i) { return htoni (i); }
-inline unsigned long long ntohll (unsigned long long ll) { return htonll (ll); }
-inline float ntohf (float f) { return htonf (f); }
-inline double ntohd (double d) { return htond (d); }
-*/
- class Endian{
- public:
-
- static void byteSwap(unsigned char* data, int dataLength) {
-
- #ifdef IFR_IS_BIGENDIAN
- return;
- #endif
-
- for (int i = 0; i<dataLength/2; i++) {
- unsigned char temp = data[i];
- data[i] = data[dataLength-1-i];
- data[dataLength-1-i] = temp;
- }
- }
-
- static uint8_t byteSwap( uint8_t value ){
- byteSwap( (unsigned char*)&value, sizeof( value ) );
- return value;
- }
-
- static uint16_t byteSwap( uint16_t value ){
- byteSwap( (unsigned char*)&value, sizeof( value ) );
- return value;
- }
-
- static uint32_t byteSwap( uint32_t value ){
- byteSwap( (unsigned char*)&value, sizeof( value ) );
- return value;
- }
-
- static uint64_t byteSwap( uint64_t value ){
- byteSwap( (unsigned char*)&value, sizeof( value ) );
- return value;
- }
-
- static float byteSwap( float value ){
- byteSwap( (unsigned char*)&value, sizeof( value ) );
- return value;
- }
-
- static double byteSwap( double value ){
- byteSwap( (unsigned char*)&value, sizeof( value ) );
- return value;
- }
- };
-
-//#endif // IFR_IS_BIGENDIAN
-
-}}
-
-#endif /*ACTIVEMQ_UTIL_ENDIAN_H*/
+/*
+ * Copyright 2006 The Apache Software Foundation or its licensors, as
+ * applicable.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+#ifndef ACTIVEMQ_UTIL_ENDIAN_H
+#define ACTIVEMQ_UTIL_ENDIAN_H
+
+#if defined( unix ) || defined(__APPLE__)
+#include <netinet/in.h>
+#else
+#include <Winsock2.h>
+#endif
+
+// First try - check __BYTE_ORDER macro
+#if !defined IFR_IS_BIG_ENDIAN && !defined IFR_IS_LITTLE_ENDIAN && !defined IFR_IS_DPD_ENDIAN
+# if defined( unix ) || defined(__APPLE__)
+# include <sys/param.h> // defines __BYTE_ORDER (or sometimes __LITTLE_ENDIAN or __BIG_ENDIAN or __PDP_ENDIAN)
+# endif
+# if defined (__GLIBC__)
+# include <endian.h> // Can also define __BYTE_ORDER
+# endif
+# ifdef __BYTE_ORDER
+# if __BYTE_ORDER == __LITTLE_ENDIAN
+# define IFR_IS_LITTLE_ENDIAN
+# elif __BYTE_ORDER == __BIG_ENDIAN
+# define IFR_IS_BIG_ENDIAN
+# elif __BYTE_ORDER == __PDP_ENDIAN
+# define IFR_IS_PDP_ENDIAN
+# endif
+# endif
+#endif
+
+// Second try - check __LITTLE_ENDIAN or __BIG_ENDIAN
+#if !defined IFR_IS_BIG_ENDIAN && !defined IFR_IS_LITTLE_ENDIAN && !defined IFR_IS_DPD_ENDIAN
+# if defined __LITTLE_ENDIAN
+# define IFR_IS_LITTLE_ENDIAN
+# elif defined __BIG_ENDIAN
+# define IFR_IS_BIG_ENDIAN
+# elif defined __PDP_ENDIAN
+# define IFR_IS_PDP_ENDIAN
+# endif
+#endif
+
+// Last try - find out from well-known processor types using little endian
+#if !defined IFR_IS_BIG_ENDIAN && !defined IFR_IS_LITTLE_ENDIAN && !defined IFR_IS_DPD_ENDIAN
+# if defined (i386) || defined (__i386__) \
+ || defined (_M_IX86) || defined (vax) \
+ || defined (__alpha) || defined (__alpha__) \
+ || defined (__x86_64__) || defined (__ia64) \
+ || defined (__ia64__) || defined (__amd64__) \
+ || defined (_M_IX86) || defined (_M_IA64) \
+ || defined (_M_ALPHA)
+# define IFR_IS_LITTLE_ENDIAN
+# else
+# if defined (__sparc) || defined(__sparc__) \
+ || defined(_POWER) || defined(__powerpc__) \
+ || defined(__ppc__) || defined(__hppa) \
+ || defined(_MIPSEB) || defined(_POWER) \
+ || defined(__s390__)
+# define IFR_IS_BIG_ENDIAN
+# endif
+# endif
+#endif
+
+// Show error if we still don't know endianess
+#if !defined IFR_IS_BIG_ENDIAN && !defined IFR_IS_LITTLE_ENDIAN && !defined IFR_IS_DPD_ENDIAN
+#error "Could not determine endianess of your processor type"
+#endif
+
+// Use these if the compiler does not support _intXX
+#ifdef NEEDS_INT_DEFINED
+#define _int16 short
+#define _int32 int
+#define _int64 long long
+#endif
+
+// Check for uintXX types
+#ifndef uint8_t
+#define uint8_t unsigned char
+#endif
+#ifndef uint16_t
+#define uint16_t unsigned short
+#endif
+#ifndef uint32_t
+#define uint32_t unsigned int
+#endif
+#ifndef uint64_t
+#define uint64_t unsigned long long
+#endif
+
+// Macros and helpers for endian conversion
+namespace activemq{
+namespace util{
+
+/*#ifdef IFR_IS_BIGENDIAN
+inline unsigned int htoni (unsigned int i) { return i; }
+inline unsigned long long htonll (unsigned long long ll) { return ll; }
+inline float htonf (float f) { return f; }
+inline double htond (double d) { return d; }
+inline unsigned int ntohi (unsigned int i) { return i; }
+inline unsigned long long ntohll (unsigned long long ll) { return ll; }
+inline float ntohf (float f) { return f; }
+inline double ntohd (double d) { return d; }
+#else // !IFR_IS_BIGENDIAN
+
+inline unsigned int htoni (unsigned int i) {
+ return ( i << 8 ) & 0xFF00 |
+ ( i >> 8 ) & 0x00FF;
+}
+inline unsigned long long htonll (unsigned long long ll) {
+ return
+ ( ll << 56 ) & 0xFF00000000000000ULL |
+ ( ll << 40 ) & 0x00FF000000000000ULL |
+ ( ll << 24 ) & 0x0000FF0000000000ULL |
+ ( ll << 8 ) & 0x000000FF00000000ULL |
+ ( ll >> 8 ) & 0x00000000FF000000ULL |
+ ( ll >> 24 ) & 0x0000000000FF0000ULL |
+ ( ll >> 40 ) & 0x000000000000FF00ULL |
+ ( ll >> 56 ) & 0x00000000000000FFULL;
+}
+
+
+inline float htonf (float f) {
+ unsigned int i = htonl( *(unsigned int *)&f ) ;
+ return *(float *)&i ;
+}
+inline double htond (double d) {
+ unsigned long long ll = htonll( *(unsigned long long *)&d ) ;
+ return *(double *)&ll ;
+}
+inline unsigned int ntohi (unsigned int i) { return htoni (i); }
+inline unsigned long long ntohll (unsigned long long ll) { return htonll (ll); }
+inline float ntohf (float f) { return htonf (f); }
+inline double ntohd (double d) { return htond (d); }
+*/
+ class Endian{
+ public:
+
+ static void byteSwap(unsigned char* data, int dataLength) {
+
+ #ifdef IFR_IS_BIGENDIAN
+ return;
+ #endif
+
+ for (int i = 0; i<dataLength/2; i++) {
+ unsigned char temp = data[i];
+ data[i] = data[dataLength-1-i];
+ data[dataLength-1-i] = temp;
+ }
+ }
+
+ static uint8_t byteSwap( uint8_t value ){
+ byteSwap( (unsigned char*)&value, sizeof( value ) );
+ return value;
+ }
+
+ static uint16_t byteSwap( uint16_t value ){
+ byteSwap( (unsigned char*)&value, sizeof( value ) );
+ return value;
+ }
+
+ static uint32_t byteSwap( uint32_t value ){
+ byteSwap( (unsigned char*)&value, sizeof( value ) );
+ return value;
+ }
+
+ static uint64_t byteSwap( uint64_t value ){
+ byteSwap( (unsigned char*)&value, sizeof( value ) );
+ return value;
+ }
+
+ static float byteSwap( float value ){
+ byteSwap( (unsigned char*)&value, sizeof( value ) );
+ return value;
+ }
+
+ static double byteSwap( double value ){
+ byteSwap( (unsigned char*)&value, sizeof( value ) );
+ return value;
+ }
+ };
+
+//#endif // IFR_IS_BIGENDIAN
+
+}}
+
+#endif /*ACTIVEMQ_UTIL_ENDIAN_H*/
Propchange: incubator/activemq/trunk/activemq-cpp/src/main/activemq/util/Endian.h
------------------------------------------------------------------------------
svn:eol-style = native
Modified: incubator/activemq/trunk/activemq-cpp/src/main/activemq/util/Guid.cpp
URL: http://svn.apache.org/viewvc/incubator/activemq/trunk/activemq-cpp/src/main/activemq/util/Guid.cpp?rev=419365&r1=419364&r2=419365&view=diff
==============================================================================
--- incubator/activemq/trunk/activemq-cpp/src/main/activemq/util/Guid.cpp (original)
+++ incubator/activemq/trunk/activemq-cpp/src/main/activemq/util/Guid.cpp Wed Jul 5 15:27:34 2006
@@ -1,405 +1,405 @@
-/*
- * Copyright 2006 The Apache Software Foundation or its licensors, as
- * applicable.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-#include "Guid.h"
-#include <stdexcept>
-
-using namespace activemq::util;
-using namespace activemq::exceptions;
-using namespace std;
-
-////////////////////////////////////////////////////////////////////////////////
-Guid::Guid(void)
-{
- // Clear internal uuid, would pass isNull
- #if (defined( unix ) || defined(__APPLE__)) && !defined( __CYGWIN__ )
- memset(&uuid, 0, sizeof(uuid_t));
- #else
- ::UuidCreateNil(&uuid);
- #endif
-}
-
-////////////////////////////////////////////////////////////////////////////////
-Guid::Guid(const Guid& source)
-{
- // Set this uuid to that of the source
- *this = source;
-}
-
-////////////////////////////////////////////////////////////////////////////////
-Guid::Guid(const std::string& source)
- throw ( IllegalArgumentException )
-{
- if(source == "")
- {
- throw IllegalArgumentException(
- __FILE__, __LINE__,
- "GUID::fromBytes - Source was Empty");
- }
-
- // Set this uuid to that of the source
- *this = source;
-}
-
-////////////////////////////////////////////////////////////////////////////////
-Guid::~Guid(void)
-{
-}
-
-////////////////////////////////////////////////////////////////////////////////
-bool Guid::isNull(void) const
-{
- #if (defined( unix ) || defined(__APPLE__)) && !defined( __CYGWIN__ )
- // Check the uuid APIs is null method
- return uuid_is_null(*(const_cast<uuid_t*>(&uuid))) == 1 ? true : false;
- #else
- RPC_STATUS status;
-
- BOOL result = ::UuidIsNil( const_cast<GUID*>( &uuid ), &status );
-
- return (result == TRUE) ? true : false;
- #endif
-}
-
-////////////////////////////////////////////////////////////////////////////////
-void Guid::setNull(void)
-{
- #if (defined( unix ) || defined(__APPLE__)) && !defined( __CYGWIN__ )
- // use the uuid function to clear
- uuid_clear(uuid);
- #else
- ::UuidCreateNil(&uuid);
- #endif
-}
-
-////////////////////////////////////////////////////////////////////////////////
-Guid& Guid::createGUID(void) throw( RuntimeException )
-{
- #if (defined( unix ) || defined(__APPLE__)) && !defined( __CYGWIN__ )
- // Use the uuid_generate method to create a new GUID
- uuid_generate(uuid);
- #else
- // Create a uuid with the Co Create GUID
- RPC_STATUS lhResult = ::UuidCreate( &uuid );
-
- if ( lhResult == RPC_S_UUID_NO_ADDRESS )
- {
- throw RuntimeException(
- __FILE__, __LINE__,
- "GUIG::createGUID - Failed Creating GUID");
- }
- #endif
-
- return *this;
-}
-
-////////////////////////////////////////////////////////////////////////////////
-std::string Guid::toString(void) const throw( RuntimeException )
-{
- std::string uuid_str = "";
-
- #if (defined( unix ) || defined(__APPLE__)) && !defined( __CYGWIN__ )
- // Create storage for the string buffer
- char buffer[36] = {0};
-
- // parse the uuid to the string
- uuid_unparse(*(const_cast<uuid_t*>(&uuid)), buffer);
-
- // Store it in a string
- uuid_str = buffer;
- #else
- // Convert the GUID object to a string.
- unsigned char* guidStr = 0;
-
- RPC_STATUS result = ::UuidToString(
- const_cast<GUID*>(&uuid),
- &guidStr);
-
- if(result == RPC_S_OUT_OF_MEMORY)
- {
- throw RuntimeException(
- __FILE__, __LINE__,
- "GUIG::createGUID - Failed Creating GUID");
- }
-
- uuid_str = (char*)guidStr;
-
- // Dispose of the GUID string.
- ::RpcStringFree(&guidStr);
- #endif
-
- return uuid_str;
-}
-
-////////////////////////////////////////////////////////////////////////////////
-Guid::operator std::string() const
-{
- return toString();
-}
-
-////////////////////////////////////////////////////////////////////////////////
-const unsigned char* Guid::toBytes(void) const
-{
- unsigned char* buffer = new unsigned char[getRawBytesSize()];
-
- // copy our buffer
- #if (defined( unix ) || defined(__APPLE__)) && !defined( __CYGWIN__ )
- uuid_copy(buffer, *(const_cast<uuid_t*>(&uuid)));
- #else
- memcpy(buffer, &uuid, getRawBytesSize());
- #endif
-
- return &buffer[0];
-}
-
-////////////////////////////////////////////////////////////////////////////////
-Guid& Guid::fromBytes(const unsigned char* bytes)
- throw ( IllegalArgumentException )
-{
- if(bytes == NULL)
- {
- throw IllegalArgumentException(
- __FILE__, __LINE__,
- "GUID::fromBytes - bytes pointer was NULL");
- }
-
- // Copy the data
- #if (defined( unix ) || defined(__APPLE__)) && !defined( __CYGWIN__ )
- memcpy(uuid, bytes, getRawBytesSize());
- #else
- memcpy(&uuid, bytes, getRawBytesSize());
- #endif
-
- return *this;
-}
-
-////////////////////////////////////////////////////////////////////////////////
-int Guid::getRawBytesSize(void) const
-{
- #if (defined( unix ) || defined(__APPLE__)) && !defined( __CYGWIN__ )
- return sizeof(uuid_t);
- #else
- return sizeof(::GUID);
- #endif
-}
-
-////////////////////////////////////////////////////////////////////////////////
-Guid::operator const unsigned char*() const
-{
- #if (defined( unix ) || defined(__APPLE__)) && !defined( __CYGWIN__ )
- return &uuid[0];
- #else
- return reinterpret_cast<const unsigned char*>(&uuid);
- #endif
-}
-
-////////////////////////////////////////////////////////////////////////////////
-Guid& Guid::operator=(const Guid& source)
- throw ( IllegalArgumentException )
-{
- #if (defined( unix ) || defined(__APPLE__)) && !defined( __CYGWIN__ )
- // Use the uuid method to copy
- uuid_copy(uuid, *(const_cast<uuid_t*>(&source.uuid)));
- #else
- // Use mem copy
- memcpy(&uuid, &source.uuid, getRawBytesSize());
- #endif
-
- return *this;
-}
-
-////////////////////////////////////////////////////////////////////////////////
-Guid& Guid::operator=(const std::string& source)
- throw ( IllegalArgumentException )
-{
- #if (defined( unix ) || defined(__APPLE__)) && !defined( __CYGWIN__ )
- // Parse a uuid from the passed in string
- uuid_parse( const_cast<char*>(source.c_str()), uuid );
- #else
- if ( source.empty() )
- {
- ::UuidCreateNil( &uuid );
- }
- else
- {
- RPC_STATUS hResult =
- ::UuidFromString( (unsigned char*)source.c_str(), &uuid );
-
- if ( hResult == RPC_S_INVALID_STRING_UUID )
- {
- throw IllegalArgumentException(
- __FILE__, __LINE__,
- "GUID::fromBytes - Invalid GUID String");
- }
- }
- #endif
-
- return *this;
-}
-
-////////////////////////////////////////////////////////////////////////////////
-bool Guid::operator==(const Guid& source) const
-{
- #if (defined( unix ) || defined(__APPLE__)) && !defined( __CYGWIN__ )
- // uuid_compare returns 0 for equal
- return uuid_compare(
- *(const_cast<uuid_t*>(&uuid)),
- *(const_cast<uuid_t*>(&source.uuid))) == 0 ? true : false;
- #else
- RPC_STATUS status;
-
- BOOL result = ::UuidEqual(
- const_cast<GUID*>( &uuid ),
- const_cast<GUID*>( &source.uuid ),
- &status );
-
- return ( result == TRUE ) ? true : false;
- #endif
-}
-
-////////////////////////////////////////////////////////////////////////////////
-bool Guid::operator==(const std::string& source) const
-{
- return *this == Guid(source);
-}
-
-////////////////////////////////////////////////////////////////////////////////
-bool Guid::operator!=(const Guid& source) const
-{
- return !(*this == source);
-}
-
-////////////////////////////////////////////////////////////////////////////////
-bool Guid::operator!=(const std::string& source) const
-{
- return !(*this == source);
-}
-
-////////////////////////////////////////////////////////////////////////////////
-bool Guid::operator<(const Guid& source) const
-{
- #if (defined( unix ) || defined(__APPLE__)) && !defined( __CYGWIN__ )
- // uuid_compare returns 0 for equal
- return uuid_compare(
- *(const_cast<uuid_t*>(&uuid)),
- *(const_cast<uuid_t*>(&source.uuid))) < 0 ? true : false;
- #else
- RPC_STATUS status;
-
- int result = ::UuidCompare(
- const_cast<GUID*>( &uuid ),
- const_cast<GUID*>( &source.uuid ),
- &status );
-
- return ( result < 0 ) ? true : false;
- #endif
-}
-
-////////////////////////////////////////////////////////////////////////////////
-bool Guid::operator<(const std::string& source) const
-{
- return *this < Guid(source);
-}
-
-////////////////////////////////////////////////////////////////////////////////
-bool Guid::operator<=(const Guid& source) const
-{
- #if (defined( unix ) || defined(__APPLE__)) && !defined( __CYGWIN__ )
- // uuid_compare returns 0 for equal
- return uuid_compare(
- *(const_cast<uuid_t*>(&uuid)),
- *(const_cast<uuid_t*>(&source.uuid))) <= 0 ? true : false;
- #else
- RPC_STATUS status;
-
- int result = ::UuidCompare(
- const_cast<GUID*>( &uuid ),
- const_cast<GUID*>( &source.uuid ),
- &status );
-
- return ( result <= 0 ) ? true : false;
- #endif
-}
-
-////////////////////////////////////////////////////////////////////////////////
-bool Guid::operator<=(const std::string& source) const
-{
- return *this <= Guid(source);
-}
-
-////////////////////////////////////////////////////////////////////////////////
-bool Guid::operator>(const Guid& source) const
-{
- #if (defined( unix ) || defined(__APPLE__)) && !defined( __CYGWIN__ )
- // uuid_compare returns 0 for equal
- return uuid_compare(
- *(const_cast<uuid_t*>(&uuid)),
- *(const_cast<uuid_t*>(&source.uuid))) > 0 ? true : false;
- #else
- RPC_STATUS status;
-
- int result = ::UuidCompare(
- const_cast<GUID*>( &uuid ),
- const_cast<GUID*>( &source.uuid ),
- &status );
-
- return ( result > 0 ) ? true : false;
- #endif
-}
-
-////////////////////////////////////////////////////////////////////////////////
-bool Guid::operator>(const std::string& source) const
-{
- return *this > Guid(source);
-}
-
-////////////////////////////////////////////////////////////////////////////////
-bool Guid::operator>=(const Guid& source) const
-{
- #if (defined( unix ) || defined(__APPLE__)) && !defined( __CYGWIN__ )
- // uuid_compare returns 0 for equal
- return uuid_compare(
- *(const_cast<uuid_t*>(&uuid)),
- *(const_cast<uuid_t*>(&source.uuid))) >= 0 ? true : false;
- #else
- RPC_STATUS status;
-
- int result = ::UuidCompare(
- const_cast<GUID*>(&uuid),
- const_cast<GUID*>(&source.uuid),
- &status);
-
- return (result >= 0) ? true : false;
- #endif
-}
-
-////////////////////////////////////////////////////////////////////////////////
-bool Guid::operator>=(const std::string& source) const
-{
- return *this >= Guid(source);
-}
-
-////////////////////////////////////////////////////////////////////////////////
-std::string Guid::createGUIDString(void)
-{
- return Guid().createGUID().toString();
-}
-
-////////////////////////////////////////////////////////////////////////////////
-const unsigned char* createGUIDBytes(void)
-{
- return Guid().createGUID().toBytes();
-}
+/*
+ * Copyright 2006 The Apache Software Foundation or its licensors, as
+ * applicable.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+#include "Guid.h"
+#include <stdexcept>
+
+using namespace activemq::util;
+using namespace activemq::exceptions;
+using namespace std;
+
+////////////////////////////////////////////////////////////////////////////////
+Guid::Guid(void)
+{
+ // Clear internal uuid, would pass isNull
+ #if (defined( unix ) || defined(__APPLE__)) && !defined( __CYGWIN__ )
+ memset(&uuid, 0, sizeof(uuid_t));
+ #else
+ ::UuidCreateNil(&uuid);
+ #endif
+}
+
+////////////////////////////////////////////////////////////////////////////////
+Guid::Guid(const Guid& source)
+{
+ // Set this uuid to that of the source
+ *this = source;
+}
+
+////////////////////////////////////////////////////////////////////////////////
+Guid::Guid(const std::string& source)
+ throw ( IllegalArgumentException )
+{
+ if(source == "")
+ {
+ throw IllegalArgumentException(
+ __FILE__, __LINE__,
+ "GUID::fromBytes - Source was Empty");
+ }
+
+ // Set this uuid to that of the source
+ *this = source;
+}
+
+////////////////////////////////////////////////////////////////////////////////
+Guid::~Guid(void)
+{
+}
+
+////////////////////////////////////////////////////////////////////////////////
+bool Guid::isNull(void) const
+{
+ #if (defined( unix ) || defined(__APPLE__)) && !defined( __CYGWIN__ )
+ // Check the uuid APIs is null method
+ return uuid_is_null(*(const_cast<uuid_t*>(&uuid))) == 1 ? true : false;
+ #else
+ RPC_STATUS status;
+
+ BOOL result = ::UuidIsNil( const_cast<GUID*>( &uuid ), &status );
+
+ return (result == TRUE) ? true : false;
+ #endif
+}
+
+////////////////////////////////////////////////////////////////////////////////
+void Guid::setNull(void)
+{
+ #if (defined( unix ) || defined(__APPLE__)) && !defined( __CYGWIN__ )
+ // use the uuid function to clear
+ uuid_clear(uuid);
+ #else
+ ::UuidCreateNil(&uuid);
+ #endif
+}
+
+////////////////////////////////////////////////////////////////////////////////
+Guid& Guid::createGUID(void) throw( RuntimeException )
+{
+ #if (defined( unix ) || defined(__APPLE__)) && !defined( __CYGWIN__ )
+ // Use the uuid_generate method to create a new GUID
+ uuid_generate(uuid);
+ #else
+ // Create a uuid with the Co Create GUID
+ RPC_STATUS lhResult = ::UuidCreate( &uuid );
+
+ if ( lhResult == RPC_S_UUID_NO_ADDRESS )
+ {
+ throw RuntimeException(
+ __FILE__, __LINE__,
+ "GUIG::createGUID - Failed Creating GUID");
+ }
+ #endif
+
+ return *this;
+}
+
+////////////////////////////////////////////////////////////////////////////////
+std::string Guid::toString(void) const throw( RuntimeException )
+{
+ std::string uuid_str = "";
+
+ #if (defined( unix ) || defined(__APPLE__)) && !defined( __CYGWIN__ )
+ // Create storage for the string buffer
+ char buffer[36] = {0};
+
+ // parse the uuid to the string
+ uuid_unparse(*(const_cast<uuid_t*>(&uuid)), buffer);
+
+ // Store it in a string
+ uuid_str = buffer;
+ #else
+ // Convert the GUID object to a string.
+ unsigned char* guidStr = 0;
+
+ RPC_STATUS result = ::UuidToString(
+ const_cast<GUID*>(&uuid),
+ &guidStr);
+
+ if(result == RPC_S_OUT_OF_MEMORY)
+ {
+ throw RuntimeException(
+ __FILE__, __LINE__,
+ "GUIG::createGUID - Failed Creating GUID");
+ }
+
+ uuid_str = (char*)guidStr;
+
+ // Dispose of the GUID string.
+ ::RpcStringFree(&guidStr);
+ #endif
+
+ return uuid_str;
+}
+
+////////////////////////////////////////////////////////////////////////////////
+Guid::operator std::string() const
+{
+ return toString();
+}
+
+////////////////////////////////////////////////////////////////////////////////
+const unsigned char* Guid::toBytes(void) const
+{
+ unsigned char* buffer = new unsigned char[getRawBytesSize()];
+
+ // copy our buffer
+ #if (defined( unix ) || defined(__APPLE__)) && !defined( __CYGWIN__ )
+ uuid_copy(buffer, *(const_cast<uuid_t*>(&uuid)));
+ #else
+ memcpy(buffer, &uuid, getRawBytesSize());
+ #endif
+
+ return &buffer[0];
+}
+
+////////////////////////////////////////////////////////////////////////////////
+Guid& Guid::fromBytes(const unsigned char* bytes)
+ throw ( IllegalArgumentException )
+{
+ if(bytes == NULL)
+ {
+ throw IllegalArgumentException(
+ __FILE__, __LINE__,
+ "GUID::fromBytes - bytes pointer was NULL");
+ }
+
+ // Copy the data
+ #if (defined( unix ) || defined(__APPLE__)) && !defined( __CYGWIN__ )
+ memcpy(uuid, bytes, getRawBytesSize());
+ #else
+ memcpy(&uuid, bytes, getRawBytesSize());
+ #endif
+
+ return *this;
+}
+
+////////////////////////////////////////////////////////////////////////////////
+int Guid::getRawBytesSize(void) const
+{
+ #if (defined( unix ) || defined(__APPLE__)) && !defined( __CYGWIN__ )
+ return sizeof(uuid_t);
+ #else
+ return sizeof(::GUID);
+ #endif
+}
+
+////////////////////////////////////////////////////////////////////////////////
+Guid::operator const unsigned char*() const
+{
+ #if (defined( unix ) || defined(__APPLE__)) && !defined( __CYGWIN__ )
+ return &uuid[0];
+ #else
+ return reinterpret_cast<const unsigned char*>(&uuid);
+ #endif
+}
+
+////////////////////////////////////////////////////////////////////////////////
+Guid& Guid::operator=(const Guid& source)
+ throw ( IllegalArgumentException )
+{
+ #if (defined( unix ) || defined(__APPLE__)) && !defined( __CYGWIN__ )
+ // Use the uuid method to copy
+ uuid_copy(uuid, *(const_cast<uuid_t*>(&source.uuid)));
+ #else
+ // Use mem copy
+ memcpy(&uuid, &source.uuid, getRawBytesSize());
+ #endif
+
+ return *this;
+}
+
+////////////////////////////////////////////////////////////////////////////////
+Guid& Guid::operator=(const std::string& source)
+ throw ( IllegalArgumentException )
+{
+ #if (defined( unix ) || defined(__APPLE__)) && !defined( __CYGWIN__ )
+ // Parse a uuid from the passed in string
+ uuid_parse( const_cast<char*>(source.c_str()), uuid );
+ #else
+ if ( source.empty() )
+ {
+ ::UuidCreateNil( &uuid );
+ }
+ else
+ {
+ RPC_STATUS hResult =
+ ::UuidFromString( (unsigned char*)source.c_str(), &uuid );
+
+ if ( hResult == RPC_S_INVALID_STRING_UUID )
+ {
+ throw IllegalArgumentException(
+ __FILE__, __LINE__,
+ "GUID::fromBytes - Invalid GUID String");
+ }
+ }
+ #endif
+
+ return *this;
+}
+
+////////////////////////////////////////////////////////////////////////////////
+bool Guid::operator==(const Guid& source) const
+{
+ #if (defined( unix ) || defined(__APPLE__)) && !defined( __CYGWIN__ )
+ // uuid_compare returns 0 for equal
+ return uuid_compare(
+ *(const_cast<uuid_t*>(&uuid)),
+ *(const_cast<uuid_t*>(&source.uuid))) == 0 ? true : false;
+ #else
+ RPC_STATUS status;
+
+ BOOL result = ::UuidEqual(
+ const_cast<GUID*>( &uuid ),
+ const_cast<GUID*>( &source.uuid ),
+ &status );
+
+ return ( result == TRUE ) ? true : false;
+ #endif
+}
+
+////////////////////////////////////////////////////////////////////////////////
+bool Guid::operator==(const std::string& source) const
+{
+ return *this == Guid(source);
+}
+
+////////////////////////////////////////////////////////////////////////////////
+bool Guid::operator!=(const Guid& source) const
+{
+ return !(*this == source);
+}
+
+////////////////////////////////////////////////////////////////////////////////
+bool Guid::operator!=(const std::string& source) const
+{
+ return !(*this == source);
+}
+
+////////////////////////////////////////////////////////////////////////////////
+bool Guid::operator<(const Guid& source) const
+{
+ #if (defined( unix ) || defined(__APPLE__)) && !defined( __CYGWIN__ )
+ // uuid_compare returns 0 for equal
+ return uuid_compare(
+ *(const_cast<uuid_t*>(&uuid)),
+ *(const_cast<uuid_t*>(&source.uuid))) < 0 ? true : false;
+ #else
+ RPC_STATUS status;
+
+ int result = ::UuidCompare(
+ const_cast<GUID*>( &uuid ),
+ const_cast<GUID*>( &source.uuid ),
+ &status );
+
+ return ( result < 0 ) ? true : false;
+ #endif
+}
+
+////////////////////////////////////////////////////////////////////////////////
+bool Guid::operator<(const std::string& source) const
+{
+ return *this < Guid(source);
+}
+
+////////////////////////////////////////////////////////////////////////////////
+bool Guid::operator<=(const Guid& source) const
+{
+ #if (defined( unix ) || defined(__APPLE__)) && !defined( __CYGWIN__ )
+ // uuid_compare returns 0 for equal
+ return uuid_compare(
+ *(const_cast<uuid_t*>(&uuid)),
+ *(const_cast<uuid_t*>(&source.uuid))) <= 0 ? true : false;
+ #else
+ RPC_STATUS status;
+
+ int result = ::UuidCompare(
+ const_cast<GUID*>( &uuid ),
+ const_cast<GUID*>( &source.uuid ),
+ &status );
+
+ return ( result <= 0 ) ? true : false;
+ #endif
+}
+
+////////////////////////////////////////////////////////////////////////////////
+bool Guid::operator<=(const std::string& source) const
+{
+ return *this <= Guid(source);
+}
+
+////////////////////////////////////////////////////////////////////////////////
+bool Guid::operator>(const Guid& source) const
+{
+ #if (defined( unix ) || defined(__APPLE__)) && !defined( __CYGWIN__ )
+ // uuid_compare returns 0 for equal
+ return uuid_compare(
+ *(const_cast<uuid_t*>(&uuid)),
+ *(const_cast<uuid_t*>(&source.uuid))) > 0 ? true : false;
+ #else
+ RPC_STATUS status;
+
+ int result = ::UuidCompare(
+ const_cast<GUID*>( &uuid ),
+ const_cast<GUID*>( &source.uuid ),
+ &status );
+
+ return ( result > 0 ) ? true : false;
+ #endif
+}
+
+////////////////////////////////////////////////////////////////////////////////
+bool Guid::operator>(const std::string& source) const
+{
+ return *this > Guid(source);
+}
+
+////////////////////////////////////////////////////////////////////////////////
+bool Guid::operator>=(const Guid& source) const
+{
+ #if (defined( unix ) || defined(__APPLE__)) && !defined( __CYGWIN__ )
+ // uuid_compare returns 0 for equal
+ return uuid_compare(
+ *(const_cast<uuid_t*>(&uuid)),
+ *(const_cast<uuid_t*>(&source.uuid))) >= 0 ? true : false;
+ #else
+ RPC_STATUS status;
+
+ int result = ::UuidCompare(
+ const_cast<GUID*>(&uuid),
+ const_cast<GUID*>(&source.uuid),
+ &status);
+
+ return (result >= 0) ? true : false;
+ #endif
+}
+
+////////////////////////////////////////////////////////////////////////////////
+bool Guid::operator>=(const std::string& source) const
+{
+ return *this >= Guid(source);
+}
+
+////////////////////////////////////////////////////////////////////////////////
+std::string Guid::createGUIDString(void)
+{
+ return Guid().createGUID().toString();
+}
+
+////////////////////////////////////////////////////////////////////////////////
+const unsigned char* createGUIDBytes(void)
+{
+ return Guid().createGUID().toBytes();
+}
Propchange: incubator/activemq/trunk/activemq-cpp/src/main/activemq/util/Guid.cpp
------------------------------------------------------------------------------
svn:eol-style = native
Modified: incubator/activemq/trunk/activemq-cpp/src/main/activemq/util/Guid.h
URL: http://svn.apache.org/viewvc/incubator/activemq/trunk/activemq-cpp/src/main/activemq/util/Guid.h?rev=419365&r1=419364&r2=419365&view=diff
==============================================================================
--- incubator/activemq/trunk/activemq-cpp/src/main/activemq/util/Guid.h (original)
+++ incubator/activemq/trunk/activemq-cpp/src/main/activemq/util/Guid.h Wed Jul 5 15:27:34 2006
@@ -1,200 +1,200 @@
-/*
- * Copyright 2006 The Apache Software Foundation or its licensors, as
- * applicable.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-#ifndef ACTIVEMQ_UTIL_GUID_H
-#define ACTIVEMQ_UTIL_GUID_H
-
-#if defined( unix ) || defined(__APPLE__) && !defined( __CYGWIN__ )
- #include <uuid/uuid.h>
-#elif defined(_WIN32) || defined( __CYGWIN__ )
- #include <objbase.h>
- #include <rpcdce.h>
-#else // defined MACOSX
- #include "uuid.h"
-#endif
-
-#include <activemq/exceptions/RuntimeException.h>
-#include <activemq/exceptions/IllegalArgumentException.h>
-
-#include <string>
-
-namespace activemq{
-namespace util{
-
- class Guid
- {
- public:
-
- /**
- * Constructor
- */
- Guid(void);
-
- /**
- * Copy Constructor
- */
- Guid(const Guid& source);
-
- /**
- * Constructor - Create a GUID from a String
- */
- Guid(const std::string& source)
- throw ( exceptions::IllegalArgumentException );
-
- /**
- * Destructor
- */
- virtual ~Guid(void);
-
- /**
- * Determines if this GUID is null, if so it can be initialized with a
- * call to <code>createGUID</code>.
- * @return true for Null GUID, false otherwise.
- */
- bool isNull(void) const;
-
- /**
- * Clears the GUID's current value and sets it to a NULL GUID value
- * will now pass <code>isNull</code>.
- */
- void setNull(void);
-
- /**
- * Generate a new GUID which will overwrite any current GUID value
- * @return Reference to this object that now has a new GUID
- */
- Guid& createGUID(void) throw( exceptions::RuntimeException );
-
- /**
- * Converts the GUID to a string and returns that string
- * @return a string with this GUID's stringified value
- */
- std::string toString(void) const throw( exceptions::RuntimeException );
-
- /**
- * Converts the GUID to a byte array and return a pointer to the
- * new array, called takes ownership and must delete this array
- * when done.
- * @return a byte array with the GUID byte value, size = 16
- */
- const unsigned char* toBytes(void) const;
-
- /**
- * Initializes this GUID with the GUID specified in the bytes parameter
- * @return reference to this object.
- */
- Guid& fromBytes(const unsigned char* bytes)
- throw ( exceptions::IllegalArgumentException );
-
- /**
- * Returns the Size in Bytes of the Raw bytes representation of the
- * GUID.
- * @return size of the Raw bytes representation
- */
- int getRawBytesSize(void) const;
-
- /**
- * string type cast operator
- * @returns string representation of this GUID
- */
- operator std::string() const;
-
- /**
- * byte array cast operator, caller does not own this memeory
- * @returns byte array with the GUID byte value representation
- */
- operator const unsigned char*() const;
-
- /**
- * Assignment operators
- * @return Reference to this GUID object
- */
- Guid& operator=(const Guid& source)
- throw ( exceptions::IllegalArgumentException );
- Guid& operator=(const std::string& source)
- throw ( exceptions::IllegalArgumentException );
-
- /**
- * Equality Comparison Operators
- * @return true for equal. false otherwise
- */
- bool operator==(const Guid& source) const;
- bool operator==(const std::string& source) const;
-
- /**
- * Inequality Comparison Operators
- * @return true for equal. false otherwise
- */
- bool operator!=(const Guid& source) const;
- bool operator!=(const std::string& source) const;
-
- /**
- * Less than operators
- * @return true for equal. false otherwise
- */
- bool operator<(const Guid& source) const;
- bool operator<(const std::string& source) const;
-
- /**
- * Less than or equal to operators
- * @return true for equal. false otherwise
- */
- bool operator<=(const Guid& source) const;
- bool operator<=(const std::string& source) const;
-
- /**
- * Greater than operators
- * @return true for equal. false otherwise
- */
- bool operator>(const Guid& source) const;
- bool operator>(const std::string& source) const;
-
- /**
- * Greater than or equal to operators
- * @return true for equal. false otherwise
- */
- bool operator>=(const Guid& source) const;
- bool operator>=(const std::string& source) const;
-
- public:
-
- /**
- * Static Guid Creation Method, creates a GUID and returns it as a string
- * @return Guid string.
- */
- static std::string createGUIDString(void);
-
- /**
- * Static Guid Create Method, create a GUID and returns the byte representation
- * of the new GUID.
- * @return Guid bytes array, size is 16
- */
- static const unsigned char* createGUIDBytes(void);
-
- private:
-
- // the uuid that this object represents.
- #if defined( unix ) || defined(__APPLE__)
- uuid_t uuid;
- #else
- ::GUID uuid;
- #endif
-
- };
-
-}}
-
-#endif /*ACTIVEMQ_UTIL_GUID_H*/
+/*
+ * Copyright 2006 The Apache Software Foundation or its licensors, as
+ * applicable.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+#ifndef ACTIVEMQ_UTIL_GUID_H
+#define ACTIVEMQ_UTIL_GUID_H
+
+#if defined( unix ) || defined(__APPLE__) && !defined( __CYGWIN__ )
+ #include <uuid/uuid.h>
+#elif defined(_WIN32) || defined( __CYGWIN__ )
+ #include <objbase.h>
+ #include <rpcdce.h>
+#else // defined MACOSX
+ #include "uuid.h"
+#endif
+
+#include <activemq/exceptions/RuntimeException.h>
+#include <activemq/exceptions/IllegalArgumentException.h>
+
+#include <string>
+
+namespace activemq{
+namespace util{
+
+ class Guid
+ {
+ public:
+
+ /**
+ * Constructor
+ */
+ Guid(void);
+
+ /**
+ * Copy Constructor
+ */
+ Guid(const Guid& source);
+
+ /**
+ * Constructor - Create a GUID from a String
+ */
+ Guid(const std::string& source)
+ throw ( exceptions::IllegalArgumentException );
+
+ /**
+ * Destructor
+ */
+ virtual ~Guid(void);
+
+ /**
+ * Determines if this GUID is null, if so it can be initialized with a
+ * call to <code>createGUID</code>.
+ * @return true for Null GUID, false otherwise.
+ */
+ bool isNull(void) const;
+
+ /**
+ * Clears the GUID's current value and sets it to a NULL GUID value
+ * will now pass <code>isNull</code>.
+ */
+ void setNull(void);
+
+ /**
+ * Generate a new GUID which will overwrite any current GUID value
+ * @return Reference to this object that now has a new GUID
+ */
+ Guid& createGUID(void) throw( exceptions::RuntimeException );
+
+ /**
+ * Converts the GUID to a string and returns that string
+ * @return a string with this GUID's stringified value
+ */
+ std::string toString(void) const throw( exceptions::RuntimeException );
+
+ /**
+ * Converts the GUID to a byte array and return a pointer to the
+ * new array, called takes ownership and must delete this array
+ * when done.
+ * @return a byte array with the GUID byte value, size = 16
+ */
+ const unsigned char* toBytes(void) const;
+
+ /**
+ * Initializes this GUID with the GUID specified in the bytes parameter
+ * @return reference to this object.
+ */
+ Guid& fromBytes(const unsigned char* bytes)
+ throw ( exceptions::IllegalArgumentException );
+
+ /**
+ * Returns the Size in Bytes of the Raw bytes representation of the
+ * GUID.
+ * @return size of the Raw bytes representation
+ */
+ int getRawBytesSize(void) const;
+
+ /**
+ * string type cast operator
+ * @returns string representation of this GUID
+ */
+ operator std::string() const;
+
+ /**
+ * byte array cast operator, caller does not own this memeory
+ * @returns byte array with the GUID byte value representation
+ */
+ operator const unsigned char*() const;
+
+ /**
+ * Assignment operators
+ * @return Reference to this GUID object
+ */
+ Guid& operator=(const Guid& source)
+ throw ( exceptions::IllegalArgumentException );
+ Guid& operator=(const std::string& source)
+ throw ( exceptions::IllegalArgumentException );
+
+ /**
+ * Equality Comparison Operators
+ * @return true for equal. false otherwise
+ */
+ bool operator==(const Guid& source) const;
+ bool operator==(const std::string& source) const;
+
+ /**
+ * Inequality Comparison Operators
+ * @return true for equal. false otherwise
+ */
+ bool operator!=(const Guid& source) const;
+ bool operator!=(const std::string& source) const;
+
+ /**
+ * Less than operators
+ * @return true for equal. false otherwise
+ */
+ bool operator<(const Guid& source) const;
+ bool operator<(const std::string& source) const;
+
+ /**
+ * Less than or equal to operators
+ * @return true for equal. false otherwise
+ */
+ bool operator<=(const Guid& source) const;
+ bool operator<=(const std::string& source) const;
+
+ /**
+ * Greater than operators
+ * @return true for equal. false otherwise
+ */
+ bool operator>(const Guid& source) const;
+ bool operator>(const std::string& source) const;
+
+ /**
+ * Greater than or equal to operators
+ * @return true for equal. false otherwise
+ */
+ bool operator>=(const Guid& source) const;
+ bool operator>=(const std::string& source) const;
+
+ public:
+
+ /**
+ * Static Guid Creation Method, creates a GUID and returns it as a string
+ * @return Guid string.
+ */
+ static std::string createGUIDString(void);
+
+ /**
+ * Static Guid Create Method, create a GUID and returns the byte representation
+ * of the new GUID.
+ * @return Guid bytes array, size is 16
+ */
+ static const unsigned char* createGUIDBytes(void);
+
+ private:
+
+ // the uuid that this object represents.
+ #if defined( unix ) || defined(__APPLE__)
+ uuid_t uuid;
+ #else
+ ::GUID uuid;
+ #endif
+
+ };
+
+}}
+
+#endif /*ACTIVEMQ_UTIL_GUID_H*/
Propchange: incubator/activemq/trunk/activemq-cpp/src/main/activemq/util/Guid.h
------------------------------------------------------------------------------
svn:eol-style = native
Modified: incubator/activemq/trunk/activemq-cpp/src/main/activemq/util/Integer.h
URL: http://svn.apache.org/viewvc/incubator/activemq/trunk/activemq-cpp/src/main/activemq/util/Integer.h?rev=419365&r1=419364&r2=419365&view=diff
==============================================================================
--- incubator/activemq/trunk/activemq-cpp/src/main/activemq/util/Integer.h (original)
+++ incubator/activemq/trunk/activemq-cpp/src/main/activemq/util/Integer.h Wed Jul 5 15:27:34 2006
@@ -1,61 +1,61 @@
-/*
- * Copyright 2006 The Apache Software Foundation or its licensors, as
- * applicable.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#ifndef _ACTIVEMQ_UTIL_INTEGER_H_
-#define _ACTIVEMQ_UTIL_INTEGER_H_
-
-#include <activemq/util/Number.h>
-
-namespace activemq{
-namespace util{
-
- class Integer : public Number
- {
- public:
-
- Integer(void) {}
- virtual ~Integer(void) {}
-
- /**
- * Parses the String passed and extracts an int.
- * @param String to parse
- * @return int value
- */
- static int parseInt(const std::string& value){
- int ret = 0;
- std::istringstream istream(value);
- istream.clear();
- istream >> ret;
- return ret;
- }
-
- /**
- * Converts the int to a String representation
- * @param int to convert
- * @return string representation
- */
- static std::string toString(int value){
- std::ostringstream ostream;
- ostream << value;
- return ostream.str();
- }
-
- };
-
-}}
-
-#endif /*_ACTIVEMQ_UTIL_INTEGER_H_*/
+/*
+ * Copyright 2006 The Apache Software Foundation or its licensors, as
+ * applicable.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef _ACTIVEMQ_UTIL_INTEGER_H_
+#define _ACTIVEMQ_UTIL_INTEGER_H_
+
+#include <activemq/util/Number.h>
+
+namespace activemq{
+namespace util{
+
+ class Integer : public Number
+ {
+ public:
+
+ Integer(void) {}
+ virtual ~Integer(void) {}
+
+ /**
+ * Parses the String passed and extracts an int.
+ * @param String to parse
+ * @return int value
+ */
+ static int parseInt(const std::string& value){
+ int ret = 0;
+ std::istringstream istream(value);
+ istream.clear();
+ istream >> ret;
+ return ret;
+ }
+
+ /**
+ * Converts the int to a String representation
+ * @param int to convert
+ * @return string representation
+ */
+ static std::string toString(int value){
+ std::ostringstream ostream;
+ ostream << value;
+ return ostream.str();
+ }
+
+ };
+
+}}
+
+#endif /*_ACTIVEMQ_UTIL_INTEGER_H_*/
Propchange: incubator/activemq/trunk/activemq-cpp/src/main/activemq/util/Integer.h
------------------------------------------------------------------------------
svn:eol-style = native
Modified: incubator/activemq/trunk/activemq-cpp/src/main/activemq/util/Long.h
URL: http://svn.apache.org/viewvc/incubator/activemq/trunk/activemq-cpp/src/main/activemq/util/Long.h?rev=419365&r1=419364&r2=419365&view=diff
==============================================================================
--- incubator/activemq/trunk/activemq-cpp/src/main/activemq/util/Long.h (original)
+++ incubator/activemq/trunk/activemq-cpp/src/main/activemq/util/Long.h Wed Jul 5 15:27:34 2006
@@ -1,60 +1,60 @@
-/*
- * Copyright 2006 The Apache Software Foundation or its licensors, as
- * applicable.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#ifndef _ACTIVEMQ_UTIL_LONG_H_
-#define _ACTIVEMQ_UTIL_LONG_H_
-
-#include <activemq/util/Number.h>
-
-namespace activemq{
-namespace util{
-
- class Long : public Number
- {
- public:
-
- Long(void) {}
- virtual ~Long(void) {}
-
- /**
- * Parses the String passed and extracts an long.
- * @param String to parse
- * @return long value
- */
- static long parseLong(const std::string& value){
- long ret = 0;
- std::istringstream istream(value);
- istream.clear();
- istream >> ret;
- return ret;
- }
-
- /**
- * Converts the long to a String representation
- * @param long to convert
- * @return string representation
- */
- static std::string toString(long value){
- std::ostringstream ostream;
- ostream << value;
- return ostream.str();
- }
- };
-
-}}
-
-#endif /*_ACTIVEMQ_UTIL_LONG_H_*/
+/*
+ * Copyright 2006 The Apache Software Foundation or its licensors, as
+ * applicable.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef _ACTIVEMQ_UTIL_LONG_H_
+#define _ACTIVEMQ_UTIL_LONG_H_
+
+#include <activemq/util/Number.h>
+
+namespace activemq{
+namespace util{
+
+ class Long : public Number
+ {
+ public:
+
+ Long(void) {}
+ virtual ~Long(void) {}
+
+ /**
+ * Parses the String passed and extracts an long.
+ * @param String to parse
+ * @return long value
+ */
+ static long parseLong(const std::string& value){
+ long ret = 0;
+ std::istringstream istream(value);
+ istream.clear();
+ istream >> ret;
+ return ret;
+ }
+
+ /**
+ * Converts the long to a String representation
+ * @param long to convert
+ * @return string representation
+ */
+ static std::string toString(long value){
+ std::ostringstream ostream;
+ ostream << value;
+ return ostream.str();
+ }
+ };
+
+}}
+
+#endif /*_ACTIVEMQ_UTIL_LONG_H_*/
Propchange: incubator/activemq/trunk/activemq-cpp/src/main/activemq/util/Long.h
------------------------------------------------------------------------------
svn:eol-style = native
Modified: incubator/activemq/trunk/activemq-cpp/src/main/activemq/util/Number.h
URL: http://svn.apache.org/viewvc/incubator/activemq/trunk/activemq-cpp/src/main/activemq/util/Number.h?rev=419365&r1=419364&r2=419365&view=diff
==============================================================================
--- incubator/activemq/trunk/activemq-cpp/src/main/activemq/util/Number.h (original)
+++ incubator/activemq/trunk/activemq-cpp/src/main/activemq/util/Number.h Wed Jul 5 15:27:34 2006
@@ -1,43 +1,43 @@
-/*
- * Copyright 2006 The Apache Software Foundation or its licensors, as
- * applicable.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#ifndef _ACTIVEMQ_UTIL_NUMBER_H_
-#define _ACTIVEMQ_UTIL_NUMBER_H_
-
-#include <sstream>
-
-namespace activemq{
-namespace util{
-
- /**
- * The abstract class Number is the superclass of classes Byte, Double,
- * Float, Integer, Long, and Short.
- *
- * Subclasses of Number must provide methods to convert the represented
- * numeric value to byte, double, float, int, long, and short.
- */
- class Number
- {
- public:
-
- virtual ~Number(void) {}
-
- };
-
-}}
-
-#endif /*_ACTIVEMQ_UTIL_NUMBER_H_*/
+/*
+ * Copyright 2006 The Apache Software Foundation or its licensors, as
+ * applicable.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef _ACTIVEMQ_UTIL_NUMBER_H_
+#define _ACTIVEMQ_UTIL_NUMBER_H_
+
+#include <sstream>
+
+namespace activemq{
+namespace util{
+
+ /**
+ * The abstract class Number is the superclass of classes Byte, Double,
+ * Float, Integer, Long, and Short.
+ *
+ * Subclasses of Number must provide methods to convert the represented
+ * numeric value to byte, double, float, int, long, and short.
+ */
+ class Number
+ {
+ public:
+
+ virtual ~Number(void) {}
+
+ };
+
+}}
+
+#endif /*_ACTIVEMQ_UTIL_NUMBER_H_*/
Propchange: incubator/activemq/trunk/activemq-cpp/src/main/activemq/util/Number.h
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: incubator/activemq/trunk/activemq-cpp/src/main/activemq/util/Properties.h
------------------------------------------------------------------------------
svn:eol-style = native