You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@airavata.apache.org by sm...@apache.org on 2014/07/12 06:08:19 UTC
[01/47] Added c++ client samples for integrattion of airavata with
any other application's c++ interface
Repository: airavata
Updated Branches:
refs/heads/master a0f5419e0 -> 69769b8df
http://git-wip-us.apache.org/repos/asf/airavata/blob/f891b7dc/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/transport/TTransportException.h
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/transport/TTransportException.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/transport/TTransportException.h
new file mode 100644
index 0000000..028dbb8
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/transport/TTransportException.h
@@ -0,0 +1,115 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you 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 _THRIFT_TRANSPORT_TTRANSPORTEXCEPTION_H_
+#define _THRIFT_TRANSPORT_TTRANSPORTEXCEPTION_H_ 1
+
+#include <string>
+#include <thrift/Thrift.h>
+
+namespace apache { namespace thrift { namespace transport {
+
+/**
+ * Class to encapsulate all the possible types of transport errors that may
+ * occur in various transport systems. This provides a sort of generic
+ * wrapper around the vague UNIX E_ error codes that lets a common code
+ * base of error handling to be used for various types of transports, i.e.
+ * pipes etc.
+ *
+ */
+class TTransportException : public apache::thrift::TException {
+ public:
+ /**
+ * Error codes for the various types of exceptions.
+ */
+ enum TTransportExceptionType
+ { UNKNOWN = 0
+ , NOT_OPEN = 1
+ , TIMED_OUT = 2
+ , END_OF_FILE = 3
+ , INTERRUPTED = 4
+ , BAD_ARGS = 5
+ , CORRUPTED_DATA = 6
+ , INTERNAL_ERROR = 7
+ };
+
+ TTransportException() :
+ apache::thrift::TException(),
+ type_(UNKNOWN) {}
+
+ TTransportException(TTransportExceptionType type) :
+ apache::thrift::TException(),
+ type_(type) {}
+
+ TTransportException(const std::string& message) :
+ apache::thrift::TException(message),
+ type_(UNKNOWN) {}
+
+ TTransportException(TTransportExceptionType type, const std::string& message) :
+ apache::thrift::TException(message),
+ type_(type) {}
+
+ TTransportException(TTransportExceptionType type,
+ const std::string& message,
+ int errno_copy) :
+ apache::thrift::TException(message + ": " + TOutput::strerror_s(errno_copy)),
+ type_(type) {}
+
+ virtual ~TTransportException() throw() {}
+
+ /**
+ * Returns an error code that provides information about the type of error
+ * that has occurred.
+ *
+ * @return Error code
+ */
+ TTransportExceptionType getType() const throw() {
+ return type_;
+ }
+
+ virtual const char* what() const throw() {
+ if (message_.empty()) {
+ switch (type_) {
+ case UNKNOWN : return "TTransportException: Unknown transport exception";
+ case NOT_OPEN : return "TTransportException: Transport not open";
+ case TIMED_OUT : return "TTransportException: Timed out";
+ case END_OF_FILE : return "TTransportException: End of file";
+ case INTERRUPTED : return "TTransportException: Interrupted";
+ case BAD_ARGS : return "TTransportException: Invalid arguments";
+ case CORRUPTED_DATA : return "TTransportException: Corrupted Data";
+ case INTERNAL_ERROR : return "TTransportException: Internal error";
+ default : return "TTransportException: (Invalid exception type)";
+ }
+ } else {
+ return message_.c_str();
+ }
+ }
+
+ protected:
+ /** Just like strerror_r but returns a C++ string object. */
+ std::string strerror_s(int errno_copy);
+
+ /** Error code */
+ TTransportExceptionType type_;
+
+};
+
+}}} // apache::thrift::transport
+
+#endif // #ifndef _THRIFT_TRANSPORT_TTRANSPORTEXCEPTION_H_
http://git-wip-us.apache.org/repos/asf/airavata/blob/f891b7dc/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/transport/TTransportUtils.cpp
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/transport/TTransportUtils.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/transport/TTransportUtils.cpp
new file mode 100644
index 0000000..44f6101
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/transport/TTransportUtils.cpp
@@ -0,0 +1,178 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you 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 <thrift/transport/TTransportUtils.h>
+
+using std::string;
+
+namespace apache { namespace thrift { namespace transport {
+
+uint32_t TPipedTransport::read(uint8_t* buf, uint32_t len) {
+ uint32_t need = len;
+
+ // We don't have enough data yet
+ if (rLen_-rPos_ < need) {
+ // Copy out whatever we have
+ if (rLen_-rPos_ > 0) {
+ memcpy(buf, rBuf_+rPos_, rLen_-rPos_);
+ need -= rLen_-rPos_;
+ buf += rLen_-rPos_;
+ rPos_ = rLen_;
+ }
+
+ // Double the size of the underlying buffer if it is full
+ if (rLen_ == rBufSize_) {
+ rBufSize_ *=2;
+ rBuf_ = (uint8_t *)std::realloc(rBuf_, sizeof(uint8_t) * rBufSize_);
+ }
+
+ // try to fill up the buffer
+ rLen_ += srcTrans_->read(rBuf_+rPos_, rBufSize_ - rPos_);
+ }
+
+
+ // Hand over whatever we have
+ uint32_t give = need;
+ if (rLen_-rPos_ < give) {
+ give = rLen_-rPos_;
+ }
+ if (give > 0) {
+ memcpy(buf, rBuf_+rPos_, give);
+ rPos_ += give;
+ need -= give;
+ }
+
+ return (len - need);
+}
+
+void TPipedTransport::write(const uint8_t* buf, uint32_t len) {
+ if (len == 0) {
+ return;
+ }
+
+ // Make the buffer as big as it needs to be
+ if ((len + wLen_) >= wBufSize_) {
+ uint32_t newBufSize = wBufSize_*2;
+ while ((len + wLen_) >= newBufSize) {
+ newBufSize *= 2;
+ }
+ wBuf_ = (uint8_t *)std::realloc(wBuf_, sizeof(uint8_t) * newBufSize);
+ wBufSize_ = newBufSize;
+ }
+
+ // Copy into the buffer
+ memcpy(wBuf_ + wLen_, buf, len);
+ wLen_ += len;
+}
+
+void TPipedTransport::flush() {
+ // Write out any data waiting in the write buffer
+ if (wLen_ > 0) {
+ srcTrans_->write(wBuf_, wLen_);
+ wLen_ = 0;
+ }
+
+ // Flush the underlying transport
+ srcTrans_->flush();
+}
+
+TPipedFileReaderTransport::TPipedFileReaderTransport(boost::shared_ptr<TFileReaderTransport> srcTrans, boost::shared_ptr<TTransport> dstTrans)
+ : TPipedTransport(srcTrans, dstTrans),
+ srcTrans_(srcTrans) {
+}
+
+TPipedFileReaderTransport::~TPipedFileReaderTransport() {
+}
+
+bool TPipedFileReaderTransport::isOpen() {
+ return TPipedTransport::isOpen();
+}
+
+bool TPipedFileReaderTransport::peek() {
+ return TPipedTransport::peek();
+}
+
+void TPipedFileReaderTransport::open() {
+ TPipedTransport::open();
+}
+
+void TPipedFileReaderTransport::close() {
+ TPipedTransport::close();
+}
+
+uint32_t TPipedFileReaderTransport::read(uint8_t* buf, uint32_t len) {
+ return TPipedTransport::read(buf, len);
+}
+
+uint32_t TPipedFileReaderTransport::readAll(uint8_t* buf, uint32_t len) {
+ uint32_t have = 0;
+ uint32_t get = 0;
+
+ while (have < len) {
+ get = read(buf+have, len-have);
+ if (get <= 0) {
+ throw TEOFException();
+ }
+ have += get;
+ }
+
+ return have;
+}
+
+uint32_t TPipedFileReaderTransport::readEnd() {
+ return TPipedTransport::readEnd();
+}
+
+void TPipedFileReaderTransport::write(const uint8_t* buf, uint32_t len) {
+ TPipedTransport::write(buf, len);
+}
+
+uint32_t TPipedFileReaderTransport::writeEnd() {
+ return TPipedTransport::writeEnd();
+}
+
+void TPipedFileReaderTransport::flush() {
+ TPipedTransport::flush();
+}
+
+int32_t TPipedFileReaderTransport::getReadTimeout() {
+ return srcTrans_->getReadTimeout();
+}
+
+void TPipedFileReaderTransport::setReadTimeout(int32_t readTimeout) {
+ srcTrans_->setReadTimeout(readTimeout);
+}
+
+uint32_t TPipedFileReaderTransport::getNumChunks() {
+ return srcTrans_->getNumChunks();
+}
+
+uint32_t TPipedFileReaderTransport::getCurChunk() {
+ return srcTrans_->getCurChunk();
+}
+
+void TPipedFileReaderTransport::seekToChunk(int32_t chunk) {
+ srcTrans_->seekToChunk(chunk);
+}
+
+void TPipedFileReaderTransport::seekToEnd() {
+ srcTrans_->seekToEnd();
+}
+
+}}} // apache::thrift::transport
http://git-wip-us.apache.org/repos/asf/airavata/blob/f891b7dc/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/transport/TTransportUtils.h
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/transport/TTransportUtils.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/transport/TTransportUtils.h
new file mode 100644
index 0000000..aa294b4
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/transport/TTransportUtils.h
@@ -0,0 +1,330 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you 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 _THRIFT_TRANSPORT_TTRANSPORTUTILS_H_
+#define _THRIFT_TRANSPORT_TTRANSPORTUTILS_H_ 1
+
+#include <cstdlib>
+#include <cstring>
+#include <string>
+#include <algorithm>
+#include <thrift/transport/TTransport.h>
+// Include the buffered transports that used to be defined here.
+#include <thrift/transport/TBufferTransports.h>
+#include <thrift/transport/TFileTransport.h>
+
+namespace apache { namespace thrift { namespace transport {
+
+/**
+ * The null transport is a dummy transport that doesn't actually do anything.
+ * It's sort of an analogy to /dev/null, you can never read anything from it
+ * and it will let you write anything you want to it, though it won't actually
+ * go anywhere.
+ *
+ */
+class TNullTransport : public TVirtualTransport<TNullTransport> {
+ public:
+ TNullTransport() {}
+
+ ~TNullTransport() {}
+
+ bool isOpen() {
+ return true;
+ }
+
+ void open() {}
+
+ void write(const uint8_t* /* buf */, uint32_t /* len */) {
+ return;
+ }
+
+};
+
+
+/**
+ * TPipedTransport. This transport allows piping of a request from one
+ * transport to another either when readEnd() or writeEnd(). The typical
+ * use case for this is to log a request or a reply to disk.
+ * The underlying buffer expands to a keep a copy of the entire
+ * request/response.
+ *
+ */
+class TPipedTransport : virtual public TTransport {
+ public:
+ TPipedTransport(boost::shared_ptr<TTransport> srcTrans,
+ boost::shared_ptr<TTransport> dstTrans) :
+ srcTrans_(srcTrans),
+ dstTrans_(dstTrans),
+ rBufSize_(512), rPos_(0), rLen_(0),
+ wBufSize_(512), wLen_(0) {
+
+ // default is to to pipe the request when readEnd() is called
+ pipeOnRead_ = true;
+ pipeOnWrite_ = false;
+
+ rBuf_ = (uint8_t*) std::malloc(sizeof(uint8_t) * rBufSize_);
+ if (rBuf_ == NULL) {
+ throw std::bad_alloc();
+ }
+ wBuf_ = (uint8_t*) std::malloc(sizeof(uint8_t) * wBufSize_);
+ if (wBuf_ == NULL) {
+ throw std::bad_alloc();
+ }
+ }
+
+ TPipedTransport(boost::shared_ptr<TTransport> srcTrans,
+ boost::shared_ptr<TTransport> dstTrans,
+ uint32_t sz) :
+ srcTrans_(srcTrans),
+ dstTrans_(dstTrans),
+ rBufSize_(512), rPos_(0), rLen_(0),
+ wBufSize_(sz), wLen_(0) {
+
+ rBuf_ = (uint8_t*) std::malloc(sizeof(uint8_t) * rBufSize_);
+ if (rBuf_ == NULL) {
+ throw std::bad_alloc();
+ }
+ wBuf_ = (uint8_t*) std::malloc(sizeof(uint8_t) * wBufSize_);
+ if (wBuf_ == NULL) {
+ throw std::bad_alloc();
+ }
+ }
+
+ ~TPipedTransport() {
+ std::free(rBuf_);
+ std::free(wBuf_);
+ }
+
+ bool isOpen() {
+ return srcTrans_->isOpen();
+ }
+
+ bool peek() {
+ if (rPos_ >= rLen_) {
+ // Double the size of the underlying buffer if it is full
+ if (rLen_ == rBufSize_) {
+ rBufSize_ *=2;
+ rBuf_ = (uint8_t *)std::realloc(rBuf_, sizeof(uint8_t) * rBufSize_);
+ }
+
+ // try to fill up the buffer
+ rLen_ += srcTrans_->read(rBuf_+rPos_, rBufSize_ - rPos_);
+ }
+ return (rLen_ > rPos_);
+ }
+
+
+ void open() {
+ srcTrans_->open();
+ }
+
+ void close() {
+ srcTrans_->close();
+ }
+
+ void setPipeOnRead(bool pipeVal) {
+ pipeOnRead_ = pipeVal;
+ }
+
+ void setPipeOnWrite(bool pipeVal) {
+ pipeOnWrite_ = pipeVal;
+ }
+
+ uint32_t read(uint8_t* buf, uint32_t len);
+
+ uint32_t readEnd() {
+
+ if (pipeOnRead_) {
+ dstTrans_->write(rBuf_, rPos_);
+ dstTrans_->flush();
+ }
+
+ srcTrans_->readEnd();
+
+ // If requests are being pipelined, copy down our read-ahead data,
+ // then reset our state.
+ int read_ahead = rLen_ - rPos_;
+ uint32_t bytes = rPos_;
+ memcpy(rBuf_, rBuf_ + rPos_, read_ahead);
+ rPos_ = 0;
+ rLen_ = read_ahead;
+
+ return bytes;
+ }
+
+ void write(const uint8_t* buf, uint32_t len);
+
+ uint32_t writeEnd() {
+ if (pipeOnWrite_) {
+ dstTrans_->write(wBuf_, wLen_);
+ dstTrans_->flush();
+ }
+ return wLen_;
+ }
+
+ void flush();
+
+ boost::shared_ptr<TTransport> getTargetTransport() {
+ return dstTrans_;
+ }
+
+ /*
+ * Override TTransport *_virt() functions to invoke our implementations.
+ * We cannot use TVirtualTransport to provide these, since we need to inherit
+ * virtually from TTransport.
+ */
+ virtual uint32_t read_virt(uint8_t* buf, uint32_t len) {
+ return this->read(buf, len);
+ }
+ virtual void write_virt(const uint8_t* buf, uint32_t len) {
+ this->write(buf, len);
+ }
+
+ protected:
+ boost::shared_ptr<TTransport> srcTrans_;
+ boost::shared_ptr<TTransport> dstTrans_;
+
+ uint8_t* rBuf_;
+ uint32_t rBufSize_;
+ uint32_t rPos_;
+ uint32_t rLen_;
+
+ uint8_t* wBuf_;
+ uint32_t wBufSize_;
+ uint32_t wLen_;
+
+ bool pipeOnRead_;
+ bool pipeOnWrite_;
+};
+
+
+/**
+ * Wraps a transport into a pipedTransport instance.
+ *
+ */
+class TPipedTransportFactory : public TTransportFactory {
+ public:
+ TPipedTransportFactory() {}
+ TPipedTransportFactory(boost::shared_ptr<TTransport> dstTrans) {
+ initializeTargetTransport(dstTrans);
+ }
+ virtual ~TPipedTransportFactory() {}
+
+ /**
+ * Wraps the base transport into a piped transport.
+ */
+ virtual boost::shared_ptr<TTransport> getTransport(boost::shared_ptr<TTransport> srcTrans) {
+ return boost::shared_ptr<TTransport>(new TPipedTransport(srcTrans, dstTrans_));
+ }
+
+ virtual void initializeTargetTransport(boost::shared_ptr<TTransport> dstTrans) {
+ if (dstTrans_.get() == NULL) {
+ dstTrans_ = dstTrans;
+ } else {
+ throw TException("Target transport already initialized");
+ }
+ }
+
+ protected:
+ boost::shared_ptr<TTransport> dstTrans_;
+};
+
+/**
+ * TPipedFileTransport. This is just like a TTransport, except that
+ * it is a templatized class, so that clients who rely on a specific
+ * TTransport can still access the original transport.
+ *
+ */
+class TPipedFileReaderTransport : public TPipedTransport,
+ public TFileReaderTransport {
+ public:
+ TPipedFileReaderTransport(boost::shared_ptr<TFileReaderTransport> srcTrans, boost::shared_ptr<TTransport> dstTrans);
+
+ ~TPipedFileReaderTransport();
+
+ // TTransport functions
+ bool isOpen();
+ bool peek();
+ void open();
+ void close();
+ uint32_t read(uint8_t* buf, uint32_t len);
+ uint32_t readAll(uint8_t* buf, uint32_t len);
+ uint32_t readEnd();
+ void write(const uint8_t* buf, uint32_t len);
+ uint32_t writeEnd();
+ void flush();
+
+ // TFileReaderTransport functions
+ int32_t getReadTimeout();
+ void setReadTimeout(int32_t readTimeout);
+ uint32_t getNumChunks();
+ uint32_t getCurChunk();
+ void seekToChunk(int32_t chunk);
+ void seekToEnd();
+
+ /*
+ * Override TTransport *_virt() functions to invoke our implementations.
+ * We cannot use TVirtualTransport to provide these, since we need to inherit
+ * virtually from TTransport.
+ */
+ virtual uint32_t read_virt(uint8_t* buf, uint32_t len) {
+ return this->read(buf, len);
+ }
+ virtual uint32_t readAll_virt(uint8_t* buf, uint32_t len) {
+ return this->readAll(buf, len);
+ }
+ virtual void write_virt(const uint8_t* buf, uint32_t len) {
+ this->write(buf, len);
+ }
+
+ protected:
+ // shouldn't be used
+ TPipedFileReaderTransport();
+ boost::shared_ptr<TFileReaderTransport> srcTrans_;
+};
+
+/**
+ * Creates a TPipedFileReaderTransport from a filepath and a destination transport
+ *
+ */
+class TPipedFileReaderTransportFactory : public TPipedTransportFactory {
+ public:
+ TPipedFileReaderTransportFactory() {}
+ TPipedFileReaderTransportFactory(boost::shared_ptr<TTransport> dstTrans)
+ : TPipedTransportFactory(dstTrans)
+ {}
+ virtual ~TPipedFileReaderTransportFactory() {}
+
+ boost::shared_ptr<TTransport> getTransport(boost::shared_ptr<TTransport> srcTrans) {
+ boost::shared_ptr<TFileReaderTransport> pFileReaderTransport = boost::dynamic_pointer_cast<TFileReaderTransport>(srcTrans);
+ if (pFileReaderTransport.get() != NULL) {
+ return getFileReaderTransport(pFileReaderTransport);
+ } else {
+ return boost::shared_ptr<TTransport>();
+ }
+ }
+
+ boost::shared_ptr<TFileReaderTransport> getFileReaderTransport(boost::shared_ptr<TFileReaderTransport> srcTrans) {
+ return boost::shared_ptr<TFileReaderTransport>(new TPipedFileReaderTransport(srcTrans, dstTrans_));
+ }
+};
+
+}}} // apache::thrift::transport
+
+#endif // #ifndef _THRIFT_TRANSPORT_TTRANSPORTUTILS_H_
http://git-wip-us.apache.org/repos/asf/airavata/blob/f891b7dc/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/transport/TVirtualTransport.h
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/transport/TVirtualTransport.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/transport/TVirtualTransport.h
new file mode 100644
index 0000000..575f547
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/transport/TVirtualTransport.h
@@ -0,0 +1,146 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you 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 _THRIFT_TRANSPORT_TVIRTUALTRANSPORT_H_
+#define _THRIFT_TRANSPORT_TVIRTUALTRANSPORT_H_ 1
+
+#include <thrift/transport/TTransport.h>
+
+namespace apache { namespace thrift { namespace transport {
+
+
+/**
+ * Helper class that provides default implementations of TTransport methods.
+ *
+ * This class provides default implementations of read(), readAll(), write(),
+ * borrow() and consume().
+ *
+ * In the TTransport base class, each of these methods simply invokes its
+ * virtual counterpart. This class overrides them to always perform the
+ * default behavior, without a virtual function call.
+ *
+ * The primary purpose of this class is to serve as a base class for
+ * TVirtualTransport, and prevent infinite recursion if one of its subclasses
+ * does not override the TTransport implementation of these methods. (Since
+ * TVirtualTransport::read_virt() calls read(), and TTransport::read() calls
+ * read_virt().)
+ */
+class TTransportDefaults : public TTransport {
+ public:
+ /*
+ * TTransport *_virt() methods provide reasonable default implementations.
+ * Invoke them non-virtually.
+ */
+ uint32_t read(uint8_t* buf, uint32_t len) {
+ return this->TTransport::read_virt(buf, len);
+ }
+ uint32_t readAll(uint8_t* buf, uint32_t len) {
+ return this->TTransport::readAll_virt(buf, len);
+ }
+ void write(const uint8_t* buf, uint32_t len) {
+ this->TTransport::write_virt(buf, len);
+ }
+ const uint8_t* borrow(uint8_t* buf, uint32_t* len) {
+ return this->TTransport::borrow_virt(buf, len);
+ }
+ void consume(uint32_t len) {
+ this->TTransport::consume_virt(len);
+ }
+
+ protected:
+ TTransportDefaults() {}
+};
+
+/**
+ * Helper class to provide polymorphism for subclasses of TTransport.
+ *
+ * This class implements *_virt() methods of TTransport, to call the
+ * non-virtual versions of these functions in the proper subclass.
+ *
+ * To define your own transport class using TVirtualTransport:
+ * 1) Derive your subclass from TVirtualTransport<your class>
+ * e.g: class MyTransport : public TVirtualTransport<MyTransport> {
+ * 2) Provide your own implementations of read(), readAll(), etc.
+ * These methods should be non-virtual.
+ *
+ * Transport implementations that need to use virtual inheritance when
+ * inheriting from TTransport cannot use TVirtualTransport.
+ *
+ * @author Chad Walters <ch...@powerset.com>
+ */
+template <class Transport_, class Super_=TTransportDefaults>
+class TVirtualTransport : public Super_ {
+ public:
+ /*
+ * Implementations of the *_virt() functions, to call the subclass's
+ * non-virtual implementation function.
+ */
+ virtual uint32_t read_virt(uint8_t* buf, uint32_t len) {
+ return static_cast<Transport_*>(this)->read(buf, len);
+ }
+
+ virtual uint32_t readAll_virt(uint8_t* buf, uint32_t len) {
+ return static_cast<Transport_*>(this)->readAll(buf, len);
+ }
+
+ virtual void write_virt(const uint8_t* buf, uint32_t len) {
+ static_cast<Transport_*>(this)->write(buf, len);
+ }
+
+ virtual const uint8_t* borrow_virt(uint8_t* buf, uint32_t* len) {
+ return static_cast<Transport_*>(this)->borrow(buf, len);
+ }
+
+ virtual void consume_virt(uint32_t len) {
+ static_cast<Transport_*>(this)->consume(len);
+ }
+
+ /*
+ * Provide a default readAll() implementation that invokes
+ * read() non-virtually.
+ *
+ * Note: subclasses that use TVirtualTransport to derive from another
+ * transport implementation (i.e., not TTransportDefaults) should beware that
+ * this may override any non-default readAll() implementation provided by
+ * the parent transport class. They may need to redefine readAll() to call
+ * the correct parent implementation, if desired.
+ */
+ uint32_t readAll(uint8_t* buf, uint32_t len) {
+ Transport_* trans = static_cast<Transport_*>(this);
+ return ::apache::thrift::transport::readAll(*trans, buf, len);
+ }
+
+ protected:
+ TVirtualTransport() {}
+
+ /*
+ * Templatized constructors, to allow arguments to be passed to the Super_
+ * constructor. Currently we only support 0, 1, or 2 arguments, but
+ * additional versions can be added as needed.
+ */
+ template <typename Arg_>
+ TVirtualTransport(Arg_ const& arg) : Super_(arg) { }
+
+ template <typename Arg1_, typename Arg2_>
+ TVirtualTransport(Arg1_ const& a1, Arg2_ const& a2) : Super_(a1, a2) { }
+};
+
+}}} // apache::thrift::transport
+
+#endif // #ifndef _THRIFT_TRANSPORT_TVIRTUALTRANSPORT_H_
http://git-wip-us.apache.org/repos/asf/airavata/blob/f891b7dc/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/transport/TZlibTransport.cpp
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/transport/TZlibTransport.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/transport/TZlibTransport.cpp
new file mode 100644
index 0000000..d77eedd
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/transport/TZlibTransport.cpp
@@ -0,0 +1,399 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you 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 <cassert>
+#include <cstring>
+#include <algorithm>
+#include <thrift/transport/TZlibTransport.h>
+
+using std::string;
+
+namespace apache { namespace thrift { namespace transport {
+
+// Don't call this outside of the constructor.
+void TZlibTransport::initZlib() {
+ int rv;
+ bool r_init = false;
+ try {
+ rstream_ = new z_stream;
+ wstream_ = new z_stream;
+
+ rstream_->zalloc = Z_NULL;
+ wstream_->zalloc = Z_NULL;
+ rstream_->zfree = Z_NULL;
+ wstream_->zfree = Z_NULL;
+ rstream_->opaque = Z_NULL;
+ wstream_->opaque = Z_NULL;
+
+ rstream_->next_in = crbuf_;
+ wstream_->next_in = uwbuf_;
+ rstream_->next_out = urbuf_;
+ wstream_->next_out = cwbuf_;
+ rstream_->avail_in = 0;
+ wstream_->avail_in = 0;
+ rstream_->avail_out = urbuf_size_;
+ wstream_->avail_out = cwbuf_size_;
+
+ rv = inflateInit(rstream_);
+ checkZlibRv(rv, rstream_->msg);
+
+ // Have to set this flag so we know whether to de-initialize.
+ r_init = true;
+
+ rv = deflateInit(wstream_, comp_level_);
+ checkZlibRv(rv, wstream_->msg);
+ }
+
+ catch (...) {
+ if (r_init) {
+ rv = inflateEnd(rstream_);
+ checkZlibRvNothrow(rv, rstream_->msg);
+ }
+ // There is no way we can get here if wstream_ was initialized.
+
+ throw;
+ }
+}
+
+inline void TZlibTransport::checkZlibRv(int status, const char* message) {
+ if (status != Z_OK) {
+ throw TZlibTransportException(status, message);
+ }
+}
+
+inline void TZlibTransport::checkZlibRvNothrow(int status, const char* message) {
+ if (status != Z_OK) {
+ string output = "TZlibTransport: zlib failure in destructor: " +
+ TZlibTransportException::errorMessage(status, message);
+ GlobalOutput(output.c_str());
+ }
+}
+
+TZlibTransport::~TZlibTransport() {
+ int rv;
+ rv = inflateEnd(rstream_);
+ checkZlibRvNothrow(rv, rstream_->msg);
+
+ rv = deflateEnd(wstream_);
+ // Z_DATA_ERROR may be returned if the caller has written data, but not
+ // called flush() to actually finish writing the data out to the underlying
+ // transport. The defined TTransport behavior in this case is that this data
+ // may be discarded, so we ignore the error and silently discard the data.
+ // For other erros, log a message.
+ if (rv != Z_DATA_ERROR) {
+ checkZlibRvNothrow(rv, wstream_->msg);
+ }
+
+ delete[] urbuf_;
+ delete[] crbuf_;
+ delete[] uwbuf_;
+ delete[] cwbuf_;
+ delete rstream_;
+ delete wstream_;
+}
+
+bool TZlibTransport::isOpen() {
+ return (readAvail() > 0) || (rstream_->avail_in > 0) || transport_->isOpen();
+}
+
+bool TZlibTransport::peek() {
+ return (readAvail() > 0) || (rstream_->avail_in > 0) || transport_->peek();
+}
+
+
+
+// READING STRATEGY
+//
+// We have two buffers for reading: one containing the compressed data (crbuf_)
+// and one containing the uncompressed data (urbuf_). When read is called,
+// we repeat the following steps until we have satisfied the request:
+// - Copy data from urbuf_ into the caller's buffer.
+// - If we had enough, return.
+// - If urbuf_ is empty, read some data into it from the underlying transport.
+// - Inflate data from crbuf_ into urbuf_.
+//
+// In standalone objects, we set input_ended_ to true when inflate returns
+// Z_STREAM_END. This allows to make sure that a checksum was verified.
+
+inline int TZlibTransport::readAvail() {
+ return urbuf_size_ - rstream_->avail_out - urpos_;
+}
+
+uint32_t TZlibTransport::read(uint8_t* buf, uint32_t len) {
+ uint32_t need = len;
+
+ // TODO(dreiss): Skip urbuf on big reads.
+
+ while (true) {
+ // Copy out whatever we have available, then give them the min of
+ // what we have and what they want, then advance indices.
+ int give = std::min((uint32_t) readAvail(), need);
+ memcpy(buf, urbuf_ + urpos_, give);
+ need -= give;
+ buf += give;
+ urpos_ += give;
+
+ // If they were satisfied, we are done.
+ if (need == 0) {
+ return len;
+ }
+
+ // If we will need to read from the underlying transport to get more data,
+ // but we already have some data available, return it now. Reading from
+ // the underlying transport may block, and read() is only allowed to block
+ // when no data is available.
+ if (need < len && rstream_->avail_in == 0) {
+ return len - need;
+ }
+
+ // If we get to this point, we need to get some more data.
+
+ // If zlib has reported the end of a stream, we can't really do any more.
+ if (input_ended_) {
+ return len - need;
+ }
+
+ // The uncompressed read buffer is empty, so reset the stream fields.
+ rstream_->next_out = urbuf_;
+ rstream_->avail_out = urbuf_size_;
+ urpos_ = 0;
+
+ // Call inflate() to uncompress some more data
+ if (!readFromZlib()) {
+ // no data available from underlying transport
+ return len - need;
+ }
+
+ // Okay. The read buffer should have whatever we can give it now.
+ // Loop back to the start and try to give some more.
+ }
+}
+
+bool TZlibTransport::readFromZlib() {
+ assert(!input_ended_);
+
+ // If we don't have any more compressed data available,
+ // read some from the underlying transport.
+ if (rstream_->avail_in == 0) {
+ uint32_t got = transport_->read(crbuf_, crbuf_size_);
+ if (got == 0) {
+ return false;
+ }
+ rstream_->next_in = crbuf_;
+ rstream_->avail_in = got;
+ }
+
+ // We have some compressed data now. Uncompress it.
+ int zlib_rv = inflate(rstream_, Z_SYNC_FLUSH);
+
+ if (zlib_rv == Z_STREAM_END) {
+ input_ended_ = true;
+ } else {
+ checkZlibRv(zlib_rv, rstream_->msg);
+ }
+
+ return true;
+}
+
+
+// WRITING STRATEGY
+//
+// We buffer up small writes before sending them to zlib, so our logic is:
+// - Is the write big?
+// - Send the buffer to zlib.
+// - Send this data to zlib.
+// - Is the write small?
+// - Is there insufficient space in the buffer for it?
+// - Send the buffer to zlib.
+// - Copy the data to the buffer.
+//
+// We have two buffers for writing also: the uncompressed buffer (mentioned
+// above) and the compressed buffer. When sending data to zlib we loop over
+// the following until the source (uncompressed buffer or big write) is empty:
+// - Is there no more space in the compressed buffer?
+// - Write the compressed buffer to the underlying transport.
+// - Deflate from the source into the compressed buffer.
+
+void TZlibTransport::write(const uint8_t* buf, uint32_t len) {
+ if (output_finished_) {
+ throw TTransportException(TTransportException::BAD_ARGS,
+ "write() called after finish()");
+ }
+
+ // zlib's "deflate" function has enough logic in it that I think
+ // we're better off (performance-wise) buffering up small writes.
+ if (len > MIN_DIRECT_DEFLATE_SIZE) {
+ flushToZlib(uwbuf_, uwpos_, Z_NO_FLUSH);
+ uwpos_ = 0;
+ flushToZlib(buf, len, Z_NO_FLUSH);
+ } else if (len > 0) {
+ if (uwbuf_size_ - uwpos_ < len) {
+ flushToZlib(uwbuf_, uwpos_, Z_NO_FLUSH);
+ uwpos_ = 0;
+ }
+ memcpy(uwbuf_ + uwpos_, buf, len);
+ uwpos_ += len;
+ }
+}
+
+void TZlibTransport::flush() {
+ if (output_finished_) {
+ throw TTransportException(TTransportException::BAD_ARGS,
+ "flush() called after finish()");
+ }
+
+ flushToTransport(Z_FULL_FLUSH);
+}
+
+void TZlibTransport::finish() {
+ if (output_finished_) {
+ throw TTransportException(TTransportException::BAD_ARGS,
+ "finish() called more than once");
+ }
+
+ flushToTransport(Z_FINISH);
+}
+
+void TZlibTransport::flushToTransport(int flush) {
+ // write pending data in uwbuf_ to zlib
+ flushToZlib(uwbuf_, uwpos_, flush);
+ uwpos_ = 0;
+
+ // write all available data from zlib to the transport
+ transport_->write(cwbuf_, cwbuf_size_ - wstream_->avail_out);
+ wstream_->next_out = cwbuf_;
+ wstream_->avail_out = cwbuf_size_;
+
+ // flush the transport
+ transport_->flush();
+}
+
+void TZlibTransport::flushToZlib(const uint8_t* buf, int len, int flush) {
+ wstream_->next_in = const_cast<uint8_t*>(buf);
+ wstream_->avail_in = len;
+
+ while (true) {
+ if (flush == Z_NO_FLUSH && wstream_->avail_in == 0) {
+ break;
+ }
+
+ // If our ouput buffer is full, flush to the underlying transport.
+ if (wstream_->avail_out == 0) {
+ transport_->write(cwbuf_, cwbuf_size_);
+ wstream_->next_out = cwbuf_;
+ wstream_->avail_out = cwbuf_size_;
+ }
+
+ int zlib_rv = deflate(wstream_, flush);
+
+ if (flush == Z_FINISH && zlib_rv == Z_STREAM_END) {
+ assert(wstream_->avail_in == 0);
+ output_finished_ = true;
+ break;
+ }
+
+ checkZlibRv(zlib_rv, wstream_->msg);
+
+ if ((flush == Z_SYNC_FLUSH || flush == Z_FULL_FLUSH) &&
+ wstream_->avail_in == 0 && wstream_->avail_out != 0) {
+ break;
+ }
+ }
+}
+
+const uint8_t* TZlibTransport::borrow(uint8_t* buf, uint32_t* len) {
+ (void) buf;
+ // Don't try to be clever with shifting buffers.
+ // If we have enough data, give a pointer to it,
+ // otherwise let the protcol use its slow path.
+ if (readAvail() >= (int)*len) {
+ *len = (uint32_t)readAvail();
+ return urbuf_ + urpos_;
+ }
+ return NULL;
+}
+
+void TZlibTransport::consume(uint32_t len) {
+ if (readAvail() >= (int)len) {
+ urpos_ += len;
+ } else {
+ throw TTransportException(TTransportException::BAD_ARGS,
+ "consume did not follow a borrow.");
+ }
+}
+
+void TZlibTransport::verifyChecksum() {
+ // If zlib has already reported the end of the stream,
+ // it has verified the checksum.
+ if (input_ended_) {
+ return;
+ }
+
+ // This should only be called when reading is complete.
+ // If the caller still has unread data, throw an exception.
+ if (readAvail() > 0) {
+ throw TTransportException(
+ TTransportException::CORRUPTED_DATA,
+ "verifyChecksum() called before end of zlib stream");
+ }
+
+ // Reset the rstream fields, in case avail_out is 0.
+ // (Since readAvail() is 0, we know there is no unread data in urbuf_)
+ rstream_->next_out = urbuf_;
+ rstream_->avail_out = urbuf_size_;
+ urpos_ = 0;
+
+ // Call inflate()
+ // This will throw an exception if the checksum is bad.
+ bool performed_inflate = readFromZlib();
+ if (!performed_inflate) {
+ // We needed to read from the underlying transport, and the read() call
+ // returned 0.
+ //
+ // Not all TTransport implementations behave the same way here, so we'll
+ // end up with different behavior depending on the underlying transport.
+ //
+ // For some transports (e.g., TFDTransport), read() blocks if no more data
+ // is available. They only return 0 if EOF has been reached, or if the
+ // remote endpoint has closed the connection. For those transports,
+ // verifyChecksum() will block until the checksum becomes available.
+ //
+ // Other transport types (e.g., TMemoryBuffer) always return 0 immediately
+ // if no more data is available. For those transport types, verifyChecksum
+ // will raise the following exception if the checksum is not available from
+ // the underlying transport yet.
+ throw TTransportException(TTransportException::CORRUPTED_DATA,
+ "checksum not available yet in "
+ "verifyChecksum()");
+ }
+
+ // If input_ended_ is true now, the checksum has been verified
+ if (input_ended_) {
+ return;
+ }
+
+ // The caller invoked us before the actual end of the data stream
+ assert(rstream_->avail_out < urbuf_size_);
+ throw TTransportException(TTransportException::CORRUPTED_DATA,
+ "verifyChecksum() called before end of "
+ "zlib stream");
+}
+
+
+}}} // apache::thrift::transport
http://git-wip-us.apache.org/repos/asf/airavata/blob/f891b7dc/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/transport/TZlibTransport.h
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/transport/TZlibTransport.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/transport/TZlibTransport.h
new file mode 100644
index 0000000..dd9dd14
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/transport/TZlibTransport.h
@@ -0,0 +1,249 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you 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 _THRIFT_TRANSPORT_TZLIBTRANSPORT_H_
+#define _THRIFT_TRANSPORT_TZLIBTRANSPORT_H_ 1
+
+#include <boost/lexical_cast.hpp>
+#include <thrift/transport/TTransport.h>
+#include <thrift/transport/TVirtualTransport.h>
+#include <zlib.h>
+
+struct z_stream_s;
+
+namespace apache { namespace thrift { namespace transport {
+
+class TZlibTransportException : public TTransportException {
+ public:
+ TZlibTransportException(int status, const char* msg) :
+ TTransportException(TTransportException::INTERNAL_ERROR,
+ errorMessage(status, msg)),
+ zlib_status_(status),
+ zlib_msg_(msg == NULL ? "(null)" : msg) {}
+
+ virtual ~TZlibTransportException() throw() {}
+
+ int getZlibStatus() { return zlib_status_; }
+ std::string getZlibMessage() { return zlib_msg_; }
+
+ static std::string errorMessage(int status, const char* msg) {
+ std::string rv = "zlib error: ";
+ if (msg) {
+ rv += msg;
+ } else {
+ rv += "(no message)";
+ }
+ rv += " (status = ";
+ rv += boost::lexical_cast<std::string>(status);
+ rv += ")";
+ return rv;
+ }
+
+ int zlib_status_;
+ std::string zlib_msg_;
+};
+
+/**
+ * This transport uses zlib to compress on write and decompress on read
+ *
+ * TODO(dreiss): Don't do an extra copy of the compressed data if
+ * the underlying transport is TBuffered or TMemory.
+ *
+ */
+class TZlibTransport : public TVirtualTransport<TZlibTransport> {
+ public:
+
+ /**
+ * @param transport The transport to read compressed data from
+ * and write compressed data to.
+ * @param urbuf_size Uncompressed buffer size for reading.
+ * @param crbuf_size Compressed buffer size for reading.
+ * @param uwbuf_size Uncompressed buffer size for writing.
+ * @param cwbuf_size Compressed buffer size for writing.
+ * @param comp_level Compression level (0=none[fast], 6=default, 9=max[slow]).
+ */
+ TZlibTransport(boost::shared_ptr<TTransport> transport,
+ int urbuf_size = DEFAULT_URBUF_SIZE,
+ int crbuf_size = DEFAULT_CRBUF_SIZE,
+ int uwbuf_size = DEFAULT_UWBUF_SIZE,
+ int cwbuf_size = DEFAULT_CWBUF_SIZE,
+ int16_t comp_level = Z_DEFAULT_COMPRESSION) :
+ transport_(transport),
+ urpos_(0),
+ uwpos_(0),
+ input_ended_(false),
+ output_finished_(false),
+ urbuf_size_(urbuf_size),
+ crbuf_size_(crbuf_size),
+ uwbuf_size_(uwbuf_size),
+ cwbuf_size_(cwbuf_size),
+ urbuf_(NULL),
+ crbuf_(NULL),
+ uwbuf_(NULL),
+ cwbuf_(NULL),
+ rstream_(NULL),
+ wstream_(NULL),
+ comp_level_(comp_level)
+ {
+ if (uwbuf_size_ < MIN_DIRECT_DEFLATE_SIZE) {
+ // Have to copy this into a local because of a linking issue.
+ int minimum = MIN_DIRECT_DEFLATE_SIZE;
+ throw TTransportException(
+ TTransportException::BAD_ARGS,
+ "TZLibTransport: uncompressed write buffer must be at least"
+ + boost::lexical_cast<std::string>(minimum) + ".");
+ }
+
+ try {
+ urbuf_ = new uint8_t[urbuf_size];
+ crbuf_ = new uint8_t[crbuf_size];
+ uwbuf_ = new uint8_t[uwbuf_size];
+ cwbuf_ = new uint8_t[cwbuf_size];
+
+ // Don't call this outside of the constructor.
+ initZlib();
+
+ } catch (...) {
+ delete[] urbuf_;
+ delete[] crbuf_;
+ delete[] uwbuf_;
+ delete[] cwbuf_;
+ throw;
+ }
+ }
+
+ // Don't call this outside of the constructor.
+ void initZlib();
+
+ /**
+ * TZlibTransport destructor.
+ *
+ * Warning: Destroying a TZlibTransport object may discard any written but
+ * unflushed data. You must explicitly call flush() or finish() to ensure
+ * that data is actually written and flushed to the underlying transport.
+ */
+ ~TZlibTransport();
+
+ bool isOpen();
+ bool peek();
+
+ void open() {
+ transport_->open();
+ }
+
+ void close() {
+ transport_->close();
+ }
+
+ uint32_t read(uint8_t* buf, uint32_t len);
+
+ void write(const uint8_t* buf, uint32_t len);
+
+ void flush();
+
+ /**
+ * Finalize the zlib stream.
+ *
+ * This causes zlib to flush any pending write data and write end-of-stream
+ * information, including the checksum. Once finish() has been called, no
+ * new data can be written to the stream.
+ */
+ void finish();
+
+ const uint8_t* borrow(uint8_t* buf, uint32_t* len);
+
+ void consume(uint32_t len);
+
+ /**
+ * Verify the checksum at the end of the zlib stream.
+ *
+ * This may only be called after all data has been read.
+ * It verifies the checksum that was written by the finish() call.
+ */
+ void verifyChecksum();
+
+ /**
+ * TODO(someone_smart): Choose smart defaults.
+ */
+ static const int DEFAULT_URBUF_SIZE = 128;
+ static const int DEFAULT_CRBUF_SIZE = 1024;
+ static const int DEFAULT_UWBUF_SIZE = 128;
+ static const int DEFAULT_CWBUF_SIZE = 1024;
+
+ protected:
+
+ inline void checkZlibRv(int status, const char* msg);
+ inline void checkZlibRvNothrow(int status, const char* msg);
+ inline int readAvail();
+ void flushToTransport(int flush);
+ void flushToZlib(const uint8_t* buf, int len, int flush);
+ bool readFromZlib();
+
+ protected:
+ // Writes smaller than this are buffered up.
+ // Larger (or equal) writes are dumped straight to zlib.
+ static const uint32_t MIN_DIRECT_DEFLATE_SIZE = 32;
+
+ boost::shared_ptr<TTransport> transport_;
+
+ int urpos_;
+ int uwpos_;
+
+ /// True iff zlib has reached the end of the input stream.
+ bool input_ended_;
+ /// True iff we have finished the output stream.
+ bool output_finished_;
+
+ uint32_t urbuf_size_;
+ uint32_t crbuf_size_;
+ uint32_t uwbuf_size_;
+ uint32_t cwbuf_size_;
+
+ uint8_t* urbuf_;
+ uint8_t* crbuf_;
+ uint8_t* uwbuf_;
+ uint8_t* cwbuf_;
+
+ struct z_stream_s* rstream_;
+ struct z_stream_s* wstream_;
+
+ const int comp_level_;
+};
+
+
+/**
+ * Wraps a transport into a zlibbed one.
+ *
+ */
+class TZlibTransportFactory : public TTransportFactory {
+ public:
+ TZlibTransportFactory() {}
+
+ virtual ~TZlibTransportFactory() {}
+
+ virtual boost::shared_ptr<TTransport> getTransport(
+ boost::shared_ptr<TTransport> trans) {
+ return boost::shared_ptr<TTransport>(new TZlibTransport(trans));
+ }
+};
+
+
+}}} // apache::thrift::transport
+
+#endif // #ifndef _THRIFT_TRANSPORT_TZLIBTRANSPORT_H_
http://git-wip-us.apache.org/repos/asf/airavata/blob/f891b7dc/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/windows/GetTimeOfDay.cpp
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/windows/GetTimeOfDay.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/windows/GetTimeOfDay.cpp
new file mode 100644
index 0000000..1906302
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/windows/GetTimeOfDay.cpp
@@ -0,0 +1,112 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you 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 <thrift/windows/GetTimeOfDay.h>
+#include <thrift/thrift-config.h>
+
+// win32
+#include <time.h>
+
+#if defined(_MSC_VER) || defined(_MSC_EXTENSIONS)
+# define DELTA_EPOCH_IN_MICROSECS 11644473600000000Ui64
+#else
+# define DELTA_EPOCH_IN_MICROSECS 11644473600000000ULL
+#endif
+
+struct timezone
+{
+ int tz_minuteswest; /* minutes W of Greenwich */
+ int tz_dsttime; /* type of dst correction */
+};
+
+int thrift_gettimeofday(struct timeval * tv, struct timezone * tz)
+{
+ FILETIME ft;
+ unsigned __int64 tmpres(0);
+ static int tzflag;
+
+ if (NULL != tv)
+ {
+ GetSystemTimeAsFileTime(&ft);
+
+ tmpres |= ft.dwHighDateTime;
+ tmpres <<= 32;
+ tmpres |= ft.dwLowDateTime;
+
+ /*converting file time to unix epoch*/
+ tmpres -= DELTA_EPOCH_IN_MICROSECS;
+ tmpres /= 10; /*convert into microseconds*/
+ tv->tv_sec = (long)(tmpres / 1000000UL);
+ tv->tv_usec = (long)(tmpres % 1000000UL);
+ }
+
+ if (NULL != tz)
+ {
+ if (!tzflag)
+ {
+ _tzset();
+ tzflag++;
+ }
+
+ long time_zone(0);
+ errno_t err(_get_timezone(&time_zone));
+ if (err == NO_ERROR)
+ {
+ tz->tz_minuteswest = time_zone / 60;
+ }
+ else
+ {
+ return -1;
+ }
+
+ int day_light(0);
+ err = (_get_daylight(&day_light));
+ if (err == NO_ERROR)
+ {
+ tz->tz_dsttime = day_light;
+ return 0;
+ }
+ else
+ {
+ return -1;
+ }
+ }
+
+ return -1;
+}
+
+int thrift_sleep(unsigned int seconds)
+{
+ ::Sleep(seconds * 1000);
+ return 0;
+}
+int thrift_usleep(unsigned int microseconds)
+{
+ unsigned int milliseconds = (microseconds + 999)/ 1000;
+ ::Sleep(milliseconds);
+ return 0;
+}
+
+char *thrift_ctime_r(const time_t *_clock, char *_buf)
+{
+ strcpy(_buf, ctime(_clock));
+ return _buf;
+}
+
+
http://git-wip-us.apache.org/repos/asf/airavata/blob/f891b7dc/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/windows/GetTimeOfDay.h
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/windows/GetTimeOfDay.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/windows/GetTimeOfDay.h
new file mode 100644
index 0000000..27b8a84
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/windows/GetTimeOfDay.h
@@ -0,0 +1,43 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you 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 _THRIFT_WINDOWS_GETTIMEOFDAY_H_
+#define _THRIFT_WINDOWS_GETTIMEOFDAY_H_
+
+#if defined(_MSC_VER) && (_MSC_VER > 1200)
+#pragma once
+#endif // _MSC_VER
+
+#ifndef _WIN32
+#error This is a MSVC header only.
+#endif
+
+#include <thrift/thrift-config.h>
+
+struct thrift_timespec {
+ int64_t tv_sec;
+ int64_t tv_nsec;
+};
+
+int thrift_gettimeofday(struct timeval * tv, struct timezone * tz);
+int thrift_sleep(unsigned int seconds);
+int thrift_usleep(unsigned int micro_seconds);
+char *thrift_ctime_r(const time_t *_clock, char *_buf);
+
+#endif // _THRIFT_WINDOWS_GETTIMEOFDAY_H_
http://git-wip-us.apache.org/repos/asf/airavata/blob/f891b7dc/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/windows/Operators.h
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/windows/Operators.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/windows/Operators.h
new file mode 100644
index 0000000..95d8e3e
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/windows/Operators.h
@@ -0,0 +1,40 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you 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 _THRIFT_WINDOWS_OPERATORS_H_
+#define _THRIFT_WINDOWS_OPERATORS_H_
+
+#if defined(_MSC_VER) && (_MSC_VER > 1200)
+#pragma once
+#endif // _MSC_VER
+
+namespace apache { namespace thrift {
+
+class TEnumIterator;
+
+inline bool operator == (const TEnumIterator&, const TEnumIterator&)
+{
+ // Not entirely sure what the test should be here. It is only to enable
+ // iterator debugging and is not used in release mode.
+ return true;
+}
+
+}} // apache::thrift
+
+#endif // _THRIFT_WINDOWS_OPERATORS_H_
http://git-wip-us.apache.org/repos/asf/airavata/blob/f891b7dc/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/windows/SocketPair.cpp
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/windows/SocketPair.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/windows/SocketPair.cpp
new file mode 100644
index 0000000..4b65e6b
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/windows/SocketPair.cpp
@@ -0,0 +1,102 @@
+/* socketpair.c
+ * Copyright 2007 by Nathan C. Myers <nc...@cantrip.org>; some rights reserved.
+ * This code is Free Software. It may be copied freely, in original or
+ * modified form, subject only to the restrictions that (1) the author is
+ * relieved from all responsibilities for any use for any purpose, and (2)
+ * this copyright notice must be retained, unchanged, in its entirety. If
+ * for any reason the author might be held responsible for any consequences
+ * of copying or use, license is withheld.
+ */
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you 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 <thrift/windows/SocketPair.h>
+#include <thrift/Thrift.h>
+
+// stl
+#include <string.h>
+
+// Win32
+#include <WS2tcpip.h>
+
+int thrift_socketpair(int d, int type, int protocol, THRIFT_SOCKET sv[2])
+{
+ THRIFT_UNUSED_VARIABLE(protocol);
+ THRIFT_UNUSED_VARIABLE(type);
+ THRIFT_UNUSED_VARIABLE(d);
+
+ union {
+ struct sockaddr_in inaddr;
+ struct sockaddr addr;
+ } a;
+ THRIFT_SOCKET listener;
+ int e;
+ socklen_t addrlen = sizeof(a.inaddr);
+ DWORD flags = 0;
+ int reuse = 1;
+
+ if (sv == 0) {
+ WSASetLastError(WSAEINVAL);
+ return SOCKET_ERROR;
+ }
+
+ listener = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);
+ if (listener == INVALID_SOCKET)
+ return SOCKET_ERROR;
+
+ memset(&a, 0, sizeof(a));
+ a.inaddr.sin_family = AF_INET;
+ a.inaddr.sin_addr.s_addr = htonl(INADDR_LOOPBACK);
+ a.inaddr.sin_port = 0;
+
+ sv[0] = sv[1] = INVALID_SOCKET;
+ do {
+ //ignore errors coming out of this setsockopt. This is because
+ //SO_EXCLUSIVEADDRUSE requires admin privileges on WinXP, but we don't
+ //want to force socket pairs to be an admin.
+ setsockopt(listener, SOL_SOCKET, SO_EXCLUSIVEADDRUSE,
+ (char*) &reuse, (socklen_t) sizeof(reuse));
+ if (bind(listener, &a.addr, sizeof(a.inaddr)) == SOCKET_ERROR)
+ break;
+ if (getsockname(listener, &a.addr, &addrlen) == SOCKET_ERROR)
+ break;
+ if (listen(listener, 1) == SOCKET_ERROR)
+ break;
+ sv[0] = WSASocket(AF_INET, SOCK_STREAM, 0, NULL, 0, flags);
+ if (sv[0] == INVALID_SOCKET)
+ break;
+ if (connect(sv[0], &a.addr, sizeof(a.inaddr)) == SOCKET_ERROR)
+ break;
+ sv[1] = accept(listener, NULL, NULL);
+ if (sv[1] == INVALID_SOCKET)
+ break;
+
+ closesocket(listener);
+ return 0;
+
+ } while (0);
+
+ e = WSAGetLastError();
+ closesocket(listener);
+ closesocket(sv[0]);
+ closesocket(sv[1]);
+ WSASetLastError(e);
+ return SOCKET_ERROR;
+}
http://git-wip-us.apache.org/repos/asf/airavata/blob/f891b7dc/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/windows/SocketPair.h
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/windows/SocketPair.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/windows/SocketPair.h
new file mode 100644
index 0000000..86bf431
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/windows/SocketPair.h
@@ -0,0 +1,37 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you 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 _THRIFT_WINDOWS_SOCKETPAIR_H_
+#define _THRIFT_WINDOWS_SOCKETPAIR_H_ 1
+
+#if defined(_MSC_VER) && (_MSC_VER > 1200)
+#pragma once
+#endif // _MSC_VER
+
+#ifndef _WIN32
+#error This is a MSVC header only.
+#endif
+
+// Win32
+#include <Winsock2.h>
+#include <thrift/thrift-config.h>
+
+int thrift_socketpair(int d, int type, int protocol, THRIFT_SOCKET sv[2]);
+
+#endif // _THRIFT_WINDOWS_SOCKETPAIR_H_
http://git-wip-us.apache.org/repos/asf/airavata/blob/f891b7dc/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/windows/StdAfx.cpp
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/windows/StdAfx.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/windows/StdAfx.cpp
new file mode 100644
index 0000000..e69de29
http://git-wip-us.apache.org/repos/asf/airavata/blob/f891b7dc/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/windows/StdAfx.h
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/windows/StdAfx.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/windows/StdAfx.h
new file mode 100644
index 0000000..e69de29
http://git-wip-us.apache.org/repos/asf/airavata/blob/f891b7dc/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/windows/TWinsockSingleton.cpp
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/windows/TWinsockSingleton.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/windows/TWinsockSingleton.cpp
new file mode 100644
index 0000000..2e306c6
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/windows/TWinsockSingleton.cpp
@@ -0,0 +1,73 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you 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 <thrift/windows/TWinsockSingleton.h>
+
+// boost
+#include <boost/assert.hpp>
+#include <stdexcept>
+
+namespace apache { namespace thrift { namespace transport {
+
+TWinsockSingleton::instance_ptr TWinsockSingleton::instance_ptr_(NULL);
+#if USE_BOOST_THREAD
+boost::once_flag TWinsockSingleton::flags_ = BOOST_ONCE_INIT;
+#elif USE_STD_THREAD
+std::once_flag TWinsockSingleton::flags_;
+#else
+#error For windows you must choose USE_BOOST_THREAD or USE_STD_THREAD
+#endif
+
+//------------------------------------------------------------------------------
+TWinsockSingleton::TWinsockSingleton(void)
+{
+ WORD version(MAKEWORD(2, 2));
+ WSAData data = {0};
+
+ int error(WSAStartup(version, &data));
+ if (error != 0)
+ {
+ BOOST_ASSERT(false);
+ throw std::runtime_error("Failed to initialise Winsock.");
+ }
+}
+
+//------------------------------------------------------------------------------
+TWinsockSingleton::~TWinsockSingleton(void)
+{
+ WSACleanup();
+}
+
+//------------------------------------------------------------------------------
+void TWinsockSingleton::create(void)
+{
+#if USE_BOOST_THREAD
+ boost::call_once(init, flags_);
+#elif USE_STD_THREAD
+ std::call_once(flags_, init);
+#endif
+}
+
+//------------------------------------------------------------------------------
+void TWinsockSingleton::init(void)
+{
+ instance_ptr_.reset(new TWinsockSingleton);
+}
+
+}}} // apache::thrift::transport
http://git-wip-us.apache.org/repos/asf/airavata/blob/f891b7dc/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/windows/TWinsockSingleton.h
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/windows/TWinsockSingleton.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/windows/TWinsockSingleton.h
new file mode 100644
index 0000000..ab12c22
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/windows/TWinsockSingleton.h
@@ -0,0 +1,88 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you 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 _THRIFT_TRANSPORT_WINDOWS_TWINSOCKSINGLETON_H_
+#define _THRIFT_TRANSPORT_WINDOWS_TWINSOCKSINGLETON_H_ 1
+
+#if defined(_MSC_VER) && (_MSC_VER > 1200)
+#pragma once
+#endif // _MSC_VER
+
+#ifndef _WIN32
+#error This is a MSVC header only.
+#endif
+
+#include <thrift/thrift-config.h>
+
+// boost
+#include <boost/noncopyable.hpp>
+#include <boost/scoped_ptr.hpp>
+
+#if USE_BOOST_THREAD
+#include <boost/thread/once.hpp>
+#elif USE_STD_THREAD
+#include <mutex>
+#else
+#error For windows you must choose USE_BOOST_THREAD or USE_STD_THREAD
+#endif
+
+namespace apache { namespace thrift { namespace transport {
+
+/**
+ * Winsock2 must be intialised once only in order to create sockets. This class
+ * performs a one time initialisation when create is called.
+ */
+class TWinsockSingleton : private boost::noncopyable
+{
+
+public:
+
+ typedef boost::scoped_ptr<TWinsockSingleton> instance_ptr;
+
+private:
+
+ TWinsockSingleton(void);
+
+public:
+
+ ~TWinsockSingleton(void);
+
+public:
+
+ static void create(void);
+
+private:
+
+ static void init(void);
+
+private:
+
+ static instance_ptr instance_ptr_;
+#if USE_BOOST_THREAD
+ static boost::once_flag flags_;
+#elif USE_STD_THREAD
+ static std::once_flag flags_;
+#else
+#error Need a non-Boost non-C++11 way to track single initialization here.
+#endif
+};
+
+}}} // apache::thrift::transport
+
+#endif // _THRIFT_TRANSPORT_WINDOWS_TWINSOCKSINGLETON_H_
http://git-wip-us.apache.org/repos/asf/airavata/blob/f891b7dc/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/windows/TargetVersion.h
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/windows/TargetVersion.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/windows/TargetVersion.h
new file mode 100644
index 0000000..e69de29
http://git-wip-us.apache.org/repos/asf/airavata/blob/f891b7dc/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/windows/WinFcntl.cpp
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/windows/WinFcntl.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/windows/WinFcntl.cpp
new file mode 100644
index 0000000..2466400
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/windows/WinFcntl.cpp
@@ -0,0 +1,104 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you 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 <thrift/windows/WinFcntl.h>
+
+int thrift_fcntl(THRIFT_SOCKET fd, int cmd, int flags)
+{
+ if(cmd != THRIFT_F_GETFL && cmd != THRIFT_F_SETFL)
+ {
+ return -1;
+ }
+
+ if(flags != THRIFT_O_NONBLOCK && flags != 0)
+ {
+ return -1;
+ }
+
+ if(cmd == THRIFT_F_GETFL)
+ {
+ return 0;
+ }
+
+ int res;
+ if(flags)
+ {
+ res = ioctlsocket(fd, FIONBIO, reinterpret_cast<u_long *>(&(flags = 1)));
+ }
+ else
+ {
+ res = ioctlsocket(fd, FIONBIO, reinterpret_cast<u_long *>(&(flags = 0)));
+ }
+
+ return res;
+}
+
+#if WINVER <= 0x0502 //XP, Server2003
+int thrift_poll(THRIFT_POLLFD *fdArray, ULONG nfds, INT timeout)
+{
+ fd_set read_fds, write_fds;
+ fd_set* read_fds_ptr = NULL;
+ fd_set* write_fds_ptr = NULL;
+
+ FD_ZERO(&read_fds);
+ FD_ZERO(&write_fds);
+
+ for(ULONG i=0; i<nfds; i++) {
+ //Read (in) socket
+ if((fdArray[i].events & THRIFT_POLLIN) == THRIFT_POLLIN) {
+ read_fds_ptr = &read_fds;
+ FD_SET(fdArray[i].fd, &read_fds);
+ }
+ //Write (out) socket
+ else if((fdArray[i].events & THRIFT_POLLOUT) == THRIFT_POLLOUT) {
+ write_fds_ptr = &write_fds;
+ FD_SET(fdArray[i].fd, &write_fds);
+ }
+ }
+
+ timeval time_out;
+ timeval* time_out_ptr = NULL;
+ if(timeout >= 0) {
+ timeval time_out = {timeout / 1000, timeout * 1000};
+ time_out_ptr = &time_out;
+ }
+ else { //to avoid compiler warnings
+ (void)time_out;
+ (void)timeout;
+ }
+
+ int sktready = select(1, read_fds_ptr, write_fds_ptr, NULL, time_out_ptr);
+ if(sktready > 0) {
+ for(ULONG i=0; i<nfds; i++) {
+ fdArray[i].revents = 0;
+ if(FD_ISSET(fdArray[i].fd, &read_fds))
+ fdArray[i].revents |= THRIFT_POLLIN;
+ if(FD_ISSET(fdArray[i].fd, &write_fds))
+ fdArray[i].revents |= THRIFT_POLLOUT;
+ }
+ }
+ return sktready;
+}
+#else //Vista, Win7...
+int thrift_poll(THRIFT_POLLFD *fdArray, ULONG nfds, INT timeout)
+{
+ return WSAPoll(fdArray, nfds, timeout);
+}
+#endif // WINVER
+
http://git-wip-us.apache.org/repos/asf/airavata/blob/f891b7dc/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/windows/WinFcntl.h
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/windows/WinFcntl.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/windows/WinFcntl.h
new file mode 100644
index 0000000..f30c0de
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/windows/WinFcntl.h
@@ -0,0 +1,48 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you 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 _THRIFT_WINDOWS_FCNTL_H_
+#define _THRIFT_WINDOWS_FCNTL_H_ 1
+
+#if defined(_MSC_VER) && (_MSC_VER > 1200)
+#pragma once
+#endif // _MSC_VER
+
+#ifndef _WIN32
+#error This is a MSVC header only.
+#endif
+
+// Win32
+#include <Winsock2.h>
+#include <thrift/transport/PlatformSocket.h>
+
+#if WINVER <= 0x0502 //XP, Server2003
+struct thrift_pollfd {
+ THRIFT_SOCKET fd;
+ SHORT events;
+ SHORT revents;
+};
+#endif
+
+extern "C" {
+int thrift_fcntl(THRIFT_SOCKET fd, int cmd, int flags);
+int thrift_poll(THRIFT_POLLFD *fdArray, ULONG nfds, INT timeout);
+}
+
+#endif // _THRIFT_WINDOWS_FCNTL_H_
http://git-wip-us.apache.org/repos/asf/airavata/blob/f891b7dc/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/windows/config.h
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/windows/config.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/windows/config.h
new file mode 100644
index 0000000..0555e07
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/windows/config.h
@@ -0,0 +1,90 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you 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 _THRIFT_WINDOWS_CONFIG_H_
+#define _THRIFT_WINDOWS_CONFIG_H_ 1
+
+#if defined(_MSC_VER) && (_MSC_VER > 1200)
+#pragma once
+#endif // _MSC_VER
+
+#ifndef _WIN32
+#error This is a MSVC header only.
+#endif
+
+// use std::thread in MSVC11 (2012) or newer
+#if _MSC_VER >= 1700
+# define USE_STD_THREAD 1
+// otherwise use boost threads
+#else
+# define USE_BOOST_THREAD 1
+#endif
+
+#ifndef TARGET_WIN_XP
+# define TARGET_WIN_XP 1
+#endif
+
+#if TARGET_WIN_XP
+# ifndef WINVER
+# define WINVER 0x0501
+# endif
+# ifndef _WIN32_WINNT
+# define _WIN32_WINNT 0x0501
+# endif
+#endif
+
+#ifndef _WIN32_WINNT
+# define _WIN32_WINNT 0x0601
+#endif
+
+#pragma warning(disable: 4996) // Deprecated posix name.
+
+#define VERSION "1.0.0-dev"
+#define HAVE_GETTIMEOFDAY 1
+#define HAVE_SYS_STAT_H 1
+
+#ifdef HAVE_STDINT_H
+# include <stdint.h>
+#else
+# include <boost/cstdint.hpp>
+
+typedef boost::int64_t int64_t;
+typedef boost::uint64_t uint64_t;
+typedef boost::int32_t int32_t;
+typedef boost::uint32_t uint32_t;
+typedef boost::int16_t int16_t;
+typedef boost::uint16_t uint16_t;
+typedef boost::int8_t int8_t;
+typedef boost::uint8_t uint8_t;
+#endif
+
+#include <thrift/transport/PlatformSocket.h>
+#include <thrift/windows/GetTimeOfDay.h>
+#include <thrift/windows/Operators.h>
+#include <thrift/windows/TWinsockSingleton.h>
+#include <thrift/windows/WinFcntl.h>
+#include <thrift/windows/SocketPair.h>
+
+// windows
+#include <Winsock2.h>
+#include <ws2tcpip.h>
+#pragma comment(lib, "Ws2_32.lib")
+#pragma comment(lib, "advapi32.lib") //For security APIs in TPipeServer
+
+#endif // _THRIFT_WINDOWS_CONFIG_H_
http://git-wip-us.apache.org/repos/asf/airavata/blob/f891b7dc/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/windows/force_inc.h
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/windows/force_inc.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/windows/force_inc.h
new file mode 100644
index 0000000..e69de29
http://git-wip-us.apache.org/repos/asf/airavata/blob/f891b7dc/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/windows/tr1/functional
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/windows/tr1/functional b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/windows/tr1/functional
new file mode 100644
index 0000000..e69de29
[45/47] git commit: renamed client samples to client_samples
Posted by sm...@apache.org.
renamed client samples to client_samples
Project: http://git-wip-us.apache.org/repos/asf/airavata/repo
Commit: http://git-wip-us.apache.org/repos/asf/airavata/commit/f0486a2d
Tree: http://git-wip-us.apache.org/repos/asf/airavata/tree/f0486a2d
Diff: http://git-wip-us.apache.org/repos/asf/airavata/diff/f0486a2d
Branch: refs/heads/master
Commit: f0486a2d237f6f29706da592049bb1e102dceba0
Parents: bceaed3
Author: ixxi-2013 <na...@gmail.com>
Authored: Sat Jul 12 04:48:19 2014 +0200
Committer: ixxi-2013 <na...@gmail.com>
Committed: Sat Jul 12 04:48:19 2014 +0200
----------------------------------------------------------------------
.../airavata-client-properties.ini~ | 4 -
.../main/resources/client_samples/compile.sh~ | 5 -
.../resources/client_samples/createExperiment | Bin 2015352 -> 0 bytes
.../client_samples/createExperiment.cpp~ | 157 -------------------
.../main/resources/client_samples/createProject | Bin 2003862 -> 0 bytes
.../resources/client_samples/createProject.cpp~ | 105 -------------
.../client_samples/getExperimentOutputs | Bin 2007965 -> 0 bytes
.../client_samples/getExperimentOutputs.cpp~ | 108 -------------
.../client_samples/getExperimentStatus | Bin 2003868 -> 0 bytes
.../client_samples/getExperimentStatus.cpp~ | 105 -------------
.../resources/client_samples/launchExperiment | Bin 2007961 -> 0 bytes
.../client_samples/launchExperiment.cpp~ | 104 ------------
12 files changed, 588 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/airavata/blob/f0486a2d/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client_samples/airavata-client-properties.ini~
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client_samples/airavata-client-properties.ini~ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client_samples/airavata-client-properties.ini~
deleted file mode 100644
index b2e2095..0000000
--- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client_samples/airavata-client-properties.ini~
+++ /dev/null
@@ -1,4 +0,0 @@
-[airavata]
-AIRAVATA_SERVER = "localhost"
-AIRAVATA_PORT = 8930
-AIRAVATA_TIMEOUT = 5000
http://git-wip-us.apache.org/repos/asf/airavata/blob/f0486a2d/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client_samples/compile.sh~
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client_samples/compile.sh~ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client_samples/compile.sh~
deleted file mode 100755
index 5d3bf8f..0000000
--- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client_samples/compile.sh~
+++ /dev/null
@@ -1,5 +0,0 @@
-g++ -Wall -I/home/ixxi-2013/Desktop/airavata-trunk/airavata/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/ -L/usr/local/lib -w -Wno-write-strings -DHAVE_INTTYPES_H -DHAVE_NETINET_IN_H `pkg-config --cflags glib-2.0` createProject.cpp `pkg-config --libs glib-2.0` -lthrift -o createProject
-g++ -Wall -I/home/ixxi-2013/Desktop/airavata-trunk/airavata/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/ -L/usr/local/lib -w -Wno-write-strings -DHAVE_INTTYPES_H -DHAVE_NETINET_IN_H `pkg-config --cflags glib-2.0` createExperiment.cpp `pkg-config --libs glib-2.0` -lthrift -o createExperiment
-g++ -Wall -I/home/ixxi-2013/Desktop/airavata-trunk/airavata/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/ -L/usr/local/lib -w -Wno-write-strings -DHAVE_INTTYPES_H -DHAVE_NETINET_IN_H `pkg-config --cflags glib-2.0` launchExperiment.cpp `pkg-config --libs glib-2.0` -lthrift -o launchExperiment
-g++ -Wall -I/home/ixxi-2013/Desktop/airavata-trunk/airavata/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/ -L/usr/local/lib -w -Wno-write-strings -DHAVE_INTTYPES_H -DHAVE_NETINET_IN_H `pkg-config --cflags glib-2.0` getExperimentStatus.cpp `pkg-config --libs glib-2.0` -lthrift -o getExperimentStatus
-g++ -Wall -I/home/ixxi-2013/Desktop/airavata-trunk/airavata/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/ -L/usr/local/lib -w -Wno-write-strings -DHAVE_INTTYPES_H -DHAVE_NETINET_IN_H `pkg-config --cflags glib-2.0` getExperimentOutputs.cpp `pkg-config --libs glib-2.0` -lthrift -o getExperimentOutputs
http://git-wip-us.apache.org/repos/asf/airavata/blob/f0486a2d/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client_samples/createExperiment
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client_samples/createExperiment b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client_samples/createExperiment
deleted file mode 100755
index 05a09f0..0000000
Binary files a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client_samples/createExperiment and /dev/null differ
http://git-wip-us.apache.org/repos/asf/airavata/blob/f0486a2d/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client_samples/createExperiment.cpp~
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client_samples/createExperiment.cpp~ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client_samples/createExperiment.cpp~
deleted file mode 100644
index f4941df..0000000
--- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client_samples/createExperiment.cpp~
+++ /dev/null
@@ -1,157 +0,0 @@
-#include <glib.h>
-#include <iostream>
-#include <stdint.h>
-#include <sys/time.h>
-
-#define _WIN32_WINNT 0x501
-
-#include <thrift/transport/TTransport.h>
-#include <thrift/transport/TBufferTransports.cpp>
-#include <thrift/transport/TSocket.cpp>
-#include <thrift/protocol/TProtocol.h>
-#include <thrift/protocol/TBinaryProtocol.h>
-#include <thrift/protocol/TBinaryProtocol.tcc>
-#include <thrift/TApplicationException.cpp>
-#include <thrift/transport/TTransportException.cpp>
-#include <thrift/protocol/TProtocolException.h>
-#include "../lib/airavata/Airavata.h"
-#include "../lib/airavata/Airavata.cpp"
-#include "../lib/airavata/airavataDataModel_types.h"
-#include "../lib/airavata/airavataDataModel_types.cpp"
-#include "../lib/airavata/airavataErrors_types.h"
-#include "../lib/airavata/airavataErrors_types.cpp"
-#include "../lib/airavata/experimentModel_types.h"
-#include "../lib/airavata/experimentModel_types.cpp"
-#include "../lib/airavata/workspaceModel_types.h"
-#include "../lib/airavata/workspaceModel_types.cpp"
-#include "../lib/airavata/airavataAPI_types.h"
-#include "../lib/airavata/airavataAPI_types.cpp"
-#include "../lib/airavata/applicationDeploymentModel_types.h"
-#include "../lib/airavata/applicationDeploymentModel_types.cpp"
-#include "../lib/airavata/applicationInterfaceModel_types.h"
-#include "../lib/airavata/applicationInterfaceModel_types.cpp"
-#include "../lib/airavata/gatewayResourceProfileModel_types.h"
-#include "../lib/airavata/gatewayResourceProfileModel_types.cpp"
-#include "../lib/airavata/computeResourceModel_types.h"
-#include "../lib/airavata/computeResourceModel_types.cpp"
-
-
-typedef struct {
- gchar *airavata_server;
- gint airavata_port, airavata_timeout;
-} Settings;
-
-using namespace std;
-using namespace apache::thrift;
-using namespace apache::thrift::protocol;
-using namespace apache::thrift::transport;
-using namespace apache::airavata::api;
-using namespace apache::airavata::model::workspace::experiment;
-
-void readConfigFile(char* cfgfile, string& airavata_server, int& airavata_port, int& airavata_timeout) {
-
- Settings *conf;
- GKeyFile *keyfile;
- GKeyFileFlags flags;
- GError *error = NULL;
- keyfile = g_key_file_new ();
- if (!g_key_file_load_from_file (keyfile, cfgfile, flags, &error)) {
- g_error (error->message);
- } else {
- conf = g_slice_new (Settings);
- conf->airavata_server = g_key_file_get_string(keyfile, "airavata", "AIRAVATA_SERVER", NULL);
- airavata_server = conf->airavata_server;
- conf->airavata_port = g_key_file_get_integer(keyfile, "airavata", "AIRAVATA_PORT", NULL);
- airavata_port = conf->airavata_port;
- conf->airavata_timeout = g_key_file_get_integer(keyfile, "airavata", "AIRAVATA_TIMEOUT", NULL);
- airavata_timeout = conf->airavata_timeout;
- }
-
-}
-
-
-int main(int argc, char **argv)
-{
-
- int airavata_port, airavata_timeout;
- string airavata_server;
- char* cfgfile;
- cfgfile = "./airavata-client-properties.ini";
- readConfigFile(cfgfile, airavata_server, app_catalog_server, airavata_port, app_catalog_port, airavata_timeout);
- airavata_server.erase(0,1);
- airavata_server.erase(airavata_server.length()-1,1);
- boost::shared_ptr<TSocket> socket(new TSocket(airavata_server, airavata_port));
- socket->setSendTimeout(airavata_timeout);
- boost::shared_ptr<TTransport> transport(new TBufferedTransport(socket));
- boost::shared_ptr<TProtocol> protocol(new TBinaryProtocol(transport));
- AiravataClient airavataclient(protocol);
- transport->open();
-
- if(argc !=4){
- cout << "Usage: ./createExperiment <username> <experiment_name> <project_ID>";
- return 0;
- }
- /* ComputationalResourceScheduling data for Trestles*/
- ComputationalResourceScheduling cmRST;
- cmRST.__set_resourceHostId("trestles.sdsc.edu");
- cmRST.__set_computationalProjectAccount("sds128");
- cmRST.__set_totalCPUCount(1);
- cmRST.__set_nodeCount(1);
- cmRST.__set_numberOfThreads(0);
- cmRST.__set_queueName("normal");
- cmRST.__set_wallTimeLimit(15);
- cmRST.__set_jobStartTime(0);
- cmRST.__set_totalPhysicalMemory(0);
-
-
- UserConfigurationData userConfigurationData;
- userConfigurationData.__set_airavataAutoSchedule(0);
- userConfigurationData.__set_overrideManualScheduledParams(0);
- userConfigurationData.__set_computationalResourceScheduling(cmRST);
-
-
- /*Application ID for Trestles */
- char* appId = "SimpleEcho2";
-
- /* Experiment input and output data. */
- DataObjectType input;
- input.__set_key("echo_input");
- input.__set_value("echo_output=Hello World");
- input.__set_type(DataType::STRING);
- std::vector<DataObjectType> exInputs;
- exInputs.push_back(input);
- DataObjectType output;
- output.__set_key("echo_output");
- output.__set_value("");
- output.__set_type(DataType::STRING);
- std::vector<DataObjectType> exOutputs;
- exOutputs.push_back(output);
-
-
- char* user = argv[1];
- char* exp_name = argv[2];
- char* proj = argv[3];
-
- Experiment experiment;
- experiment.__set_projectID(proj);
- experiment.__set_userName(user);
- experiment.__set_name(exp_name);
- experiment.__set_applicationId(appId);
- experiment.__set_userConfigurationData(userConfigurationData);
- experiment.__set_experimentInputs(exInputs);
- experiment.__set_experimentOutputs(exOutputs);
-
- string _return = "";
- airavataclient.createExperiment(_return, experiment);
-
- if (_return!="")
- {
-
- cout << "Experiment " << _return <<" created! \n ";
- }
- else
- {
- cout << "Failed to create experiment. \n";
- }
- transport->close();
-}
http://git-wip-us.apache.org/repos/asf/airavata/blob/f0486a2d/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client_samples/createProject
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client_samples/createProject b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client_samples/createProject
deleted file mode 100755
index d742e86..0000000
Binary files a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client_samples/createProject and /dev/null differ
http://git-wip-us.apache.org/repos/asf/airavata/blob/f0486a2d/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client_samples/createProject.cpp~
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client_samples/createProject.cpp~ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client_samples/createProject.cpp~
deleted file mode 100644
index 8e9125c..0000000
--- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client_samples/createProject.cpp~
+++ /dev/null
@@ -1,105 +0,0 @@
-#include <glib.h>
-#include <iostream>
-#include <stdint.h>
-#include <sys/time.h>
-
-#define _WIN32_WINNT 0x501
-
-#include <thrift/transport/TTransport.h>
-#include <thrift/transport/TBufferTransports.cpp>
-#include <thrift/transport/TSocket.cpp>
-#include <thrift/protocol/TProtocol.h>
-#include <thrift/protocol/TBinaryProtocol.h>
-#include <thrift/protocol/TBinaryProtocol.tcc>
-#include <thrift/TApplicationException.cpp>
-#include <thrift/transport/TTransportException.cpp>
-#include <thrift/protocol/TProtocolException.h>
-#include "../lib/airavata/Airavata.h"
-#include "../lib/airavata/Airavata.cpp"
-#include "../lib/airavata/airavataDataModel_types.h"
-#include "../lib/airavata/airavataDataModel_types.cpp"
-#include "../lib/airavata/airavataErrors_types.h"
-#include "../lib/airavata/airavataErrors_types.cpp"
-#include "../lib/airavata/experimentModel_types.h"
-#include "../lib/airavata/experimentModel_types.cpp"
-#include "../lib/airavata/workspaceModel_types.h"
-#include "../lib/airavata/workspaceModel_types.cpp"
-#include "../lib/airavata/airavataAPI_types.h"
-#include "../lib/airavata/airavataAPI_types.cpp"
-#include "../lib/airavata/applicationDeploymentModel_types.h"
-#include "../lib/airavata/applicationDeploymentModel_types.cpp"
-#include "../lib/airavata/applicationInterfaceModel_types.h"
-#include "../lib/airavata/applicationInterfaceModel_types.cpp"
-#include "../lib/airavata/gatewayResourceProfileModel_types.h"
-#include "../lib/airavata/gatewayResourceProfileModel_types.cpp"
-#include "../lib/airavata/computeResourceModel_types.h"
-#include "../lib/airavata/computeResourceModel_types.cpp"
-
-
-typedef struct {
- gchar *airavata_server, *app_catalog_server;
- gint airavata_port, app_catalog_port, airavata_timeout;
-} Settings;
-
-using namespace std;
-using namespace apache::thrift;
-using namespace apache::thrift::protocol;
-using namespace apache::thrift::transport;
-using namespace apache::airavata::api;
-
-void readConfigFile(char* cfgfile, string& airavata_server, string& app_catalog_server, int& airavata_port, int& app_catalog_port, int& airavata_timeout) {
-
- Settings *conf;
- GKeyFile *keyfile;
- GKeyFileFlags flags;
- GError *error = NULL;
- keyfile = g_key_file_new ();
- if (!g_key_file_load_from_file (keyfile, cfgfile, flags, &error)) {
- g_error (error->message);
- } else {
-
- conf = g_slice_new (Settings);
- conf->airavata_server = g_key_file_get_string(keyfile, "airavata", "AIRAVATA_SERVER", NULL);
- airavata_server = conf->airavata_server;
- conf->airavata_port = g_key_file_get_integer(keyfile, "airavata", "AIRAVATA_PORT", NULL);
- airavata_port = conf->airavata_port;
- conf->airavata_timeout = g_key_file_get_integer(keyfile, "airavata", "AIRAVATA_TIMEOUT", NULL);
- airavata_timeout = conf->airavata_timeout;
- conf->app_catalog_server = g_key_file_get_string(keyfile, "airavata", "APP_CATALOG_SERVER", NULL);
- app_catalog_server = conf->app_catalog_server;
- conf->app_catalog_port = g_key_file_get_integer(keyfile, "airavata", "APP_CATALOG_PORT", NULL);
- app_catalog_port = conf->app_catalog_port;
- }
-
-}
-
-
-int main(int argc, char **argv)
-{
-
- int airavata_port, app_catalog_port, airavata_timeout;
- string airavata_server, app_catalog_server;
- char* cfgfile;
- cfgfile = "./airavata-client-properties.ini";
- readConfigFile(cfgfile, airavata_server, app_catalog_server, airavata_port, app_catalog_port, airavata_timeout);
- airavata_server.erase(0,1);
- airavata_server.erase(airavata_server.length()-1,1);
- boost::shared_ptr<TSocket> socket(new TSocket(airavata_server, airavata_port));
- socket->setSendTimeout(airavata_timeout);
- boost::shared_ptr<TTransport> transport(new TBufferedTransport(socket));
- boost::shared_ptr<TProtocol> protocol(new TBinaryProtocol(transport));
- AiravataClient airavataclient(protocol);
- transport->open();
-
- apache::airavata::model::workspace::Project project;
- if(argc !=3){
- cout << "Usage: ./createProject <owner> <projectName>";
- return 0;
- }
- project.owner=argv[1];
- project.name=argv[2];
- std::string _return;
- airavataclient.createProject(_return,project);
- cout << _return << "\n";
- transport->close();
-}
http://git-wip-us.apache.org/repos/asf/airavata/blob/f0486a2d/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client_samples/getExperimentOutputs
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client_samples/getExperimentOutputs b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client_samples/getExperimentOutputs
deleted file mode 100755
index 583fb1d..0000000
Binary files a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client_samples/getExperimentOutputs and /dev/null differ
http://git-wip-us.apache.org/repos/asf/airavata/blob/f0486a2d/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client_samples/getExperimentOutputs.cpp~
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client_samples/getExperimentOutputs.cpp~ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client_samples/getExperimentOutputs.cpp~
deleted file mode 100644
index 0264a0c..0000000
--- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client_samples/getExperimentOutputs.cpp~
+++ /dev/null
@@ -1,108 +0,0 @@
-#include <glib.h>
-#include <iostream>
-#include <stdint.h>
-#include <sys/time.h>
-
-#define _WIN32_WINNT 0x501
-
-#include <thrift/transport/TTransport.h>
-#include <thrift/transport/TBufferTransports.cpp>
-#include <thrift/transport/TSocket.cpp>
-#include <thrift/protocol/TProtocol.h>
-#include <thrift/protocol/TBinaryProtocol.h>
-#include <thrift/protocol/TBinaryProtocol.tcc>
-#include <thrift/TApplicationException.cpp>
-#include <thrift/transport/TTransportException.cpp>
-#include <thrift/protocol/TProtocolException.h>
-#include "../lib/airavata/Airavata.h"
-#include "../lib/airavata/Airavata.cpp"
-#include "../lib/airavata/airavataDataModel_types.h"
-#include "../lib/airavata/airavataDataModel_types.cpp"
-#include "../lib/airavata/airavataErrors_types.h"
-#include "../lib/airavata/airavataErrors_types.cpp"
-#include "../lib/airavata/experimentModel_types.h"
-#include "../lib/airavata/experimentModel_types.cpp"
-#include "../lib/airavata/workspaceModel_types.h"
-#include "../lib/airavata/workspaceModel_types.cpp"
-#include "../lib/airavata/airavataAPI_types.h"
-#include "../lib/airavata/airavataAPI_types.cpp"
-#include "../lib/airavata/applicationDeploymentModel_types.h"
-#include "../lib/airavata/applicationDeploymentModel_types.cpp"
-#include "../lib/airavata/applicationInterfaceModel_types.h"
-#include "../lib/airavata/applicationInterfaceModel_types.cpp"
-#include "../lib/airavata/gatewayResourceProfileModel_types.h"
-#include "../lib/airavata/gatewayResourceProfileModel_types.cpp"
-#include "../lib/airavata/computeResourceModel_types.h"
-#include "../lib/airavata/computeResourceModel_types.cpp"
-
-
-typedef struct {
- gchar *airavata_server, *app_catalog_server;
- gint airavata_port, app_catalog_port, airavata_timeout;
-} Settings;
-
-using namespace std;
-using namespace apache::thrift;
-using namespace apache::thrift::protocol;
-using namespace apache::thrift::transport;
-using namespace apache::airavata::api;
-using namespace apache::airavata::model::workspace::experiment;
-
-void readConfigFile(char* cfgfile, string& airavata_server, string& app_catalog_server, int& airavata_port, int& app_catalog_port, int& airavata_timeout) {
-
- Settings *conf;
- GKeyFile *keyfile;
- GKeyFileFlags flags;
- GError *error = NULL;
- keyfile = g_key_file_new ();
- if (!g_key_file_load_from_file (keyfile, cfgfile, flags, &error)) {
- g_error (error->message);
- } else {
-
- conf = g_slice_new (Settings);
- conf->airavata_server = g_key_file_get_string(keyfile, "airavata", "AIRAVATA_SERVER", NULL);
- airavata_server = conf->airavata_server;
- conf->airavata_port = g_key_file_get_integer(keyfile, "airavata", "AIRAVATA_PORT", NULL);
- airavata_port = conf->airavata_port;
- conf->airavata_timeout = g_key_file_get_integer(keyfile, "airavata", "AIRAVATA_TIMEOUT", NULL);
- airavata_timeout = conf->airavata_timeout;
- conf->app_catalog_server = g_key_file_get_string(keyfile, "airavata", "APP_CATALOG_SERVER", NULL);
- app_catalog_server = conf->app_catalog_server;
- conf->app_catalog_port = g_key_file_get_integer(keyfile, "airavata", "APP_CATALOG_PORT", NULL);
- app_catalog_port = conf->app_catalog_port;
- }
-
-}
-
-int main(int argc, char **argv)
-{
-
- int airavata_port, app_catalog_port, airavata_timeout;
- string airavata_server, app_catalog_server;
- char* cfgfile;
- cfgfile = "./airavata-client-properties.ini";
- readConfigFile(cfgfile, airavata_server, app_catalog_server, airavata_port, app_catalog_port, airavata_timeout);
- airavata_server.erase(0,1);
- airavata_server.erase(airavata_server.length()-1,1);
- boost::shared_ptr<TSocket> socket(new TSocket(airavata_server, airavata_port));
- socket->setSendTimeout(airavata_timeout);
- boost::shared_ptr<TTransport> transport(new TBufferedTransport(socket));
- boost::shared_ptr<TProtocol> protocol(new TBinaryProtocol(transport));
- AiravataClient airavataclient(protocol);
- transport->open();
-
-
- if(argc !=2){
- cout << "Usage: ./getExperimentOutputs <experimentID>";
- return 0;
- }
- char* expId = argv[1];
- std::vector<DataObjectType> _return;
- airavataclient.getExperimentOutputs(_return, expId);
- int i;
- for(i=0; i<_return.size();i++){
- cout << _return[i].value <<"\n";
- }
- transport->close();
-
-}
http://git-wip-us.apache.org/repos/asf/airavata/blob/f0486a2d/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client_samples/getExperimentStatus
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client_samples/getExperimentStatus b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client_samples/getExperimentStatus
deleted file mode 100755
index 17821bf..0000000
Binary files a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client_samples/getExperimentStatus and /dev/null differ
http://git-wip-us.apache.org/repos/asf/airavata/blob/f0486a2d/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client_samples/getExperimentStatus.cpp~
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client_samples/getExperimentStatus.cpp~ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client_samples/getExperimentStatus.cpp~
deleted file mode 100644
index 75c44ee..0000000
--- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client_samples/getExperimentStatus.cpp~
+++ /dev/null
@@ -1,105 +0,0 @@
-#include <glib.h>
-#include <iostream>
-#include <stdint.h>
-#include <sys/time.h>
-
-#define _WIN32_WINNT 0x501
-
-#include <thrift/transport/TTransport.h>
-#include <thrift/transport/TBufferTransports.cpp>
-#include <thrift/transport/TSocket.cpp>
-#include <thrift/protocol/TProtocol.h>
-#include <thrift/protocol/TBinaryProtocol.h>
-#include <thrift/protocol/TBinaryProtocol.tcc>
-#include <thrift/TApplicationException.cpp>
-#include <thrift/transport/TTransportException.cpp>
-#include <thrift/protocol/TProtocolException.h>
-#include "../lib/airavata/Airavata.h"
-#include "../lib/airavata/Airavata.cpp"
-#include "../lib/airavata/airavataDataModel_types.h"
-#include "../lib/airavata/airavataDataModel_types.cpp"
-#include "../lib/airavata/airavataErrors_types.h"
-#include "../lib/airavata/airavataErrors_types.cpp"
-#include "../lib/airavata/experimentModel_types.h"
-#include "../lib/airavata/experimentModel_types.cpp"
-#include "../lib/airavata/workspaceModel_types.h"
-#include "../lib/airavata/workspaceModel_types.cpp"
-#include "../lib/airavata/airavataAPI_types.h"
-#include "../lib/airavata/airavataAPI_types.cpp"
-#include "../lib/airavata/applicationDeploymentModel_types.h"
-#include "../lib/airavata/applicationDeploymentModel_types.cpp"
-#include "../lib/airavata/applicationInterfaceModel_types.h"
-#include "../lib/airavata/applicationInterfaceModel_types.cpp"
-#include "../lib/airavata/gatewayResourceProfileModel_types.h"
-#include "../lib/airavata/gatewayResourceProfileModel_types.cpp"
-#include "../lib/airavata/computeResourceModel_types.h"
-#include "../lib/airavata/computeResourceModel_types.cpp"
-
-
-typedef struct {
- gchar *airavata_server, *app_catalog_server;
- gint airavata_port, app_catalog_port, airavata_timeout;
-} Settings;
-
-using namespace std;
-using namespace apache::thrift;
-using namespace apache::thrift::protocol;
-using namespace apache::thrift::transport;
-using namespace apache::airavata::api;
-using namespace apache::airavata::model::workspace::experiment;
-
-void readConfigFile(char* cfgfile, string& airavata_server, string& app_catalog_server, int& airavata_port, int& app_catalog_port, int& airavata_timeout) {
-
- Settings *conf;
- GKeyFile *keyfile;
- GKeyFileFlags flags;
- GError *error = NULL;
- keyfile = g_key_file_new ();
- if (!g_key_file_load_from_file (keyfile, cfgfile, flags, &error)) {
- g_error (error->message);
- } else {
-
- conf = g_slice_new (Settings);
- conf->airavata_server = g_key_file_get_string(keyfile, "airavata", "AIRAVATA_SERVER", NULL);
- airavata_server = conf->airavata_server;
- conf->airavata_port = g_key_file_get_integer(keyfile, "airavata", "AIRAVATA_PORT", NULL);
- airavata_port = conf->airavata_port;
- conf->airavata_timeout = g_key_file_get_integer(keyfile, "airavata", "AIRAVATA_TIMEOUT", NULL);
- airavata_timeout = conf->airavata_timeout;
- conf->app_catalog_server = g_key_file_get_string(keyfile, "airavata", "APP_CATALOG_SERVER", NULL);
- app_catalog_server = conf->app_catalog_server;
- conf->app_catalog_port = g_key_file_get_integer(keyfile, "airavata", "APP_CATALOG_PORT", NULL);
- app_catalog_port = conf->app_catalog_port;
- }
-
-}
-
-int main(int argc, char **argv)
-{
-
- int airavata_port, app_catalog_port, airavata_timeout;
- string airavata_server, app_catalog_server;
- char* cfgfile;
- cfgfile = "./airavata-client-properties.ini";
- readConfigFile(cfgfile, airavata_server, app_catalog_server, airavata_port, app_catalog_port, airavata_timeout);
- airavata_server.erase(0,1);
- airavata_server.erase(airavata_server.length()-1,1);
- boost::shared_ptr<TSocket> socket(new TSocket(airavata_server, airavata_port));
- socket->setSendTimeout(airavata_timeout);
- boost::shared_ptr<TTransport> transport(new TBufferedTransport(socket));
- boost::shared_ptr<TProtocol> protocol(new TBinaryProtocol(transport));
- AiravataClient airavataclient(protocol);
- transport->open();
-
-
- if(argc !=2){
- cout << "Usage: ./getExperimentStatus <experimentID>";
- return 0;
- }
- char* expId = argv[1];
- ExperimentStatus _return;
- airavataclient.getExperimentStatus(_return, expId);
- cout << _return.experimentState <<"\n";
- transport->close();
-
-}
http://git-wip-us.apache.org/repos/asf/airavata/blob/f0486a2d/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client_samples/launchExperiment
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client_samples/launchExperiment b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client_samples/launchExperiment
deleted file mode 100755
index 145de0a..0000000
Binary files a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client_samples/launchExperiment and /dev/null differ
http://git-wip-us.apache.org/repos/asf/airavata/blob/f0486a2d/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client_samples/launchExperiment.cpp~
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client_samples/launchExperiment.cpp~ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client_samples/launchExperiment.cpp~
deleted file mode 100644
index d3b8337..0000000
--- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client_samples/launchExperiment.cpp~
+++ /dev/null
@@ -1,104 +0,0 @@
-#include <glib.h>
-#include <iostream>
-#include <stdint.h>
-#include <sys/time.h>
-
-#define _WIN32_WINNT 0x501
-
-#include <thrift/transport/TTransport.h>
-#include <thrift/transport/TBufferTransports.cpp>
-#include <thrift/transport/TSocket.cpp>
-#include <thrift/protocol/TProtocol.h>
-#include <thrift/protocol/TBinaryProtocol.h>
-#include <thrift/protocol/TBinaryProtocol.tcc>
-#include <thrift/TApplicationException.cpp>
-#include <thrift/transport/TTransportException.cpp>
-#include <thrift/protocol/TProtocolException.h>
-#include "../lib/airavata/Airavata.h"
-#include "../lib/airavata/Airavata.cpp"
-#include "../lib/airavata/airavataDataModel_types.h"
-#include "../lib/airavata/airavataDataModel_types.cpp"
-#include "../lib/airavata/airavataErrors_types.h"
-#include "../lib/airavata/airavataErrors_types.cpp"
-#include "../lib/airavata/experimentModel_types.h"
-#include "../lib/airavata/experimentModel_types.cpp"
-#include "../lib/airavata/workspaceModel_types.h"
-#include "../lib/airavata/workspaceModel_types.cpp"
-#include "../lib/airavata/airavataAPI_types.h"
-#include "../lib/airavata/airavataAPI_types.cpp"
-#include "../lib/airavata/applicationDeploymentModel_types.h"
-#include "../lib/airavata/applicationDeploymentModel_types.cpp"
-#include "../lib/airavata/applicationInterfaceModel_types.h"
-#include "../lib/airavata/applicationInterfaceModel_types.cpp"
-#include "../lib/airavata/gatewayResourceProfileModel_types.h"
-#include "../lib/airavata/gatewayResourceProfileModel_types.cpp"
-#include "../lib/airavata/computeResourceModel_types.h"
-#include "../lib/airavata/computeResourceModel_types.cpp"
-
-
-typedef struct {
- gchar *airavata_server, *app_catalog_server;
- gint airavata_port, app_catalog_port, airavata_timeout;
-} Settings;
-
-using namespace std;
-using namespace apache::thrift;
-using namespace apache::thrift::protocol;
-using namespace apache::thrift::transport;
-using namespace apache::airavata::api;
-
-void readConfigFile(char* cfgfile, string& airavata_server, string& app_catalog_server, int& airavata_port, int& app_catalog_port, int& airavata_timeout) {
-
- Settings *conf;
- GKeyFile *keyfile;
- GKeyFileFlags flags;
- GError *error = NULL;
- keyfile = g_key_file_new ();
- if (!g_key_file_load_from_file (keyfile, cfgfile, flags, &error)) {
- g_error (error->message);
- } else {
-
- conf = g_slice_new (Settings);
- conf->airavata_server = g_key_file_get_string(keyfile, "airavata", "AIRAVATA_SERVER", NULL);
- airavata_server = conf->airavata_server;
- conf->airavata_port = g_key_file_get_integer(keyfile, "airavata", "AIRAVATA_PORT", NULL);
- airavata_port = conf->airavata_port;
- conf->airavata_timeout = g_key_file_get_integer(keyfile, "airavata", "AIRAVATA_TIMEOUT", NULL);
- airavata_timeout = conf->airavata_timeout;
- conf->app_catalog_server = g_key_file_get_string(keyfile, "airavata", "APP_CATALOG_SERVER", NULL);
- app_catalog_server = conf->app_catalog_server;
- conf->app_catalog_port = g_key_file_get_integer(keyfile, "airavata", "APP_CATALOG_PORT", NULL);
- app_catalog_port = conf->app_catalog_port;
- }
-
-}
-
-
-int main(int argc, char **argv)
-{
-
- int airavata_port, app_catalog_port, airavata_timeout;
- string airavata_server, app_catalog_server;
- char* cfgfile;
- cfgfile = "./airavata-client-properties.ini";
- readConfigFile(cfgfile, airavata_server, app_catalog_server, airavata_port, app_catalog_port, airavata_timeout);
- airavata_server.erase(0,1);
- airavata_server.erase(airavata_server.length()-1,1);
- boost::shared_ptr<TSocket> socket(new TSocket(airavata_server, airavata_port));
- socket->setSendTimeout(airavata_timeout);
- boost::shared_ptr<TTransport> transport(new TBufferedTransport(socket));
- boost::shared_ptr<TProtocol> protocol(new TBinaryProtocol(transport));
- AiravataClient airavataclient(protocol);
- transport->open();
-
-
- if(argc !=2){
- cout << "Usage: ./launchExperiment <experimentID>";
- return 0;
- }
- char* expId = argv[1];
- airavataclient.launchExperiment(expId, "airavataToken");
- cout << "Experiment " << expId << " is launched.\n";
- transport->close();
-
-}
[26/47] Added c++ client samples for integrattion of airavata with
any other application's c++ interface
Posted by sm...@apache.org.
http://git-wip-us.apache.org/repos/asf/airavata/blob/f891b7dc/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/Airavata.cpp
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/Airavata.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/Airavata.cpp
new file mode 100644
index 0000000..96c7d0f
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/Airavata.cpp
@@ -0,0 +1,26734 @@
+/**
+ * Autogenerated by Thrift Compiler (0.9.1)
+ *
+ * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+ * @generated
+ */
+#include "Airavata.h"
+
+namespace apache { namespace airavata { namespace api {
+
+uint32_t Airavata_getAPIVersion_args::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+ uint32_t xfer = 0;
+ std::string fname;
+ ::apache::thrift::protocol::TType ftype;
+ int16_t fid;
+
+ xfer += iprot->readStructBegin(fname);
+
+ using ::apache::thrift::protocol::TProtocolException;
+
+
+ while (true)
+ {
+ xfer += iprot->readFieldBegin(fname, ftype, fid);
+ if (ftype == ::apache::thrift::protocol::T_STOP) {
+ break;
+ }
+ xfer += iprot->skip(ftype);
+ xfer += iprot->readFieldEnd();
+ }
+
+ xfer += iprot->readStructEnd();
+
+ return xfer;
+}
+
+uint32_t Airavata_getAPIVersion_args::write(::apache::thrift::protocol::TProtocol* oprot) const {
+ uint32_t xfer = 0;
+ xfer += oprot->writeStructBegin("Airavata_getAPIVersion_args");
+
+ xfer += oprot->writeFieldStop();
+ xfer += oprot->writeStructEnd();
+ return xfer;
+}
+
+uint32_t Airavata_getAPIVersion_pargs::write(::apache::thrift::protocol::TProtocol* oprot) const {
+ uint32_t xfer = 0;
+ xfer += oprot->writeStructBegin("Airavata_getAPIVersion_pargs");
+
+ xfer += oprot->writeFieldStop();
+ xfer += oprot->writeStructEnd();
+ return xfer;
+}
+
+uint32_t Airavata_getAPIVersion_result::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+ uint32_t xfer = 0;
+ std::string fname;
+ ::apache::thrift::protocol::TType ftype;
+ int16_t fid;
+
+ xfer += iprot->readStructBegin(fname);
+
+ using ::apache::thrift::protocol::TProtocolException;
+
+
+ while (true)
+ {
+ xfer += iprot->readFieldBegin(fname, ftype, fid);
+ if (ftype == ::apache::thrift::protocol::T_STOP) {
+ break;
+ }
+ switch (fid)
+ {
+ case 0:
+ if (ftype == ::apache::thrift::protocol::T_STRING) {
+ xfer += iprot->readString(this->success);
+ this->__isset.success = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 1:
+ if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+ xfer += this->ire.read(iprot);
+ this->__isset.ire = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 2:
+ if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+ xfer += this->ace.read(iprot);
+ this->__isset.ace = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 3:
+ if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+ xfer += this->ase.read(iprot);
+ this->__isset.ase = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ default:
+ xfer += iprot->skip(ftype);
+ break;
+ }
+ xfer += iprot->readFieldEnd();
+ }
+
+ xfer += iprot->readStructEnd();
+
+ return xfer;
+}
+
+uint32_t Airavata_getAPIVersion_result::write(::apache::thrift::protocol::TProtocol* oprot) const {
+
+ uint32_t xfer = 0;
+
+ xfer += oprot->writeStructBegin("Airavata_getAPIVersion_result");
+
+ if (this->__isset.success) {
+ xfer += oprot->writeFieldBegin("success", ::apache::thrift::protocol::T_STRING, 0);
+ xfer += oprot->writeString(this->success);
+ xfer += oprot->writeFieldEnd();
+ } else if (this->__isset.ire) {
+ xfer += oprot->writeFieldBegin("ire", ::apache::thrift::protocol::T_STRUCT, 1);
+ xfer += this->ire.write(oprot);
+ xfer += oprot->writeFieldEnd();
+ } else if (this->__isset.ace) {
+ xfer += oprot->writeFieldBegin("ace", ::apache::thrift::protocol::T_STRUCT, 2);
+ xfer += this->ace.write(oprot);
+ xfer += oprot->writeFieldEnd();
+ } else if (this->__isset.ase) {
+ xfer += oprot->writeFieldBegin("ase", ::apache::thrift::protocol::T_STRUCT, 3);
+ xfer += this->ase.write(oprot);
+ xfer += oprot->writeFieldEnd();
+ }
+ xfer += oprot->writeFieldStop();
+ xfer += oprot->writeStructEnd();
+ return xfer;
+}
+
+uint32_t Airavata_getAPIVersion_presult::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+ uint32_t xfer = 0;
+ std::string fname;
+ ::apache::thrift::protocol::TType ftype;
+ int16_t fid;
+
+ xfer += iprot->readStructBegin(fname);
+
+ using ::apache::thrift::protocol::TProtocolException;
+
+
+ while (true)
+ {
+ xfer += iprot->readFieldBegin(fname, ftype, fid);
+ if (ftype == ::apache::thrift::protocol::T_STOP) {
+ break;
+ }
+ switch (fid)
+ {
+ case 0:
+ if (ftype == ::apache::thrift::protocol::T_STRING) {
+ xfer += iprot->readString((*(this->success)));
+ this->__isset.success = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 1:
+ if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+ xfer += this->ire.read(iprot);
+ this->__isset.ire = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 2:
+ if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+ xfer += this->ace.read(iprot);
+ this->__isset.ace = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 3:
+ if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+ xfer += this->ase.read(iprot);
+ this->__isset.ase = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ default:
+ xfer += iprot->skip(ftype);
+ break;
+ }
+ xfer += iprot->readFieldEnd();
+ }
+
+ xfer += iprot->readStructEnd();
+
+ return xfer;
+}
+
+uint32_t Airavata_createProject_args::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+ uint32_t xfer = 0;
+ std::string fname;
+ ::apache::thrift::protocol::TType ftype;
+ int16_t fid;
+
+ xfer += iprot->readStructBegin(fname);
+
+ using ::apache::thrift::protocol::TProtocolException;
+
+ bool isset_project = false;
+
+ while (true)
+ {
+ xfer += iprot->readFieldBegin(fname, ftype, fid);
+ if (ftype == ::apache::thrift::protocol::T_STOP) {
+ break;
+ }
+ switch (fid)
+ {
+ case 1:
+ if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+ xfer += this->project.read(iprot);
+ isset_project = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ default:
+ xfer += iprot->skip(ftype);
+ break;
+ }
+ xfer += iprot->readFieldEnd();
+ }
+
+ xfer += iprot->readStructEnd();
+
+ if (!isset_project)
+ throw TProtocolException(TProtocolException::INVALID_DATA);
+ return xfer;
+}
+
+uint32_t Airavata_createProject_args::write(::apache::thrift::protocol::TProtocol* oprot) const {
+ uint32_t xfer = 0;
+ xfer += oprot->writeStructBegin("Airavata_createProject_args");
+
+ xfer += oprot->writeFieldBegin("project", ::apache::thrift::protocol::T_STRUCT, 1);
+ xfer += this->project.write(oprot);
+ xfer += oprot->writeFieldEnd();
+
+ xfer += oprot->writeFieldStop();
+ xfer += oprot->writeStructEnd();
+ return xfer;
+}
+
+uint32_t Airavata_createProject_pargs::write(::apache::thrift::protocol::TProtocol* oprot) const {
+ uint32_t xfer = 0;
+ xfer += oprot->writeStructBegin("Airavata_createProject_pargs");
+
+ xfer += oprot->writeFieldBegin("project", ::apache::thrift::protocol::T_STRUCT, 1);
+ xfer += (*(this->project)).write(oprot);
+ xfer += oprot->writeFieldEnd();
+
+ xfer += oprot->writeFieldStop();
+ xfer += oprot->writeStructEnd();
+ return xfer;
+}
+
+uint32_t Airavata_createProject_result::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+ uint32_t xfer = 0;
+ std::string fname;
+ ::apache::thrift::protocol::TType ftype;
+ int16_t fid;
+
+ xfer += iprot->readStructBegin(fname);
+
+ using ::apache::thrift::protocol::TProtocolException;
+
+
+ while (true)
+ {
+ xfer += iprot->readFieldBegin(fname, ftype, fid);
+ if (ftype == ::apache::thrift::protocol::T_STOP) {
+ break;
+ }
+ switch (fid)
+ {
+ case 0:
+ if (ftype == ::apache::thrift::protocol::T_STRING) {
+ xfer += iprot->readString(this->success);
+ this->__isset.success = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 1:
+ if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+ xfer += this->ire.read(iprot);
+ this->__isset.ire = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 2:
+ if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+ xfer += this->ace.read(iprot);
+ this->__isset.ace = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 3:
+ if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+ xfer += this->ase.read(iprot);
+ this->__isset.ase = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ default:
+ xfer += iprot->skip(ftype);
+ break;
+ }
+ xfer += iprot->readFieldEnd();
+ }
+
+ xfer += iprot->readStructEnd();
+
+ return xfer;
+}
+
+uint32_t Airavata_createProject_result::write(::apache::thrift::protocol::TProtocol* oprot) const {
+
+ uint32_t xfer = 0;
+
+ xfer += oprot->writeStructBegin("Airavata_createProject_result");
+
+ if (this->__isset.success) {
+ xfer += oprot->writeFieldBegin("success", ::apache::thrift::protocol::T_STRING, 0);
+ xfer += oprot->writeString(this->success);
+ xfer += oprot->writeFieldEnd();
+ } else if (this->__isset.ire) {
+ xfer += oprot->writeFieldBegin("ire", ::apache::thrift::protocol::T_STRUCT, 1);
+ xfer += this->ire.write(oprot);
+ xfer += oprot->writeFieldEnd();
+ } else if (this->__isset.ace) {
+ xfer += oprot->writeFieldBegin("ace", ::apache::thrift::protocol::T_STRUCT, 2);
+ xfer += this->ace.write(oprot);
+ xfer += oprot->writeFieldEnd();
+ } else if (this->__isset.ase) {
+ xfer += oprot->writeFieldBegin("ase", ::apache::thrift::protocol::T_STRUCT, 3);
+ xfer += this->ase.write(oprot);
+ xfer += oprot->writeFieldEnd();
+ }
+ xfer += oprot->writeFieldStop();
+ xfer += oprot->writeStructEnd();
+ return xfer;
+}
+
+uint32_t Airavata_createProject_presult::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+ uint32_t xfer = 0;
+ std::string fname;
+ ::apache::thrift::protocol::TType ftype;
+ int16_t fid;
+
+ xfer += iprot->readStructBegin(fname);
+
+ using ::apache::thrift::protocol::TProtocolException;
+
+
+ while (true)
+ {
+ xfer += iprot->readFieldBegin(fname, ftype, fid);
+ if (ftype == ::apache::thrift::protocol::T_STOP) {
+ break;
+ }
+ switch (fid)
+ {
+ case 0:
+ if (ftype == ::apache::thrift::protocol::T_STRING) {
+ xfer += iprot->readString((*(this->success)));
+ this->__isset.success = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 1:
+ if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+ xfer += this->ire.read(iprot);
+ this->__isset.ire = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 2:
+ if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+ xfer += this->ace.read(iprot);
+ this->__isset.ace = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 3:
+ if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+ xfer += this->ase.read(iprot);
+ this->__isset.ase = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ default:
+ xfer += iprot->skip(ftype);
+ break;
+ }
+ xfer += iprot->readFieldEnd();
+ }
+
+ xfer += iprot->readStructEnd();
+
+ return xfer;
+}
+
+uint32_t Airavata_updateProject_args::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+ uint32_t xfer = 0;
+ std::string fname;
+ ::apache::thrift::protocol::TType ftype;
+ int16_t fid;
+
+ xfer += iprot->readStructBegin(fname);
+
+ using ::apache::thrift::protocol::TProtocolException;
+
+ bool isset_projectId = false;
+ bool isset_updatedProject = false;
+
+ while (true)
+ {
+ xfer += iprot->readFieldBegin(fname, ftype, fid);
+ if (ftype == ::apache::thrift::protocol::T_STOP) {
+ break;
+ }
+ switch (fid)
+ {
+ case 1:
+ if (ftype == ::apache::thrift::protocol::T_STRING) {
+ xfer += iprot->readString(this->projectId);
+ isset_projectId = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 2:
+ if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+ xfer += this->updatedProject.read(iprot);
+ isset_updatedProject = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ default:
+ xfer += iprot->skip(ftype);
+ break;
+ }
+ xfer += iprot->readFieldEnd();
+ }
+
+ xfer += iprot->readStructEnd();
+
+ if (!isset_projectId)
+ throw TProtocolException(TProtocolException::INVALID_DATA);
+ if (!isset_updatedProject)
+ throw TProtocolException(TProtocolException::INVALID_DATA);
+ return xfer;
+}
+
+uint32_t Airavata_updateProject_args::write(::apache::thrift::protocol::TProtocol* oprot) const {
+ uint32_t xfer = 0;
+ xfer += oprot->writeStructBegin("Airavata_updateProject_args");
+
+ xfer += oprot->writeFieldBegin("projectId", ::apache::thrift::protocol::T_STRING, 1);
+ xfer += oprot->writeString(this->projectId);
+ xfer += oprot->writeFieldEnd();
+
+ xfer += oprot->writeFieldBegin("updatedProject", ::apache::thrift::protocol::T_STRUCT, 2);
+ xfer += this->updatedProject.write(oprot);
+ xfer += oprot->writeFieldEnd();
+
+ xfer += oprot->writeFieldStop();
+ xfer += oprot->writeStructEnd();
+ return xfer;
+}
+
+uint32_t Airavata_updateProject_pargs::write(::apache::thrift::protocol::TProtocol* oprot) const {
+ uint32_t xfer = 0;
+ xfer += oprot->writeStructBegin("Airavata_updateProject_pargs");
+
+ xfer += oprot->writeFieldBegin("projectId", ::apache::thrift::protocol::T_STRING, 1);
+ xfer += oprot->writeString((*(this->projectId)));
+ xfer += oprot->writeFieldEnd();
+
+ xfer += oprot->writeFieldBegin("updatedProject", ::apache::thrift::protocol::T_STRUCT, 2);
+ xfer += (*(this->updatedProject)).write(oprot);
+ xfer += oprot->writeFieldEnd();
+
+ xfer += oprot->writeFieldStop();
+ xfer += oprot->writeStructEnd();
+ return xfer;
+}
+
+uint32_t Airavata_updateProject_result::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+ uint32_t xfer = 0;
+ std::string fname;
+ ::apache::thrift::protocol::TType ftype;
+ int16_t fid;
+
+ xfer += iprot->readStructBegin(fname);
+
+ using ::apache::thrift::protocol::TProtocolException;
+
+
+ while (true)
+ {
+ xfer += iprot->readFieldBegin(fname, ftype, fid);
+ if (ftype == ::apache::thrift::protocol::T_STOP) {
+ break;
+ }
+ switch (fid)
+ {
+ case 1:
+ if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+ xfer += this->ire.read(iprot);
+ this->__isset.ire = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 2:
+ if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+ xfer += this->ace.read(iprot);
+ this->__isset.ace = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 3:
+ if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+ xfer += this->ase.read(iprot);
+ this->__isset.ase = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 4:
+ if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+ xfer += this->pnfe.read(iprot);
+ this->__isset.pnfe = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ default:
+ xfer += iprot->skip(ftype);
+ break;
+ }
+ xfer += iprot->readFieldEnd();
+ }
+
+ xfer += iprot->readStructEnd();
+
+ return xfer;
+}
+
+uint32_t Airavata_updateProject_result::write(::apache::thrift::protocol::TProtocol* oprot) const {
+
+ uint32_t xfer = 0;
+
+ xfer += oprot->writeStructBegin("Airavata_updateProject_result");
+
+ if (this->__isset.ire) {
+ xfer += oprot->writeFieldBegin("ire", ::apache::thrift::protocol::T_STRUCT, 1);
+ xfer += this->ire.write(oprot);
+ xfer += oprot->writeFieldEnd();
+ } else if (this->__isset.ace) {
+ xfer += oprot->writeFieldBegin("ace", ::apache::thrift::protocol::T_STRUCT, 2);
+ xfer += this->ace.write(oprot);
+ xfer += oprot->writeFieldEnd();
+ } else if (this->__isset.ase) {
+ xfer += oprot->writeFieldBegin("ase", ::apache::thrift::protocol::T_STRUCT, 3);
+ xfer += this->ase.write(oprot);
+ xfer += oprot->writeFieldEnd();
+ } else if (this->__isset.pnfe) {
+ xfer += oprot->writeFieldBegin("pnfe", ::apache::thrift::protocol::T_STRUCT, 4);
+ xfer += this->pnfe.write(oprot);
+ xfer += oprot->writeFieldEnd();
+ }
+ xfer += oprot->writeFieldStop();
+ xfer += oprot->writeStructEnd();
+ return xfer;
+}
+
+uint32_t Airavata_updateProject_presult::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+ uint32_t xfer = 0;
+ std::string fname;
+ ::apache::thrift::protocol::TType ftype;
+ int16_t fid;
+
+ xfer += iprot->readStructBegin(fname);
+
+ using ::apache::thrift::protocol::TProtocolException;
+
+
+ while (true)
+ {
+ xfer += iprot->readFieldBegin(fname, ftype, fid);
+ if (ftype == ::apache::thrift::protocol::T_STOP) {
+ break;
+ }
+ switch (fid)
+ {
+ case 1:
+ if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+ xfer += this->ire.read(iprot);
+ this->__isset.ire = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 2:
+ if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+ xfer += this->ace.read(iprot);
+ this->__isset.ace = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 3:
+ if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+ xfer += this->ase.read(iprot);
+ this->__isset.ase = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 4:
+ if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+ xfer += this->pnfe.read(iprot);
+ this->__isset.pnfe = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ default:
+ xfer += iprot->skip(ftype);
+ break;
+ }
+ xfer += iprot->readFieldEnd();
+ }
+
+ xfer += iprot->readStructEnd();
+
+ return xfer;
+}
+
+uint32_t Airavata_getProject_args::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+ uint32_t xfer = 0;
+ std::string fname;
+ ::apache::thrift::protocol::TType ftype;
+ int16_t fid;
+
+ xfer += iprot->readStructBegin(fname);
+
+ using ::apache::thrift::protocol::TProtocolException;
+
+ bool isset_projectId = false;
+
+ while (true)
+ {
+ xfer += iprot->readFieldBegin(fname, ftype, fid);
+ if (ftype == ::apache::thrift::protocol::T_STOP) {
+ break;
+ }
+ switch (fid)
+ {
+ case 1:
+ if (ftype == ::apache::thrift::protocol::T_STRING) {
+ xfer += iprot->readString(this->projectId);
+ isset_projectId = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ default:
+ xfer += iprot->skip(ftype);
+ break;
+ }
+ xfer += iprot->readFieldEnd();
+ }
+
+ xfer += iprot->readStructEnd();
+
+ if (!isset_projectId)
+ throw TProtocolException(TProtocolException::INVALID_DATA);
+ return xfer;
+}
+
+uint32_t Airavata_getProject_args::write(::apache::thrift::protocol::TProtocol* oprot) const {
+ uint32_t xfer = 0;
+ xfer += oprot->writeStructBegin("Airavata_getProject_args");
+
+ xfer += oprot->writeFieldBegin("projectId", ::apache::thrift::protocol::T_STRING, 1);
+ xfer += oprot->writeString(this->projectId);
+ xfer += oprot->writeFieldEnd();
+
+ xfer += oprot->writeFieldStop();
+ xfer += oprot->writeStructEnd();
+ return xfer;
+}
+
+uint32_t Airavata_getProject_pargs::write(::apache::thrift::protocol::TProtocol* oprot) const {
+ uint32_t xfer = 0;
+ xfer += oprot->writeStructBegin("Airavata_getProject_pargs");
+
+ xfer += oprot->writeFieldBegin("projectId", ::apache::thrift::protocol::T_STRING, 1);
+ xfer += oprot->writeString((*(this->projectId)));
+ xfer += oprot->writeFieldEnd();
+
+ xfer += oprot->writeFieldStop();
+ xfer += oprot->writeStructEnd();
+ return xfer;
+}
+
+uint32_t Airavata_getProject_result::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+ uint32_t xfer = 0;
+ std::string fname;
+ ::apache::thrift::protocol::TType ftype;
+ int16_t fid;
+
+ xfer += iprot->readStructBegin(fname);
+
+ using ::apache::thrift::protocol::TProtocolException;
+
+
+ while (true)
+ {
+ xfer += iprot->readFieldBegin(fname, ftype, fid);
+ if (ftype == ::apache::thrift::protocol::T_STOP) {
+ break;
+ }
+ switch (fid)
+ {
+ case 0:
+ if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+ xfer += this->success.read(iprot);
+ this->__isset.success = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 1:
+ if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+ xfer += this->ire.read(iprot);
+ this->__isset.ire = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 2:
+ if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+ xfer += this->ace.read(iprot);
+ this->__isset.ace = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 3:
+ if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+ xfer += this->ase.read(iprot);
+ this->__isset.ase = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 4:
+ if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+ xfer += this->pnfe.read(iprot);
+ this->__isset.pnfe = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ default:
+ xfer += iprot->skip(ftype);
+ break;
+ }
+ xfer += iprot->readFieldEnd();
+ }
+
+ xfer += iprot->readStructEnd();
+
+ return xfer;
+}
+
+uint32_t Airavata_getProject_result::write(::apache::thrift::protocol::TProtocol* oprot) const {
+
+ uint32_t xfer = 0;
+
+ xfer += oprot->writeStructBegin("Airavata_getProject_result");
+
+ if (this->__isset.success) {
+ xfer += oprot->writeFieldBegin("success", ::apache::thrift::protocol::T_STRUCT, 0);
+ xfer += this->success.write(oprot);
+ xfer += oprot->writeFieldEnd();
+ } else if (this->__isset.ire) {
+ xfer += oprot->writeFieldBegin("ire", ::apache::thrift::protocol::T_STRUCT, 1);
+ xfer += this->ire.write(oprot);
+ xfer += oprot->writeFieldEnd();
+ } else if (this->__isset.ace) {
+ xfer += oprot->writeFieldBegin("ace", ::apache::thrift::protocol::T_STRUCT, 2);
+ xfer += this->ace.write(oprot);
+ xfer += oprot->writeFieldEnd();
+ } else if (this->__isset.ase) {
+ xfer += oprot->writeFieldBegin("ase", ::apache::thrift::protocol::T_STRUCT, 3);
+ xfer += this->ase.write(oprot);
+ xfer += oprot->writeFieldEnd();
+ } else if (this->__isset.pnfe) {
+ xfer += oprot->writeFieldBegin("pnfe", ::apache::thrift::protocol::T_STRUCT, 4);
+ xfer += this->pnfe.write(oprot);
+ xfer += oprot->writeFieldEnd();
+ }
+ xfer += oprot->writeFieldStop();
+ xfer += oprot->writeStructEnd();
+ return xfer;
+}
+
+uint32_t Airavata_getProject_presult::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+ uint32_t xfer = 0;
+ std::string fname;
+ ::apache::thrift::protocol::TType ftype;
+ int16_t fid;
+
+ xfer += iprot->readStructBegin(fname);
+
+ using ::apache::thrift::protocol::TProtocolException;
+
+
+ while (true)
+ {
+ xfer += iprot->readFieldBegin(fname, ftype, fid);
+ if (ftype == ::apache::thrift::protocol::T_STOP) {
+ break;
+ }
+ switch (fid)
+ {
+ case 0:
+ if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+ xfer += (*(this->success)).read(iprot);
+ this->__isset.success = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 1:
+ if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+ xfer += this->ire.read(iprot);
+ this->__isset.ire = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 2:
+ if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+ xfer += this->ace.read(iprot);
+ this->__isset.ace = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 3:
+ if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+ xfer += this->ase.read(iprot);
+ this->__isset.ase = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 4:
+ if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+ xfer += this->pnfe.read(iprot);
+ this->__isset.pnfe = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ default:
+ xfer += iprot->skip(ftype);
+ break;
+ }
+ xfer += iprot->readFieldEnd();
+ }
+
+ xfer += iprot->readStructEnd();
+
+ return xfer;
+}
+
+uint32_t Airavata_getAllUserProjects_args::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+ uint32_t xfer = 0;
+ std::string fname;
+ ::apache::thrift::protocol::TType ftype;
+ int16_t fid;
+
+ xfer += iprot->readStructBegin(fname);
+
+ using ::apache::thrift::protocol::TProtocolException;
+
+ bool isset_userName = false;
+
+ while (true)
+ {
+ xfer += iprot->readFieldBegin(fname, ftype, fid);
+ if (ftype == ::apache::thrift::protocol::T_STOP) {
+ break;
+ }
+ switch (fid)
+ {
+ case 1:
+ if (ftype == ::apache::thrift::protocol::T_STRING) {
+ xfer += iprot->readString(this->userName);
+ isset_userName = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ default:
+ xfer += iprot->skip(ftype);
+ break;
+ }
+ xfer += iprot->readFieldEnd();
+ }
+
+ xfer += iprot->readStructEnd();
+
+ if (!isset_userName)
+ throw TProtocolException(TProtocolException::INVALID_DATA);
+ return xfer;
+}
+
+uint32_t Airavata_getAllUserProjects_args::write(::apache::thrift::protocol::TProtocol* oprot) const {
+ uint32_t xfer = 0;
+ xfer += oprot->writeStructBegin("Airavata_getAllUserProjects_args");
+
+ xfer += oprot->writeFieldBegin("userName", ::apache::thrift::protocol::T_STRING, 1);
+ xfer += oprot->writeString(this->userName);
+ xfer += oprot->writeFieldEnd();
+
+ xfer += oprot->writeFieldStop();
+ xfer += oprot->writeStructEnd();
+ return xfer;
+}
+
+uint32_t Airavata_getAllUserProjects_pargs::write(::apache::thrift::protocol::TProtocol* oprot) const {
+ uint32_t xfer = 0;
+ xfer += oprot->writeStructBegin("Airavata_getAllUserProjects_pargs");
+
+ xfer += oprot->writeFieldBegin("userName", ::apache::thrift::protocol::T_STRING, 1);
+ xfer += oprot->writeString((*(this->userName)));
+ xfer += oprot->writeFieldEnd();
+
+ xfer += oprot->writeFieldStop();
+ xfer += oprot->writeStructEnd();
+ return xfer;
+}
+
+uint32_t Airavata_getAllUserProjects_result::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+ uint32_t xfer = 0;
+ std::string fname;
+ ::apache::thrift::protocol::TType ftype;
+ int16_t fid;
+
+ xfer += iprot->readStructBegin(fname);
+
+ using ::apache::thrift::protocol::TProtocolException;
+
+
+ while (true)
+ {
+ xfer += iprot->readFieldBegin(fname, ftype, fid);
+ if (ftype == ::apache::thrift::protocol::T_STOP) {
+ break;
+ }
+ switch (fid)
+ {
+ case 0:
+ if (ftype == ::apache::thrift::protocol::T_LIST) {
+ {
+ this->success.clear();
+ uint32_t _size0;
+ ::apache::thrift::protocol::TType _etype3;
+ xfer += iprot->readListBegin(_etype3, _size0);
+ this->success.resize(_size0);
+ uint32_t _i4;
+ for (_i4 = 0; _i4 < _size0; ++_i4)
+ {
+ xfer += this->success[_i4].read(iprot);
+ }
+ xfer += iprot->readListEnd();
+ }
+ this->__isset.success = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 1:
+ if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+ xfer += this->ire.read(iprot);
+ this->__isset.ire = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 2:
+ if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+ xfer += this->ace.read(iprot);
+ this->__isset.ace = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 3:
+ if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+ xfer += this->ase.read(iprot);
+ this->__isset.ase = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ default:
+ xfer += iprot->skip(ftype);
+ break;
+ }
+ xfer += iprot->readFieldEnd();
+ }
+
+ xfer += iprot->readStructEnd();
+
+ return xfer;
+}
+
+uint32_t Airavata_getAllUserProjects_result::write(::apache::thrift::protocol::TProtocol* oprot) const {
+
+ uint32_t xfer = 0;
+
+ xfer += oprot->writeStructBegin("Airavata_getAllUserProjects_result");
+
+ if (this->__isset.success) {
+ xfer += oprot->writeFieldBegin("success", ::apache::thrift::protocol::T_LIST, 0);
+ {
+ xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>(this->success.size()));
+ std::vector< ::apache::airavata::model::workspace::Project> ::const_iterator _iter5;
+ for (_iter5 = this->success.begin(); _iter5 != this->success.end(); ++_iter5)
+ {
+ xfer += (*_iter5).write(oprot);
+ }
+ xfer += oprot->writeListEnd();
+ }
+ xfer += oprot->writeFieldEnd();
+ } else if (this->__isset.ire) {
+ xfer += oprot->writeFieldBegin("ire", ::apache::thrift::protocol::T_STRUCT, 1);
+ xfer += this->ire.write(oprot);
+ xfer += oprot->writeFieldEnd();
+ } else if (this->__isset.ace) {
+ xfer += oprot->writeFieldBegin("ace", ::apache::thrift::protocol::T_STRUCT, 2);
+ xfer += this->ace.write(oprot);
+ xfer += oprot->writeFieldEnd();
+ } else if (this->__isset.ase) {
+ xfer += oprot->writeFieldBegin("ase", ::apache::thrift::protocol::T_STRUCT, 3);
+ xfer += this->ase.write(oprot);
+ xfer += oprot->writeFieldEnd();
+ }
+ xfer += oprot->writeFieldStop();
+ xfer += oprot->writeStructEnd();
+ return xfer;
+}
+
+uint32_t Airavata_getAllUserProjects_presult::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+ uint32_t xfer = 0;
+ std::string fname;
+ ::apache::thrift::protocol::TType ftype;
+ int16_t fid;
+
+ xfer += iprot->readStructBegin(fname);
+
+ using ::apache::thrift::protocol::TProtocolException;
+
+
+ while (true)
+ {
+ xfer += iprot->readFieldBegin(fname, ftype, fid);
+ if (ftype == ::apache::thrift::protocol::T_STOP) {
+ break;
+ }
+ switch (fid)
+ {
+ case 0:
+ if (ftype == ::apache::thrift::protocol::T_LIST) {
+ {
+ (*(this->success)).clear();
+ uint32_t _size6;
+ ::apache::thrift::protocol::TType _etype9;
+ xfer += iprot->readListBegin(_etype9, _size6);
+ (*(this->success)).resize(_size6);
+ uint32_t _i10;
+ for (_i10 = 0; _i10 < _size6; ++_i10)
+ {
+ xfer += (*(this->success))[_i10].read(iprot);
+ }
+ xfer += iprot->readListEnd();
+ }
+ this->__isset.success = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 1:
+ if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+ xfer += this->ire.read(iprot);
+ this->__isset.ire = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 2:
+ if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+ xfer += this->ace.read(iprot);
+ this->__isset.ace = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 3:
+ if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+ xfer += this->ase.read(iprot);
+ this->__isset.ase = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ default:
+ xfer += iprot->skip(ftype);
+ break;
+ }
+ xfer += iprot->readFieldEnd();
+ }
+
+ xfer += iprot->readStructEnd();
+
+ return xfer;
+}
+
+uint32_t Airavata_searchProjectsByProjectName_args::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+ uint32_t xfer = 0;
+ std::string fname;
+ ::apache::thrift::protocol::TType ftype;
+ int16_t fid;
+
+ xfer += iprot->readStructBegin(fname);
+
+ using ::apache::thrift::protocol::TProtocolException;
+
+ bool isset_userName = false;
+ bool isset_projectName = false;
+
+ while (true)
+ {
+ xfer += iprot->readFieldBegin(fname, ftype, fid);
+ if (ftype == ::apache::thrift::protocol::T_STOP) {
+ break;
+ }
+ switch (fid)
+ {
+ case 1:
+ if (ftype == ::apache::thrift::protocol::T_STRING) {
+ xfer += iprot->readString(this->userName);
+ isset_userName = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 2:
+ if (ftype == ::apache::thrift::protocol::T_STRING) {
+ xfer += iprot->readString(this->projectName);
+ isset_projectName = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ default:
+ xfer += iprot->skip(ftype);
+ break;
+ }
+ xfer += iprot->readFieldEnd();
+ }
+
+ xfer += iprot->readStructEnd();
+
+ if (!isset_userName)
+ throw TProtocolException(TProtocolException::INVALID_DATA);
+ if (!isset_projectName)
+ throw TProtocolException(TProtocolException::INVALID_DATA);
+ return xfer;
+}
+
+uint32_t Airavata_searchProjectsByProjectName_args::write(::apache::thrift::protocol::TProtocol* oprot) const {
+ uint32_t xfer = 0;
+ xfer += oprot->writeStructBegin("Airavata_searchProjectsByProjectName_args");
+
+ xfer += oprot->writeFieldBegin("userName", ::apache::thrift::protocol::T_STRING, 1);
+ xfer += oprot->writeString(this->userName);
+ xfer += oprot->writeFieldEnd();
+
+ xfer += oprot->writeFieldBegin("projectName", ::apache::thrift::protocol::T_STRING, 2);
+ xfer += oprot->writeString(this->projectName);
+ xfer += oprot->writeFieldEnd();
+
+ xfer += oprot->writeFieldStop();
+ xfer += oprot->writeStructEnd();
+ return xfer;
+}
+
+uint32_t Airavata_searchProjectsByProjectName_pargs::write(::apache::thrift::protocol::TProtocol* oprot) const {
+ uint32_t xfer = 0;
+ xfer += oprot->writeStructBegin("Airavata_searchProjectsByProjectName_pargs");
+
+ xfer += oprot->writeFieldBegin("userName", ::apache::thrift::protocol::T_STRING, 1);
+ xfer += oprot->writeString((*(this->userName)));
+ xfer += oprot->writeFieldEnd();
+
+ xfer += oprot->writeFieldBegin("projectName", ::apache::thrift::protocol::T_STRING, 2);
+ xfer += oprot->writeString((*(this->projectName)));
+ xfer += oprot->writeFieldEnd();
+
+ xfer += oprot->writeFieldStop();
+ xfer += oprot->writeStructEnd();
+ return xfer;
+}
+
+uint32_t Airavata_searchProjectsByProjectName_result::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+ uint32_t xfer = 0;
+ std::string fname;
+ ::apache::thrift::protocol::TType ftype;
+ int16_t fid;
+
+ xfer += iprot->readStructBegin(fname);
+
+ using ::apache::thrift::protocol::TProtocolException;
+
+
+ while (true)
+ {
+ xfer += iprot->readFieldBegin(fname, ftype, fid);
+ if (ftype == ::apache::thrift::protocol::T_STOP) {
+ break;
+ }
+ switch (fid)
+ {
+ case 0:
+ if (ftype == ::apache::thrift::protocol::T_LIST) {
+ {
+ this->success.clear();
+ uint32_t _size11;
+ ::apache::thrift::protocol::TType _etype14;
+ xfer += iprot->readListBegin(_etype14, _size11);
+ this->success.resize(_size11);
+ uint32_t _i15;
+ for (_i15 = 0; _i15 < _size11; ++_i15)
+ {
+ xfer += this->success[_i15].read(iprot);
+ }
+ xfer += iprot->readListEnd();
+ }
+ this->__isset.success = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 1:
+ if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+ xfer += this->ire.read(iprot);
+ this->__isset.ire = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 2:
+ if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+ xfer += this->ace.read(iprot);
+ this->__isset.ace = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 3:
+ if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+ xfer += this->ase.read(iprot);
+ this->__isset.ase = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ default:
+ xfer += iprot->skip(ftype);
+ break;
+ }
+ xfer += iprot->readFieldEnd();
+ }
+
+ xfer += iprot->readStructEnd();
+
+ return xfer;
+}
+
+uint32_t Airavata_searchProjectsByProjectName_result::write(::apache::thrift::protocol::TProtocol* oprot) const {
+
+ uint32_t xfer = 0;
+
+ xfer += oprot->writeStructBegin("Airavata_searchProjectsByProjectName_result");
+
+ if (this->__isset.success) {
+ xfer += oprot->writeFieldBegin("success", ::apache::thrift::protocol::T_LIST, 0);
+ {
+ xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>(this->success.size()));
+ std::vector< ::apache::airavata::model::workspace::Project> ::const_iterator _iter16;
+ for (_iter16 = this->success.begin(); _iter16 != this->success.end(); ++_iter16)
+ {
+ xfer += (*_iter16).write(oprot);
+ }
+ xfer += oprot->writeListEnd();
+ }
+ xfer += oprot->writeFieldEnd();
+ } else if (this->__isset.ire) {
+ xfer += oprot->writeFieldBegin("ire", ::apache::thrift::protocol::T_STRUCT, 1);
+ xfer += this->ire.write(oprot);
+ xfer += oprot->writeFieldEnd();
+ } else if (this->__isset.ace) {
+ xfer += oprot->writeFieldBegin("ace", ::apache::thrift::protocol::T_STRUCT, 2);
+ xfer += this->ace.write(oprot);
+ xfer += oprot->writeFieldEnd();
+ } else if (this->__isset.ase) {
+ xfer += oprot->writeFieldBegin("ase", ::apache::thrift::protocol::T_STRUCT, 3);
+ xfer += this->ase.write(oprot);
+ xfer += oprot->writeFieldEnd();
+ }
+ xfer += oprot->writeFieldStop();
+ xfer += oprot->writeStructEnd();
+ return xfer;
+}
+
+uint32_t Airavata_searchProjectsByProjectName_presult::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+ uint32_t xfer = 0;
+ std::string fname;
+ ::apache::thrift::protocol::TType ftype;
+ int16_t fid;
+
+ xfer += iprot->readStructBegin(fname);
+
+ using ::apache::thrift::protocol::TProtocolException;
+
+
+ while (true)
+ {
+ xfer += iprot->readFieldBegin(fname, ftype, fid);
+ if (ftype == ::apache::thrift::protocol::T_STOP) {
+ break;
+ }
+ switch (fid)
+ {
+ case 0:
+ if (ftype == ::apache::thrift::protocol::T_LIST) {
+ {
+ (*(this->success)).clear();
+ uint32_t _size17;
+ ::apache::thrift::protocol::TType _etype20;
+ xfer += iprot->readListBegin(_etype20, _size17);
+ (*(this->success)).resize(_size17);
+ uint32_t _i21;
+ for (_i21 = 0; _i21 < _size17; ++_i21)
+ {
+ xfer += (*(this->success))[_i21].read(iprot);
+ }
+ xfer += iprot->readListEnd();
+ }
+ this->__isset.success = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 1:
+ if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+ xfer += this->ire.read(iprot);
+ this->__isset.ire = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 2:
+ if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+ xfer += this->ace.read(iprot);
+ this->__isset.ace = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 3:
+ if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+ xfer += this->ase.read(iprot);
+ this->__isset.ase = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ default:
+ xfer += iprot->skip(ftype);
+ break;
+ }
+ xfer += iprot->readFieldEnd();
+ }
+
+ xfer += iprot->readStructEnd();
+
+ return xfer;
+}
+
+uint32_t Airavata_searchProjectsByProjectDesc_args::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+ uint32_t xfer = 0;
+ std::string fname;
+ ::apache::thrift::protocol::TType ftype;
+ int16_t fid;
+
+ xfer += iprot->readStructBegin(fname);
+
+ using ::apache::thrift::protocol::TProtocolException;
+
+ bool isset_userName = false;
+ bool isset_description = false;
+
+ while (true)
+ {
+ xfer += iprot->readFieldBegin(fname, ftype, fid);
+ if (ftype == ::apache::thrift::protocol::T_STOP) {
+ break;
+ }
+ switch (fid)
+ {
+ case 1:
+ if (ftype == ::apache::thrift::protocol::T_STRING) {
+ xfer += iprot->readString(this->userName);
+ isset_userName = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 2:
+ if (ftype == ::apache::thrift::protocol::T_STRING) {
+ xfer += iprot->readString(this->description);
+ isset_description = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ default:
+ xfer += iprot->skip(ftype);
+ break;
+ }
+ xfer += iprot->readFieldEnd();
+ }
+
+ xfer += iprot->readStructEnd();
+
+ if (!isset_userName)
+ throw TProtocolException(TProtocolException::INVALID_DATA);
+ if (!isset_description)
+ throw TProtocolException(TProtocolException::INVALID_DATA);
+ return xfer;
+}
+
+uint32_t Airavata_searchProjectsByProjectDesc_args::write(::apache::thrift::protocol::TProtocol* oprot) const {
+ uint32_t xfer = 0;
+ xfer += oprot->writeStructBegin("Airavata_searchProjectsByProjectDesc_args");
+
+ xfer += oprot->writeFieldBegin("userName", ::apache::thrift::protocol::T_STRING, 1);
+ xfer += oprot->writeString(this->userName);
+ xfer += oprot->writeFieldEnd();
+
+ xfer += oprot->writeFieldBegin("description", ::apache::thrift::protocol::T_STRING, 2);
+ xfer += oprot->writeString(this->description);
+ xfer += oprot->writeFieldEnd();
+
+ xfer += oprot->writeFieldStop();
+ xfer += oprot->writeStructEnd();
+ return xfer;
+}
+
+uint32_t Airavata_searchProjectsByProjectDesc_pargs::write(::apache::thrift::protocol::TProtocol* oprot) const {
+ uint32_t xfer = 0;
+ xfer += oprot->writeStructBegin("Airavata_searchProjectsByProjectDesc_pargs");
+
+ xfer += oprot->writeFieldBegin("userName", ::apache::thrift::protocol::T_STRING, 1);
+ xfer += oprot->writeString((*(this->userName)));
+ xfer += oprot->writeFieldEnd();
+
+ xfer += oprot->writeFieldBegin("description", ::apache::thrift::protocol::T_STRING, 2);
+ xfer += oprot->writeString((*(this->description)));
+ xfer += oprot->writeFieldEnd();
+
+ xfer += oprot->writeFieldStop();
+ xfer += oprot->writeStructEnd();
+ return xfer;
+}
+
+uint32_t Airavata_searchProjectsByProjectDesc_result::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+ uint32_t xfer = 0;
+ std::string fname;
+ ::apache::thrift::protocol::TType ftype;
+ int16_t fid;
+
+ xfer += iprot->readStructBegin(fname);
+
+ using ::apache::thrift::protocol::TProtocolException;
+
+
+ while (true)
+ {
+ xfer += iprot->readFieldBegin(fname, ftype, fid);
+ if (ftype == ::apache::thrift::protocol::T_STOP) {
+ break;
+ }
+ switch (fid)
+ {
+ case 0:
+ if (ftype == ::apache::thrift::protocol::T_LIST) {
+ {
+ this->success.clear();
+ uint32_t _size22;
+ ::apache::thrift::protocol::TType _etype25;
+ xfer += iprot->readListBegin(_etype25, _size22);
+ this->success.resize(_size22);
+ uint32_t _i26;
+ for (_i26 = 0; _i26 < _size22; ++_i26)
+ {
+ xfer += this->success[_i26].read(iprot);
+ }
+ xfer += iprot->readListEnd();
+ }
+ this->__isset.success = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 1:
+ if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+ xfer += this->ire.read(iprot);
+ this->__isset.ire = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 2:
+ if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+ xfer += this->ace.read(iprot);
+ this->__isset.ace = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 3:
+ if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+ xfer += this->ase.read(iprot);
+ this->__isset.ase = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ default:
+ xfer += iprot->skip(ftype);
+ break;
+ }
+ xfer += iprot->readFieldEnd();
+ }
+
+ xfer += iprot->readStructEnd();
+
+ return xfer;
+}
+
+uint32_t Airavata_searchProjectsByProjectDesc_result::write(::apache::thrift::protocol::TProtocol* oprot) const {
+
+ uint32_t xfer = 0;
+
+ xfer += oprot->writeStructBegin("Airavata_searchProjectsByProjectDesc_result");
+
+ if (this->__isset.success) {
+ xfer += oprot->writeFieldBegin("success", ::apache::thrift::protocol::T_LIST, 0);
+ {
+ xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>(this->success.size()));
+ std::vector< ::apache::airavata::model::workspace::Project> ::const_iterator _iter27;
+ for (_iter27 = this->success.begin(); _iter27 != this->success.end(); ++_iter27)
+ {
+ xfer += (*_iter27).write(oprot);
+ }
+ xfer += oprot->writeListEnd();
+ }
+ xfer += oprot->writeFieldEnd();
+ } else if (this->__isset.ire) {
+ xfer += oprot->writeFieldBegin("ire", ::apache::thrift::protocol::T_STRUCT, 1);
+ xfer += this->ire.write(oprot);
+ xfer += oprot->writeFieldEnd();
+ } else if (this->__isset.ace) {
+ xfer += oprot->writeFieldBegin("ace", ::apache::thrift::protocol::T_STRUCT, 2);
+ xfer += this->ace.write(oprot);
+ xfer += oprot->writeFieldEnd();
+ } else if (this->__isset.ase) {
+ xfer += oprot->writeFieldBegin("ase", ::apache::thrift::protocol::T_STRUCT, 3);
+ xfer += this->ase.write(oprot);
+ xfer += oprot->writeFieldEnd();
+ }
+ xfer += oprot->writeFieldStop();
+ xfer += oprot->writeStructEnd();
+ return xfer;
+}
+
+uint32_t Airavata_searchProjectsByProjectDesc_presult::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+ uint32_t xfer = 0;
+ std::string fname;
+ ::apache::thrift::protocol::TType ftype;
+ int16_t fid;
+
+ xfer += iprot->readStructBegin(fname);
+
+ using ::apache::thrift::protocol::TProtocolException;
+
+
+ while (true)
+ {
+ xfer += iprot->readFieldBegin(fname, ftype, fid);
+ if (ftype == ::apache::thrift::protocol::T_STOP) {
+ break;
+ }
+ switch (fid)
+ {
+ case 0:
+ if (ftype == ::apache::thrift::protocol::T_LIST) {
+ {
+ (*(this->success)).clear();
+ uint32_t _size28;
+ ::apache::thrift::protocol::TType _etype31;
+ xfer += iprot->readListBegin(_etype31, _size28);
+ (*(this->success)).resize(_size28);
+ uint32_t _i32;
+ for (_i32 = 0; _i32 < _size28; ++_i32)
+ {
+ xfer += (*(this->success))[_i32].read(iprot);
+ }
+ xfer += iprot->readListEnd();
+ }
+ this->__isset.success = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 1:
+ if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+ xfer += this->ire.read(iprot);
+ this->__isset.ire = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 2:
+ if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+ xfer += this->ace.read(iprot);
+ this->__isset.ace = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 3:
+ if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+ xfer += this->ase.read(iprot);
+ this->__isset.ase = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ default:
+ xfer += iprot->skip(ftype);
+ break;
+ }
+ xfer += iprot->readFieldEnd();
+ }
+
+ xfer += iprot->readStructEnd();
+
+ return xfer;
+}
+
+uint32_t Airavata_searchExperimentsByName_args::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+ uint32_t xfer = 0;
+ std::string fname;
+ ::apache::thrift::protocol::TType ftype;
+ int16_t fid;
+
+ xfer += iprot->readStructBegin(fname);
+
+ using ::apache::thrift::protocol::TProtocolException;
+
+ bool isset_userName = false;
+ bool isset_expName = false;
+
+ while (true)
+ {
+ xfer += iprot->readFieldBegin(fname, ftype, fid);
+ if (ftype == ::apache::thrift::protocol::T_STOP) {
+ break;
+ }
+ switch (fid)
+ {
+ case 1:
+ if (ftype == ::apache::thrift::protocol::T_STRING) {
+ xfer += iprot->readString(this->userName);
+ isset_userName = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 2:
+ if (ftype == ::apache::thrift::protocol::T_STRING) {
+ xfer += iprot->readString(this->expName);
+ isset_expName = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ default:
+ xfer += iprot->skip(ftype);
+ break;
+ }
+ xfer += iprot->readFieldEnd();
+ }
+
+ xfer += iprot->readStructEnd();
+
+ if (!isset_userName)
+ throw TProtocolException(TProtocolException::INVALID_DATA);
+ if (!isset_expName)
+ throw TProtocolException(TProtocolException::INVALID_DATA);
+ return xfer;
+}
+
+uint32_t Airavata_searchExperimentsByName_args::write(::apache::thrift::protocol::TProtocol* oprot) const {
+ uint32_t xfer = 0;
+ xfer += oprot->writeStructBegin("Airavata_searchExperimentsByName_args");
+
+ xfer += oprot->writeFieldBegin("userName", ::apache::thrift::protocol::T_STRING, 1);
+ xfer += oprot->writeString(this->userName);
+ xfer += oprot->writeFieldEnd();
+
+ xfer += oprot->writeFieldBegin("expName", ::apache::thrift::protocol::T_STRING, 2);
+ xfer += oprot->writeString(this->expName);
+ xfer += oprot->writeFieldEnd();
+
+ xfer += oprot->writeFieldStop();
+ xfer += oprot->writeStructEnd();
+ return xfer;
+}
+
+uint32_t Airavata_searchExperimentsByName_pargs::write(::apache::thrift::protocol::TProtocol* oprot) const {
+ uint32_t xfer = 0;
+ xfer += oprot->writeStructBegin("Airavata_searchExperimentsByName_pargs");
+
+ xfer += oprot->writeFieldBegin("userName", ::apache::thrift::protocol::T_STRING, 1);
+ xfer += oprot->writeString((*(this->userName)));
+ xfer += oprot->writeFieldEnd();
+
+ xfer += oprot->writeFieldBegin("expName", ::apache::thrift::protocol::T_STRING, 2);
+ xfer += oprot->writeString((*(this->expName)));
+ xfer += oprot->writeFieldEnd();
+
+ xfer += oprot->writeFieldStop();
+ xfer += oprot->writeStructEnd();
+ return xfer;
+}
+
+uint32_t Airavata_searchExperimentsByName_result::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+ uint32_t xfer = 0;
+ std::string fname;
+ ::apache::thrift::protocol::TType ftype;
+ int16_t fid;
+
+ xfer += iprot->readStructBegin(fname);
+
+ using ::apache::thrift::protocol::TProtocolException;
+
+
+ while (true)
+ {
+ xfer += iprot->readFieldBegin(fname, ftype, fid);
+ if (ftype == ::apache::thrift::protocol::T_STOP) {
+ break;
+ }
+ switch (fid)
+ {
+ case 0:
+ if (ftype == ::apache::thrift::protocol::T_LIST) {
+ {
+ this->success.clear();
+ uint32_t _size33;
+ ::apache::thrift::protocol::TType _etype36;
+ xfer += iprot->readListBegin(_etype36, _size33);
+ this->success.resize(_size33);
+ uint32_t _i37;
+ for (_i37 = 0; _i37 < _size33; ++_i37)
+ {
+ xfer += this->success[_i37].read(iprot);
+ }
+ xfer += iprot->readListEnd();
+ }
+ this->__isset.success = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 1:
+ if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+ xfer += this->ire.read(iprot);
+ this->__isset.ire = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 2:
+ if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+ xfer += this->ace.read(iprot);
+ this->__isset.ace = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 3:
+ if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+ xfer += this->ase.read(iprot);
+ this->__isset.ase = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ default:
+ xfer += iprot->skip(ftype);
+ break;
+ }
+ xfer += iprot->readFieldEnd();
+ }
+
+ xfer += iprot->readStructEnd();
+
+ return xfer;
+}
+
+uint32_t Airavata_searchExperimentsByName_result::write(::apache::thrift::protocol::TProtocol* oprot) const {
+
+ uint32_t xfer = 0;
+
+ xfer += oprot->writeStructBegin("Airavata_searchExperimentsByName_result");
+
+ if (this->__isset.success) {
+ xfer += oprot->writeFieldBegin("success", ::apache::thrift::protocol::T_LIST, 0);
+ {
+ xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>(this->success.size()));
+ std::vector< ::apache::airavata::model::workspace::experiment::ExperimentSummary> ::const_iterator _iter38;
+ for (_iter38 = this->success.begin(); _iter38 != this->success.end(); ++_iter38)
+ {
+ xfer += (*_iter38).write(oprot);
+ }
+ xfer += oprot->writeListEnd();
+ }
+ xfer += oprot->writeFieldEnd();
+ } else if (this->__isset.ire) {
+ xfer += oprot->writeFieldBegin("ire", ::apache::thrift::protocol::T_STRUCT, 1);
+ xfer += this->ire.write(oprot);
+ xfer += oprot->writeFieldEnd();
+ } else if (this->__isset.ace) {
+ xfer += oprot->writeFieldBegin("ace", ::apache::thrift::protocol::T_STRUCT, 2);
+ xfer += this->ace.write(oprot);
+ xfer += oprot->writeFieldEnd();
+ } else if (this->__isset.ase) {
+ xfer += oprot->writeFieldBegin("ase", ::apache::thrift::protocol::T_STRUCT, 3);
+ xfer += this->ase.write(oprot);
+ xfer += oprot->writeFieldEnd();
+ }
+ xfer += oprot->writeFieldStop();
+ xfer += oprot->writeStructEnd();
+ return xfer;
+}
+
+uint32_t Airavata_searchExperimentsByName_presult::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+ uint32_t xfer = 0;
+ std::string fname;
+ ::apache::thrift::protocol::TType ftype;
+ int16_t fid;
+
+ xfer += iprot->readStructBegin(fname);
+
+ using ::apache::thrift::protocol::TProtocolException;
+
+
+ while (true)
+ {
+ xfer += iprot->readFieldBegin(fname, ftype, fid);
+ if (ftype == ::apache::thrift::protocol::T_STOP) {
+ break;
+ }
+ switch (fid)
+ {
+ case 0:
+ if (ftype == ::apache::thrift::protocol::T_LIST) {
+ {
+ (*(this->success)).clear();
+ uint32_t _size39;
+ ::apache::thrift::protocol::TType _etype42;
+ xfer += iprot->readListBegin(_etype42, _size39);
+ (*(this->success)).resize(_size39);
+ uint32_t _i43;
+ for (_i43 = 0; _i43 < _size39; ++_i43)
+ {
+ xfer += (*(this->success))[_i43].read(iprot);
+ }
+ xfer += iprot->readListEnd();
+ }
+ this->__isset.success = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 1:
+ if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+ xfer += this->ire.read(iprot);
+ this->__isset.ire = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 2:
+ if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+ xfer += this->ace.read(iprot);
+ this->__isset.ace = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 3:
+ if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+ xfer += this->ase.read(iprot);
+ this->__isset.ase = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ default:
+ xfer += iprot->skip(ftype);
+ break;
+ }
+ xfer += iprot->readFieldEnd();
+ }
+
+ xfer += iprot->readStructEnd();
+
+ return xfer;
+}
+
+uint32_t Airavata_searchExperimentsByDesc_args::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+ uint32_t xfer = 0;
+ std::string fname;
+ ::apache::thrift::protocol::TType ftype;
+ int16_t fid;
+
+ xfer += iprot->readStructBegin(fname);
+
+ using ::apache::thrift::protocol::TProtocolException;
+
+ bool isset_userName = false;
+ bool isset_description = false;
+
+ while (true)
+ {
+ xfer += iprot->readFieldBegin(fname, ftype, fid);
+ if (ftype == ::apache::thrift::protocol::T_STOP) {
+ break;
+ }
+ switch (fid)
+ {
+ case 1:
+ if (ftype == ::apache::thrift::protocol::T_STRING) {
+ xfer += iprot->readString(this->userName);
+ isset_userName = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 2:
+ if (ftype == ::apache::thrift::protocol::T_STRING) {
+ xfer += iprot->readString(this->description);
+ isset_description = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ default:
+ xfer += iprot->skip(ftype);
+ break;
+ }
+ xfer += iprot->readFieldEnd();
+ }
+
+ xfer += iprot->readStructEnd();
+
+ if (!isset_userName)
+ throw TProtocolException(TProtocolException::INVALID_DATA);
+ if (!isset_description)
+ throw TProtocolException(TProtocolException::INVALID_DATA);
+ return xfer;
+}
+
+uint32_t Airavata_searchExperimentsByDesc_args::write(::apache::thrift::protocol::TProtocol* oprot) const {
+ uint32_t xfer = 0;
+ xfer += oprot->writeStructBegin("Airavata_searchExperimentsByDesc_args");
+
+ xfer += oprot->writeFieldBegin("userName", ::apache::thrift::protocol::T_STRING, 1);
+ xfer += oprot->writeString(this->userName);
+ xfer += oprot->writeFieldEnd();
+
+ xfer += oprot->writeFieldBegin("description", ::apache::thrift::protocol::T_STRING, 2);
+ xfer += oprot->writeString(this->description);
+ xfer += oprot->writeFieldEnd();
+
+ xfer += oprot->writeFieldStop();
+ xfer += oprot->writeStructEnd();
+ return xfer;
+}
+
+uint32_t Airavata_searchExperimentsByDesc_pargs::write(::apache::thrift::protocol::TProtocol* oprot) const {
+ uint32_t xfer = 0;
+ xfer += oprot->writeStructBegin("Airavata_searchExperimentsByDesc_pargs");
+
+ xfer += oprot->writeFieldBegin("userName", ::apache::thrift::protocol::T_STRING, 1);
+ xfer += oprot->writeString((*(this->userName)));
+ xfer += oprot->writeFieldEnd();
+
+ xfer += oprot->writeFieldBegin("description", ::apache::thrift::protocol::T_STRING, 2);
+ xfer += oprot->writeString((*(this->description)));
+ xfer += oprot->writeFieldEnd();
+
+ xfer += oprot->writeFieldStop();
+ xfer += oprot->writeStructEnd();
+ return xfer;
+}
+
+uint32_t Airavata_searchExperimentsByDesc_result::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+ uint32_t xfer = 0;
+ std::string fname;
+ ::apache::thrift::protocol::TType ftype;
+ int16_t fid;
+
+ xfer += iprot->readStructBegin(fname);
+
+ using ::apache::thrift::protocol::TProtocolException;
+
+
+ while (true)
+ {
+ xfer += iprot->readFieldBegin(fname, ftype, fid);
+ if (ftype == ::apache::thrift::protocol::T_STOP) {
+ break;
+ }
+ switch (fid)
+ {
+ case 0:
+ if (ftype == ::apache::thrift::protocol::T_LIST) {
+ {
+ this->success.clear();
+ uint32_t _size44;
+ ::apache::thrift::protocol::TType _etype47;
+ xfer += iprot->readListBegin(_etype47, _size44);
+ this->success.resize(_size44);
+ uint32_t _i48;
+ for (_i48 = 0; _i48 < _size44; ++_i48)
+ {
+ xfer += this->success[_i48].read(iprot);
+ }
+ xfer += iprot->readListEnd();
+ }
+ this->__isset.success = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 1:
+ if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+ xfer += this->ire.read(iprot);
+ this->__isset.ire = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 2:
+ if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+ xfer += this->ace.read(iprot);
+ this->__isset.ace = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 3:
+ if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+ xfer += this->ase.read(iprot);
+ this->__isset.ase = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ default:
+ xfer += iprot->skip(ftype);
+ break;
+ }
+ xfer += iprot->readFieldEnd();
+ }
+
+ xfer += iprot->readStructEnd();
+
+ return xfer;
+}
+
+uint32_t Airavata_searchExperimentsByDesc_result::write(::apache::thrift::protocol::TProtocol* oprot) const {
+
+ uint32_t xfer = 0;
+
+ xfer += oprot->writeStructBegin("Airavata_searchExperimentsByDesc_result");
+
+ if (this->__isset.success) {
+ xfer += oprot->writeFieldBegin("success", ::apache::thrift::protocol::T_LIST, 0);
+ {
+ xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>(this->success.size()));
+ std::vector< ::apache::airavata::model::workspace::experiment::ExperimentSummary> ::const_iterator _iter49;
+ for (_iter49 = this->success.begin(); _iter49 != this->success.end(); ++_iter49)
+ {
+ xfer += (*_iter49).write(oprot);
+ }
+ xfer += oprot->writeListEnd();
+ }
+ xfer += oprot->writeFieldEnd();
+ } else if (this->__isset.ire) {
+ xfer += oprot->writeFieldBegin("ire", ::apache::thrift::protocol::T_STRUCT, 1);
+ xfer += this->ire.write(oprot);
+ xfer += oprot->writeFieldEnd();
+ } else if (this->__isset.ace) {
+ xfer += oprot->writeFieldBegin("ace", ::apache::thrift::protocol::T_STRUCT, 2);
+ xfer += this->ace.write(oprot);
+ xfer += oprot->writeFieldEnd();
+ } else if (this->__isset.ase) {
+ xfer += oprot->writeFieldBegin("ase", ::apache::thrift::protocol::T_STRUCT, 3);
+ xfer += this->ase.write(oprot);
+ xfer += oprot->writeFieldEnd();
+ }
+ xfer += oprot->writeFieldStop();
+ xfer += oprot->writeStructEnd();
+ return xfer;
+}
+
+uint32_t Airavata_searchExperimentsByDesc_presult::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+ uint32_t xfer = 0;
+ std::string fname;
+ ::apache::thrift::protocol::TType ftype;
+ int16_t fid;
+
+ xfer += iprot->readStructBegin(fname);
+
+ using ::apache::thrift::protocol::TProtocolException;
+
+
+ while (true)
+ {
+ xfer += iprot->readFieldBegin(fname, ftype, fid);
+ if (ftype == ::apache::thrift::protocol::T_STOP) {
+ break;
+ }
+ switch (fid)
+ {
+ case 0:
+ if (ftype == ::apache::thrift::protocol::T_LIST) {
+ {
+ (*(this->success)).clear();
+ uint32_t _size50;
+ ::apache::thrift::protocol::TType _etype53;
+ xfer += iprot->readListBegin(_etype53, _size50);
+ (*(this->success)).resize(_size50);
+ uint32_t _i54;
+ for (_i54 = 0; _i54 < _size50; ++_i54)
+ {
+ xfer += (*(this->success))[_i54].read(iprot);
+ }
+ xfer += iprot->readListEnd();
+ }
+ this->__isset.success = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 1:
+ if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+ xfer += this->ire.read(iprot);
+ this->__isset.ire = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 2:
+ if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+ xfer += this->ace.read(iprot);
+ this->__isset.ace = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 3:
+ if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+ xfer += this->ase.read(iprot);
+ this->__isset.ase = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ default:
+ xfer += iprot->skip(ftype);
+ break;
+ }
+ xfer += iprot->readFieldEnd();
+ }
+
+ xfer += iprot->readStructEnd();
+
+ return xfer;
+}
+
+uint32_t Airavata_searchExperimentsByApplication_args::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+ uint32_t xfer = 0;
+ std::string fname;
+ ::apache::thrift::protocol::TType ftype;
+ int16_t fid;
+
+ xfer += iprot->readStructBegin(fname);
+
+ using ::apache::thrift::protocol::TProtocolException;
+
+ bool isset_userName = false;
+ bool isset_applicationId = false;
+
+ while (true)
+ {
+ xfer += iprot->readFieldBegin(fname, ftype, fid);
+ if (ftype == ::apache::thrift::protocol::T_STOP) {
+ break;
+ }
+ switch (fid)
+ {
+ case 1:
+ if (ftype == ::apache::thrift::protocol::T_STRING) {
+ xfer += iprot->readString(this->userName);
+ isset_userName = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 2:
+ if (ftype == ::apache::thrift::protocol::T_STRING) {
+ xfer += iprot->readString(this->applicationId);
+ isset_applicationId = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ default:
+ xfer += iprot->skip(ftype);
+ break;
+ }
+ xfer += iprot->readFieldEnd();
+ }
+
+ xfer += iprot->readStructEnd();
+
+ if (!isset_userName)
+ throw TProtocolException(TProtocolException::INVALID_DATA);
+ if (!isset_applicationId)
+ throw TProtocolException(TProtocolException::INVALID_DATA);
+ return xfer;
+}
+
+uint32_t Airavata_searchExperimentsByApplication_args::write(::apache::thrift::protocol::TProtocol* oprot) const {
+ uint32_t xfer = 0;
+ xfer += oprot->writeStructBegin("Airavata_searchExperimentsByApplication_args");
+
+ xfer += oprot->writeFieldBegin("userName", ::apache::thrift::protocol::T_STRING, 1);
+ xfer += oprot->writeString(this->userName);
+ xfer += oprot->writeFieldEnd();
+
+ xfer += oprot->writeFieldBegin("applicationId", ::apache::thrift::protocol::T_STRING, 2);
+ xfer += oprot->writeString(this->applicationId);
+ xfer += oprot->writeFieldEnd();
+
+ xfer += oprot->writeFieldStop();
+ xfer += oprot->writeStructEnd();
+ return xfer;
+}
+
+uint32_t Airavata_searchExperimentsByApplication_pargs::write(::apache::thrift::protocol::TProtocol* oprot) const {
+ uint32_t xfer = 0;
+ xfer += oprot->writeStructBegin("Airavata_searchExperimentsByApplication_pargs");
+
+ xfer += oprot->writeFieldBegin("userName", ::apache::thrift::protocol::T_STRING, 1);
+ xfer += oprot->writeString((*(this->userName)));
+ xfer += oprot->writeFieldEnd();
+
+ xfer += oprot->writeFieldBegin("applicationId", ::apache::thrift::protocol::T_STRING, 2);
+ xfer += oprot->writeString((*(this->applicationId)));
+ xfer += oprot->writeFieldEnd();
+
+ xfer += oprot->writeFieldStop();
+ xfer += oprot->writeStructEnd();
+ return xfer;
+}
+
+uint32_t Airavata_searchExperimentsByApplication_result::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+ uint32_t xfer = 0;
+ std::string fname;
+ ::apache::thrift::protocol::TType ftype;
+ int16_t fid;
+
+ xfer += iprot->readStructBegin(fname);
+
+ using ::apache::thrift::protocol::TProtocolException;
+
+
+ while (true)
+ {
+ xfer += iprot->readFieldBegin(fname, ftype, fid);
+ if (ftype == ::apache::thrift::protocol::T_STOP) {
+ break;
+ }
+ switch (fid)
+ {
+ case 0:
+ if (ftype == ::apache::thrift::protocol::T_LIST) {
+ {
+ this->success.clear();
+ uint32_t _size55;
+ ::apache::thrift::protocol::TType _etype58;
+ xfer += iprot->readListBegin(_etype58, _size55);
+ this->success.resize(_size55);
+ uint32_t _i59;
+ for (_i59 = 0; _i59 < _size55; ++_i59)
+ {
+ xfer += this->success[_i59].read(iprot);
+ }
+ xfer += iprot->readListEnd();
+ }
+ this->__isset.success = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 1:
+ if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+ xfer += this->ire.read(iprot);
+ this->__isset.ire = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 2:
+ if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+ xfer += this->ace.read(iprot);
+ this->__isset.ace = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 3:
+ if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+ xfer += this->ase.read(iprot);
+ this->__isset.ase = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ default:
+ xfer += iprot->skip(ftype);
+ break;
+ }
+ xfer += iprot->readFieldEnd();
+ }
+
+ xfer += iprot->readStructEnd();
+
+ return xfer;
+}
+
+uint32_t Airavata_searchExperimentsByApplication_result::write(::apache::thrift::protocol::TProtocol* oprot) const {
+
+ uint32_t xfer = 0;
+
+ xfer += oprot->writeStructBegin("Airavata_searchExperimentsByApplication_result");
+
+ if (this->__isset.success) {
+ xfer += oprot->writeFieldBegin("success", ::apache::thrift::protocol::T_LIST, 0);
+ {
+ xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>(this->success.size()));
+ std::vector< ::apache::airavata::model::workspace::experiment::ExperimentSummary> ::const_iterator _iter60;
+ for (_iter60 = this->success.begin(); _iter60 != this->success.end(); ++_iter60)
+ {
+ xfer += (*_iter60).write(oprot);
+ }
+ xfer += oprot->writeListEnd();
+ }
+ xfer += oprot->writeFieldEnd();
+ } else if (this->__isset.ire) {
+ xfer += oprot->writeFieldBegin("ire", ::apache::thrift::protocol::T_STRUCT, 1);
+ xfer += this->ire.write(oprot);
+ xfer += oprot->writeFieldEnd();
+ } else if (this->__isset.ace) {
+ xfer += oprot->writeFieldBegin("ace", ::apache::thrift::protocol::T_STRUCT, 2);
+ xfer += this->ace.write(oprot);
+ xfer += oprot->writeFieldEnd();
+ } else if (this->__isset.ase) {
+ xfer += oprot->writeFieldBegin("ase", ::apache::thrift::protocol::T_STRUCT, 3);
+ xfer += this->ase.write(oprot);
+ xfer += oprot->writeFieldEnd();
+ }
+ xfer += oprot->writeFieldStop();
+ xfer += oprot->writeStructEnd();
+ return xfer;
+}
+
+uint32_t Airavata_searchExperimentsByApplication_presult::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+ uint32_t xfer = 0;
+ std::string fname;
+ ::apache::thrift::protocol::TType ftype;
+ int16_t fid;
+
+ xfer += iprot->readStructBegin(fname);
+
+ using ::apache::thrift::protocol::TProtocolException;
+
+
+ while (true)
+ {
+ xfer += iprot->readFieldBegin(fname, ftype, fid);
+ if (ftype == ::apache::thrift::protocol::T_STOP) {
+ break;
+ }
+ switch (fid)
+ {
+ case 0:
+ if (ftype == ::apache::thrift::protocol::T_LIST) {
+ {
+ (*(this->success)).clear();
+ uint32_t _size61;
+ ::apache::thrift::protocol::TType _etype64;
+ xfer += iprot->readListBegin(_etype64, _size61);
+ (*(this->success)).resize(_size61);
+ uint32_t _i65;
+ for (_i65 = 0; _i65 < _size61; ++_i65)
+ {
+ xfer += (*(this->success))[_i65].read(iprot);
+ }
+ xfer += iprot->readListEnd();
+ }
+ this->__isset.success = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 1:
+ if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+ xfer += this->ire.read(iprot);
+ this->__isset.ire = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 2:
+ if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+ xfer += this->ace.read(iprot);
+ this->__isset.ace = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 3:
+ if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+ xfer += this->ase.read(iprot);
+ this->__isset.ase = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ default:
+ xfer += iprot->skip(ftype);
+ break;
+ }
+ xfer += iprot->readFieldEnd();
+ }
+
+ xfer += iprot->readStructEnd();
+
+ return xfer;
+}
+
+uint32_t Airavata_getAllExperimentsInProject_args::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+ uint32_t xfer = 0;
+ std::string fname;
+ ::apache::thrift::protocol::TType ftype;
+ int16_t fid;
+
+ xfer += iprot->readStructBegin(fname);
+
+ using ::apache::thrift::protocol::TProtocolException;
+
+ bool isset_projectId = false;
+
+ while (true)
+ {
+ xfer += iprot->readFieldBegin(fname, ftype, fid);
+ if (ftype == ::apache::thrift::protocol::T_STOP) {
+ break;
+ }
+ switch (fid)
+ {
+ case 1:
+ if (ftype == ::apache::thrift::protocol::T_STRING) {
+ xfer += iprot->readString(this->projectId);
+ isset_projectId = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ default:
+ xfer += iprot->skip(ftype);
+ break;
+ }
+ xfer += iprot->readFieldEnd();
+ }
+
+ xfer += iprot->readStructEnd();
+
+ if (!isset_projectId)
+ throw TProtocolException(TProtocolException::INVALID_DATA);
+ return xfer;
+}
+
+uint32_t Airavata_getAllExperimentsInProject_args::write(::apache::thrift::protocol::TProtocol* oprot) const {
+ uint32_t xfer = 0;
+ xfer += oprot->writeStructBegin("Airavata_getAllExperimentsInProject_args");
+
+ xfer += oprot->writeFieldBegin("projectId", ::apache::thrift::protocol::T_STRING, 1);
+ xfer += oprot->writeString(this->projectId);
+ xfer += oprot->writeFieldEnd();
+
+ xfer += oprot->writeFieldStop();
+ xfer += oprot->writeStructEnd();
+ return xfer;
+}
+
+uint32_t Airavata_getAllExperimentsInProject_pargs::write(::apache::thrift::protocol::TProtocol* oprot) const {
+ uint32_t xfer = 0;
+ xfer += oprot->writeStructBegin("Airavata_getAllExperimentsInProject_pargs");
+
+ xfer += oprot->writeFieldBegin("projectId", ::apache::thrift::protocol::T_STRING, 1);
+ xfer += oprot->writeString((*(this->projectId)));
+ xfer += oprot->writeFieldEnd();
+
+ xfer += oprot->writeFieldStop();
+ xfer += oprot->writeStructEnd();
+ return xfer;
+}
+
+uint32_t Airavata_getAllExperimentsInProject_result::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+ uint32_t xfer = 0;
+ std::string fname;
+ ::apache::thrift::protocol::TType ftype;
+ int16_t fid;
+
+ xfer += iprot->readStructBegin(fname);
+
+ using ::apache::thrift::protocol::TProtocolException;
+
+
+ while (true)
+ {
+ xfer += iprot->readFieldBegin(fname, ftype, fid);
+ if (ftype == ::apache::thrift::protocol::T_STOP) {
+ break;
+ }
+ switch (fid)
+ {
+ case 0:
+ if (ftype == ::apache::thrift::protocol::T_LIST) {
+ {
+ this->success.clear();
+ uint32_t _size66;
+ ::apache::thrift::protocol::TType _etype69;
+ xfer += iprot->readListBegin(_etype69, _size66);
+ this->success.resize(_size66);
+ uint32_t _i70;
+ for (_i70 = 0; _i70 < _size66; ++_i70)
+ {
+ xfer += this->success[_i70].read(iprot);
+ }
+ xfer += iprot->readListEnd();
+ }
+ this->__isset.success = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 1:
+ if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+ xfer += this->ire.read(iprot);
+ this->__isset.ire = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 2:
+ if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+ xfer += this->ace.read(iprot);
+ this->__isset.ace = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 3:
+ if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+ xfer += this->ase.read(iprot);
+ this->__isset.ase = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 4:
+ if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+ xfer += this->pnfe.read(iprot);
+ this->__isset.pnfe = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ default:
+ xfer += iprot->skip(ftype);
+ break;
+ }
+ xfer += iprot->readFieldEnd();
+ }
+
+ xfer += iprot->readStructEnd();
+
+ return xfer;
+}
+
+uint32_t Airavata_getAllExperimentsInProject_result::write(::apache::thrift::protocol::TProtocol* oprot) const {
+
+ uint32_t xfer = 0;
+
+ xfer += oprot->writeStructBegin("Airavata_getAllExperimentsInProject_result");
+
+ if (this->__isset.success) {
+ xfer += oprot->writeFieldBegin("success", ::apache::thrift::protocol::T_LIST, 0);
+ {
+ xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>(this->success.size()));
+ std::vector< ::apache::airavata::model::workspace::experiment::Experiment> ::const_iterator _iter71;
+ for (_iter71 = this->success.begin(); _iter71 != this->success.end(); ++_iter71)
+ {
+ xfer += (*_iter71).write(oprot);
+ }
+ xfer += oprot->writeListEnd();
+ }
+ xfer += oprot->writeFieldEnd();
+ } else if (this->__isset.ire) {
+ xfer += oprot->writeFieldBegin("ire", ::apache::thrift::protocol::T_STRUCT, 1);
+ xfer += this->ire.write(oprot);
+ xfer += oprot->writeFieldEnd();
+ } else if (this->__isset.ace) {
+ xfer += oprot->writeFieldBegin("ace", ::apache::thrift::protocol::T_STRUCT, 2);
+ xfer += this->ace.write(oprot);
+ xfer += oprot->writeFieldEnd();
+ } else if (this->__isset.ase) {
+ xfer += oprot->writeFieldBegin("ase", ::apache::thrift::protocol::T_STRUCT, 3);
+ xfer += this->ase.write(oprot);
+ xfer += oprot->writeFieldEnd();
+ } else if (this->__isset.pnfe) {
+ xfer += oprot->writeFieldBegin("pnfe", ::apache::thrift::protocol::T_STRUCT, 4);
+ xfer += this->pnfe.write(oprot);
+ xfer += oprot->writeFieldEnd();
+ }
+ xfer += oprot->writeFieldStop();
+ xfer += oprot->writeStructEnd();
+ return xfer;
+}
+
+uint32_t Airavata_getAllExperimentsInProject_presult::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+ uint32_t xfer = 0;
+ std::string fname;
+ ::apache::thrift::protocol::TType ftype;
+ int16_t fid;
+
+ xfer += iprot->readStructBegin(fname);
+
+ using ::apache::thrift::protocol::TProtocolException;
+
+
+ while (true)
+ {
+ xfer += iprot->readFieldBegin(fname, ftype, fid);
+ if (ftype == ::apache::thrift::protocol::T_STOP) {
+ break;
+ }
+ switch (fid)
+ {
+ case 0:
+ if (ftype == ::apache::thrift::protocol::T_LIST) {
+ {
+ (*(this->success)).clear();
+ uint32_t _size72;
+ ::apache::thrift::protocol::TType _etype75;
+ xfer += iprot->readListBegin(_etype75, _size72);
+ (*(this->success)).resize(_size72);
+ uint32_t _i76;
+ for (_i76 = 0; _i76 < _size72; ++_i76)
+ {
+ xfer += (*(this->success))[_i76].read(iprot);
+ }
+ xfer += iprot->readListEnd();
+ }
+ this->__isset.success = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 1:
+ if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+ xfer += this->ire.read(iprot);
+ this->__isset.ire = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 2:
+ if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+ xfer += this->ace.read(iprot);
+ this->__isset.ace = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 3:
+ if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+ xfer += this->ase.read(iprot);
+ this->__isset.ase = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 4:
+ if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+ xfer += this->pnfe.read(iprot);
+ this->__isset.pnfe = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ default:
+ xfer += iprot->skip(ftype);
+ break;
+ }
+ xfer += iprot->readFieldEnd();
+ }
+
+ xfer += iprot->readStructEnd();
+
+ return xfer;
+}
+
+uint32_t Airavata_getAllUserExperiments_args::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+ uint32_t xfer = 0;
+ std::string fname;
+ ::apache::thrift::protocol::TType ftype;
+ int16_t fid;
+
+ xfer += iprot->readStructBegin(fname);
+
+ using ::apache::thrift::protocol::TProtocolException;
+
+ bool isset_userName = false;
+
+ while (true)
+ {
+ xfer += iprot->readFieldBegin(fname, ftype, fid);
+ if (ftype == ::apache::thrift::protocol::T_STOP) {
+ break;
+ }
+ switch (fid)
+ {
+ case 1:
+ if (ftype == ::apache::thrift::protocol::T_STRING) {
+ xfer += iprot->readString(this->userName);
+ isset_userName = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ default:
+ xfer += iprot->skip(ftype);
+ break;
+ }
+ xfer += iprot->readFieldEnd();
+ }
+
+ xfer += iprot->readStructEnd();
+
+ if (!isset_userName)
+ throw TProtocolException(TProtocolException::INVALID_DATA);
+ return xfer;
+}
+
+uint32_t Airavata_getAllUserExperiments_args::write(::apache::thrift::protocol::TProtocol* oprot) const {
+ uint32_t xfer = 0;
+ xfer += oprot->writeStructBegin("Airavata_getAllUserExperiments_args");
+
+ xfer += oprot->writeFieldBegin("userName", ::apache::thrift::protocol::T_STRING, 1);
+ xfer += oprot->writeString(this->userName);
+ xfer += oprot->writeFieldEnd();
+
+ xfer += oprot->writeFieldStop();
+ xfer += oprot->writeStructEnd();
+ return xfer;
+}
+
+uint32_t Airavata_getAllUserExperiments_pargs::write(::apache::thrift::protocol::TProtocol* oprot) const {
+ uint32_t xfer = 0;
+ xfer += oprot->writeStructBegin("Airavata_getAllUserExperiments_pargs");
+
+ xfer += oprot->writeFieldBegin("userName", ::apache::thrift::protocol::T_STRING, 1);
+ xfer += oprot->writeString((*(this->userName)));
+ xfer += oprot->writeFieldEnd();
+
+ xfer += oprot->writeFieldStop();
+ xfer += oprot->writeStructEnd();
+ return xfer;
+}
+
+uint32_t Airavata_getAllUserExperiments_result::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+ uint32_t xfer = 0;
+ std::string fname;
+ ::apache::thrift::protocol::TType ftype;
+ int16_t fid;
+
+ xfer += iprot->readStructBegin(fname);
+
+ using ::apache::thrift::protocol::TProtocolException;
+
+
+ while (true)
+ {
+ xfer += iprot->readFieldBegin(fname, ftype, fid);
+ if (ftype == ::apache::thrift::protocol::T_STOP) {
+ break;
+ }
+ switch (fid)
+ {
+ case 0:
+ if (ftype == ::apache::thrift::protocol::T_LIST) {
+ {
+ this->success.clear();
+ uint32_t _size77;
+ ::apache::thrift::protocol::TType _etype80;
+ xfer += iprot->readListBegin(_etype80, _size77);
+ this->success.resize(_size77);
+ uint32_t _i81;
+ for (_i81 = 0; _i81 < _size77; ++_i81)
+ {
+ xfer += this->success[_i81].read(iprot);
+ }
+ xfer += iprot->readListEnd();
+ }
+ this->__isset.success = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 1:
+ if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+ xfer += this->ire.read(iprot);
+ this->__isset.ire = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 2:
+ if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+ xfer += this->ace.read(iprot);
+ this->__isset.ace = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 3:
+ if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+ xfer += this->ase.read(iprot);
+ this->__isset.ase = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ default:
+ xfer += iprot->skip(ftype);
+ break;
+ }
+ xfer += iprot->readFieldEnd();
+ }
+
+ xfer += iprot->readStructEnd();
+
+ return xfer;
+}
+
+uint32_t Airavata_getAllUserExperiments_result::write(::apache::thrift::protocol::TProtocol* oprot) const {
+
+ uint32_t xfer = 0;
+
+ xfer += oprot->writeStructBegin("Airavata_getAllUserExperiments_result");
+
+ if (this->__isset.success) {
+ xfer += oprot->writeFieldBegin("success", ::apache::thrift::protocol::T_LIST, 0);
+ {
+ xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>(this->success.size()));
+ std::vector< ::apache::airavata::model::workspace::experiment::Experiment> ::const_iterator _iter82;
+ for (_iter82 = this->success.begin(); _iter82 != this->success.end(); ++_iter82)
+ {
+ xfer += (*_iter82).write(oprot);
+ }
+ xfer += oprot->writeListEnd();
+ }
+ xfer += oprot->writeFieldEnd();
+ } else if (this->__isset.ire) {
+ xfer += oprot->writeFieldBegin("ire", ::apache::thrift::protocol::T_STRUCT, 1);
+ xfer += this->ire.write(oprot);
+ xfer += oprot->writeFieldEnd();
+ } else if (this->__isset.ace) {
+ xfer += oprot->writeFieldBegin("ace", ::apache::thrift::protocol
<TRUNCATED>
[25/47] Added c++ client samples for integrattion of airavata with
any other application's c++ interface
Posted by sm...@apache.org.
http://git-wip-us.apache.org/repos/asf/airavata/blob/f891b7dc/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/Airavata.h
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/Airavata.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/Airavata.h
new file mode 100644
index 0000000..8dc1706
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/Airavata.h
@@ -0,0 +1,11188 @@
+/**
+ * Autogenerated by Thrift Compiler (0.9.1)
+ *
+ * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+ * @generated
+ */
+#ifndef Airavata_H
+#define Airavata_H
+
+#include <thrift/TDispatchProcessor.h>
+#include "airavataAPI_types.h"
+
+namespace apache { namespace airavata { namespace api {
+
+class AiravataIf {
+ public:
+ virtual ~AiravataIf() {}
+ virtual void getAPIVersion(std::string& _return) = 0;
+ virtual void createProject(std::string& _return, const ::apache::airavata::model::workspace::Project& project) = 0;
+ virtual void updateProject(const std::string& projectId, const ::apache::airavata::model::workspace::Project& updatedProject) = 0;
+ virtual void getProject( ::apache::airavata::model::workspace::Project& _return, const std::string& projectId) = 0;
+ virtual void getAllUserProjects(std::vector< ::apache::airavata::model::workspace::Project> & _return, const std::string& userName) = 0;
+ virtual void searchProjectsByProjectName(std::vector< ::apache::airavata::model::workspace::Project> & _return, const std::string& userName, const std::string& projectName) = 0;
+ virtual void searchProjectsByProjectDesc(std::vector< ::apache::airavata::model::workspace::Project> & _return, const std::string& userName, const std::string& description) = 0;
+ virtual void searchExperimentsByName(std::vector< ::apache::airavata::model::workspace::experiment::ExperimentSummary> & _return, const std::string& userName, const std::string& expName) = 0;
+ virtual void searchExperimentsByDesc(std::vector< ::apache::airavata::model::workspace::experiment::ExperimentSummary> & _return, const std::string& userName, const std::string& description) = 0;
+ virtual void searchExperimentsByApplication(std::vector< ::apache::airavata::model::workspace::experiment::ExperimentSummary> & _return, const std::string& userName, const std::string& applicationId) = 0;
+ virtual void getAllExperimentsInProject(std::vector< ::apache::airavata::model::workspace::experiment::Experiment> & _return, const std::string& projectId) = 0;
+ virtual void getAllUserExperiments(std::vector< ::apache::airavata::model::workspace::experiment::Experiment> & _return, const std::string& userName) = 0;
+ virtual void createExperiment(std::string& _return, const ::apache::airavata::model::workspace::experiment::Experiment& experiment) = 0;
+ virtual void getExperiment( ::apache::airavata::model::workspace::experiment::Experiment& _return, const std::string& airavataExperimentId) = 0;
+ virtual void updateExperiment(const std::string& airavataExperimentId, const ::apache::airavata::model::workspace::experiment::Experiment& experiment) = 0;
+ virtual void updateExperimentConfiguration(const std::string& airavataExperimentId, const ::apache::airavata::model::workspace::experiment::UserConfigurationData& userConfiguration) = 0;
+ virtual void updateResourceScheduleing(const std::string& airavataExperimentId, const ::apache::airavata::model::workspace::experiment::ComputationalResourceScheduling& resourceScheduling) = 0;
+ virtual bool validateExperiment(const std::string& airavataExperimentId) = 0;
+ virtual void launchExperiment(const std::string& airavataExperimentId, const std::string& airavataCredStoreToken) = 0;
+ virtual void getExperimentStatus( ::apache::airavata::model::workspace::experiment::ExperimentStatus& _return, const std::string& airavataExperimentId) = 0;
+ virtual void getExperimentOutputs(std::vector< ::apache::airavata::model::workspace::experiment::DataObjectType> & _return, const std::string& airavataExperimentId) = 0;
+ virtual void getJobStatuses(std::map<std::string, ::apache::airavata::model::workspace::experiment::JobStatus> & _return, const std::string& airavataExperimentId) = 0;
+ virtual void cloneExperiment(std::string& _return, const std::string& existingExperimentID, const std::string& newExperimentName) = 0;
+ virtual void terminateExperiment(const std::string& airavataExperimentId) = 0;
+ virtual void registerApplicationModule(std::string& _return, const ::apache::airavata::model::appcatalog::appdeployment::ApplicationModule& applicationModule) = 0;
+ virtual void getApplicationModule( ::apache::airavata::model::appcatalog::appdeployment::ApplicationModule& _return, const std::string& appModuleId) = 0;
+ virtual bool updateApplicationModule(const std::string& appModuleId, const ::apache::airavata::model::appcatalog::appdeployment::ApplicationModule& applicationModule) = 0;
+ virtual bool deleteApplicationModule(const std::string& appModuleId) = 0;
+ virtual void registerApplicationDeployment(std::string& _return, const ::apache::airavata::model::appcatalog::appdeployment::ApplicationDeploymentDescription& applicationDeployment) = 0;
+ virtual void getApplicationDeployment( ::apache::airavata::model::appcatalog::appdeployment::ApplicationDeploymentDescription& _return, const std::string& appDeploymentId) = 0;
+ virtual bool updateApplicationDeployment(const std::string& appDeploymentId, const ::apache::airavata::model::appcatalog::appdeployment::ApplicationDeploymentDescription& applicationDeployment) = 0;
+ virtual bool deleteApplicationDeployment(const std::string& appDeploymentId) = 0;
+ virtual void getAppModuleDeployedResources(std::vector<std::string> & _return, const std::string& appModuleId) = 0;
+ virtual void registerApplicationInterface(std::string& _return, const ::apache::airavata::model::appcatalog::appinterface::ApplicationInterfaceDescription& applicationInterface) = 0;
+ virtual void getApplicationInterface( ::apache::airavata::model::appcatalog::appinterface::ApplicationInterfaceDescription& _return, const std::string& appInterfaceId) = 0;
+ virtual bool updateApplicationInterface(const std::string& appInterfaceId, const ::apache::airavata::model::appcatalog::appinterface::ApplicationInterfaceDescription& applicationInterface) = 0;
+ virtual bool deleteApplicationInterface(const std::string& appInterfaceId) = 0;
+ virtual void getAllApplicationInterfaceNames(std::map<std::string, std::string> & _return) = 0;
+ virtual void getAllApplicationInterfaces(std::vector< ::apache::airavata::model::appcatalog::appinterface::ApplicationInterfaceDescription> & _return) = 0;
+ virtual void getApplicationInputs(std::vector< ::apache::airavata::model::appcatalog::appinterface::InputDataObjectType> & _return, const std::string& appInterfaceId) = 0;
+ virtual void getApplicationOutputs(std::vector< ::apache::airavata::model::appcatalog::appinterface::OutputDataObjectType> & _return, const std::string& appInterfaceId) = 0;
+ virtual void getAvailableAppInterfaceComputeResources(std::map<std::string, std::string> & _return, const std::string& appInterfaceId) = 0;
+ virtual void registerComputeResource(std::string& _return, const ::apache::airavata::model::appcatalog::computeresource::ComputeResourceDescription& computeResourceDescription) = 0;
+ virtual void getComputeResource( ::apache::airavata::model::appcatalog::computeresource::ComputeResourceDescription& _return, const std::string& computeResourceId) = 0;
+ virtual void getAllComputeResourceNames(std::map<std::string, std::string> & _return) = 0;
+ virtual bool updateComputeResource(const std::string& computeResourceId, const ::apache::airavata::model::appcatalog::computeresource::ComputeResourceDescription& computeResourceDescription) = 0;
+ virtual bool deleteComputeResource(const std::string& computeResourceId) = 0;
+ virtual bool addLocalSubmissionDetails(const std::string& computeResourceId, const int32_t priorityOrder, const ::apache::airavata::model::appcatalog::computeresource::LOCALSubmission& localSubmission) = 0;
+ virtual bool updateLocalSubmissionDetails(const std::string& jobSubmissionInterfaceId, const ::apache::airavata::model::appcatalog::computeresource::LOCALSubmission& localSubmission) = 0;
+ virtual bool addSSHJobSubmissionDetails(const std::string& computeResourceId, const int32_t priorityOrder, const ::apache::airavata::model::appcatalog::computeresource::SSHJobSubmission& sshJobSubmission) = 0;
+ virtual bool updateSSHJobSubmissionDetails(const std::string& jobSubmissionInterfaceId, const ::apache::airavata::model::appcatalog::computeresource::SSHJobSubmission& sshJobSubmission) = 0;
+ virtual bool addLocalDataMovementDetails(const std::string& computeResourceId, const int32_t priorityOrder, const ::apache::airavata::model::appcatalog::computeresource::LOCALDataMovement& localDataMovement) = 0;
+ virtual bool updateLocalDataMovementDetails(const std::string& jobSubmissionInterfaceId, const ::apache::airavata::model::appcatalog::computeresource::LOCALDataMovement& localDataMovement) = 0;
+ virtual bool addSCPDataMovementDetails(const std::string& computeResourceId, const int32_t priorityOrder, const ::apache::airavata::model::appcatalog::computeresource::SCPDataMovement& scpDataMovement) = 0;
+ virtual bool updateSCPDataMovementDetails(const std::string& jobSubmissionInterfaceId, const ::apache::airavata::model::appcatalog::computeresource::SCPDataMovement& scpDataMovement) = 0;
+ virtual bool addGridFTPDataMovementDetails(const std::string& computeResourceId, const int32_t priorityOrder, const ::apache::airavata::model::appcatalog::computeresource::GridFTPDataMovement& gridFTPDataMovement) = 0;
+ virtual bool updateGridFTPDataMovementDetails(const std::string& jobSubmissionInterfaceId, const ::apache::airavata::model::appcatalog::computeresource::GridFTPDataMovement& gridFTPDataMovement) = 0;
+ virtual bool changeJobSubmissionPriority(const std::string& jobSubmissionInterfaceId, const int32_t newPriorityOrder) = 0;
+ virtual bool changeDataMovementPriority(const std::string& dataMovementInterfaceId, const int32_t newPriorityOrder) = 0;
+ virtual bool changeJobSubmissionPriorities(const std::map<std::string, int32_t> & jobSubmissionPriorityMap) = 0;
+ virtual bool changeDataMovementPriorities(const std::map<std::string, int32_t> & dataMovementPriorityMap) = 0;
+ virtual bool deleteJobSubmissionInterface(const std::string& jobSubmissionInterfaceId) = 0;
+ virtual bool deleteDataMovementInterface(const std::string& dataMovementInterfaceId) = 0;
+ virtual void registerGatewayResourceProfile(std::string& _return, const ::apache::airavata::model::appcatalog::gatewayprofile::GatewayResourceProfile& gatewayResourceProfile) = 0;
+ virtual void getGatewayResourceProfile( ::apache::airavata::model::appcatalog::gatewayprofile::GatewayResourceProfile& _return, const std::string& gatewayID) = 0;
+ virtual bool updateGatewayResourceProfile(const std::string& gatewayID, const ::apache::airavata::model::appcatalog::gatewayprofile::GatewayResourceProfile& gatewayResourceProfile) = 0;
+ virtual bool deleteGatewayResourceProfile(const std::string& gatewayID) = 0;
+ virtual bool addGatewayComputeResourcePreference(const std::string& gatewayID, const std::string& computeResourceId, const ::apache::airavata::model::appcatalog::gatewayprofile::ComputeResourcePreference& computeResourcePreference) = 0;
+ virtual void getGatewayComputeResourcePreference( ::apache::airavata::model::appcatalog::gatewayprofile::ComputeResourcePreference& _return, const std::string& gatewayID, const std::string& computeResourceId) = 0;
+ virtual void getAllGatewayComputeResourcePreferences(std::vector< ::apache::airavata::model::appcatalog::gatewayprofile::ComputeResourcePreference> & _return, const std::string& gatewayID) = 0;
+ virtual bool updateGatewayComputeResourcePreference(const std::string& gatewayID, const std::string& computeResourceId, const ::apache::airavata::model::appcatalog::gatewayprofile::ComputeResourcePreference& computeResourcePreference) = 0;
+ virtual bool deleteGatewayComputeResourcePreference(const std::string& gatewayID, const std::string& computeResourceId) = 0;
+};
+
+class AiravataIfFactory {
+ public:
+ typedef AiravataIf Handler;
+
+ virtual ~AiravataIfFactory() {}
+
+ virtual AiravataIf* getHandler(const ::apache::thrift::TConnectionInfo& connInfo) = 0;
+ virtual void releaseHandler(AiravataIf* /* handler */) = 0;
+};
+
+class AiravataIfSingletonFactory : virtual public AiravataIfFactory {
+ public:
+ AiravataIfSingletonFactory(const boost::shared_ptr<AiravataIf>& iface) : iface_(iface) {}
+ virtual ~AiravataIfSingletonFactory() {}
+
+ virtual AiravataIf* getHandler(const ::apache::thrift::TConnectionInfo&) {
+ return iface_.get();
+ }
+ virtual void releaseHandler(AiravataIf* /* handler */) {}
+
+ protected:
+ boost::shared_ptr<AiravataIf> iface_;
+};
+
+class AiravataNull : virtual public AiravataIf {
+ public:
+ virtual ~AiravataNull() {}
+ void getAPIVersion(std::string& /* _return */) {
+ return;
+ }
+ void createProject(std::string& /* _return */, const ::apache::airavata::model::workspace::Project& /* project */) {
+ return;
+ }
+ void updateProject(const std::string& /* projectId */, const ::apache::airavata::model::workspace::Project& /* updatedProject */) {
+ return;
+ }
+ void getProject( ::apache::airavata::model::workspace::Project& /* _return */, const std::string& /* projectId */) {
+ return;
+ }
+ void getAllUserProjects(std::vector< ::apache::airavata::model::workspace::Project> & /* _return */, const std::string& /* userName */) {
+ return;
+ }
+ void searchProjectsByProjectName(std::vector< ::apache::airavata::model::workspace::Project> & /* _return */, const std::string& /* userName */, const std::string& /* projectName */) {
+ return;
+ }
+ void searchProjectsByProjectDesc(std::vector< ::apache::airavata::model::workspace::Project> & /* _return */, const std::string& /* userName */, const std::string& /* description */) {
+ return;
+ }
+ void searchExperimentsByName(std::vector< ::apache::airavata::model::workspace::experiment::ExperimentSummary> & /* _return */, const std::string& /* userName */, const std::string& /* expName */) {
+ return;
+ }
+ void searchExperimentsByDesc(std::vector< ::apache::airavata::model::workspace::experiment::ExperimentSummary> & /* _return */, const std::string& /* userName */, const std::string& /* description */) {
+ return;
+ }
+ void searchExperimentsByApplication(std::vector< ::apache::airavata::model::workspace::experiment::ExperimentSummary> & /* _return */, const std::string& /* userName */, const std::string& /* applicationId */) {
+ return;
+ }
+ void getAllExperimentsInProject(std::vector< ::apache::airavata::model::workspace::experiment::Experiment> & /* _return */, const std::string& /* projectId */) {
+ return;
+ }
+ void getAllUserExperiments(std::vector< ::apache::airavata::model::workspace::experiment::Experiment> & /* _return */, const std::string& /* userName */) {
+ return;
+ }
+ void createExperiment(std::string& /* _return */, const ::apache::airavata::model::workspace::experiment::Experiment& /* experiment */) {
+ return;
+ }
+ void getExperiment( ::apache::airavata::model::workspace::experiment::Experiment& /* _return */, const std::string& /* airavataExperimentId */) {
+ return;
+ }
+ void updateExperiment(const std::string& /* airavataExperimentId */, const ::apache::airavata::model::workspace::experiment::Experiment& /* experiment */) {
+ return;
+ }
+ void updateExperimentConfiguration(const std::string& /* airavataExperimentId */, const ::apache::airavata::model::workspace::experiment::UserConfigurationData& /* userConfiguration */) {
+ return;
+ }
+ void updateResourceScheduleing(const std::string& /* airavataExperimentId */, const ::apache::airavata::model::workspace::experiment::ComputationalResourceScheduling& /* resourceScheduling */) {
+ return;
+ }
+ bool validateExperiment(const std::string& /* airavataExperimentId */) {
+ bool _return = false;
+ return _return;
+ }
+ void launchExperiment(const std::string& /* airavataExperimentId */, const std::string& /* airavataCredStoreToken */) {
+ return;
+ }
+ void getExperimentStatus( ::apache::airavata::model::workspace::experiment::ExperimentStatus& /* _return */, const std::string& /* airavataExperimentId */) {
+ return;
+ }
+ void getExperimentOutputs(std::vector< ::apache::airavata::model::workspace::experiment::DataObjectType> & /* _return */, const std::string& /* airavataExperimentId */) {
+ return;
+ }
+ void getJobStatuses(std::map<std::string, ::apache::airavata::model::workspace::experiment::JobStatus> & /* _return */, const std::string& /* airavataExperimentId */) {
+ return;
+ }
+ void cloneExperiment(std::string& /* _return */, const std::string& /* existingExperimentID */, const std::string& /* newExperimentName */) {
+ return;
+ }
+ void terminateExperiment(const std::string& /* airavataExperimentId */) {
+ return;
+ }
+ void registerApplicationModule(std::string& /* _return */, const ::apache::airavata::model::appcatalog::appdeployment::ApplicationModule& /* applicationModule */) {
+ return;
+ }
+ void getApplicationModule( ::apache::airavata::model::appcatalog::appdeployment::ApplicationModule& /* _return */, const std::string& /* appModuleId */) {
+ return;
+ }
+ bool updateApplicationModule(const std::string& /* appModuleId */, const ::apache::airavata::model::appcatalog::appdeployment::ApplicationModule& /* applicationModule */) {
+ bool _return = false;
+ return _return;
+ }
+ bool deleteApplicationModule(const std::string& /* appModuleId */) {
+ bool _return = false;
+ return _return;
+ }
+ void registerApplicationDeployment(std::string& /* _return */, const ::apache::airavata::model::appcatalog::appdeployment::ApplicationDeploymentDescription& /* applicationDeployment */) {
+ return;
+ }
+ void getApplicationDeployment( ::apache::airavata::model::appcatalog::appdeployment::ApplicationDeploymentDescription& /* _return */, const std::string& /* appDeploymentId */) {
+ return;
+ }
+ bool updateApplicationDeployment(const std::string& /* appDeploymentId */, const ::apache::airavata::model::appcatalog::appdeployment::ApplicationDeploymentDescription& /* applicationDeployment */) {
+ bool _return = false;
+ return _return;
+ }
+ bool deleteApplicationDeployment(const std::string& /* appDeploymentId */) {
+ bool _return = false;
+ return _return;
+ }
+ void getAppModuleDeployedResources(std::vector<std::string> & /* _return */, const std::string& /* appModuleId */) {
+ return;
+ }
+ void registerApplicationInterface(std::string& /* _return */, const ::apache::airavata::model::appcatalog::appinterface::ApplicationInterfaceDescription& /* applicationInterface */) {
+ return;
+ }
+ void getApplicationInterface( ::apache::airavata::model::appcatalog::appinterface::ApplicationInterfaceDescription& /* _return */, const std::string& /* appInterfaceId */) {
+ return;
+ }
+ bool updateApplicationInterface(const std::string& /* appInterfaceId */, const ::apache::airavata::model::appcatalog::appinterface::ApplicationInterfaceDescription& /* applicationInterface */) {
+ bool _return = false;
+ return _return;
+ }
+ bool deleteApplicationInterface(const std::string& /* appInterfaceId */) {
+ bool _return = false;
+ return _return;
+ }
+ void getAllApplicationInterfaceNames(std::map<std::string, std::string> & /* _return */) {
+ return;
+ }
+ void getAllApplicationInterfaces(std::vector< ::apache::airavata::model::appcatalog::appinterface::ApplicationInterfaceDescription> & /* _return */) {
+ return;
+ }
+ void getApplicationInputs(std::vector< ::apache::airavata::model::appcatalog::appinterface::InputDataObjectType> & /* _return */, const std::string& /* appInterfaceId */) {
+ return;
+ }
+ void getApplicationOutputs(std::vector< ::apache::airavata::model::appcatalog::appinterface::OutputDataObjectType> & /* _return */, const std::string& /* appInterfaceId */) {
+ return;
+ }
+ void getAvailableAppInterfaceComputeResources(std::map<std::string, std::string> & /* _return */, const std::string& /* appInterfaceId */) {
+ return;
+ }
+ void registerComputeResource(std::string& /* _return */, const ::apache::airavata::model::appcatalog::computeresource::ComputeResourceDescription& /* computeResourceDescription */) {
+ return;
+ }
+ void getComputeResource( ::apache::airavata::model::appcatalog::computeresource::ComputeResourceDescription& /* _return */, const std::string& /* computeResourceId */) {
+ return;
+ }
+ void getAllComputeResourceNames(std::map<std::string, std::string> & /* _return */) {
+ return;
+ }
+ bool updateComputeResource(const std::string& /* computeResourceId */, const ::apache::airavata::model::appcatalog::computeresource::ComputeResourceDescription& /* computeResourceDescription */) {
+ bool _return = false;
+ return _return;
+ }
+ bool deleteComputeResource(const std::string& /* computeResourceId */) {
+ bool _return = false;
+ return _return;
+ }
+ bool addLocalSubmissionDetails(const std::string& /* computeResourceId */, const int32_t /* priorityOrder */, const ::apache::airavata::model::appcatalog::computeresource::LOCALSubmission& /* localSubmission */) {
+ bool _return = false;
+ return _return;
+ }
+ bool updateLocalSubmissionDetails(const std::string& /* jobSubmissionInterfaceId */, const ::apache::airavata::model::appcatalog::computeresource::LOCALSubmission& /* localSubmission */) {
+ bool _return = false;
+ return _return;
+ }
+ bool addSSHJobSubmissionDetails(const std::string& /* computeResourceId */, const int32_t /* priorityOrder */, const ::apache::airavata::model::appcatalog::computeresource::SSHJobSubmission& /* sshJobSubmission */) {
+ bool _return = false;
+ return _return;
+ }
+ bool updateSSHJobSubmissionDetails(const std::string& /* jobSubmissionInterfaceId */, const ::apache::airavata::model::appcatalog::computeresource::SSHJobSubmission& /* sshJobSubmission */) {
+ bool _return = false;
+ return _return;
+ }
+ bool addLocalDataMovementDetails(const std::string& /* computeResourceId */, const int32_t /* priorityOrder */, const ::apache::airavata::model::appcatalog::computeresource::LOCALDataMovement& /* localDataMovement */) {
+ bool _return = false;
+ return _return;
+ }
+ bool updateLocalDataMovementDetails(const std::string& /* jobSubmissionInterfaceId */, const ::apache::airavata::model::appcatalog::computeresource::LOCALDataMovement& /* localDataMovement */) {
+ bool _return = false;
+ return _return;
+ }
+ bool addSCPDataMovementDetails(const std::string& /* computeResourceId */, const int32_t /* priorityOrder */, const ::apache::airavata::model::appcatalog::computeresource::SCPDataMovement& /* scpDataMovement */) {
+ bool _return = false;
+ return _return;
+ }
+ bool updateSCPDataMovementDetails(const std::string& /* jobSubmissionInterfaceId */, const ::apache::airavata::model::appcatalog::computeresource::SCPDataMovement& /* scpDataMovement */) {
+ bool _return = false;
+ return _return;
+ }
+ bool addGridFTPDataMovementDetails(const std::string& /* computeResourceId */, const int32_t /* priorityOrder */, const ::apache::airavata::model::appcatalog::computeresource::GridFTPDataMovement& /* gridFTPDataMovement */) {
+ bool _return = false;
+ return _return;
+ }
+ bool updateGridFTPDataMovementDetails(const std::string& /* jobSubmissionInterfaceId */, const ::apache::airavata::model::appcatalog::computeresource::GridFTPDataMovement& /* gridFTPDataMovement */) {
+ bool _return = false;
+ return _return;
+ }
+ bool changeJobSubmissionPriority(const std::string& /* jobSubmissionInterfaceId */, const int32_t /* newPriorityOrder */) {
+ bool _return = false;
+ return _return;
+ }
+ bool changeDataMovementPriority(const std::string& /* dataMovementInterfaceId */, const int32_t /* newPriorityOrder */) {
+ bool _return = false;
+ return _return;
+ }
+ bool changeJobSubmissionPriorities(const std::map<std::string, int32_t> & /* jobSubmissionPriorityMap */) {
+ bool _return = false;
+ return _return;
+ }
+ bool changeDataMovementPriorities(const std::map<std::string, int32_t> & /* dataMovementPriorityMap */) {
+ bool _return = false;
+ return _return;
+ }
+ bool deleteJobSubmissionInterface(const std::string& /* jobSubmissionInterfaceId */) {
+ bool _return = false;
+ return _return;
+ }
+ bool deleteDataMovementInterface(const std::string& /* dataMovementInterfaceId */) {
+ bool _return = false;
+ return _return;
+ }
+ void registerGatewayResourceProfile(std::string& /* _return */, const ::apache::airavata::model::appcatalog::gatewayprofile::GatewayResourceProfile& /* gatewayResourceProfile */) {
+ return;
+ }
+ void getGatewayResourceProfile( ::apache::airavata::model::appcatalog::gatewayprofile::GatewayResourceProfile& /* _return */, const std::string& /* gatewayID */) {
+ return;
+ }
+ bool updateGatewayResourceProfile(const std::string& /* gatewayID */, const ::apache::airavata::model::appcatalog::gatewayprofile::GatewayResourceProfile& /* gatewayResourceProfile */) {
+ bool _return = false;
+ return _return;
+ }
+ bool deleteGatewayResourceProfile(const std::string& /* gatewayID */) {
+ bool _return = false;
+ return _return;
+ }
+ bool addGatewayComputeResourcePreference(const std::string& /* gatewayID */, const std::string& /* computeResourceId */, const ::apache::airavata::model::appcatalog::gatewayprofile::ComputeResourcePreference& /* computeResourcePreference */) {
+ bool _return = false;
+ return _return;
+ }
+ void getGatewayComputeResourcePreference( ::apache::airavata::model::appcatalog::gatewayprofile::ComputeResourcePreference& /* _return */, const std::string& /* gatewayID */, const std::string& /* computeResourceId */) {
+ return;
+ }
+ void getAllGatewayComputeResourcePreferences(std::vector< ::apache::airavata::model::appcatalog::gatewayprofile::ComputeResourcePreference> & /* _return */, const std::string& /* gatewayID */) {
+ return;
+ }
+ bool updateGatewayComputeResourcePreference(const std::string& /* gatewayID */, const std::string& /* computeResourceId */, const ::apache::airavata::model::appcatalog::gatewayprofile::ComputeResourcePreference& /* computeResourcePreference */) {
+ bool _return = false;
+ return _return;
+ }
+ bool deleteGatewayComputeResourcePreference(const std::string& /* gatewayID */, const std::string& /* computeResourceId */) {
+ bool _return = false;
+ return _return;
+ }
+};
+
+
+class Airavata_getAPIVersion_args {
+ public:
+
+ Airavata_getAPIVersion_args() {
+ }
+
+ virtual ~Airavata_getAPIVersion_args() throw() {}
+
+
+ bool operator == (const Airavata_getAPIVersion_args & /* rhs */) const
+ {
+ return true;
+ }
+ bool operator != (const Airavata_getAPIVersion_args &rhs) const {
+ return !(*this == rhs);
+ }
+
+ bool operator < (const Airavata_getAPIVersion_args & ) const;
+
+ uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+ uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+
+class Airavata_getAPIVersion_pargs {
+ public:
+
+
+ virtual ~Airavata_getAPIVersion_pargs() throw() {}
+
+
+ uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+typedef struct _Airavata_getAPIVersion_result__isset {
+ _Airavata_getAPIVersion_result__isset() : success(false), ire(false), ace(false), ase(false) {}
+ bool success;
+ bool ire;
+ bool ace;
+ bool ase;
+} _Airavata_getAPIVersion_result__isset;
+
+class Airavata_getAPIVersion_result {
+ public:
+
+ Airavata_getAPIVersion_result() : success() {
+ }
+
+ virtual ~Airavata_getAPIVersion_result() throw() {}
+
+ std::string success;
+ ::apache::airavata::api::error::InvalidRequestException ire;
+ ::apache::airavata::api::error::AiravataClientException ace;
+ ::apache::airavata::api::error::AiravataSystemException ase;
+
+ _Airavata_getAPIVersion_result__isset __isset;
+
+ void __set_success(const std::string& val) {
+ success = val;
+ }
+
+ void __set_ire(const ::apache::airavata::api::error::InvalidRequestException& val) {
+ ire = val;
+ }
+
+ void __set_ace(const ::apache::airavata::api::error::AiravataClientException& val) {
+ ace = val;
+ }
+
+ void __set_ase(const ::apache::airavata::api::error::AiravataSystemException& val) {
+ ase = val;
+ }
+
+ bool operator == (const Airavata_getAPIVersion_result & rhs) const
+ {
+ if (!(success == rhs.success))
+ return false;
+ if (!(ire == rhs.ire))
+ return false;
+ if (!(ace == rhs.ace))
+ return false;
+ if (!(ase == rhs.ase))
+ return false;
+ return true;
+ }
+ bool operator != (const Airavata_getAPIVersion_result &rhs) const {
+ return !(*this == rhs);
+ }
+
+ bool operator < (const Airavata_getAPIVersion_result & ) const;
+
+ uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+ uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+typedef struct _Airavata_getAPIVersion_presult__isset {
+ _Airavata_getAPIVersion_presult__isset() : success(false), ire(false), ace(false), ase(false) {}
+ bool success;
+ bool ire;
+ bool ace;
+ bool ase;
+} _Airavata_getAPIVersion_presult__isset;
+
+class Airavata_getAPIVersion_presult {
+ public:
+
+
+ virtual ~Airavata_getAPIVersion_presult() throw() {}
+
+ std::string* success;
+ ::apache::airavata::api::error::InvalidRequestException ire;
+ ::apache::airavata::api::error::AiravataClientException ace;
+ ::apache::airavata::api::error::AiravataSystemException ase;
+
+ _Airavata_getAPIVersion_presult__isset __isset;
+
+ uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+
+};
+
+
+class Airavata_createProject_args {
+ public:
+
+ Airavata_createProject_args() {
+ }
+
+ virtual ~Airavata_createProject_args() throw() {}
+
+ ::apache::airavata::model::workspace::Project project;
+
+ void __set_project(const ::apache::airavata::model::workspace::Project& val) {
+ project = val;
+ }
+
+ bool operator == (const Airavata_createProject_args & rhs) const
+ {
+ if (!(project == rhs.project))
+ return false;
+ return true;
+ }
+ bool operator != (const Airavata_createProject_args &rhs) const {
+ return !(*this == rhs);
+ }
+
+ bool operator < (const Airavata_createProject_args & ) const;
+
+ uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+ uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+
+class Airavata_createProject_pargs {
+ public:
+
+
+ virtual ~Airavata_createProject_pargs() throw() {}
+
+ const ::apache::airavata::model::workspace::Project* project;
+
+ uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+typedef struct _Airavata_createProject_result__isset {
+ _Airavata_createProject_result__isset() : success(false), ire(false), ace(false), ase(false) {}
+ bool success;
+ bool ire;
+ bool ace;
+ bool ase;
+} _Airavata_createProject_result__isset;
+
+class Airavata_createProject_result {
+ public:
+
+ Airavata_createProject_result() : success() {
+ }
+
+ virtual ~Airavata_createProject_result() throw() {}
+
+ std::string success;
+ ::apache::airavata::api::error::InvalidRequestException ire;
+ ::apache::airavata::api::error::AiravataClientException ace;
+ ::apache::airavata::api::error::AiravataSystemException ase;
+
+ _Airavata_createProject_result__isset __isset;
+
+ void __set_success(const std::string& val) {
+ success = val;
+ }
+
+ void __set_ire(const ::apache::airavata::api::error::InvalidRequestException& val) {
+ ire = val;
+ }
+
+ void __set_ace(const ::apache::airavata::api::error::AiravataClientException& val) {
+ ace = val;
+ }
+
+ void __set_ase(const ::apache::airavata::api::error::AiravataSystemException& val) {
+ ase = val;
+ }
+
+ bool operator == (const Airavata_createProject_result & rhs) const
+ {
+ if (!(success == rhs.success))
+ return false;
+ if (!(ire == rhs.ire))
+ return false;
+ if (!(ace == rhs.ace))
+ return false;
+ if (!(ase == rhs.ase))
+ return false;
+ return true;
+ }
+ bool operator != (const Airavata_createProject_result &rhs) const {
+ return !(*this == rhs);
+ }
+
+ bool operator < (const Airavata_createProject_result & ) const;
+
+ uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+ uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+typedef struct _Airavata_createProject_presult__isset {
+ _Airavata_createProject_presult__isset() : success(false), ire(false), ace(false), ase(false) {}
+ bool success;
+ bool ire;
+ bool ace;
+ bool ase;
+} _Airavata_createProject_presult__isset;
+
+class Airavata_createProject_presult {
+ public:
+
+
+ virtual ~Airavata_createProject_presult() throw() {}
+
+ std::string* success;
+ ::apache::airavata::api::error::InvalidRequestException ire;
+ ::apache::airavata::api::error::AiravataClientException ace;
+ ::apache::airavata::api::error::AiravataSystemException ase;
+
+ _Airavata_createProject_presult__isset __isset;
+
+ uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+
+};
+
+
+class Airavata_updateProject_args {
+ public:
+
+ Airavata_updateProject_args() : projectId() {
+ }
+
+ virtual ~Airavata_updateProject_args() throw() {}
+
+ std::string projectId;
+ ::apache::airavata::model::workspace::Project updatedProject;
+
+ void __set_projectId(const std::string& val) {
+ projectId = val;
+ }
+
+ void __set_updatedProject(const ::apache::airavata::model::workspace::Project& val) {
+ updatedProject = val;
+ }
+
+ bool operator == (const Airavata_updateProject_args & rhs) const
+ {
+ if (!(projectId == rhs.projectId))
+ return false;
+ if (!(updatedProject == rhs.updatedProject))
+ return false;
+ return true;
+ }
+ bool operator != (const Airavata_updateProject_args &rhs) const {
+ return !(*this == rhs);
+ }
+
+ bool operator < (const Airavata_updateProject_args & ) const;
+
+ uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+ uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+
+class Airavata_updateProject_pargs {
+ public:
+
+
+ virtual ~Airavata_updateProject_pargs() throw() {}
+
+ const std::string* projectId;
+ const ::apache::airavata::model::workspace::Project* updatedProject;
+
+ uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+typedef struct _Airavata_updateProject_result__isset {
+ _Airavata_updateProject_result__isset() : ire(false), ace(false), ase(false), pnfe(false) {}
+ bool ire;
+ bool ace;
+ bool ase;
+ bool pnfe;
+} _Airavata_updateProject_result__isset;
+
+class Airavata_updateProject_result {
+ public:
+
+ Airavata_updateProject_result() {
+ }
+
+ virtual ~Airavata_updateProject_result() throw() {}
+
+ ::apache::airavata::api::error::InvalidRequestException ire;
+ ::apache::airavata::api::error::AiravataClientException ace;
+ ::apache::airavata::api::error::AiravataSystemException ase;
+ ::apache::airavata::api::error::ProjectNotFoundException pnfe;
+
+ _Airavata_updateProject_result__isset __isset;
+
+ void __set_ire(const ::apache::airavata::api::error::InvalidRequestException& val) {
+ ire = val;
+ }
+
+ void __set_ace(const ::apache::airavata::api::error::AiravataClientException& val) {
+ ace = val;
+ }
+
+ void __set_ase(const ::apache::airavata::api::error::AiravataSystemException& val) {
+ ase = val;
+ }
+
+ void __set_pnfe(const ::apache::airavata::api::error::ProjectNotFoundException& val) {
+ pnfe = val;
+ }
+
+ bool operator == (const Airavata_updateProject_result & rhs) const
+ {
+ if (!(ire == rhs.ire))
+ return false;
+ if (!(ace == rhs.ace))
+ return false;
+ if (!(ase == rhs.ase))
+ return false;
+ if (!(pnfe == rhs.pnfe))
+ return false;
+ return true;
+ }
+ bool operator != (const Airavata_updateProject_result &rhs) const {
+ return !(*this == rhs);
+ }
+
+ bool operator < (const Airavata_updateProject_result & ) const;
+
+ uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+ uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+typedef struct _Airavata_updateProject_presult__isset {
+ _Airavata_updateProject_presult__isset() : ire(false), ace(false), ase(false), pnfe(false) {}
+ bool ire;
+ bool ace;
+ bool ase;
+ bool pnfe;
+} _Airavata_updateProject_presult__isset;
+
+class Airavata_updateProject_presult {
+ public:
+
+
+ virtual ~Airavata_updateProject_presult() throw() {}
+
+ ::apache::airavata::api::error::InvalidRequestException ire;
+ ::apache::airavata::api::error::AiravataClientException ace;
+ ::apache::airavata::api::error::AiravataSystemException ase;
+ ::apache::airavata::api::error::ProjectNotFoundException pnfe;
+
+ _Airavata_updateProject_presult__isset __isset;
+
+ uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+
+};
+
+
+class Airavata_getProject_args {
+ public:
+
+ Airavata_getProject_args() : projectId() {
+ }
+
+ virtual ~Airavata_getProject_args() throw() {}
+
+ std::string projectId;
+
+ void __set_projectId(const std::string& val) {
+ projectId = val;
+ }
+
+ bool operator == (const Airavata_getProject_args & rhs) const
+ {
+ if (!(projectId == rhs.projectId))
+ return false;
+ return true;
+ }
+ bool operator != (const Airavata_getProject_args &rhs) const {
+ return !(*this == rhs);
+ }
+
+ bool operator < (const Airavata_getProject_args & ) const;
+
+ uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+ uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+
+class Airavata_getProject_pargs {
+ public:
+
+
+ virtual ~Airavata_getProject_pargs() throw() {}
+
+ const std::string* projectId;
+
+ uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+typedef struct _Airavata_getProject_result__isset {
+ _Airavata_getProject_result__isset() : success(false), ire(false), ace(false), ase(false), pnfe(false) {}
+ bool success;
+ bool ire;
+ bool ace;
+ bool ase;
+ bool pnfe;
+} _Airavata_getProject_result__isset;
+
+class Airavata_getProject_result {
+ public:
+
+ Airavata_getProject_result() {
+ }
+
+ virtual ~Airavata_getProject_result() throw() {}
+
+ ::apache::airavata::model::workspace::Project success;
+ ::apache::airavata::api::error::InvalidRequestException ire;
+ ::apache::airavata::api::error::AiravataClientException ace;
+ ::apache::airavata::api::error::AiravataSystemException ase;
+ ::apache::airavata::api::error::ProjectNotFoundException pnfe;
+
+ _Airavata_getProject_result__isset __isset;
+
+ void __set_success(const ::apache::airavata::model::workspace::Project& val) {
+ success = val;
+ }
+
+ void __set_ire(const ::apache::airavata::api::error::InvalidRequestException& val) {
+ ire = val;
+ }
+
+ void __set_ace(const ::apache::airavata::api::error::AiravataClientException& val) {
+ ace = val;
+ }
+
+ void __set_ase(const ::apache::airavata::api::error::AiravataSystemException& val) {
+ ase = val;
+ }
+
+ void __set_pnfe(const ::apache::airavata::api::error::ProjectNotFoundException& val) {
+ pnfe = val;
+ }
+
+ bool operator == (const Airavata_getProject_result & rhs) const
+ {
+ if (!(success == rhs.success))
+ return false;
+ if (!(ire == rhs.ire))
+ return false;
+ if (!(ace == rhs.ace))
+ return false;
+ if (!(ase == rhs.ase))
+ return false;
+ if (!(pnfe == rhs.pnfe))
+ return false;
+ return true;
+ }
+ bool operator != (const Airavata_getProject_result &rhs) const {
+ return !(*this == rhs);
+ }
+
+ bool operator < (const Airavata_getProject_result & ) const;
+
+ uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+ uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+typedef struct _Airavata_getProject_presult__isset {
+ _Airavata_getProject_presult__isset() : success(false), ire(false), ace(false), ase(false), pnfe(false) {}
+ bool success;
+ bool ire;
+ bool ace;
+ bool ase;
+ bool pnfe;
+} _Airavata_getProject_presult__isset;
+
+class Airavata_getProject_presult {
+ public:
+
+
+ virtual ~Airavata_getProject_presult() throw() {}
+
+ ::apache::airavata::model::workspace::Project* success;
+ ::apache::airavata::api::error::InvalidRequestException ire;
+ ::apache::airavata::api::error::AiravataClientException ace;
+ ::apache::airavata::api::error::AiravataSystemException ase;
+ ::apache::airavata::api::error::ProjectNotFoundException pnfe;
+
+ _Airavata_getProject_presult__isset __isset;
+
+ uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+
+};
+
+
+class Airavata_getAllUserProjects_args {
+ public:
+
+ Airavata_getAllUserProjects_args() : userName() {
+ }
+
+ virtual ~Airavata_getAllUserProjects_args() throw() {}
+
+ std::string userName;
+
+ void __set_userName(const std::string& val) {
+ userName = val;
+ }
+
+ bool operator == (const Airavata_getAllUserProjects_args & rhs) const
+ {
+ if (!(userName == rhs.userName))
+ return false;
+ return true;
+ }
+ bool operator != (const Airavata_getAllUserProjects_args &rhs) const {
+ return !(*this == rhs);
+ }
+
+ bool operator < (const Airavata_getAllUserProjects_args & ) const;
+
+ uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+ uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+
+class Airavata_getAllUserProjects_pargs {
+ public:
+
+
+ virtual ~Airavata_getAllUserProjects_pargs() throw() {}
+
+ const std::string* userName;
+
+ uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+typedef struct _Airavata_getAllUserProjects_result__isset {
+ _Airavata_getAllUserProjects_result__isset() : success(false), ire(false), ace(false), ase(false) {}
+ bool success;
+ bool ire;
+ bool ace;
+ bool ase;
+} _Airavata_getAllUserProjects_result__isset;
+
+class Airavata_getAllUserProjects_result {
+ public:
+
+ Airavata_getAllUserProjects_result() {
+ }
+
+ virtual ~Airavata_getAllUserProjects_result() throw() {}
+
+ std::vector< ::apache::airavata::model::workspace::Project> success;
+ ::apache::airavata::api::error::InvalidRequestException ire;
+ ::apache::airavata::api::error::AiravataClientException ace;
+ ::apache::airavata::api::error::AiravataSystemException ase;
+
+ _Airavata_getAllUserProjects_result__isset __isset;
+
+ void __set_success(const std::vector< ::apache::airavata::model::workspace::Project> & val) {
+ success = val;
+ }
+
+ void __set_ire(const ::apache::airavata::api::error::InvalidRequestException& val) {
+ ire = val;
+ }
+
+ void __set_ace(const ::apache::airavata::api::error::AiravataClientException& val) {
+ ace = val;
+ }
+
+ void __set_ase(const ::apache::airavata::api::error::AiravataSystemException& val) {
+ ase = val;
+ }
+
+ bool operator == (const Airavata_getAllUserProjects_result & rhs) const
+ {
+ if (!(success == rhs.success))
+ return false;
+ if (!(ire == rhs.ire))
+ return false;
+ if (!(ace == rhs.ace))
+ return false;
+ if (!(ase == rhs.ase))
+ return false;
+ return true;
+ }
+ bool operator != (const Airavata_getAllUserProjects_result &rhs) const {
+ return !(*this == rhs);
+ }
+
+ bool operator < (const Airavata_getAllUserProjects_result & ) const;
+
+ uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+ uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+typedef struct _Airavata_getAllUserProjects_presult__isset {
+ _Airavata_getAllUserProjects_presult__isset() : success(false), ire(false), ace(false), ase(false) {}
+ bool success;
+ bool ire;
+ bool ace;
+ bool ase;
+} _Airavata_getAllUserProjects_presult__isset;
+
+class Airavata_getAllUserProjects_presult {
+ public:
+
+
+ virtual ~Airavata_getAllUserProjects_presult() throw() {}
+
+ std::vector< ::apache::airavata::model::workspace::Project> * success;
+ ::apache::airavata::api::error::InvalidRequestException ire;
+ ::apache::airavata::api::error::AiravataClientException ace;
+ ::apache::airavata::api::error::AiravataSystemException ase;
+
+ _Airavata_getAllUserProjects_presult__isset __isset;
+
+ uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+
+};
+
+
+class Airavata_searchProjectsByProjectName_args {
+ public:
+
+ Airavata_searchProjectsByProjectName_args() : userName(), projectName() {
+ }
+
+ virtual ~Airavata_searchProjectsByProjectName_args() throw() {}
+
+ std::string userName;
+ std::string projectName;
+
+ void __set_userName(const std::string& val) {
+ userName = val;
+ }
+
+ void __set_projectName(const std::string& val) {
+ projectName = val;
+ }
+
+ bool operator == (const Airavata_searchProjectsByProjectName_args & rhs) const
+ {
+ if (!(userName == rhs.userName))
+ return false;
+ if (!(projectName == rhs.projectName))
+ return false;
+ return true;
+ }
+ bool operator != (const Airavata_searchProjectsByProjectName_args &rhs) const {
+ return !(*this == rhs);
+ }
+
+ bool operator < (const Airavata_searchProjectsByProjectName_args & ) const;
+
+ uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+ uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+
+class Airavata_searchProjectsByProjectName_pargs {
+ public:
+
+
+ virtual ~Airavata_searchProjectsByProjectName_pargs() throw() {}
+
+ const std::string* userName;
+ const std::string* projectName;
+
+ uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+typedef struct _Airavata_searchProjectsByProjectName_result__isset {
+ _Airavata_searchProjectsByProjectName_result__isset() : success(false), ire(false), ace(false), ase(false) {}
+ bool success;
+ bool ire;
+ bool ace;
+ bool ase;
+} _Airavata_searchProjectsByProjectName_result__isset;
+
+class Airavata_searchProjectsByProjectName_result {
+ public:
+
+ Airavata_searchProjectsByProjectName_result() {
+ }
+
+ virtual ~Airavata_searchProjectsByProjectName_result() throw() {}
+
+ std::vector< ::apache::airavata::model::workspace::Project> success;
+ ::apache::airavata::api::error::InvalidRequestException ire;
+ ::apache::airavata::api::error::AiravataClientException ace;
+ ::apache::airavata::api::error::AiravataSystemException ase;
+
+ _Airavata_searchProjectsByProjectName_result__isset __isset;
+
+ void __set_success(const std::vector< ::apache::airavata::model::workspace::Project> & val) {
+ success = val;
+ }
+
+ void __set_ire(const ::apache::airavata::api::error::InvalidRequestException& val) {
+ ire = val;
+ }
+
+ void __set_ace(const ::apache::airavata::api::error::AiravataClientException& val) {
+ ace = val;
+ }
+
+ void __set_ase(const ::apache::airavata::api::error::AiravataSystemException& val) {
+ ase = val;
+ }
+
+ bool operator == (const Airavata_searchProjectsByProjectName_result & rhs) const
+ {
+ if (!(success == rhs.success))
+ return false;
+ if (!(ire == rhs.ire))
+ return false;
+ if (!(ace == rhs.ace))
+ return false;
+ if (!(ase == rhs.ase))
+ return false;
+ return true;
+ }
+ bool operator != (const Airavata_searchProjectsByProjectName_result &rhs) const {
+ return !(*this == rhs);
+ }
+
+ bool operator < (const Airavata_searchProjectsByProjectName_result & ) const;
+
+ uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+ uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+typedef struct _Airavata_searchProjectsByProjectName_presult__isset {
+ _Airavata_searchProjectsByProjectName_presult__isset() : success(false), ire(false), ace(false), ase(false) {}
+ bool success;
+ bool ire;
+ bool ace;
+ bool ase;
+} _Airavata_searchProjectsByProjectName_presult__isset;
+
+class Airavata_searchProjectsByProjectName_presult {
+ public:
+
+
+ virtual ~Airavata_searchProjectsByProjectName_presult() throw() {}
+
+ std::vector< ::apache::airavata::model::workspace::Project> * success;
+ ::apache::airavata::api::error::InvalidRequestException ire;
+ ::apache::airavata::api::error::AiravataClientException ace;
+ ::apache::airavata::api::error::AiravataSystemException ase;
+
+ _Airavata_searchProjectsByProjectName_presult__isset __isset;
+
+ uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+
+};
+
+
+class Airavata_searchProjectsByProjectDesc_args {
+ public:
+
+ Airavata_searchProjectsByProjectDesc_args() : userName(), description() {
+ }
+
+ virtual ~Airavata_searchProjectsByProjectDesc_args() throw() {}
+
+ std::string userName;
+ std::string description;
+
+ void __set_userName(const std::string& val) {
+ userName = val;
+ }
+
+ void __set_description(const std::string& val) {
+ description = val;
+ }
+
+ bool operator == (const Airavata_searchProjectsByProjectDesc_args & rhs) const
+ {
+ if (!(userName == rhs.userName))
+ return false;
+ if (!(description == rhs.description))
+ return false;
+ return true;
+ }
+ bool operator != (const Airavata_searchProjectsByProjectDesc_args &rhs) const {
+ return !(*this == rhs);
+ }
+
+ bool operator < (const Airavata_searchProjectsByProjectDesc_args & ) const;
+
+ uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+ uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+
+class Airavata_searchProjectsByProjectDesc_pargs {
+ public:
+
+
+ virtual ~Airavata_searchProjectsByProjectDesc_pargs() throw() {}
+
+ const std::string* userName;
+ const std::string* description;
+
+ uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+typedef struct _Airavata_searchProjectsByProjectDesc_result__isset {
+ _Airavata_searchProjectsByProjectDesc_result__isset() : success(false), ire(false), ace(false), ase(false) {}
+ bool success;
+ bool ire;
+ bool ace;
+ bool ase;
+} _Airavata_searchProjectsByProjectDesc_result__isset;
+
+class Airavata_searchProjectsByProjectDesc_result {
+ public:
+
+ Airavata_searchProjectsByProjectDesc_result() {
+ }
+
+ virtual ~Airavata_searchProjectsByProjectDesc_result() throw() {}
+
+ std::vector< ::apache::airavata::model::workspace::Project> success;
+ ::apache::airavata::api::error::InvalidRequestException ire;
+ ::apache::airavata::api::error::AiravataClientException ace;
+ ::apache::airavata::api::error::AiravataSystemException ase;
+
+ _Airavata_searchProjectsByProjectDesc_result__isset __isset;
+
+ void __set_success(const std::vector< ::apache::airavata::model::workspace::Project> & val) {
+ success = val;
+ }
+
+ void __set_ire(const ::apache::airavata::api::error::InvalidRequestException& val) {
+ ire = val;
+ }
+
+ void __set_ace(const ::apache::airavata::api::error::AiravataClientException& val) {
+ ace = val;
+ }
+
+ void __set_ase(const ::apache::airavata::api::error::AiravataSystemException& val) {
+ ase = val;
+ }
+
+ bool operator == (const Airavata_searchProjectsByProjectDesc_result & rhs) const
+ {
+ if (!(success == rhs.success))
+ return false;
+ if (!(ire == rhs.ire))
+ return false;
+ if (!(ace == rhs.ace))
+ return false;
+ if (!(ase == rhs.ase))
+ return false;
+ return true;
+ }
+ bool operator != (const Airavata_searchProjectsByProjectDesc_result &rhs) const {
+ return !(*this == rhs);
+ }
+
+ bool operator < (const Airavata_searchProjectsByProjectDesc_result & ) const;
+
+ uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+ uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+typedef struct _Airavata_searchProjectsByProjectDesc_presult__isset {
+ _Airavata_searchProjectsByProjectDesc_presult__isset() : success(false), ire(false), ace(false), ase(false) {}
+ bool success;
+ bool ire;
+ bool ace;
+ bool ase;
+} _Airavata_searchProjectsByProjectDesc_presult__isset;
+
+class Airavata_searchProjectsByProjectDesc_presult {
+ public:
+
+
+ virtual ~Airavata_searchProjectsByProjectDesc_presult() throw() {}
+
+ std::vector< ::apache::airavata::model::workspace::Project> * success;
+ ::apache::airavata::api::error::InvalidRequestException ire;
+ ::apache::airavata::api::error::AiravataClientException ace;
+ ::apache::airavata::api::error::AiravataSystemException ase;
+
+ _Airavata_searchProjectsByProjectDesc_presult__isset __isset;
+
+ uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+
+};
+
+
+class Airavata_searchExperimentsByName_args {
+ public:
+
+ Airavata_searchExperimentsByName_args() : userName(), expName() {
+ }
+
+ virtual ~Airavata_searchExperimentsByName_args() throw() {}
+
+ std::string userName;
+ std::string expName;
+
+ void __set_userName(const std::string& val) {
+ userName = val;
+ }
+
+ void __set_expName(const std::string& val) {
+ expName = val;
+ }
+
+ bool operator == (const Airavata_searchExperimentsByName_args & rhs) const
+ {
+ if (!(userName == rhs.userName))
+ return false;
+ if (!(expName == rhs.expName))
+ return false;
+ return true;
+ }
+ bool operator != (const Airavata_searchExperimentsByName_args &rhs) const {
+ return !(*this == rhs);
+ }
+
+ bool operator < (const Airavata_searchExperimentsByName_args & ) const;
+
+ uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+ uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+
+class Airavata_searchExperimentsByName_pargs {
+ public:
+
+
+ virtual ~Airavata_searchExperimentsByName_pargs() throw() {}
+
+ const std::string* userName;
+ const std::string* expName;
+
+ uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+typedef struct _Airavata_searchExperimentsByName_result__isset {
+ _Airavata_searchExperimentsByName_result__isset() : success(false), ire(false), ace(false), ase(false) {}
+ bool success;
+ bool ire;
+ bool ace;
+ bool ase;
+} _Airavata_searchExperimentsByName_result__isset;
+
+class Airavata_searchExperimentsByName_result {
+ public:
+
+ Airavata_searchExperimentsByName_result() {
+ }
+
+ virtual ~Airavata_searchExperimentsByName_result() throw() {}
+
+ std::vector< ::apache::airavata::model::workspace::experiment::ExperimentSummary> success;
+ ::apache::airavata::api::error::InvalidRequestException ire;
+ ::apache::airavata::api::error::AiravataClientException ace;
+ ::apache::airavata::api::error::AiravataSystemException ase;
+
+ _Airavata_searchExperimentsByName_result__isset __isset;
+
+ void __set_success(const std::vector< ::apache::airavata::model::workspace::experiment::ExperimentSummary> & val) {
+ success = val;
+ }
+
+ void __set_ire(const ::apache::airavata::api::error::InvalidRequestException& val) {
+ ire = val;
+ }
+
+ void __set_ace(const ::apache::airavata::api::error::AiravataClientException& val) {
+ ace = val;
+ }
+
+ void __set_ase(const ::apache::airavata::api::error::AiravataSystemException& val) {
+ ase = val;
+ }
+
+ bool operator == (const Airavata_searchExperimentsByName_result & rhs) const
+ {
+ if (!(success == rhs.success))
+ return false;
+ if (!(ire == rhs.ire))
+ return false;
+ if (!(ace == rhs.ace))
+ return false;
+ if (!(ase == rhs.ase))
+ return false;
+ return true;
+ }
+ bool operator != (const Airavata_searchExperimentsByName_result &rhs) const {
+ return !(*this == rhs);
+ }
+
+ bool operator < (const Airavata_searchExperimentsByName_result & ) const;
+
+ uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+ uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+typedef struct _Airavata_searchExperimentsByName_presult__isset {
+ _Airavata_searchExperimentsByName_presult__isset() : success(false), ire(false), ace(false), ase(false) {}
+ bool success;
+ bool ire;
+ bool ace;
+ bool ase;
+} _Airavata_searchExperimentsByName_presult__isset;
+
+class Airavata_searchExperimentsByName_presult {
+ public:
+
+
+ virtual ~Airavata_searchExperimentsByName_presult() throw() {}
+
+ std::vector< ::apache::airavata::model::workspace::experiment::ExperimentSummary> * success;
+ ::apache::airavata::api::error::InvalidRequestException ire;
+ ::apache::airavata::api::error::AiravataClientException ace;
+ ::apache::airavata::api::error::AiravataSystemException ase;
+
+ _Airavata_searchExperimentsByName_presult__isset __isset;
+
+ uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+
+};
+
+
+class Airavata_searchExperimentsByDesc_args {
+ public:
+
+ Airavata_searchExperimentsByDesc_args() : userName(), description() {
+ }
+
+ virtual ~Airavata_searchExperimentsByDesc_args() throw() {}
+
+ std::string userName;
+ std::string description;
+
+ void __set_userName(const std::string& val) {
+ userName = val;
+ }
+
+ void __set_description(const std::string& val) {
+ description = val;
+ }
+
+ bool operator == (const Airavata_searchExperimentsByDesc_args & rhs) const
+ {
+ if (!(userName == rhs.userName))
+ return false;
+ if (!(description == rhs.description))
+ return false;
+ return true;
+ }
+ bool operator != (const Airavata_searchExperimentsByDesc_args &rhs) const {
+ return !(*this == rhs);
+ }
+
+ bool operator < (const Airavata_searchExperimentsByDesc_args & ) const;
+
+ uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+ uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+
+class Airavata_searchExperimentsByDesc_pargs {
+ public:
+
+
+ virtual ~Airavata_searchExperimentsByDesc_pargs() throw() {}
+
+ const std::string* userName;
+ const std::string* description;
+
+ uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+typedef struct _Airavata_searchExperimentsByDesc_result__isset {
+ _Airavata_searchExperimentsByDesc_result__isset() : success(false), ire(false), ace(false), ase(false) {}
+ bool success;
+ bool ire;
+ bool ace;
+ bool ase;
+} _Airavata_searchExperimentsByDesc_result__isset;
+
+class Airavata_searchExperimentsByDesc_result {
+ public:
+
+ Airavata_searchExperimentsByDesc_result() {
+ }
+
+ virtual ~Airavata_searchExperimentsByDesc_result() throw() {}
+
+ std::vector< ::apache::airavata::model::workspace::experiment::ExperimentSummary> success;
+ ::apache::airavata::api::error::InvalidRequestException ire;
+ ::apache::airavata::api::error::AiravataClientException ace;
+ ::apache::airavata::api::error::AiravataSystemException ase;
+
+ _Airavata_searchExperimentsByDesc_result__isset __isset;
+
+ void __set_success(const std::vector< ::apache::airavata::model::workspace::experiment::ExperimentSummary> & val) {
+ success = val;
+ }
+
+ void __set_ire(const ::apache::airavata::api::error::InvalidRequestException& val) {
+ ire = val;
+ }
+
+ void __set_ace(const ::apache::airavata::api::error::AiravataClientException& val) {
+ ace = val;
+ }
+
+ void __set_ase(const ::apache::airavata::api::error::AiravataSystemException& val) {
+ ase = val;
+ }
+
+ bool operator == (const Airavata_searchExperimentsByDesc_result & rhs) const
+ {
+ if (!(success == rhs.success))
+ return false;
+ if (!(ire == rhs.ire))
+ return false;
+ if (!(ace == rhs.ace))
+ return false;
+ if (!(ase == rhs.ase))
+ return false;
+ return true;
+ }
+ bool operator != (const Airavata_searchExperimentsByDesc_result &rhs) const {
+ return !(*this == rhs);
+ }
+
+ bool operator < (const Airavata_searchExperimentsByDesc_result & ) const;
+
+ uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+ uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+typedef struct _Airavata_searchExperimentsByDesc_presult__isset {
+ _Airavata_searchExperimentsByDesc_presult__isset() : success(false), ire(false), ace(false), ase(false) {}
+ bool success;
+ bool ire;
+ bool ace;
+ bool ase;
+} _Airavata_searchExperimentsByDesc_presult__isset;
+
+class Airavata_searchExperimentsByDesc_presult {
+ public:
+
+
+ virtual ~Airavata_searchExperimentsByDesc_presult() throw() {}
+
+ std::vector< ::apache::airavata::model::workspace::experiment::ExperimentSummary> * success;
+ ::apache::airavata::api::error::InvalidRequestException ire;
+ ::apache::airavata::api::error::AiravataClientException ace;
+ ::apache::airavata::api::error::AiravataSystemException ase;
+
+ _Airavata_searchExperimentsByDesc_presult__isset __isset;
+
+ uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+
+};
+
+
+class Airavata_searchExperimentsByApplication_args {
+ public:
+
+ Airavata_searchExperimentsByApplication_args() : userName(), applicationId() {
+ }
+
+ virtual ~Airavata_searchExperimentsByApplication_args() throw() {}
+
+ std::string userName;
+ std::string applicationId;
+
+ void __set_userName(const std::string& val) {
+ userName = val;
+ }
+
+ void __set_applicationId(const std::string& val) {
+ applicationId = val;
+ }
+
+ bool operator == (const Airavata_searchExperimentsByApplication_args & rhs) const
+ {
+ if (!(userName == rhs.userName))
+ return false;
+ if (!(applicationId == rhs.applicationId))
+ return false;
+ return true;
+ }
+ bool operator != (const Airavata_searchExperimentsByApplication_args &rhs) const {
+ return !(*this == rhs);
+ }
+
+ bool operator < (const Airavata_searchExperimentsByApplication_args & ) const;
+
+ uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+ uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+
+class Airavata_searchExperimentsByApplication_pargs {
+ public:
+
+
+ virtual ~Airavata_searchExperimentsByApplication_pargs() throw() {}
+
+ const std::string* userName;
+ const std::string* applicationId;
+
+ uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+typedef struct _Airavata_searchExperimentsByApplication_result__isset {
+ _Airavata_searchExperimentsByApplication_result__isset() : success(false), ire(false), ace(false), ase(false) {}
+ bool success;
+ bool ire;
+ bool ace;
+ bool ase;
+} _Airavata_searchExperimentsByApplication_result__isset;
+
+class Airavata_searchExperimentsByApplication_result {
+ public:
+
+ Airavata_searchExperimentsByApplication_result() {
+ }
+
+ virtual ~Airavata_searchExperimentsByApplication_result() throw() {}
+
+ std::vector< ::apache::airavata::model::workspace::experiment::ExperimentSummary> success;
+ ::apache::airavata::api::error::InvalidRequestException ire;
+ ::apache::airavata::api::error::AiravataClientException ace;
+ ::apache::airavata::api::error::AiravataSystemException ase;
+
+ _Airavata_searchExperimentsByApplication_result__isset __isset;
+
+ void __set_success(const std::vector< ::apache::airavata::model::workspace::experiment::ExperimentSummary> & val) {
+ success = val;
+ }
+
+ void __set_ire(const ::apache::airavata::api::error::InvalidRequestException& val) {
+ ire = val;
+ }
+
+ void __set_ace(const ::apache::airavata::api::error::AiravataClientException& val) {
+ ace = val;
+ }
+
+ void __set_ase(const ::apache::airavata::api::error::AiravataSystemException& val) {
+ ase = val;
+ }
+
+ bool operator == (const Airavata_searchExperimentsByApplication_result & rhs) const
+ {
+ if (!(success == rhs.success))
+ return false;
+ if (!(ire == rhs.ire))
+ return false;
+ if (!(ace == rhs.ace))
+ return false;
+ if (!(ase == rhs.ase))
+ return false;
+ return true;
+ }
+ bool operator != (const Airavata_searchExperimentsByApplication_result &rhs) const {
+ return !(*this == rhs);
+ }
+
+ bool operator < (const Airavata_searchExperimentsByApplication_result & ) const;
+
+ uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+ uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+typedef struct _Airavata_searchExperimentsByApplication_presult__isset {
+ _Airavata_searchExperimentsByApplication_presult__isset() : success(false), ire(false), ace(false), ase(false) {}
+ bool success;
+ bool ire;
+ bool ace;
+ bool ase;
+} _Airavata_searchExperimentsByApplication_presult__isset;
+
+class Airavata_searchExperimentsByApplication_presult {
+ public:
+
+
+ virtual ~Airavata_searchExperimentsByApplication_presult() throw() {}
+
+ std::vector< ::apache::airavata::model::workspace::experiment::ExperimentSummary> * success;
+ ::apache::airavata::api::error::InvalidRequestException ire;
+ ::apache::airavata::api::error::AiravataClientException ace;
+ ::apache::airavata::api::error::AiravataSystemException ase;
+
+ _Airavata_searchExperimentsByApplication_presult__isset __isset;
+
+ uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+
+};
+
+
+class Airavata_getAllExperimentsInProject_args {
+ public:
+
+ Airavata_getAllExperimentsInProject_args() : projectId() {
+ }
+
+ virtual ~Airavata_getAllExperimentsInProject_args() throw() {}
+
+ std::string projectId;
+
+ void __set_projectId(const std::string& val) {
+ projectId = val;
+ }
+
+ bool operator == (const Airavata_getAllExperimentsInProject_args & rhs) const
+ {
+ if (!(projectId == rhs.projectId))
+ return false;
+ return true;
+ }
+ bool operator != (const Airavata_getAllExperimentsInProject_args &rhs) const {
+ return !(*this == rhs);
+ }
+
+ bool operator < (const Airavata_getAllExperimentsInProject_args & ) const;
+
+ uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+ uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+
+class Airavata_getAllExperimentsInProject_pargs {
+ public:
+
+
+ virtual ~Airavata_getAllExperimentsInProject_pargs() throw() {}
+
+ const std::string* projectId;
+
+ uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+typedef struct _Airavata_getAllExperimentsInProject_result__isset {
+ _Airavata_getAllExperimentsInProject_result__isset() : success(false), ire(false), ace(false), ase(false), pnfe(false) {}
+ bool success;
+ bool ire;
+ bool ace;
+ bool ase;
+ bool pnfe;
+} _Airavata_getAllExperimentsInProject_result__isset;
+
+class Airavata_getAllExperimentsInProject_result {
+ public:
+
+ Airavata_getAllExperimentsInProject_result() {
+ }
+
+ virtual ~Airavata_getAllExperimentsInProject_result() throw() {}
+
+ std::vector< ::apache::airavata::model::workspace::experiment::Experiment> success;
+ ::apache::airavata::api::error::InvalidRequestException ire;
+ ::apache::airavata::api::error::AiravataClientException ace;
+ ::apache::airavata::api::error::AiravataSystemException ase;
+ ::apache::airavata::api::error::ProjectNotFoundException pnfe;
+
+ _Airavata_getAllExperimentsInProject_result__isset __isset;
+
+ void __set_success(const std::vector< ::apache::airavata::model::workspace::experiment::Experiment> & val) {
+ success = val;
+ }
+
+ void __set_ire(const ::apache::airavata::api::error::InvalidRequestException& val) {
+ ire = val;
+ }
+
+ void __set_ace(const ::apache::airavata::api::error::AiravataClientException& val) {
+ ace = val;
+ }
+
+ void __set_ase(const ::apache::airavata::api::error::AiravataSystemException& val) {
+ ase = val;
+ }
+
+ void __set_pnfe(const ::apache::airavata::api::error::ProjectNotFoundException& val) {
+ pnfe = val;
+ }
+
+ bool operator == (const Airavata_getAllExperimentsInProject_result & rhs) const
+ {
+ if (!(success == rhs.success))
+ return false;
+ if (!(ire == rhs.ire))
+ return false;
+ if (!(ace == rhs.ace))
+ return false;
+ if (!(ase == rhs.ase))
+ return false;
+ if (!(pnfe == rhs.pnfe))
+ return false;
+ return true;
+ }
+ bool operator != (const Airavata_getAllExperimentsInProject_result &rhs) const {
+ return !(*this == rhs);
+ }
+
+ bool operator < (const Airavata_getAllExperimentsInProject_result & ) const;
+
+ uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+ uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+typedef struct _Airavata_getAllExperimentsInProject_presult__isset {
+ _Airavata_getAllExperimentsInProject_presult__isset() : success(false), ire(false), ace(false), ase(false), pnfe(false) {}
+ bool success;
+ bool ire;
+ bool ace;
+ bool ase;
+ bool pnfe;
+} _Airavata_getAllExperimentsInProject_presult__isset;
+
+class Airavata_getAllExperimentsInProject_presult {
+ public:
+
+
+ virtual ~Airavata_getAllExperimentsInProject_presult() throw() {}
+
+ std::vector< ::apache::airavata::model::workspace::experiment::Experiment> * success;
+ ::apache::airavata::api::error::InvalidRequestException ire;
+ ::apache::airavata::api::error::AiravataClientException ace;
+ ::apache::airavata::api::error::AiravataSystemException ase;
+ ::apache::airavata::api::error::ProjectNotFoundException pnfe;
+
+ _Airavata_getAllExperimentsInProject_presult__isset __isset;
+
+ uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+
+};
+
+
+class Airavata_getAllUserExperiments_args {
+ public:
+
+ Airavata_getAllUserExperiments_args() : userName() {
+ }
+
+ virtual ~Airavata_getAllUserExperiments_args() throw() {}
+
+ std::string userName;
+
+ void __set_userName(const std::string& val) {
+ userName = val;
+ }
+
+ bool operator == (const Airavata_getAllUserExperiments_args & rhs) const
+ {
+ if (!(userName == rhs.userName))
+ return false;
+ return true;
+ }
+ bool operator != (const Airavata_getAllUserExperiments_args &rhs) const {
+ return !(*this == rhs);
+ }
+
+ bool operator < (const Airavata_getAllUserExperiments_args & ) const;
+
+ uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+ uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+
+class Airavata_getAllUserExperiments_pargs {
+ public:
+
+
+ virtual ~Airavata_getAllUserExperiments_pargs() throw() {}
+
+ const std::string* userName;
+
+ uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+typedef struct _Airavata_getAllUserExperiments_result__isset {
+ _Airavata_getAllUserExperiments_result__isset() : success(false), ire(false), ace(false), ase(false) {}
+ bool success;
+ bool ire;
+ bool ace;
+ bool ase;
+} _Airavata_getAllUserExperiments_result__isset;
+
+class Airavata_getAllUserExperiments_result {
+ public:
+
+ Airavata_getAllUserExperiments_result() {
+ }
+
+ virtual ~Airavata_getAllUserExperiments_result() throw() {}
+
+ std::vector< ::apache::airavata::model::workspace::experiment::Experiment> success;
+ ::apache::airavata::api::error::InvalidRequestException ire;
+ ::apache::airavata::api::error::AiravataClientException ace;
+ ::apache::airavata::api::error::AiravataSystemException ase;
+
+ _Airavata_getAllUserExperiments_result__isset __isset;
+
+ void __set_success(const std::vector< ::apache::airavata::model::workspace::experiment::Experiment> & val) {
+ success = val;
+ }
+
+ void __set_ire(const ::apache::airavata::api::error::InvalidRequestException& val) {
+ ire = val;
+ }
+
+ void __set_ace(const ::apache::airavata::api::error::AiravataClientException& val) {
+ ace = val;
+ }
+
+ void __set_ase(const ::apache::airavata::api::error::AiravataSystemException& val) {
+ ase = val;
+ }
+
+ bool operator == (const Airavata_getAllUserExperiments_result & rhs) const
+ {
+ if (!(success == rhs.success))
+ return false;
+ if (!(ire == rhs.ire))
+ return false;
+ if (!(ace == rhs.ace))
+ return false;
+ if (!(ase == rhs.ase))
+ return false;
+ return true;
+ }
+ bool operator != (const Airavata_getAllUserExperiments_result &rhs) const {
+ return !(*this == rhs);
+ }
+
+ bool operator < (const Airavata_getAllUserExperiments_result & ) const;
+
+ uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+ uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+typedef struct _Airavata_getAllUserExperiments_presult__isset {
+ _Airavata_getAllUserExperiments_presult__isset() : success(false), ire(false), ace(false), ase(false) {}
+ bool success;
+ bool ire;
+ bool ace;
+ bool ase;
+} _Airavata_getAllUserExperiments_presult__isset;
+
+class Airavata_getAllUserExperiments_presult {
+ public:
+
+
+ virtual ~Airavata_getAllUserExperiments_presult() throw() {}
+
+ std::vector< ::apache::airavata::model::workspace::experiment::Experiment> * success;
+ ::apache::airavata::api::error::InvalidRequestException ire;
+ ::apache::airavata::api::error::AiravataClientException ace;
+ ::apache::airavata::api::error::AiravataSystemException ase;
+
+ _Airavata_getAllUserExperiments_presult__isset __isset;
+
+ uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+
+};
+
+
+class Airavata_createExperiment_args {
+ public:
+
+ Airavata_createExperiment_args() {
+ }
+
+ virtual ~Airavata_createExperiment_args() throw() {}
+
+ ::apache::airavata::model::workspace::experiment::Experiment experiment;
+
+ void __set_experiment(const ::apache::airavata::model::workspace::experiment::Experiment& val) {
+ experiment = val;
+ }
+
+ bool operator == (const Airavata_createExperiment_args & rhs) const
+ {
+ if (!(experiment == rhs.experiment))
+ return false;
+ return true;
+ }
+ bool operator != (const Airavata_createExperiment_args &rhs) const {
+ return !(*this == rhs);
+ }
+
+ bool operator < (const Airavata_createExperiment_args & ) const;
+
+ uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+ uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+
+class Airavata_createExperiment_pargs {
+ public:
+
+
+ virtual ~Airavata_createExperiment_pargs() throw() {}
+
+ const ::apache::airavata::model::workspace::experiment::Experiment* experiment;
+
+ uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+typedef struct _Airavata_createExperiment_result__isset {
+ _Airavata_createExperiment_result__isset() : success(false), ire(false), ace(false), ase(false) {}
+ bool success;
+ bool ire;
+ bool ace;
+ bool ase;
+} _Airavata_createExperiment_result__isset;
+
+class Airavata_createExperiment_result {
+ public:
+
+ Airavata_createExperiment_result() : success() {
+ }
+
+ virtual ~Airavata_createExperiment_result() throw() {}
+
+ std::string success;
+ ::apache::airavata::api::error::InvalidRequestException ire;
+ ::apache::airavata::api::error::AiravataClientException ace;
+ ::apache::airavata::api::error::AiravataSystemException ase;
+
+ _Airavata_createExperiment_result__isset __isset;
+
+ void __set_success(const std::string& val) {
+ success = val;
+ }
+
+ void __set_ire(const ::apache::airavata::api::error::InvalidRequestException& val) {
+ ire = val;
+ }
+
+ void __set_ace(const ::apache::airavata::api::error::AiravataClientException& val) {
+ ace = val;
+ }
+
+ void __set_ase(const ::apache::airavata::api::error::AiravataSystemException& val) {
+ ase = val;
+ }
+
+ bool operator == (const Airavata_createExperiment_result & rhs) const
+ {
+ if (!(success == rhs.success))
+ return false;
+ if (!(ire == rhs.ire))
+ return false;
+ if (!(ace == rhs.ace))
+ return false;
+ if (!(ase == rhs.ase))
+ return false;
+ return true;
+ }
+ bool operator != (const Airavata_createExperiment_result &rhs) const {
+ return !(*this == rhs);
+ }
+
+ bool operator < (const Airavata_createExperiment_result & ) const;
+
+ uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+ uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+typedef struct _Airavata_createExperiment_presult__isset {
+ _Airavata_createExperiment_presult__isset() : success(false), ire(false), ace(false), ase(false) {}
+ bool success;
+ bool ire;
+ bool ace;
+ bool ase;
+} _Airavata_createExperiment_presult__isset;
+
+class Airavata_createExperiment_presult {
+ public:
+
+
+ virtual ~Airavata_createExperiment_presult() throw() {}
+
+ std::string* success;
+ ::apache::airavata::api::error::InvalidRequestException ire;
+ ::apache::airavata::api::error::AiravataClientException ace;
+ ::apache::airavata::api::error::AiravataSystemException ase;
+
+ _Airavata_createExperiment_presult__isset __isset;
+
+ uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+
+};
+
+
+class Airavata_getExperiment_args {
+ public:
+
+ Airavata_getExperiment_args() : airavataExperimentId() {
+ }
+
+ virtual ~Airavata_getExperiment_args() throw() {}
+
+ std::string airavataExperimentId;
+
+ void __set_airavataExperimentId(const std::string& val) {
+ airavataExperimentId = val;
+ }
+
+ bool operator == (const Airavata_getExperiment_args & rhs) const
+ {
+ if (!(airavataExperimentId == rhs.airavataExperimentId))
+ return false;
+ return true;
+ }
+ bool operator != (const Airavata_getExperiment_args &rhs) const {
+ return !(*this == rhs);
+ }
+
+ bool operator < (const Airavata_getExperiment_args & ) const;
+
+ uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+ uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+
+class Airavata_getExperiment_pargs {
+ public:
+
+
+ virtual ~Airavata_getExperiment_pargs() throw() {}
+
+ const std::string* airavataExperimentId;
+
+ uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+typedef struct _Airavata_getExperiment_result__isset {
+ _Airavata_getExperiment_result__isset() : success(false), ire(false), enf(false), ace(false), ase(false) {}
+ bool success;
+ bool ire;
+ bool enf;
+ bool ace;
+ bool ase;
+} _Airavata_getExperiment_result__isset;
+
+class Airavata_getExperiment_result {
+ public:
+
+ Airavata_getExperiment_result() {
+ }
+
+ virtual ~Airavata_getExperiment_result() throw() {}
+
+ ::apache::airavata::model::workspace::experiment::Experiment success;
+ ::apache::airavata::api::error::InvalidRequestException ire;
+ ::apache::airavata::api::error::ExperimentNotFoundException enf;
+ ::apache::airavata::api::error::AiravataClientException ace;
+ ::apache::airavata::api::error::AiravataSystemException ase;
+
+ _Airavata_getExperiment_result__isset __isset;
+
+ void __set_success(const ::apache::airavata::model::workspace::experiment::Experiment& val) {
+ success = val;
+ }
+
+ void __set_ire(const ::apache::airavata::api::error::InvalidRequestException& val) {
+ ire = val;
+ }
+
+ void __set_enf(const ::apache::airavata::api::error::ExperimentNotFoundException& val) {
+ enf = val;
+ }
+
+ void __set_ace(const ::apache::airavata::api::error::AiravataClientException& val) {
+ ace = val;
+ }
+
+ void __set_ase(const ::apache::airavata::api::error::AiravataSystemException& val) {
+ ase = val;
+ }
+
+ bool operator == (const Airavata_getExperiment_result & rhs) const
+ {
+ if (!(success == rhs.success))
+ return false;
+ if (!(ire == rhs.ire))
+ return false;
+ if (!(enf == rhs.enf))
+ return false;
+ if (!(ace == rhs.ace))
+ return false;
+ if (!(ase == rhs.ase))
+ return false;
+ return true;
+ }
+ bool operator != (const Airavata_getExperiment_result &rhs) const {
+ return !(*this == rhs);
+ }
+
+ bool operator < (const Airavata_getExperiment_result & ) const;
+
+ uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+ uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+typedef struct _Airavata_getExperiment_presult__isset {
+ _Airavata_getExperiment_presult__isset() : success(false), ire(false), enf(false), ace(false), ase(false) {}
+ bool success;
+ bool ire;
+ bool enf;
+ bool ace;
+ bool ase;
+} _Airavata_getExperiment_presult__isset;
+
+class Airavata_getExperiment_presult {
+ public:
+
+
+ virtual ~Airavata_getExperiment_presult() throw() {}
+
+ ::apache::airavata::model::workspace::experiment::Experiment* success;
+ ::apache::airavata::api::error::InvalidRequestException ire;
+ ::apache::airavata::api::error::ExperimentNotFoundException enf;
+ ::apache::airavata::api::error::AiravataClientException ace;
+ ::apache::airavata::api::error::AiravataSystemException ase;
+
+ _Airavata_getExperiment_presult__isset __isset;
+
+ uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+
+};
+
+
+class Airavata_updateExperiment_args {
+ public:
+
+ Airavata_updateExperiment_args() : airavataExperimentId() {
+ }
+
+ virtual ~Airavata_updateExperiment_args() throw() {}
+
+ std::string airavataExperimentId;
+ ::apache::airavata::model::workspace::experiment::Experiment experiment;
+
+ void __set_airavataExperimentId(const std::string& val) {
+ airavataExperimentId = val;
+ }
+
+ void __set_experiment(const ::apache::airavata::model::workspace::experiment::Experiment& val) {
+ experiment = val;
+ }
+
+ bool operator == (const Airavata_updateExperiment_args & rhs) const
+ {
+ if (!(airavataExperimentId == rhs.airavataExperimentId))
+ return false;
+ if (!(experiment == rhs.experiment))
+ return false;
+ return true;
+ }
+ bool operator != (const Airavata_updateExperiment_args &rhs) const {
+ return !(*this == rhs);
+ }
+
+ bool operator < (const Airavata_updateExperiment_args & ) const;
+
+ uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+ uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+
+class Airavata_updateExperiment_pargs {
+ public:
+
+
+ virtual ~Airavata_updateExperiment_pargs() throw() {}
+
+ const std::string* airavataExperimentId;
+ const ::apache::airavata::model::workspace::experiment::Experiment* experiment;
+
+ uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+typedef struct _Airavata_updateExperiment_result__isset {
+ _Airavata_updateExperiment_result__isset() : ire(false), enf(false), ace(false), ase(false) {}
+ bool ire;
+ bool enf;
+ bool ace;
+ bool ase;
+} _Airavata_updateExperiment_result__isset;
+
+class Airavata_updateExperiment_result {
+ public:
+
+ Airavata_updateExperiment_result() {
+ }
+
+ virtual ~Airavata_updateExperiment_result() throw() {}
+
+ ::apache::airavata::api::error::InvalidRequestException ire;
+ ::apache::airavata::api::error::ExperimentNotFoundException enf;
+ ::apache::airavata::api::error::AiravataClientException ace;
+ ::apache::airavata::api::error::AiravataSystemException ase;
+
+ _Airavata_updateExperiment_result__isset __isset;
+
+ void __set_ire(const ::apache::airavata::api::error::InvalidRequestException& val) {
+ ire = val;
+ }
+
+ void __set_enf(const ::apache::airavata::api::error::ExperimentNotFoundException& val) {
+ enf = val;
+ }
+
+ void __set_ace(const ::apache::airavata::api::error::AiravataClientException& val) {
+ ace = val;
+ }
+
+ void __set_ase(const ::apache::airavata::api::error::AiravataSystemException& val) {
+ ase = val;
+ }
+
+ bool operator == (const Airavata_updateExperiment_result & rhs) const
+ {
+ if (!(ire == rhs.ire))
+ return false;
+ if (!(enf == rhs.enf))
+ return false;
+ if (!(ace == rhs.ace))
+ return false;
+ if (!(ase == rhs.ase))
+ return false;
+ return true;
+ }
+ bool operator != (const Airavata_updateExperiment_result &rhs) const {
+ return !(*this == rhs);
+ }
+
+ bool operator < (const Airavata_updateExperiment_result & ) const;
+
+ uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+ uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+typedef struct _Airavata_updateExperiment_presult__isset {
+ _Airavata_updateExperiment_presult__isset() : ire(false), enf(false), ace(false), ase(false) {}
+ bool ire;
+ bool enf;
+ bool ace;
+ bool ase;
+} _Airavata_updateExperiment_presult__isset;
+
+class Airavata_updateExperiment_presult {
+ public:
+
+
+ virtual ~Airavata_updateExperiment_presult() throw() {}
+
+ ::apache::airavata::api::error::InvalidRequestException ire;
+ ::apache::airavata::api::error::ExperimentNotFoundException enf;
+ ::apache::airavata::api::error::AiravataClientException ace;
+ ::apache::airavata::api::error::AiravataSystemException ase;
+
+ _Airavata_updateExperiment_presult__isset __isset;
+
+ uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+
+};
+
+
+class Airavata_updateExperimentConfiguration_args {
+ public:
+
+ Airavata_updateExperimentConfiguration_args() : airavataExperimentId() {
+ }
+
+ virtual ~Airavata_updateExperimentConfiguration_args() throw() {}
+
+ std::string airavataExperimentId;
+ ::apache::airavata::model::workspace::experiment::UserConfigurationData userConfiguration;
+
+ void __set_airavataExperimentId(const std::string& val) {
+ airavataExperimentId = val;
+ }
+
+ void __set_userConfiguration(const ::apache::airavata::model::workspace::experiment::UserConfigurationData& val) {
+ userConfiguration = val;
+ }
+
+ bool operator == (const Airavata_updateExperimentConfiguration_args & rhs) const
+ {
+ if (!(airavataExperimentId == rhs.airavataExperimentId))
+ return false;
+ if (!(userConfiguration == rhs.userConfiguration))
+ return false;
+ return true;
+ }
+ bool operator != (const Airavata_updateExperimentConfiguration_args &rhs) const {
+ return !(*this == rhs);
+ }
+
+ bool operator < (const Airavata_updateExperimentConfiguration_args & ) const;
+
+ uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+ uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+
+class Airavata_updateExperimentConfiguration_pargs {
+ public:
+
+
+ virtual ~Airavata_updateExperimentConfiguration_pargs() throw() {}
+
+ const std::string* airavataExperimentId;
+ const ::apache::airavata::model::workspace::experiment::UserConfigurationData* userConfiguration;
+
+ uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+
+class Airavata_updateExperimentConfiguration_result {
+ public:
+
+ Airavata_updateExperimentConfiguration_result() {
+ }
+
+ virtual ~Airavata_updateExperimentConfiguration_result() throw() {}
+
+
+ bool operator == (const Airavata_updateExperimentConfiguration_result & /* rhs */) const
+ {
+ return true;
+ }
+ bool operator != (const Airavata_updateExperimentConfiguration_result &rhs) const {
+ return !(*this == rhs);
+ }
+
+ bool operator < (const Airavata_updateExperimentConfiguration_result & ) const;
+
+ uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+ uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+
+class Airavata_updateExperimentConfiguration_presult {
+ public:
+
+
+ virtual ~Airavata_updateExperimentConfiguration_presult() throw() {}
+
+
+ uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+
+};
+
+
+class Airavata_updateResourceScheduleing_args {
+ public:
+
+ Airavata_updateResourceScheduleing_args() : airavataExperimentId() {
+ }
+
+ virtual ~Airavata_updateResourceScheduleing_args() throw() {}
+
+ std::string airavataExperimentId;
+ ::apache::airavata::model::workspace::experiment::ComputationalResourceScheduling resourceScheduling;
+
+ void __set_airavataExperimentId(const std::string& val) {
+ airavataExperimentId = val;
+ }
+
+ void __set_resourceScheduling(const ::apache::airavata::model::workspace::experiment::ComputationalResourceScheduling& val) {
+ resourceScheduling = val;
+ }
+
+ bool operator == (const Airavata_updateResourceScheduleing_args & rhs) const
+ {
+ if (!(airavataExperimentId == rhs.airavataExperimentId))
+ return false;
+ if (!(resourceScheduling == rhs.resourceScheduling))
+ return false;
+ return true;
+ }
+ bool operator != (const Airavata_updateResourceScheduleing_args &rhs) const {
+ return !(*this == rhs);
+ }
+
+ bool operator < (const Airavata_updateResourceScheduleing_args & ) const;
+
+ uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+ uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+
+class Airavata_updateResourceScheduleing_pargs {
+ public:
+
+
+ virtual ~Airavata_updateResourceScheduleing_pargs() throw() {}
+
+ const std::string* airavataExperimentId;
+ const ::apache::airavata::model::workspace::experiment::ComputationalResourceScheduling* resourceScheduling;
+
+ uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+
+class Airavata_updateResourceScheduleing_result {
+ public:
+
+ Airavata_updateResource
<TRUNCATED>
[11/47] Added c++ client samples for integrattion of airavata with
any other application's c++ interface
Posted by sm...@apache.org.
http://git-wip-us.apache.org/repos/asf/airavata/blob/f891b7dc/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/concurrency/FunctionRunner.h
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/concurrency/FunctionRunner.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/concurrency/FunctionRunner.h
new file mode 100644
index 0000000..e3b2bf3
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/concurrency/FunctionRunner.h
@@ -0,0 +1,121 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you 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 _THRIFT_CONCURRENCY_FUNCTION_RUNNER_H
+#define _THRIFT_CONCURRENCY_FUNCTION_RUNNER_H 1
+
+#include <thrift/cxxfunctional.h>
+#include <thrift/concurrency/Thread.h>
+
+namespace apache { namespace thrift { namespace concurrency {
+
+/**
+ * Convenient implementation of Runnable that will execute arbitrary callbacks.
+ * Interfaces are provided to accept both a generic 'void(void)' callback, and
+ * a 'void* (void*)' pthread_create-style callback.
+ *
+ * Example use:
+ * void* my_thread_main(void* arg);
+ * shared_ptr<ThreadFactory> factory = ...;
+ * // To create a thread that executes my_thread_main once:
+ * shared_ptr<Thread> thread = factory->newThread(
+ * FunctionRunner::create(my_thread_main, some_argument));
+ * thread->start();
+ *
+ * bool A::foo();
+ * A* a = new A();
+ * // To create a thread that executes a.foo() every 100 milliseconds:
+ * factory->newThread(FunctionRunner::create(
+ * apache::thrift::stdcxx::bind(&A::foo, a), 100))->start();
+ *
+ */
+
+class FunctionRunner : public Runnable {
+ public:
+ // This is the type of callback 'pthread_create()' expects.
+ typedef void* (*PthreadFuncPtr)(void *arg);
+ // This a fully-generic void(void) callback for custom bindings.
+ typedef apache::thrift::stdcxx::function<void()> VoidFunc;
+
+ typedef apache::thrift::stdcxx::function<bool()> BoolFunc;
+
+ /**
+ * Syntactic sugar to make it easier to create new FunctionRunner
+ * objects wrapped in shared_ptr.
+ */
+ static boost::shared_ptr<FunctionRunner> create(const VoidFunc& cob) {
+ return boost::shared_ptr<FunctionRunner>(new FunctionRunner(cob));
+ }
+
+ static boost::shared_ptr<FunctionRunner> create(PthreadFuncPtr func,
+ void* arg) {
+ return boost::shared_ptr<FunctionRunner>(new FunctionRunner(func, arg));
+ }
+
+private:
+ static void pthread_func_wrapper(PthreadFuncPtr func, void *arg)
+ {
+ //discard return value
+ func(arg);
+ }
+public:
+ /**
+ * Given a 'pthread_create' style callback, this FunctionRunner will
+ * execute the given callback. Note that the 'void*' return value is ignored.
+ */
+ FunctionRunner(PthreadFuncPtr func, void* arg)
+ : func_(apache::thrift::stdcxx::bind(pthread_func_wrapper, func, arg))
+ { }
+
+ /**
+ * Given a generic callback, this FunctionRunner will execute it.
+ */
+ FunctionRunner(const VoidFunc& cob)
+ : func_(cob)
+ { }
+
+ /**
+ * Given a bool foo(...) type callback, FunctionRunner will execute
+ * the callback repeatedly with 'intervalMs' milliseconds between the calls,
+ * until it returns false. Note that the actual interval between calls will
+ * be intervalMs plus execution time of the callback.
+ */
+ FunctionRunner(const BoolFunc& cob, int intervalMs)
+ : repFunc_(cob), intervalMs_(intervalMs)
+ { }
+
+ void run() {
+ if (repFunc_) {
+ while(repFunc_()) {
+ THRIFT_SLEEP_USEC(intervalMs_*1000);
+ }
+ } else {
+ func_();
+ }
+ }
+
+ private:
+ VoidFunc func_;
+ BoolFunc repFunc_;
+ int intervalMs_;
+};
+
+}}} // apache::thrift::concurrency
+
+#endif // #ifndef _THRIFT_CONCURRENCY_FUNCTION_RUNNER_H
http://git-wip-us.apache.org/repos/asf/airavata/blob/f891b7dc/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/concurrency/Monitor.cpp
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/concurrency/Monitor.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/concurrency/Monitor.cpp
new file mode 100644
index 0000000..d94b2a4
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/concurrency/Monitor.cpp
@@ -0,0 +1,221 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you 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 <thrift/concurrency/Monitor.h>
+#include <thrift/concurrency/Exception.h>
+#include <thrift/concurrency/Util.h>
+#include <thrift/transport/PlatformSocket.h>
+
+#include <boost/scoped_ptr.hpp>
+
+#include <assert.h>
+
+#include <iostream>
+
+#include <pthread.h>
+
+namespace apache { namespace thrift { namespace concurrency {
+
+using boost::scoped_ptr;
+
+/**
+ * Monitor implementation using the POSIX pthread library
+ *
+ * @version $Id:$
+ */
+class Monitor::Impl {
+
+ public:
+
+ Impl()
+ : ownedMutex_(new Mutex()),
+ mutex_(NULL),
+ condInitialized_(false) {
+ init(ownedMutex_.get());
+ }
+
+ Impl(Mutex* mutex)
+ : mutex_(NULL),
+ condInitialized_(false) {
+ init(mutex);
+ }
+
+ Impl(Monitor* monitor)
+ : mutex_(NULL),
+ condInitialized_(false) {
+ init(&(monitor->mutex()));
+ }
+
+ ~Impl() { cleanup(); }
+
+ Mutex& mutex() { return *mutex_; }
+ void lock() { mutex().lock(); }
+ void unlock() { mutex().unlock(); }
+
+ /**
+ * Exception-throwing version of waitForTimeRelative(), called simply
+ * wait(int64) for historical reasons. Timeout is in milliseconds.
+ *
+ * If the condition occurs, this function returns cleanly; on timeout or
+ * error an exception is thrown.
+ */
+ void wait(int64_t timeout_ms) const {
+ int result = waitForTimeRelative(timeout_ms);
+ if (result == THRIFT_ETIMEDOUT) {
+ // pthread_cond_timedwait has been observed to return early on
+ // various platforms, so comment out this assert.
+ //assert(Util::currentTime() >= (now + timeout));
+ throw TimedOutException();
+ } else if (result != 0) {
+ throw TException(
+ "pthread_cond_wait() or pthread_cond_timedwait() failed");
+ }
+ }
+
+ /**
+ * Waits until the specified timeout in milliseconds for the condition to
+ * occur, or waits forever if timeout_ms == 0.
+ *
+ * Returns 0 if condition occurs, THRIFT_ETIMEDOUT on timeout, or an error code.
+ */
+ int waitForTimeRelative(int64_t timeout_ms) const {
+ if (timeout_ms == 0LL) {
+ return waitForever();
+ }
+
+ struct THRIFT_TIMESPEC abstime;
+ Util::toTimespec(abstime, Util::currentTime() + timeout_ms);
+ return waitForTime(&abstime);
+ }
+
+ /**
+ * Waits until the absolute time specified using struct THRIFT_TIMESPEC.
+ * Returns 0 if condition occurs, THRIFT_ETIMEDOUT on timeout, or an error code.
+ */
+ int waitForTime(const THRIFT_TIMESPEC* abstime) const {
+ assert(mutex_);
+ pthread_mutex_t* mutexImpl =
+ reinterpret_cast<pthread_mutex_t*>(mutex_->getUnderlyingImpl());
+ assert(mutexImpl);
+
+ // XXX Need to assert that caller owns mutex
+ return pthread_cond_timedwait(&pthread_cond_,
+ mutexImpl,
+ abstime);
+ }
+
+ int waitForTime(const struct timeval* abstime) const {
+ struct THRIFT_TIMESPEC temp;
+ temp.tv_sec = abstime->tv_sec;
+ temp.tv_nsec = abstime->tv_usec * 1000;
+ return waitForTime(&temp);
+ }
+ /**
+ * Waits forever until the condition occurs.
+ * Returns 0 if condition occurs, or an error code otherwise.
+ */
+ int waitForever() const {
+ assert(mutex_);
+ pthread_mutex_t* mutexImpl =
+ reinterpret_cast<pthread_mutex_t*>(mutex_->getUnderlyingImpl());
+ assert(mutexImpl);
+ return pthread_cond_wait(&pthread_cond_, mutexImpl);
+ }
+
+
+ void notify() {
+ // XXX Need to assert that caller owns mutex
+ int iret = pthread_cond_signal(&pthread_cond_);
+ THRIFT_UNUSED_VARIABLE(iret);
+ assert(iret == 0);
+ }
+
+ void notifyAll() {
+ // XXX Need to assert that caller owns mutex
+ int iret = pthread_cond_broadcast(&pthread_cond_);
+ THRIFT_UNUSED_VARIABLE(iret);
+ assert(iret == 0);
+ }
+
+ private:
+
+ void init(Mutex* mutex) {
+ mutex_ = mutex;
+
+ if (pthread_cond_init(&pthread_cond_, NULL) == 0) {
+ condInitialized_ = true;
+ }
+
+ if (!condInitialized_) {
+ cleanup();
+ throw SystemResourceException();
+ }
+ }
+
+ void cleanup() {
+ if (condInitialized_) {
+ condInitialized_ = false;
+ int iret = pthread_cond_destroy(&pthread_cond_);
+ THRIFT_UNUSED_VARIABLE(iret);
+ assert(iret == 0);
+ }
+ }
+
+ scoped_ptr<Mutex> ownedMutex_;
+ Mutex* mutex_;
+
+ mutable pthread_cond_t pthread_cond_;
+ mutable bool condInitialized_;
+};
+
+Monitor::Monitor() : impl_(new Monitor::Impl()) {}
+Monitor::Monitor(Mutex* mutex) : impl_(new Monitor::Impl(mutex)) {}
+Monitor::Monitor(Monitor* monitor) : impl_(new Monitor::Impl(monitor)) {}
+
+Monitor::~Monitor() { delete impl_; }
+
+Mutex& Monitor::mutex() const { return impl_->mutex(); }
+
+void Monitor::lock() const { impl_->lock(); }
+
+void Monitor::unlock() const { impl_->unlock(); }
+
+void Monitor::wait(int64_t timeout) const { impl_->wait(timeout); }
+
+int Monitor::waitForTime(const THRIFT_TIMESPEC* abstime) const {
+ return impl_->waitForTime(abstime);
+}
+
+int Monitor::waitForTime(const timeval* abstime) const {
+ return impl_->waitForTime(abstime);
+}
+
+int Monitor::waitForTimeRelative(int64_t timeout_ms) const {
+ return impl_->waitForTimeRelative(timeout_ms);
+}
+
+int Monitor::waitForever() const {
+ return impl_->waitForever();
+}
+
+void Monitor::notify() const { impl_->notify(); }
+
+void Monitor::notifyAll() const { impl_->notifyAll(); }
+
+}}} // apache::thrift::concurrency
http://git-wip-us.apache.org/repos/asf/airavata/blob/f891b7dc/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/concurrency/Monitor.h
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/concurrency/Monitor.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/concurrency/Monitor.h
new file mode 100644
index 0000000..811e0e1
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/concurrency/Monitor.h
@@ -0,0 +1,130 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you 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 _THRIFT_CONCURRENCY_MONITOR_H_
+#define _THRIFT_CONCURRENCY_MONITOR_H_ 1
+
+#include <thrift/concurrency/Exception.h>
+#include <thrift/concurrency/Mutex.h>
+
+#include <boost/utility.hpp>
+
+
+namespace apache { namespace thrift { namespace concurrency {
+
+/**
+ * A monitor is a combination mutex and condition-event. Waiting and
+ * notifying condition events requires that the caller own the mutex. Mutex
+ * lock and unlock operations can be performed independently of condition
+ * events. This is more or less analogous to java.lang.Object multi-thread
+ * operations.
+ *
+ * Note the Monitor can create a new, internal mutex; alternatively, a
+ * separate Mutex can be passed in and the Monitor will re-use it without
+ * taking ownership. It's the user's responsibility to make sure that the
+ * Mutex is not deallocated before the Monitor.
+ *
+ * Note that all methods are const. Monitors implement logical constness, not
+ * bit constness. This allows const methods to call monitor methods without
+ * needing to cast away constness or change to non-const signatures.
+ *
+ * @version $Id:$
+ */
+class Monitor : boost::noncopyable {
+ public:
+ /** Creates a new mutex, and takes ownership of it. */
+ Monitor();
+
+ /** Uses the provided mutex without taking ownership. */
+ explicit Monitor(Mutex* mutex);
+
+ /** Uses the mutex inside the provided Monitor without taking ownership. */
+ explicit Monitor(Monitor* monitor);
+
+ /** Deallocates the mutex only if we own it. */
+ virtual ~Monitor();
+
+ Mutex& mutex() const;
+
+ virtual void lock() const;
+
+ virtual void unlock() const;
+
+ /**
+ * Waits a maximum of the specified timeout in milliseconds for the condition
+ * to occur, or waits forever if timeout_ms == 0.
+ *
+ * Returns 0 if condition occurs, THRIFT_ETIMEDOUT on timeout, or an error code.
+ */
+ int waitForTimeRelative(int64_t timeout_ms) const;
+
+ /**
+ * Waits until the absolute time specified using struct THRIFT_TIMESPEC.
+ * Returns 0 if condition occurs, THRIFT_ETIMEDOUT on timeout, or an error code.
+ */
+ int waitForTime(const THRIFT_TIMESPEC* abstime) const;
+
+ /**
+ * Waits until the absolute time specified using struct timeval.
+ * Returns 0 if condition occurs, THRIFT_ETIMEDOUT on timeout, or an error code.
+ */
+ int waitForTime(const struct timeval* abstime) const;
+
+ /**
+ * Waits forever until the condition occurs.
+ * Returns 0 if condition occurs, or an error code otherwise.
+ */
+ int waitForever() const;
+
+ /**
+ * Exception-throwing version of waitForTimeRelative(), called simply
+ * wait(int64) for historical reasons. Timeout is in milliseconds.
+ *
+ * If the condition occurs, this function returns cleanly; on timeout or
+ * error an exception is thrown.
+ */
+ void wait(int64_t timeout_ms = 0LL) const;
+
+
+ /** Wakes up one thread waiting on this monitor. */
+ virtual void notify() const;
+
+ /** Wakes up all waiting threads on this monitor. */
+ virtual void notifyAll() const;
+
+ private:
+
+ class Impl;
+
+ Impl* impl_;
+};
+
+class Synchronized {
+ public:
+ Synchronized(const Monitor* monitor) : g(monitor->mutex()) { }
+ Synchronized(const Monitor& monitor) : g(monitor.mutex()) { }
+
+ private:
+ Guard g;
+};
+
+
+}}} // apache::thrift::concurrency
+
+#endif // #ifndef _THRIFT_CONCURRENCY_MONITOR_H_
http://git-wip-us.apache.org/repos/asf/airavata/blob/f891b7dc/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/concurrency/Mutex.cpp
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/concurrency/Mutex.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/concurrency/Mutex.cpp
new file mode 100644
index 0000000..3f7bb5b
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/concurrency/Mutex.cpp
@@ -0,0 +1,353 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you 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 <thrift/thrift-config.h>
+
+#include <thrift/Thrift.h>
+#include <thrift/concurrency/Mutex.h>
+#include <thrift/concurrency/Util.h>
+
+#include <assert.h>
+#ifdef HAVE_PTHREAD_H
+#include <pthread.h>
+#endif
+#include <signal.h>
+
+using boost::shared_ptr;
+
+namespace apache { namespace thrift { namespace concurrency {
+
+#ifndef THRIFT_NO_CONTENTION_PROFILING
+
+static sig_atomic_t mutexProfilingSampleRate = 0;
+static MutexWaitCallback mutexProfilingCallback = 0;
+
+volatile static sig_atomic_t mutexProfilingCounter = 0;
+
+void enableMutexProfiling(int32_t profilingSampleRate,
+ MutexWaitCallback callback) {
+ mutexProfilingSampleRate = profilingSampleRate;
+ mutexProfilingCallback = callback;
+}
+
+#define PROFILE_MUTEX_START_LOCK() \
+ int64_t _lock_startTime = maybeGetProfilingStartTime();
+
+#define PROFILE_MUTEX_NOT_LOCKED() \
+ do { \
+ if (_lock_startTime > 0) { \
+ int64_t endTime = Util::currentTimeUsec(); \
+ (*mutexProfilingCallback)(this, endTime - _lock_startTime); \
+ } \
+ } while (0)
+
+#define PROFILE_MUTEX_LOCKED() \
+ do { \
+ profileTime_ = _lock_startTime; \
+ if (profileTime_ > 0) { \
+ profileTime_ = Util::currentTimeUsec() - profileTime_; \
+ } \
+ } while (0)
+
+#define PROFILE_MUTEX_START_UNLOCK() \
+ int64_t _temp_profileTime = profileTime_; \
+ profileTime_ = 0;
+
+#define PROFILE_MUTEX_UNLOCKED() \
+ do { \
+ if (_temp_profileTime > 0) { \
+ (*mutexProfilingCallback)(this, _temp_profileTime); \
+ } \
+ } while (0)
+
+static inline int64_t maybeGetProfilingStartTime() {
+ if (mutexProfilingSampleRate && mutexProfilingCallback) {
+ // This block is unsynchronized, but should produce a reasonable sampling
+ // rate on most architectures. The main race conditions are the gap
+ // between the decrement and the test, the non-atomicity of decrement, and
+ // potential caching of different values at different CPUs.
+ //
+ // - if two decrements race, the likeliest result is that the counter
+ // decrements slowly (perhaps much more slowly) than intended.
+ //
+ // - many threads could potentially decrement before resetting the counter
+ // to its large value, causing each additional incoming thread to
+ // profile every call. This situation is unlikely to persist for long
+ // as the critical gap is quite short, but profiling could be bursty.
+ sig_atomic_t localValue = --mutexProfilingCounter;
+ if (localValue <= 0) {
+ mutexProfilingCounter = mutexProfilingSampleRate;
+ return Util::currentTimeUsec();
+ }
+ }
+
+ return 0;
+}
+
+#else
+# define PROFILE_MUTEX_START_LOCK()
+# define PROFILE_MUTEX_NOT_LOCKED()
+# define PROFILE_MUTEX_LOCKED()
+# define PROFILE_MUTEX_START_UNLOCK()
+# define PROFILE_MUTEX_UNLOCKED()
+#endif // THRIFT_NO_CONTENTION_PROFILING
+
+/**
+ * Implementation of Mutex class using POSIX mutex
+ *
+ * @version $Id:$
+ */
+class Mutex::impl {
+ public:
+ impl(Initializer init) : initialized_(false) {
+#ifndef THRIFT_NO_CONTENTION_PROFILING
+ profileTime_ = 0;
+#endif
+ init(&pthread_mutex_);
+ initialized_ = true;
+ }
+
+ ~impl() {
+ if (initialized_) {
+ initialized_ = false;
+ int ret = pthread_mutex_destroy(&pthread_mutex_);
+ THRIFT_UNUSED_VARIABLE(ret);
+ assert(ret == 0);
+ }
+ }
+
+ void lock() const {
+ PROFILE_MUTEX_START_LOCK();
+ pthread_mutex_lock(&pthread_mutex_);
+ PROFILE_MUTEX_LOCKED();
+ }
+
+ bool trylock() const { return (0 == pthread_mutex_trylock(&pthread_mutex_)); }
+
+ bool timedlock(int64_t milliseconds) const {
+#if defined(_POSIX_TIMEOUTS) && _POSIX_TIMEOUTS >= 200112L
+ PROFILE_MUTEX_START_LOCK();
+
+ struct THRIFT_TIMESPEC ts;
+ Util::toTimespec(ts, milliseconds + Util::currentTime());
+ int ret = pthread_mutex_timedlock(&pthread_mutex_, &ts);
+ if (ret == 0) {
+ PROFILE_MUTEX_LOCKED();
+ return true;
+ }
+
+ PROFILE_MUTEX_NOT_LOCKED();
+ return false;
+#else
+ /* Otherwise follow solution used by Mono for Android */
+ struct THRIFT_TIMESPEC sleepytime, now, to;
+
+ /* This is just to avoid a completely busy wait */
+ sleepytime.tv_sec = 0;
+ sleepytime.tv_nsec = 10000000L; /* 10ms */
+
+ Util::toTimespec(to, milliseconds + Util::currentTime());
+
+ while ((trylock()) == false) {
+ Util::toTimespec(now, Util::currentTime());
+ if (now.tv_sec >= to.tv_sec && now.tv_nsec >= to.tv_nsec) {
+ return false;
+ }
+ nanosleep(&sleepytime, NULL);
+ }
+
+ return true;
+#endif
+ }
+
+ void unlock() const {
+ PROFILE_MUTEX_START_UNLOCK();
+ pthread_mutex_unlock(&pthread_mutex_);
+ PROFILE_MUTEX_UNLOCKED();
+ }
+
+ void* getUnderlyingImpl() const { return (void*) &pthread_mutex_; }
+
+ private:
+ mutable pthread_mutex_t pthread_mutex_;
+ mutable bool initialized_;
+#ifndef THRIFT_NO_CONTENTION_PROFILING
+ mutable int64_t profileTime_;
+#endif
+};
+
+Mutex::Mutex(Initializer init) : impl_(new Mutex::impl(init)) {}
+
+void* Mutex::getUnderlyingImpl() const { return impl_->getUnderlyingImpl(); }
+
+void Mutex::lock() const { impl_->lock(); }
+
+bool Mutex::trylock() const { return impl_->trylock(); }
+
+bool Mutex::timedlock(int64_t ms) const { return impl_->timedlock(ms); }
+
+void Mutex::unlock() const { impl_->unlock(); }
+
+void Mutex::DEFAULT_INITIALIZER(void* arg) {
+ pthread_mutex_t* pthread_mutex = (pthread_mutex_t*)arg;
+ int ret = pthread_mutex_init(pthread_mutex, NULL);
+ THRIFT_UNUSED_VARIABLE(ret);
+ assert(ret == 0);
+}
+
+#if defined(PTHREAD_ADAPTIVE_MUTEX_INITIALIZER_NP) || defined(PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP)
+static void init_with_kind(pthread_mutex_t* mutex, int kind) {
+ pthread_mutexattr_t mutexattr;
+ int ret = pthread_mutexattr_init(&mutexattr);
+ assert(ret == 0);
+
+ // Apparently, this can fail. Should we really be aborting?
+ ret = pthread_mutexattr_settype(&mutexattr, kind);
+ assert(ret == 0);
+
+ ret = pthread_mutex_init(mutex, &mutexattr);
+ assert(ret == 0);
+
+ ret = pthread_mutexattr_destroy(&mutexattr);
+ assert(ret == 0);
+ THRIFT_UNUSED_VARIABLE(ret);
+}
+#endif
+
+#ifdef PTHREAD_ADAPTIVE_MUTEX_INITIALIZER_NP
+void Mutex::ADAPTIVE_INITIALIZER(void* arg) {
+ // From mysql source: mysys/my_thr_init.c
+ // Set mutex type to "fast" a.k.a "adaptive"
+ //
+ // In this case the thread may steal the mutex from some other thread
+ // that is waiting for the same mutex. This will save us some
+ // context switches but may cause a thread to 'starve forever' while
+ // waiting for the mutex (not likely if the code within the mutex is
+ // short).
+ init_with_kind((pthread_mutex_t*)arg, PTHREAD_MUTEX_ADAPTIVE_NP);
+}
+#endif
+
+#ifdef PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP
+void Mutex::RECURSIVE_INITIALIZER(void* arg) {
+ init_with_kind((pthread_mutex_t*)arg, PTHREAD_MUTEX_RECURSIVE_NP);
+}
+#endif
+
+
+/**
+ * Implementation of ReadWriteMutex class using POSIX rw lock
+ *
+ * @version $Id:$
+ */
+class ReadWriteMutex::impl {
+public:
+ impl() : initialized_(false) {
+#ifndef THRIFT_NO_CONTENTION_PROFILING
+ profileTime_ = 0;
+#endif
+ int ret = pthread_rwlock_init(&rw_lock_, NULL);
+ THRIFT_UNUSED_VARIABLE(ret);
+ assert(ret == 0);
+ initialized_ = true;
+ }
+
+ ~impl() {
+ if(initialized_) {
+ initialized_ = false;
+ int ret = pthread_rwlock_destroy(&rw_lock_);
+ THRIFT_UNUSED_VARIABLE(ret);
+ assert(ret == 0);
+ }
+ }
+
+ void acquireRead() const {
+ PROFILE_MUTEX_START_LOCK();
+ pthread_rwlock_rdlock(&rw_lock_);
+ PROFILE_MUTEX_NOT_LOCKED(); // not exclusive, so use not-locked path
+ }
+
+ void acquireWrite() const {
+ PROFILE_MUTEX_START_LOCK();
+ pthread_rwlock_wrlock(&rw_lock_);
+ PROFILE_MUTEX_LOCKED();
+ }
+
+ bool attemptRead() const { return !pthread_rwlock_tryrdlock(&rw_lock_); }
+
+ bool attemptWrite() const { return !pthread_rwlock_trywrlock(&rw_lock_); }
+
+ void release() const {
+ PROFILE_MUTEX_START_UNLOCK();
+ pthread_rwlock_unlock(&rw_lock_);
+ PROFILE_MUTEX_UNLOCKED();
+ }
+
+private:
+ mutable pthread_rwlock_t rw_lock_;
+ mutable bool initialized_;
+#ifndef THRIFT_NO_CONTENTION_PROFILING
+ mutable int64_t profileTime_;
+#endif
+};
+
+ReadWriteMutex::ReadWriteMutex() : impl_(new ReadWriteMutex::impl()) {}
+
+void ReadWriteMutex::acquireRead() const { impl_->acquireRead(); }
+
+void ReadWriteMutex::acquireWrite() const { impl_->acquireWrite(); }
+
+bool ReadWriteMutex::attemptRead() const { return impl_->attemptRead(); }
+
+bool ReadWriteMutex::attemptWrite() const { return impl_->attemptWrite(); }
+
+void ReadWriteMutex::release() const { impl_->release(); }
+
+NoStarveReadWriteMutex::NoStarveReadWriteMutex() : writerWaiting_(false) {}
+
+void NoStarveReadWriteMutex::acquireRead() const
+{
+ if (writerWaiting_) {
+ // writer is waiting, block on the writer's mutex until he's done with it
+ mutex_.lock();
+ mutex_.unlock();
+ }
+
+ ReadWriteMutex::acquireRead();
+}
+
+void NoStarveReadWriteMutex::acquireWrite() const
+{
+ // if we can acquire the rwlock the easy way, we're done
+ if (attemptWrite()) {
+ return;
+ }
+
+ // failed to get the rwlock, do it the hard way:
+ // locking the mutex and setting writerWaiting will cause all new readers to
+ // block on the mutex rather than on the rwlock.
+ mutex_.lock();
+ writerWaiting_ = true;
+ ReadWriteMutex::acquireWrite();
+ writerWaiting_ = false;
+ mutex_.unlock();
+}
+
+}}} // apache::thrift::concurrency
+
http://git-wip-us.apache.org/repos/asf/airavata/blob/f891b7dc/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/concurrency/Mutex.h
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/concurrency/Mutex.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/concurrency/Mutex.h
new file mode 100644
index 0000000..3cd8440
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/concurrency/Mutex.h
@@ -0,0 +1,188 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you 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 _THRIFT_CONCURRENCY_MUTEX_H_
+#define _THRIFT_CONCURRENCY_MUTEX_H_ 1
+
+#include <boost/shared_ptr.hpp>
+#include <boost/noncopyable.hpp>
+
+namespace apache { namespace thrift { namespace concurrency {
+
+#ifndef THRIFT_NO_CONTENTION_PROFILING
+
+/**
+ * Determines if the Thrift Mutex and ReadWriteMutex classes will attempt to
+ * profile their blocking acquire methods. If this value is set to non-zero,
+ * Thrift will attempt to invoke the callback once every profilingSampleRate
+ * times. However, as the sampling is not synchronized the rate is not
+ * guranateed, and could be subject to big bursts and swings. Please ensure
+ * your sampling callback is as performant as your application requires.
+ *
+ * The callback will get called with the wait time taken to lock the mutex in
+ * usec and a (void*) that uniquely identifies the Mutex (or ReadWriteMutex)
+ * being locked.
+ *
+ * The enableMutexProfiling() function is unsynchronized; calling this function
+ * while profiling is already enabled may result in race conditions. On
+ * architectures where a pointer assignment is atomic, this is safe but there
+ * is no guarantee threads will agree on a single callback within any
+ * particular time period.
+ */
+typedef void (*MutexWaitCallback)(const void* id, int64_t waitTimeMicros);
+void enableMutexProfiling(int32_t profilingSampleRate,
+ MutexWaitCallback callback);
+
+#endif
+
+/**
+ * A simple mutex class
+ *
+ * @version $Id:$
+ */
+class Mutex {
+ public:
+ typedef void (*Initializer)(void*);
+
+ Mutex(Initializer init = DEFAULT_INITIALIZER);
+ virtual ~Mutex() {}
+ virtual void lock() const;
+ virtual bool trylock() const;
+ virtual bool timedlock(int64_t milliseconds) const;
+ virtual void unlock() const;
+
+ void* getUnderlyingImpl() const;
+
+ static void DEFAULT_INITIALIZER(void*);
+ static void ADAPTIVE_INITIALIZER(void*);
+ static void RECURSIVE_INITIALIZER(void*);
+
+ private:
+
+ class impl;
+ boost::shared_ptr<impl> impl_;
+};
+
+class ReadWriteMutex {
+public:
+ ReadWriteMutex();
+ virtual ~ReadWriteMutex() {}
+
+ // these get the lock and block until it is done successfully
+ virtual void acquireRead() const;
+ virtual void acquireWrite() const;
+
+ // these attempt to get the lock, returning false immediately if they fail
+ virtual bool attemptRead() const;
+ virtual bool attemptWrite() const;
+
+ // this releases both read and write locks
+ virtual void release() const;
+
+private:
+
+ class impl;
+ boost::shared_ptr<impl> impl_;
+};
+
+/**
+ * A ReadWriteMutex that guarantees writers will not be starved by readers:
+ * When a writer attempts to acquire the mutex, all new readers will be
+ * blocked from acquiring the mutex until the writer has acquired and
+ * released it. In some operating systems, this may already be guaranteed
+ * by a regular ReadWriteMutex.
+ */
+class NoStarveReadWriteMutex : public ReadWriteMutex {
+public:
+ NoStarveReadWriteMutex();
+
+ virtual void acquireRead() const;
+ virtual void acquireWrite() const;
+
+private:
+ Mutex mutex_;
+ mutable volatile bool writerWaiting_;
+};
+
+class Guard : boost::noncopyable {
+ public:
+ Guard(const Mutex& value, int64_t timeout = 0) : mutex_(&value) {
+ if (timeout == 0) {
+ value.lock();
+ } else if (timeout < 0) {
+ if (!value.trylock()) {
+ mutex_ = NULL;
+ }
+ } else {
+ if (!value.timedlock(timeout)) {
+ mutex_ = NULL;
+ }
+ }
+ }
+ ~Guard() {
+ if (mutex_) {
+ mutex_->unlock();
+ }
+ }
+
+ operator bool() const {
+ return (mutex_ != NULL);
+ }
+
+ private:
+ const Mutex* mutex_;
+};
+
+// Can be used as second argument to RWGuard to make code more readable
+// as to whether we're doing acquireRead() or acquireWrite().
+enum RWGuardType {
+ RW_READ = 0,
+ RW_WRITE = 1
+};
+
+
+class RWGuard : boost::noncopyable {
+ public:
+ RWGuard(const ReadWriteMutex& value, bool write = false)
+ : rw_mutex_(value) {
+ if (write) {
+ rw_mutex_.acquireWrite();
+ } else {
+ rw_mutex_.acquireRead();
+ }
+ }
+
+ RWGuard(const ReadWriteMutex& value, RWGuardType type)
+ : rw_mutex_(value) {
+ if (type == RW_WRITE) {
+ rw_mutex_.acquireWrite();
+ } else {
+ rw_mutex_.acquireRead();
+ }
+ }
+ ~RWGuard() {
+ rw_mutex_.release();
+ }
+ private:
+ const ReadWriteMutex& rw_mutex_;
+};
+
+}}} // apache::thrift::concurrency
+
+#endif // #ifndef _THRIFT_CONCURRENCY_MUTEX_H_
http://git-wip-us.apache.org/repos/asf/airavata/blob/f891b7dc/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/concurrency/PlatformThreadFactory.h
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/concurrency/PlatformThreadFactory.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/concurrency/PlatformThreadFactory.h
new file mode 100644
index 0000000..6e46dfc
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/concurrency/PlatformThreadFactory.h
@@ -0,0 +1,44 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you 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 _THRIFT_CONCURRENCY_PLATFORMTHREADFACTORY_H_
+#define _THRIFT_CONCURRENCY_PLATFORMTHREADFACTORY_H_ 1
+
+#include <thrift/thrift-config.h>
+#if USE_BOOST_THREAD
+# include <thrift/concurrency/BoostThreadFactory.h>
+#elif USE_STD_THREAD
+# include <thrift/concurrency/StdThreadFactory.h>
+#else
+# include <thrift/concurrency/PosixThreadFactory.h>
+#endif
+
+namespace apache { namespace thrift { namespace concurrency {
+
+#ifdef USE_BOOST_THREAD
+ typedef BoostThreadFactory PlatformThreadFactory;
+#elif USE_STD_THREAD
+ typedef StdThreadFactory PlatformThreadFactory;
+#else
+ typedef PosixThreadFactory PlatformThreadFactory;
+#endif
+
+}}} // apache::thrift::concurrency
+
+#endif // #ifndef _THRIFT_CONCURRENCY_PLATFORMTHREADFACTORY_H_
http://git-wip-us.apache.org/repos/asf/airavata/blob/f891b7dc/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/concurrency/PosixThreadFactory.cpp
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/concurrency/PosixThreadFactory.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/concurrency/PosixThreadFactory.cpp
new file mode 100644
index 0000000..52ceead
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/concurrency/PosixThreadFactory.cpp
@@ -0,0 +1,341 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you 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 <thrift/thrift-config.h>
+
+#include <thrift/concurrency/PosixThreadFactory.h>
+#include <thrift/concurrency/Exception.h>
+
+#if GOOGLE_PERFTOOLS_REGISTER_THREAD
+# include <google/profiler.h>
+#endif
+
+#include <assert.h>
+#include <pthread.h>
+
+#include <iostream>
+
+#include <boost/weak_ptr.hpp>
+
+namespace apache { namespace thrift { namespace concurrency {
+
+using boost::shared_ptr;
+using boost::weak_ptr;
+
+/**
+ * The POSIX thread class.
+ *
+ * @version $Id:$
+ */
+class PthreadThread: public Thread {
+ public:
+
+ enum STATE {
+ uninitialized,
+ starting,
+ started,
+ stopping,
+ stopped
+ };
+
+ static const int MB = 1024 * 1024;
+
+ static void* threadMain(void* arg);
+
+ private:
+ pthread_t pthread_;
+ STATE state_;
+ int policy_;
+ int priority_;
+ int stackSize_;
+ weak_ptr<PthreadThread> self_;
+ bool detached_;
+
+ public:
+
+ PthreadThread(int policy, int priority, int stackSize, bool detached, shared_ptr<Runnable> runnable) :
+
+#ifndef _WIN32
+ pthread_(0),
+#endif // _WIN32
+
+ state_(uninitialized),
+ policy_(policy),
+ priority_(priority),
+ stackSize_(stackSize),
+ detached_(detached) {
+
+ this->Thread::runnable(runnable);
+ }
+
+ ~PthreadThread() {
+ /* Nothing references this thread, if is is not detached, do a join
+ now, otherwise the thread-id and, possibly, other resources will
+ be leaked. */
+ if(!detached_) {
+ try {
+ join();
+ } catch(...) {
+ // We're really hosed.
+ }
+ }
+ }
+
+ void start() {
+ if (state_ != uninitialized) {
+ return;
+ }
+
+ pthread_attr_t thread_attr;
+ if (pthread_attr_init(&thread_attr) != 0) {
+ throw SystemResourceException("pthread_attr_init failed");
+ }
+
+ if(pthread_attr_setdetachstate(&thread_attr,
+ detached_ ?
+ PTHREAD_CREATE_DETACHED :
+ PTHREAD_CREATE_JOINABLE) != 0) {
+ throw SystemResourceException("pthread_attr_setdetachstate failed");
+ }
+
+ // Set thread stack size
+ if (pthread_attr_setstacksize(&thread_attr, MB * stackSize_) != 0) {
+ throw SystemResourceException("pthread_attr_setstacksize failed");
+ }
+
+ // Set thread policy
+ #ifdef _WIN32
+ //WIN32 Pthread implementation doesn't seem to support sheduling policies other then PosixThreadFactory::OTHER - runtime error
+ policy_ = PosixThreadFactory::OTHER;
+ #endif
+
+ if (pthread_attr_setschedpolicy(&thread_attr, policy_) != 0) {
+ throw SystemResourceException("pthread_attr_setschedpolicy failed");
+ }
+
+ struct sched_param sched_param;
+ sched_param.sched_priority = priority_;
+
+ // Set thread priority
+ if (pthread_attr_setschedparam(&thread_attr, &sched_param) != 0) {
+ throw SystemResourceException("pthread_attr_setschedparam failed");
+ }
+
+ // Create reference
+ shared_ptr<PthreadThread>* selfRef = new shared_ptr<PthreadThread>();
+ *selfRef = self_.lock();
+
+ state_ = starting;
+
+ if (pthread_create(&pthread_, &thread_attr, threadMain, (void*)selfRef) != 0) {
+ throw SystemResourceException("pthread_create failed");
+ }
+ }
+
+ void join() {
+ if (!detached_ && state_ != uninitialized) {
+ void* ignore;
+ /* XXX
+ If join fails it is most likely due to the fact
+ that the last reference was the thread itself and cannot
+ join. This results in leaked threads and will eventually
+ cause the process to run out of thread resources.
+ We're beyond the point of throwing an exception. Not clear how
+ best to handle this. */
+ int res = pthread_join(pthread_, &ignore);
+ detached_ = (res == 0);
+ if (res != 0) {
+ GlobalOutput.printf("PthreadThread::join(): fail with code %d", res);
+ }
+ } else {
+ GlobalOutput.printf("PthreadThread::join(): detached thread");
+ }
+ }
+
+ Thread::id_t getId() {
+
+#ifndef _WIN32
+ return (Thread::id_t)pthread_;
+#else
+ return (Thread::id_t)pthread_.p;
+#endif // _WIN32
+ }
+
+ shared_ptr<Runnable> runnable() const { return Thread::runnable(); }
+
+ void runnable(shared_ptr<Runnable> value) { Thread::runnable(value); }
+
+ void weakRef(shared_ptr<PthreadThread> self) {
+ assert(self.get() == this);
+ self_ = weak_ptr<PthreadThread>(self);
+ }
+};
+
+void* PthreadThread::threadMain(void* arg) {
+ shared_ptr<PthreadThread> thread = *(shared_ptr<PthreadThread>*)arg;
+ delete reinterpret_cast<shared_ptr<PthreadThread>*>(arg);
+
+ if (thread == NULL) {
+ return (void*)0;
+ }
+
+ if (thread->state_ != starting) {
+ return (void*)0;
+ }
+
+#if GOOGLE_PERFTOOLS_REGISTER_THREAD
+ ProfilerRegisterThread();
+#endif
+
+ thread->state_ = started;
+ thread->runnable()->run();
+ if (thread->state_ != stopping && thread->state_ != stopped) {
+ thread->state_ = stopping;
+ }
+
+ return (void*)0;
+}
+
+/**
+ * POSIX Thread factory implementation
+ */
+class PosixThreadFactory::Impl {
+
+ private:
+ POLICY policy_;
+ PRIORITY priority_;
+ int stackSize_;
+ bool detached_;
+
+ /**
+ * Converts generic posix thread schedule policy enums into pthread
+ * API values.
+ */
+ static int toPthreadPolicy(POLICY policy) {
+ switch (policy) {
+ case OTHER:
+ return SCHED_OTHER;
+ case FIFO:
+ return SCHED_FIFO;
+ case ROUND_ROBIN:
+ return SCHED_RR;
+ }
+ return SCHED_OTHER;
+ }
+
+ /**
+ * Converts relative thread priorities to absolute value based on posix
+ * thread scheduler policy
+ *
+ * The idea is simply to divide up the priority range for the given policy
+ * into the correpsonding relative priority level (lowest..highest) and
+ * then pro-rate accordingly.
+ */
+ static int toPthreadPriority(POLICY policy, PRIORITY priority) {
+ int pthread_policy = toPthreadPolicy(policy);
+ int min_priority = 0;
+ int max_priority = 0;
+#ifdef HAVE_SCHED_GET_PRIORITY_MIN
+ min_priority = sched_get_priority_min(pthread_policy);
+#endif
+#ifdef HAVE_SCHED_GET_PRIORITY_MAX
+ max_priority = sched_get_priority_max(pthread_policy);
+#endif
+ int quanta = (HIGHEST - LOWEST) + 1;
+ float stepsperquanta = (float)(max_priority - min_priority) / quanta;
+
+ if (priority <= HIGHEST) {
+ return (int)(min_priority + stepsperquanta * priority);
+ } else {
+ // should never get here for priority increments.
+ assert(false);
+ return (int)(min_priority + stepsperquanta * NORMAL);
+ }
+ }
+
+ public:
+
+ Impl(POLICY policy, PRIORITY priority, int stackSize, bool detached) :
+ policy_(policy),
+ priority_(priority),
+ stackSize_(stackSize),
+ detached_(detached) {}
+
+ /**
+ * Creates a new POSIX thread to run the runnable object
+ *
+ * @param runnable A runnable object
+ */
+ shared_ptr<Thread> newThread(shared_ptr<Runnable> runnable) const {
+ shared_ptr<PthreadThread> result = shared_ptr<PthreadThread>(new PthreadThread(toPthreadPolicy(policy_), toPthreadPriority(policy_, priority_), stackSize_, detached_, runnable));
+ result->weakRef(result);
+ runnable->thread(result);
+ return result;
+ }
+
+ int getStackSize() const { return stackSize_; }
+
+ void setStackSize(int value) { stackSize_ = value; }
+
+ PRIORITY getPriority() const { return priority_; }
+
+ /**
+ * Sets priority.
+ *
+ * XXX
+ * Need to handle incremental priorities properly.
+ */
+ void setPriority(PRIORITY value) { priority_ = value; }
+
+ bool isDetached() const { return detached_; }
+
+ void setDetached(bool value) { detached_ = value; }
+
+ Thread::id_t getCurrentThreadId() const {
+
+#ifndef _WIN32
+ return (Thread::id_t)pthread_self();
+#else
+ return (Thread::id_t)pthread_self().p;
+#endif // _WIN32
+
+ }
+
+};
+
+PosixThreadFactory::PosixThreadFactory(POLICY policy, PRIORITY priority, int stackSize, bool detached) :
+ impl_(new PosixThreadFactory::Impl(policy, priority, stackSize, detached)) {}
+
+shared_ptr<Thread> PosixThreadFactory::newThread(shared_ptr<Runnable> runnable) const { return impl_->newThread(runnable); }
+
+int PosixThreadFactory::getStackSize() const { return impl_->getStackSize(); }
+
+void PosixThreadFactory::setStackSize(int value) { impl_->setStackSize(value); }
+
+PosixThreadFactory::PRIORITY PosixThreadFactory::getPriority() const { return impl_->getPriority(); }
+
+void PosixThreadFactory::setPriority(PosixThreadFactory::PRIORITY value) { impl_->setPriority(value); }
+
+bool PosixThreadFactory::isDetached() const { return impl_->isDetached(); }
+
+void PosixThreadFactory::setDetached(bool value) { impl_->setDetached(value); }
+
+Thread::id_t PosixThreadFactory::getCurrentThreadId() const { return impl_->getCurrentThreadId(); }
+
+}}} // apache::thrift::concurrency
http://git-wip-us.apache.org/repos/asf/airavata/blob/f891b7dc/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/concurrency/PosixThreadFactory.h
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/concurrency/PosixThreadFactory.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/concurrency/PosixThreadFactory.h
new file mode 100644
index 0000000..72368ca
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/concurrency/PosixThreadFactory.h
@@ -0,0 +1,130 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you 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 _THRIFT_CONCURRENCY_POSIXTHREADFACTORY_H_
+#define _THRIFT_CONCURRENCY_POSIXTHREADFACTORY_H_ 1
+
+#include <thrift/concurrency/Thread.h>
+
+#include <boost/shared_ptr.hpp>
+
+namespace apache { namespace thrift { namespace concurrency {
+
+/**
+ * A thread factory to create posix threads
+ *
+ * @version $Id:$
+ */
+class PosixThreadFactory : public ThreadFactory {
+
+ public:
+
+ /**
+ * POSIX Thread scheduler policies
+ */
+ enum POLICY {
+ OTHER,
+ FIFO,
+ ROUND_ROBIN
+ };
+
+ /**
+ * POSIX Thread scheduler relative priorities,
+ *
+ * Absolute priority is determined by scheduler policy and OS. This
+ * enumeration specifies relative priorities such that one can specify a
+ * priority withing a giving scheduler policy without knowing the absolute
+ * value of the priority.
+ */
+ enum PRIORITY {
+ LOWEST = 0,
+ LOWER = 1,
+ LOW = 2,
+ NORMAL = 3,
+ HIGH = 4,
+ HIGHER = 5,
+ HIGHEST = 6,
+ INCREMENT = 7,
+ DECREMENT = 8
+ };
+
+ /**
+ * Posix thread (pthread) factory. All threads created by a factory are reference-counted
+ * via boost::shared_ptr and boost::weak_ptr. The factory guarantees that threads and
+ * the Runnable tasks they host will be properly cleaned up once the last strong reference
+ * to both is given up.
+ *
+ * Threads are created with the specified policy, priority, stack-size and detachable-mode
+ * detached means the thread is free-running and will release all system resources the
+ * when it completes. A detachable thread is not joinable. The join method
+ * of a detachable thread will return immediately with no error.
+ *
+ * By default threads are not joinable.
+ */
+
+ PosixThreadFactory(POLICY policy=ROUND_ROBIN, PRIORITY priority=NORMAL, int stackSize=1, bool detached=true);
+
+ // From ThreadFactory;
+ boost::shared_ptr<Thread> newThread(boost::shared_ptr<Runnable> runnable) const;
+
+ // From ThreadFactory;
+ Thread::id_t getCurrentThreadId() const;
+
+ /**
+ * Gets stack size for created threads
+ *
+ * @return int size in megabytes
+ */
+ virtual int getStackSize() const;
+
+ /**
+ * Sets stack size for created threads
+ *
+ * @param value size in megabytes
+ */
+ virtual void setStackSize(int value);
+
+ /**
+ * Gets priority relative to current policy
+ */
+ virtual PRIORITY getPriority() const;
+
+ /**
+ * Sets priority relative to current policy
+ */
+ virtual void setPriority(PRIORITY priority);
+
+ /**
+ * Sets detached mode of threads
+ */
+ virtual void setDetached(bool detached);
+
+ /**
+ * Gets current detached mode
+ */
+ virtual bool isDetached() const;
+
+ private:
+ class Impl;
+ boost::shared_ptr<Impl> impl_;
+};
+
+}}} // apache::thrift::concurrency
+
+#endif // #ifndef _THRIFT_CONCURRENCY_POSIXTHREADFACTORY_H_
http://git-wip-us.apache.org/repos/asf/airavata/blob/f891b7dc/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/concurrency/StdMonitor.cpp
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/concurrency/StdMonitor.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/concurrency/StdMonitor.cpp
new file mode 100644
index 0000000..cf257e6
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/concurrency/StdMonitor.cpp
@@ -0,0 +1,217 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you 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 <thrift/thrift-config.h>
+
+#include <thrift/concurrency/Monitor.h>
+#include <thrift/concurrency/Exception.h>
+#include <thrift/concurrency/Util.h>
+#include <thrift/transport/PlatformSocket.h>
+#include <assert.h>
+
+#include <condition_variable>
+#include <chrono>
+#include <thread>
+#include <mutex>
+
+namespace apache { namespace thrift { namespace concurrency {
+
+/**
+ * Monitor implementation using the std thread library
+ *
+ * @version $Id:$
+ */
+class Monitor::Impl {
+
+ public:
+
+ Impl()
+ : ownedMutex_(new Mutex()),
+ conditionVariable_(),
+ mutex_(NULL) {
+ init(ownedMutex_.get());
+ }
+
+ Impl(Mutex* mutex)
+ : ownedMutex_(),
+ conditionVariable_(),
+ mutex_(NULL) {
+ init(mutex);
+ }
+
+ Impl(Monitor* monitor)
+ : ownedMutex_(),
+ conditionVariable_(),
+ mutex_(NULL) {
+ init(&(monitor->mutex()));
+ }
+
+ Mutex& mutex() { return *mutex_; }
+ void lock() { mutex_->lock(); }
+ void unlock() { mutex_->unlock(); }
+
+ /**
+ * Exception-throwing version of waitForTimeRelative(), called simply
+ * wait(int64) for historical reasons. Timeout is in milliseconds.
+ *
+ * If the condition occurs, this function returns cleanly; on timeout or
+ * error an exception is thrown.
+ */
+ void wait(int64_t timeout_ms) {
+ int result = waitForTimeRelative(timeout_ms);
+ if (result == THRIFT_ETIMEDOUT) {
+ throw TimedOutException();
+ } else if (result != 0) {
+ throw TException(
+ "Monitor::wait() failed");
+ }
+ }
+
+ /**
+ * Waits until the specified timeout in milliseconds for the condition to
+ * occur, or waits forever if timeout_ms == 0.
+ *
+ * Returns 0 if condition occurs, THRIFT_ETIMEDOUT on timeout, or an error code.
+ */
+ int waitForTimeRelative(int64_t timeout_ms) {
+ if (timeout_ms == 0LL) {
+ return waitForever();
+ }
+
+ assert(mutex_);
+ std::timed_mutex* mutexImpl =
+ static_cast<std::timed_mutex*>(mutex_->getUnderlyingImpl());
+ assert(mutexImpl);
+
+ std::unique_lock<std::timed_mutex> lock(*mutexImpl, std::adopt_lock);
+ bool timedout = (conditionVariable_.wait_for(lock, std::chrono::milliseconds(timeout_ms)) == std::cv_status::timeout);
+ lock.release();
+ return (timedout ? THRIFT_ETIMEDOUT : 0);
+ }
+
+ /**
+ * Waits until the absolute time specified using struct THRIFT_TIMESPEC.
+ * Returns 0 if condition occurs, THRIFT_ETIMEDOUT on timeout, or an error code.
+ */
+ int waitForTime(const THRIFT_TIMESPEC* abstime) {
+ struct timeval temp;
+ temp.tv_sec = static_cast<long>(abstime->tv_sec);
+ temp.tv_usec = static_cast<long>(abstime->tv_nsec) / 1000;
+ return waitForTime(&temp);
+ }
+
+ /**
+ * Waits until the absolute time specified using struct timeval.
+ * Returns 0 if condition occurs, THRIFT_ETIMEDOUT on timeout, or an error code.
+ */
+ int waitForTime(const struct timeval* abstime) {
+ assert(mutex_);
+ std::timed_mutex* mutexImpl =
+ static_cast<std::timed_mutex*>(mutex_->getUnderlyingImpl());
+ assert(mutexImpl);
+
+ struct timeval currenttime;
+ Util::toTimeval(currenttime, Util::currentTime());
+
+ long tv_sec = static_cast<long>(abstime->tv_sec - currenttime.tv_sec);
+ long tv_usec = static_cast<long>(abstime->tv_usec - currenttime.tv_usec);
+ if(tv_sec < 0)
+ tv_sec = 0;
+ if(tv_usec < 0)
+ tv_usec = 0;
+
+ std::unique_lock<std::timed_mutex> lock(*mutexImpl, std::adopt_lock);
+ bool timedout = (conditionVariable_.wait_for(lock,
+ std::chrono::seconds(tv_sec) +
+ std::chrono::microseconds(tv_usec)) == std::cv_status::timeout);
+ lock.release();
+ return (timedout ? THRIFT_ETIMEDOUT : 0);
+ }
+
+ /**
+ * Waits forever until the condition occurs.
+ * Returns 0 if condition occurs, or an error code otherwise.
+ */
+ int waitForever() {
+ assert(mutex_);
+ std::timed_mutex* mutexImpl =
+ static_cast<std::timed_mutex*>(mutex_->getUnderlyingImpl());
+ assert(mutexImpl);
+
+ std::unique_lock<std::timed_mutex> lock(*mutexImpl, std::adopt_lock);
+ conditionVariable_.wait(lock);
+ lock.release();
+ return 0;
+ }
+
+
+ void notify() {
+ conditionVariable_.notify_one();
+ }
+
+ void notifyAll() {
+ conditionVariable_.notify_all();
+ }
+
+ private:
+
+ void init(Mutex* mutex) {
+ mutex_ = mutex;
+ }
+
+ const std::unique_ptr<Mutex> ownedMutex_;
+ std::condition_variable_any conditionVariable_;
+ Mutex* mutex_;
+};
+
+Monitor::Monitor() : impl_(new Monitor::Impl()) {}
+Monitor::Monitor(Mutex* mutex) : impl_(new Monitor::Impl(mutex)) {}
+Monitor::Monitor(Monitor* monitor) : impl_(new Monitor::Impl(monitor)) {}
+
+Monitor::~Monitor() { delete impl_; }
+
+Mutex& Monitor::mutex() const { return const_cast<Monitor::Impl*>(impl_)->mutex(); }
+
+void Monitor::lock() const { const_cast<Monitor::Impl*>(impl_)->lock(); }
+
+void Monitor::unlock() const { const_cast<Monitor::Impl*>(impl_)->unlock(); }
+
+void Monitor::wait(int64_t timeout) const { const_cast<Monitor::Impl*>(impl_)->wait(timeout); }
+
+int Monitor::waitForTime(const THRIFT_TIMESPEC* abstime) const {
+ return const_cast<Monitor::Impl*>(impl_)->waitForTime(abstime);
+}
+
+int Monitor::waitForTime(const timeval* abstime) const {
+ return const_cast<Monitor::Impl*>(impl_)->waitForTime(abstime);
+}
+
+int Monitor::waitForTimeRelative(int64_t timeout_ms) const {
+ return const_cast<Monitor::Impl*>(impl_)->waitForTimeRelative(timeout_ms);
+}
+
+int Monitor::waitForever() const {
+ return const_cast<Monitor::Impl*>(impl_)->waitForever();
+}
+
+void Monitor::notify() const { const_cast<Monitor::Impl*>(impl_)->notify(); }
+
+void Monitor::notifyAll() const { const_cast<Monitor::Impl*>(impl_)->notifyAll(); }
+
+}}} // apache::thrift::concurrency
http://git-wip-us.apache.org/repos/asf/airavata/blob/f891b7dc/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/concurrency/StdMutex.cpp
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/concurrency/StdMutex.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/concurrency/StdMutex.cpp
new file mode 100644
index 0000000..28f889a
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/concurrency/StdMutex.cpp
@@ -0,0 +1,55 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you 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 <thrift/thrift-config.h>
+
+#include <thrift/concurrency/Mutex.h>
+#include <thrift/concurrency/Util.h>
+
+#include <cassert>
+#include <chrono>
+#include <mutex>
+
+namespace apache { namespace thrift { namespace concurrency {
+
+/**
+ * Implementation of Mutex class using C++11 std::timed_mutex
+ *
+ * @version $Id:$
+ */
+class Mutex::impl : public std::timed_mutex {
+};
+
+Mutex::Mutex(Initializer init) : impl_(new Mutex::impl()) {}
+
+void* Mutex::getUnderlyingImpl() const { return impl_.get(); }
+
+void Mutex::lock() const { impl_->lock(); }
+
+bool Mutex::trylock() const { return impl_->try_lock(); }
+
+bool Mutex::timedlock(int64_t ms) const { return impl_->try_lock_for(std::chrono::milliseconds(ms)); }
+
+void Mutex::unlock() const { impl_->unlock(); }
+
+void Mutex::DEFAULT_INITIALIZER(void* arg) {
+}
+
+}}} // apache::thrift::concurrency
+
http://git-wip-us.apache.org/repos/asf/airavata/blob/f891b7dc/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/concurrency/StdThreadFactory.cpp
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/concurrency/StdThreadFactory.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/concurrency/StdThreadFactory.cpp
new file mode 100644
index 0000000..3239bd9
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/concurrency/StdThreadFactory.cpp
@@ -0,0 +1,171 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you 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 <thrift/thrift-config.h>
+
+#include <thrift/concurrency/StdThreadFactory.h>
+#include <thrift/concurrency/Exception.h>
+
+#include <cassert>
+
+#include <boost/enable_shared_from_this.hpp>
+#include <boost/weak_ptr.hpp>
+#include <thread>
+
+namespace apache { namespace thrift { namespace concurrency {
+
+/**
+ * The C++11 thread class.
+ *
+ * Note that we use boost shared_ptr rather than std shared_ptrs here
+ * because the Thread/Runnable classes use those and we don't want to
+ * mix them.
+ *
+ * @version $Id:$
+ */
+class StdThread: public Thread, public boost::enable_shared_from_this<StdThread> {
+ public:
+
+ enum STATE {
+ uninitialized,
+ starting,
+ started,
+ stopping,
+ stopped
+ };
+
+ static void threadMain(boost::shared_ptr<StdThread> thread);
+
+ private:
+ std::unique_ptr<std::thread> thread_;
+ STATE state_;
+ bool detached_;
+
+ public:
+
+ StdThread(bool detached, boost::shared_ptr<Runnable> runnable) :
+ state_(uninitialized),
+ detached_(detached) {
+ this->Thread::runnable(runnable);
+ }
+
+ ~StdThread() {
+ if(!detached_) {
+ try {
+ join();
+ } catch(...) {
+ // We're really hosed.
+ }
+ }
+ }
+
+ void start() {
+ if (state_ != uninitialized) {
+ return;
+ }
+
+ boost::shared_ptr<StdThread> selfRef = shared_from_this();
+ state_ = starting;
+
+ thread_ = std::unique_ptr<std::thread>(new std::thread(threadMain, selfRef));
+
+ if(detached_)
+ thread_->detach();
+ }
+
+ void join() {
+ if (!detached_ && state_ != uninitialized) {
+ thread_->join();
+ }
+ }
+
+ Thread::id_t getId() {
+ return thread_.get() ? thread_->get_id() : std::thread::id();
+ }
+
+ boost::shared_ptr<Runnable> runnable() const { return Thread::runnable(); }
+
+ void runnable(boost::shared_ptr<Runnable> value) { Thread::runnable(value); }
+};
+
+void StdThread::threadMain(boost::shared_ptr<StdThread> thread) {
+ if (thread == NULL) {
+ return;
+ }
+
+ if (thread->state_ != starting) {
+ return;
+ }
+
+ thread->state_ = started;
+ thread->runnable()->run();
+
+ if (thread->state_ != stopping && thread->state_ != stopped) {
+ thread->state_ = stopping;
+ }
+
+ return;
+}
+
+/**
+ * std::thread factory implementation
+ */
+class StdThreadFactory::Impl {
+
+ private:
+ bool detached_;
+
+ public:
+
+ Impl(bool detached) :
+ detached_(detached) {}
+
+ /**
+ * Creates a new std::thread to run the runnable object
+ *
+ * @param runnable A runnable object
+ */
+ boost::shared_ptr<Thread> newThread(boost::shared_ptr<Runnable> runnable) const {
+ boost::shared_ptr<StdThread> result = boost::shared_ptr<StdThread>(new StdThread(detached_, runnable));
+ runnable->thread(result);
+ return result;
+ }
+
+ bool isDetached() const { return detached_; }
+
+ void setDetached(bool value) { detached_ = value; }
+
+ Thread::id_t getCurrentThreadId() const {
+ return std::this_thread::get_id();
+ }
+
+};
+
+StdThreadFactory::StdThreadFactory(bool detached) :
+ impl_(new StdThreadFactory::Impl(detached)) {}
+
+boost::shared_ptr<Thread> StdThreadFactory::newThread(boost::shared_ptr<Runnable> runnable) const { return impl_->newThread(runnable); }
+
+bool StdThreadFactory::isDetached() const { return impl_->isDetached(); }
+
+void StdThreadFactory::setDetached(bool value) { impl_->setDetached(value); }
+
+Thread::id_t StdThreadFactory::getCurrentThreadId() const { return impl_->getCurrentThreadId(); }
+
+}}} // apache::thrift::concurrency
http://git-wip-us.apache.org/repos/asf/airavata/blob/f891b7dc/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/concurrency/StdThreadFactory.h
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/concurrency/StdThreadFactory.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/concurrency/StdThreadFactory.h
new file mode 100644
index 0000000..307f970
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/concurrency/StdThreadFactory.h
@@ -0,0 +1,72 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you 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 _THRIFT_CONCURRENCY_STDTHREADFACTORY_H_
+#define _THRIFT_CONCURRENCY_STDTHREADFACTORY_H_ 1
+
+#include <thrift/concurrency/Thread.h>
+
+#include <boost/shared_ptr.hpp>
+
+namespace apache { namespace thrift { namespace concurrency {
+
+/**
+ * A thread factory to create std::threads.
+ *
+ * @version $Id:$
+ */
+class StdThreadFactory : public ThreadFactory {
+
+ public:
+
+ /**
+ * Std thread factory. All threads created by a factory are reference-counted
+ * via boost::shared_ptr and boost::weak_ptr. The factory guarantees that threads and
+ * the Runnable tasks they host will be properly cleaned up once the last strong reference
+ * to both is given up.
+ *
+ * By default threads are not joinable.
+ */
+
+ StdThreadFactory(bool detached=true);
+
+ // From ThreadFactory;
+ boost::shared_ptr<Thread> newThread(boost::shared_ptr<Runnable> runnable) const;
+
+ // From ThreadFactory;
+ Thread::id_t getCurrentThreadId() const;
+
+ /**
+ * Sets detached mode of threads
+ */
+ virtual void setDetached(bool detached);
+
+ /**
+ * Gets current detached mode
+ */
+ virtual bool isDetached() const;
+
+private:
+ class Impl;
+ boost::shared_ptr<Impl> impl_;
+};
+
+}}} // apache::thrift::concurrency
+
+#endif // #ifndef _THRIFT_CONCURRENCY_STDTHREADFACTORY_H_
http://git-wip-us.apache.org/repos/asf/airavata/blob/f891b7dc/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/concurrency/Thread.h
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/concurrency/Thread.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/concurrency/Thread.h
new file mode 100755
index 0000000..7012933
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/concurrency/Thread.h
@@ -0,0 +1,152 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you 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 _THRIFT_CONCURRENCY_THREAD_H_
+#define _THRIFT_CONCURRENCY_THREAD_H_ 1
+
+#include <stdint.h>
+#include <boost/shared_ptr.hpp>
+#include <boost/weak_ptr.hpp>
+
+#include <thrift/thrift-config.h>
+
+#if USE_BOOST_THREAD
+# include <boost/thread.hpp>
+#elif USE_STD_THREAD
+# include <thread>
+#else
+# ifdef HAVE_PTHREAD_H
+# include <pthread.h>
+# endif
+#endif
+
+namespace apache { namespace thrift { namespace concurrency {
+
+class Thread;
+
+/**
+ * Minimal runnable class. More or less analogous to java.lang.Runnable.
+ *
+ * @version $Id:$
+ */
+class Runnable {
+
+ public:
+ virtual ~Runnable() {};
+ virtual void run() = 0;
+
+ /**
+ * Gets the thread object that is hosting this runnable object - can return
+ * an empty boost::shared pointer if no references remain on thet thread object
+ */
+ virtual boost::shared_ptr<Thread> thread() { return thread_.lock(); }
+
+ /**
+ * Sets the thread that is executing this object. This is only meant for
+ * use by concrete implementations of Thread.
+ */
+ virtual void thread(boost::shared_ptr<Thread> value) { thread_ = value; }
+
+ private:
+ boost::weak_ptr<Thread> thread_;
+};
+
+/**
+ * Minimal thread class. Returned by thread factory bound to a Runnable object
+ * and ready to start execution. More or less analogous to java.lang.Thread
+ * (minus all the thread group, priority, mode and other baggage, since that
+ * is difficult to abstract across platforms and is left for platform-specific
+ * ThreadFactory implemtations to deal with
+ *
+ * @see apache::thrift::concurrency::ThreadFactory)
+ */
+class Thread {
+
+ public:
+
+#if USE_BOOST_THREAD
+ typedef boost::thread::id id_t;
+
+ static inline bool is_current(id_t t) { return t == boost::this_thread::get_id(); }
+ static inline id_t get_current() { return boost::this_thread::get_id(); }
+#elif USE_STD_THREAD
+ typedef std::thread::id id_t;
+
+ static inline bool is_current(id_t t) { return t == std::this_thread::get_id(); }
+ static inline id_t get_current() { return std::this_thread::get_id(); }
+#else
+ typedef pthread_t id_t;
+
+ static inline bool is_current(id_t t) { return pthread_equal(pthread_self(), t); }
+ static inline id_t get_current() { return pthread_self(); }
+#endif
+
+ virtual ~Thread() {};
+
+ /**
+ * Starts the thread. Does platform specific thread creation and
+ * configuration then invokes the run method of the Runnable object bound
+ * to this thread.
+ */
+ virtual void start() = 0;
+
+ /**
+ * Join this thread. Current thread blocks until this target thread
+ * completes.
+ */
+ virtual void join() = 0;
+
+ /**
+ * Gets the thread's platform-specific ID
+ */
+ virtual id_t getId() = 0;
+
+ /**
+ * Gets the runnable object this thread is hosting
+ */
+ virtual boost::shared_ptr<Runnable> runnable() const { return _runnable; }
+
+ protected:
+ virtual void runnable(boost::shared_ptr<Runnable> value) { _runnable = value; }
+
+ private:
+ boost::shared_ptr<Runnable> _runnable;
+
+};
+
+/**
+ * Factory to create platform-specific thread object and bind them to Runnable
+ * object for execution
+ */
+class ThreadFactory {
+
+ public:
+ virtual ~ThreadFactory() {}
+ virtual boost::shared_ptr<Thread> newThread(boost::shared_ptr<Runnable> runnable) const = 0;
+
+ /** Gets the current thread id or unknown_thread_id if the current thread is not a thrift thread */
+
+ static const Thread::id_t unknown_thread_id;
+
+ virtual Thread::id_t getCurrentThreadId() const = 0;
+};
+
+}}} // apache::thrift::concurrency
+
+#endif // #ifndef _THRIFT_CONCURRENCY_THREAD_H_
http://git-wip-us.apache.org/repos/asf/airavata/blob/f891b7dc/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/concurrency/ThreadManager.cpp
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/concurrency/ThreadManager.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/concurrency/ThreadManager.cpp
new file mode 100644
index 0000000..f2c0fa5
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/concurrency/ThreadManager.cpp
@@ -0,0 +1,583 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you 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 <thrift/thrift-config.h>
+
+#include <thrift/concurrency/ThreadManager.h>
+#include <thrift/concurrency/Exception.h>
+#include <thrift/concurrency/Monitor.h>
+#include <thrift/concurrency/Util.h>
+
+#include <boost/shared_ptr.hpp>
+
+#include <assert.h>
+#include <queue>
+#include <set>
+
+#if defined(DEBUG)
+#include <iostream>
+#endif //defined(DEBUG)
+
+namespace apache { namespace thrift { namespace concurrency {
+
+using boost::shared_ptr;
+using boost::dynamic_pointer_cast;
+
+/**
+ * ThreadManager class
+ *
+ * This class manages a pool of threads. It uses a ThreadFactory to create
+ * threads. It never actually creates or destroys worker threads, rather
+ * it maintains statistics on number of idle threads, number of active threads,
+ * task backlog, and average wait and service times.
+ *
+ * @version $Id:$
+ */
+class ThreadManager::Impl : public ThreadManager {
+
+ public:
+ Impl() :
+ workerCount_(0),
+ workerMaxCount_(0),
+ idleCount_(0),
+ pendingTaskCountMax_(0),
+ expiredCount_(0),
+ state_(ThreadManager::UNINITIALIZED),
+ monitor_(&mutex_),
+ maxMonitor_(&mutex_) {}
+
+ ~Impl() { stop(); }
+
+ void start();
+
+ void stop() { stopImpl(false); }
+
+ void join() { stopImpl(true); }
+
+ ThreadManager::STATE state() const {
+ return state_;
+ }
+
+ shared_ptr<ThreadFactory> threadFactory() const {
+ Synchronized s(monitor_);
+ return threadFactory_;
+ }
+
+ void threadFactory(shared_ptr<ThreadFactory> value) {
+ Synchronized s(monitor_);
+ threadFactory_ = value;
+ }
+
+ void addWorker(size_t value);
+
+ void removeWorker(size_t value);
+
+ size_t idleWorkerCount() const {
+ return idleCount_;
+ }
+
+ size_t workerCount() const {
+ Synchronized s(monitor_);
+ return workerCount_;
+ }
+
+ size_t pendingTaskCount() const {
+ Synchronized s(monitor_);
+ return tasks_.size();
+ }
+
+ size_t totalTaskCount() const {
+ Synchronized s(monitor_);
+ return tasks_.size() + workerCount_ - idleCount_;
+ }
+
+ size_t pendingTaskCountMax() const {
+ Synchronized s(monitor_);
+ return pendingTaskCountMax_;
+ }
+
+ size_t expiredTaskCount() {
+ Synchronized s(monitor_);
+ size_t result = expiredCount_;
+ expiredCount_ = 0;
+ return result;
+ }
+
+ void pendingTaskCountMax(const size_t value) {
+ Synchronized s(monitor_);
+ pendingTaskCountMax_ = value;
+ }
+
+ bool canSleep();
+
+ void add(shared_ptr<Runnable> value, int64_t timeout, int64_t expiration);
+
+ void remove(shared_ptr<Runnable> task);
+
+ shared_ptr<Runnable> removeNextPending();
+
+ void removeExpiredTasks();
+
+ void setExpireCallback(ExpireCallback expireCallback);
+
+private:
+ void stopImpl(bool join);
+
+ size_t workerCount_;
+ size_t workerMaxCount_;
+ size_t idleCount_;
+ size_t pendingTaskCountMax_;
+ size_t expiredCount_;
+ ExpireCallback expireCallback_;
+
+ ThreadManager::STATE state_;
+ shared_ptr<ThreadFactory> threadFactory_;
+
+
+ friend class ThreadManager::Task;
+ std::queue<shared_ptr<Task> > tasks_;
+ Mutex mutex_;
+ Monitor monitor_;
+ Monitor maxMonitor_;
+ Monitor workerMonitor_;
+
+ friend class ThreadManager::Worker;
+ std::set<shared_ptr<Thread> > workers_;
+ std::set<shared_ptr<Thread> > deadWorkers_;
+ std::map<const Thread::id_t, shared_ptr<Thread> > idMap_;
+};
+
+class ThreadManager::Task : public Runnable {
+
+ public:
+ enum STATE {
+ WAITING,
+ EXECUTING,
+ CANCELLED,
+ COMPLETE
+ };
+
+ Task(shared_ptr<Runnable> runnable, int64_t expiration=0LL) :
+ runnable_(runnable),
+ state_(WAITING),
+ expireTime_(expiration != 0LL ? Util::currentTime() + expiration : 0LL) {}
+
+ ~Task() {}
+
+ void run() {
+ if (state_ == EXECUTING) {
+ runnable_->run();
+ state_ = COMPLETE;
+ }
+ }
+
+ shared_ptr<Runnable> getRunnable() {
+ return runnable_;
+ }
+
+ int64_t getExpireTime() const {
+ return expireTime_;
+ }
+
+ private:
+ shared_ptr<Runnable> runnable_;
+ friend class ThreadManager::Worker;
+ STATE state_;
+ int64_t expireTime_;
+};
+
+class ThreadManager::Worker: public Runnable {
+ enum STATE {
+ UNINITIALIZED,
+ STARTING,
+ STARTED,
+ STOPPING,
+ STOPPED
+ };
+
+ public:
+ Worker(ThreadManager::Impl* manager) :
+ manager_(manager),
+ state_(UNINITIALIZED),
+ idle_(false) {}
+
+ ~Worker() {}
+
+ private:
+ bool isActive() const {
+ return
+ (manager_->workerCount_ <= manager_->workerMaxCount_) ||
+ (manager_->state_ == JOINING && !manager_->tasks_.empty());
+ }
+
+ public:
+ /**
+ * Worker entry point
+ *
+ * As long as worker thread is running, pull tasks off the task queue and
+ * execute.
+ */
+ void run() {
+ bool active = false;
+ bool notifyManager = false;
+
+ /**
+ * Increment worker semaphore and notify manager if worker count reached
+ * desired max
+ *
+ * Note: We have to release the monitor and acquire the workerMonitor
+ * since that is what the manager blocks on for worker add/remove
+ */
+ {
+ Synchronized s(manager_->monitor_);
+ active = manager_->workerCount_ < manager_->workerMaxCount_;
+ if (active) {
+ manager_->workerCount_++;
+ notifyManager = manager_->workerCount_ == manager_->workerMaxCount_;
+ }
+ }
+
+ if (notifyManager) {
+ Synchronized s(manager_->workerMonitor_);
+ manager_->workerMonitor_.notify();
+ notifyManager = false;
+ }
+
+ while (active) {
+ shared_ptr<ThreadManager::Task> task;
+
+ /**
+ * While holding manager monitor block for non-empty task queue (Also
+ * check that the thread hasn't been requested to stop). Once the queue
+ * is non-empty, dequeue a task, release monitor, and execute. If the
+ * worker max count has been decremented such that we exceed it, mark
+ * ourself inactive, decrement the worker count and notify the manager
+ * (technically we're notifying the next blocked thread but eventually
+ * the manager will see it.
+ */
+ {
+ Guard g(manager_->mutex_);
+ active = isActive();
+
+ while (active && manager_->tasks_.empty()) {
+ manager_->idleCount_++;
+ idle_ = true;
+ manager_->monitor_.wait();
+ active = isActive();
+ idle_ = false;
+ manager_->idleCount_--;
+ }
+
+ if (active) {
+ manager_->removeExpiredTasks();
+
+ if (!manager_->tasks_.empty()) {
+ task = manager_->tasks_.front();
+ manager_->tasks_.pop();
+ if (task->state_ == ThreadManager::Task::WAITING) {
+ task->state_ = ThreadManager::Task::EXECUTING;
+ }
+
+ /* If we have a pending task max and we just dropped below it, wakeup any
+ thread that might be blocked on add. */
+ if (manager_->pendingTaskCountMax_ != 0 &&
+ manager_->tasks_.size() <= manager_->pendingTaskCountMax_ - 1) {
+ manager_->maxMonitor_.notify();
+ }
+ }
+ } else {
+ idle_ = true;
+ manager_->workerCount_--;
+ notifyManager = (manager_->workerCount_ == manager_->workerMaxCount_);
+ }
+ }
+
+ if (task) {
+ if (task->state_ == ThreadManager::Task::EXECUTING) {
+ try {
+ task->run();
+ } catch(...) {
+ // XXX need to log this
+ }
+ }
+ }
+ }
+
+ {
+ Synchronized s(manager_->workerMonitor_);
+ manager_->deadWorkers_.insert(this->thread());
+ if (notifyManager) {
+ manager_->workerMonitor_.notify();
+ }
+ }
+
+ return;
+ }
+
+ private:
+ ThreadManager::Impl* manager_;
+ friend class ThreadManager::Impl;
+ STATE state_;
+ bool idle_;
+};
+
+
+ void ThreadManager::Impl::addWorker(size_t value) {
+ std::set<shared_ptr<Thread> > newThreads;
+ for (size_t ix = 0; ix < value; ix++) {
+ shared_ptr<ThreadManager::Worker> worker = shared_ptr<ThreadManager::Worker>(new ThreadManager::Worker(this));
+ newThreads.insert(threadFactory_->newThread(worker));
+ }
+
+ {
+ Synchronized s(monitor_);
+ workerMaxCount_ += value;
+ workers_.insert(newThreads.begin(), newThreads.end());
+ }
+
+ for (std::set<shared_ptr<Thread> >::iterator ix = newThreads.begin(); ix != newThreads.end(); ix++) {
+ shared_ptr<ThreadManager::Worker> worker = dynamic_pointer_cast<ThreadManager::Worker, Runnable>((*ix)->runnable());
+ worker->state_ = ThreadManager::Worker::STARTING;
+ (*ix)->start();
+ idMap_.insert(std::pair<const Thread::id_t, shared_ptr<Thread> >((*ix)->getId(), *ix));
+ }
+
+ {
+ Synchronized s(workerMonitor_);
+ while (workerCount_ != workerMaxCount_) {
+ workerMonitor_.wait();
+ }
+ }
+}
+
+void ThreadManager::Impl::start() {
+
+ if (state_ == ThreadManager::STOPPED) {
+ return;
+ }
+
+ {
+ Synchronized s(monitor_);
+ if (state_ == ThreadManager::UNINITIALIZED) {
+ if (!threadFactory_) {
+ throw InvalidArgumentException();
+ }
+ state_ = ThreadManager::STARTED;
+ monitor_.notifyAll();
+ }
+
+ while (state_ == STARTING) {
+ monitor_.wait();
+ }
+ }
+}
+
+void ThreadManager::Impl::stopImpl(bool join) {
+ bool doStop = false;
+ if (state_ == ThreadManager::STOPPED) {
+ return;
+ }
+
+ {
+ Synchronized s(monitor_);
+ if (state_ != ThreadManager::STOPPING &&
+ state_ != ThreadManager::JOINING &&
+ state_ != ThreadManager::STOPPED) {
+ doStop = true;
+ state_ = join ? ThreadManager::JOINING : ThreadManager::STOPPING;
+ }
+ }
+
+ if (doStop) {
+ removeWorker(workerCount_);
+ }
+
+ // XXX
+ // should be able to block here for transition to STOPPED since we're no
+ // using shared_ptrs
+
+ {
+ Synchronized s(monitor_);
+ state_ = ThreadManager::STOPPED;
+ }
+
+}
+
+void ThreadManager::Impl::removeWorker(size_t value) {
+ std::set<shared_ptr<Thread> > removedThreads;
+ {
+ Synchronized s(monitor_);
+ if (value > workerMaxCount_) {
+ throw InvalidArgumentException();
+ }
+
+ workerMaxCount_ -= value;
+
+ if (idleCount_ < value) {
+ for (size_t ix = 0; ix < idleCount_; ix++) {
+ monitor_.notify();
+ }
+ } else {
+ monitor_.notifyAll();
+ }
+ }
+
+ {
+ Synchronized s(workerMonitor_);
+
+ while (workerCount_ != workerMaxCount_) {
+ workerMonitor_.wait();
+ }
+
+ for (std::set<shared_ptr<Thread> >::iterator ix = deadWorkers_.begin(); ix != deadWorkers_.end(); ix++) {
+ idMap_.erase((*ix)->getId());
+ workers_.erase(*ix);
+ }
+
+ deadWorkers_.clear();
+ }
+}
+
+ bool ThreadManager::Impl::canSleep() {
+ const Thread::id_t id = threadFactory_->getCurrentThreadId();
+ return idMap_.find(id) == idMap_.end();
+ }
+
+ void ThreadManager::Impl::add(shared_ptr<Runnable> value,
+ int64_t timeout,
+ int64_t expiration) {
+ Guard g(mutex_, timeout);
+
+ if (!g) {
+ throw TimedOutException();
+ }
+
+ if (state_ != ThreadManager::STARTED) {
+ throw IllegalStateException("ThreadManager::Impl::add ThreadManager "
+ "not started");
+ }
+
+ removeExpiredTasks();
+ if (pendingTaskCountMax_ > 0 && (tasks_.size() >= pendingTaskCountMax_)) {
+ if (canSleep() && timeout >= 0) {
+ while (pendingTaskCountMax_ > 0 && tasks_.size() >= pendingTaskCountMax_) {
+ // This is thread safe because the mutex is shared between monitors.
+ maxMonitor_.wait(timeout);
+ }
+ } else {
+ throw TooManyPendingTasksException();
+ }
+ }
+
+ tasks_.push(shared_ptr<ThreadManager::Task>(new ThreadManager::Task(value, expiration)));
+
+ // If idle thread is available notify it, otherwise all worker threads are
+ // running and will get around to this task in time.
+ if (idleCount_ > 0) {
+ monitor_.notify();
+ }
+ }
+
+void ThreadManager::Impl::remove(shared_ptr<Runnable> task) {
+ (void) task;
+ Synchronized s(monitor_);
+ if (state_ != ThreadManager::STARTED) {
+ throw IllegalStateException("ThreadManager::Impl::remove ThreadManager not "
+ "started");
+ }
+}
+
+boost::shared_ptr<Runnable> ThreadManager::Impl::removeNextPending() {
+ Guard g(mutex_);
+ if (state_ != ThreadManager::STARTED) {
+ throw IllegalStateException("ThreadManager::Impl::removeNextPending "
+ "ThreadManager not started");
+ }
+
+ if (tasks_.empty()) {
+ return boost::shared_ptr<Runnable>();
+ }
+
+ shared_ptr<ThreadManager::Task> task = tasks_.front();
+ tasks_.pop();
+
+ return task->getRunnable();
+}
+
+void ThreadManager::Impl::removeExpiredTasks() {
+ int64_t now = 0LL; // we won't ask for the time untile we need it
+
+ // note that this loop breaks at the first non-expiring task
+ while (!tasks_.empty()) {
+ shared_ptr<ThreadManager::Task> task = tasks_.front();
+ if (task->getExpireTime() == 0LL) {
+ break;
+ }
+ if (now == 0LL) {
+ now = Util::currentTime();
+ }
+ if (task->getExpireTime() > now) {
+ break;
+ }
+ if (expireCallback_) {
+ expireCallback_(task->getRunnable());
+ }
+ tasks_.pop();
+ expiredCount_++;
+ }
+}
+
+
+void ThreadManager::Impl::setExpireCallback(ExpireCallback expireCallback) {
+ expireCallback_ = expireCallback;
+}
+
+class SimpleThreadManager : public ThreadManager::Impl {
+
+ public:
+ SimpleThreadManager(size_t workerCount=4, size_t pendingTaskCountMax=0) :
+ workerCount_(workerCount),
+ pendingTaskCountMax_(pendingTaskCountMax),
+ firstTime_(true) {
+ }
+
+ void start() {
+ ThreadManager::Impl::pendingTaskCountMax(pendingTaskCountMax_);
+ ThreadManager::Impl::start();
+ addWorker(workerCount_);
+ }
+
+ private:
+ const size_t workerCount_;
+ const size_t pendingTaskCountMax_;
+ bool firstTime_;
+ Monitor monitor_;
+};
+
+
+shared_ptr<ThreadManager> ThreadManager::newThreadManager() {
+ return shared_ptr<ThreadManager>(new ThreadManager::Impl());
+}
+
+shared_ptr<ThreadManager> ThreadManager::newSimpleThreadManager(size_t count, size_t pendingTaskCountMax) {
+ return shared_ptr<ThreadManager>(new SimpleThreadManager(count, pendingTaskCountMax));
+}
+
+}}} // apache::thrift::concurrency
+
[21/47] Added c++ client samples for integrattion of airavata with
any other application's c++ interface
Posted by sm...@apache.org.
http://git-wip-us.apache.org/repos/asf/airavata/blob/f891b7dc/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/ApplicationCatalogAPI_server.skeleton.cpp
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/ApplicationCatalogAPI_server.skeleton.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/ApplicationCatalogAPI_server.skeleton.cpp
new file mode 100644
index 0000000..ae4afe6
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/ApplicationCatalogAPI_server.skeleton.cpp
@@ -0,0 +1,169 @@
+// This autogenerated skeleton file illustrates how to build a server.
+// You should copy it to another filename to avoid overwriting it.
+
+#include "ApplicationCatalogAPI.h"
+#include <thrift/protocol/TBinaryProtocol.h>
+#include <thrift/server/TSimpleServer.h>
+#include <thrift/transport/TServerSocket.h>
+#include <thrift/transport/TBufferTransports.h>
+
+using namespace ::apache::thrift;
+using namespace ::apache::thrift::protocol;
+using namespace ::apache::thrift::transport;
+using namespace ::apache::thrift::server;
+
+using boost::shared_ptr;
+
+using namespace ::airavata::api::appcatalog;
+
+class ApplicationCatalogAPIHandler : virtual public ApplicationCatalogAPIIf {
+ public:
+ ApplicationCatalogAPIHandler() {
+ // Your initialization goes here
+ }
+
+ void GetAPIVersion(std::string& _return) {
+ // Your implementation goes here
+ printf("GetAPIVersion\n");
+ }
+
+ void addComputeResourceDescription(std::string& _return, const ::ComputeResourceDescription& computeResourceDescription) {
+ // Your implementation goes here
+ printf("addComputeResourceDescription\n");
+ }
+
+ void addSSHJobSubmissionProtocol(std::string& _return, const std::string& computeResourceId, const ::SSHJobSubmission& jobSubmission) {
+ // Your implementation goes here
+ printf("addSSHJobSubmissionProtocol\n");
+ }
+
+ void addGSISSHJobSubmissionProtocol(std::string& _return, const std::string& computeResourceId, const ::GSISSHJobSubmission& jobSubmission) {
+ // Your implementation goes here
+ printf("addGSISSHJobSubmissionProtocol\n");
+ }
+
+ void addGlobusJobSubmissionProtocol(std::string& _return, const std::string& computeResourceId, const ::GlobusJobSubmission& jobSubmission) {
+ // Your implementation goes here
+ printf("addGlobusJobSubmissionProtocol\n");
+ }
+
+ void addSCPDataMovementProtocol(std::string& _return, const std::string& computeResourceId, const ::SCPDataMovement& dataMovement) {
+ // Your implementation goes here
+ printf("addSCPDataMovementProtocol\n");
+ }
+
+ void addGridFTPDataMovementProtocol(std::string& _return, const std::string& computeResourceId, const ::GridFTPDataMovement& dataMovement) {
+ // Your implementation goes here
+ printf("addGridFTPDataMovementProtocol\n");
+ }
+
+ void listComputeResourceDescriptions(std::vector<std::string> & _return) {
+ // Your implementation goes here
+ printf("listComputeResourceDescriptions\n");
+ }
+
+ void getComputeResourceDescription( ::ComputeResourceDescription& _return, const std::string& computeResourceId) {
+ // Your implementation goes here
+ printf("getComputeResourceDescription\n");
+ }
+
+ void getSSHJobSubmissionProtocol( ::SSHJobSubmission& _return, const std::string& sshJobSubmissionProtocolResourceId) {
+ // Your implementation goes here
+ printf("getSSHJobSubmissionProtocol\n");
+ }
+
+ void getGSISSHJobSubmissionProtocol( ::GSISSHJobSubmission& _return, const std::string& gsisshJobSubmissionProtocolResourceId) {
+ // Your implementation goes here
+ printf("getGSISSHJobSubmissionProtocol\n");
+ }
+
+ void getGlobusJobSubmissionProtocol( ::GlobusJobSubmission& _return, const std::string& globusJobSubmissionProtocolResourceId) {
+ // Your implementation goes here
+ printf("getGlobusJobSubmissionProtocol\n");
+ }
+
+ void getSCPDataMovementProtocol( ::SCPDataMovement& _return, const std::string& scpDataMovementResourceId) {
+ // Your implementation goes here
+ printf("getSCPDataMovementProtocol\n");
+ }
+
+ void getGridFTPDataMovementProtocol( ::GridFTPDataMovement& _return, const std::string& gridFTPDataMovementResourceId) {
+ // Your implementation goes here
+ printf("getGridFTPDataMovementProtocol\n");
+ }
+
+ bool isComputeResourceDescriptionRegistered(const std::string& hostName) {
+ // Your implementation goes here
+ printf("isComputeResourceDescriptionRegistered\n");
+ }
+
+ void getComputeResourceDescriptionFromHostName( ::ComputeResourceDescription& _return, const std::string& hostName) {
+ // Your implementation goes here
+ printf("getComputeResourceDescriptionFromHostName\n");
+ }
+
+ void addApplicationInterface(std::string& _return, const ::ApplicationInterfaceDescription& applicationInterface) {
+ // Your implementation goes here
+ printf("addApplicationInterface\n");
+ }
+
+ void listApplicationInterfaceIds(std::vector<std::string> & _return) {
+ // Your implementation goes here
+ printf("listApplicationInterfaceIds\n");
+ }
+
+ void getApplicationInterface( ::ApplicationInterfaceDescription& _return, const std::string& applicationInterfaceId) {
+ // Your implementation goes here
+ printf("getApplicationInterface\n");
+ }
+
+ void registerAppicationModule(std::string& _return, const ::ApplicationModule& applicationModule, const bool publish) {
+ // Your implementation goes here
+ printf("registerAppicationModule\n");
+ }
+
+ void getAppicationModule( ::ApplicationModule& _return, const std::string& appModuleId) {
+ // Your implementation goes here
+ printf("getAppicationModule\n");
+ }
+
+ bool updateAppicationModule(const std::string& appModuleId, const ::ApplicationModule& applicationModule) {
+ // Your implementation goes here
+ printf("updateAppicationModule\n");
+ }
+
+ bool deleteAppicationModule(const std::string& appModuleId) {
+ // Your implementation goes here
+ printf("deleteAppicationModule\n");
+ }
+
+ void addApplicationDeployment(std::string& _return, const std::string& applicationInterfaceId, const ::ApplicationDeploymentDescription& applicationDeployment) {
+ // Your implementation goes here
+ printf("addApplicationDeployment\n");
+ }
+
+ void listApplicationDeploymentIds(std::vector<std::string> & _return, const std::string& applicationInterfaceId) {
+ // Your implementation goes here
+ printf("listApplicationDeploymentIds\n");
+ }
+
+ void getApplicationDeployment( ::ApplicationDeploymentDescription& _return, const std::string& applicationInterfaceId, const std::string& applicationDeploymentId) {
+ // Your implementation goes here
+ printf("getApplicationDeployment\n");
+ }
+
+};
+
+int main(int argc, char **argv) {
+ int port = 9090;
+ shared_ptr<ApplicationCatalogAPIHandler> handler(new ApplicationCatalogAPIHandler());
+ shared_ptr<TProcessor> processor(new ApplicationCatalogAPIProcessor(handler));
+ shared_ptr<TServerTransport> serverTransport(new TServerSocket(port));
+ shared_ptr<TTransportFactory> transportFactory(new TBufferedTransportFactory());
+ shared_ptr<TProtocolFactory> protocolFactory(new TBinaryProtocolFactory());
+
+ TSimpleServer server(processor, serverTransport, transportFactory, protocolFactory);
+ server.serve();
+ return 0;
+}
+
http://git-wip-us.apache.org/repos/asf/airavata/blob/f891b7dc/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/Workflow.cpp
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/Workflow.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/Workflow.cpp
new file mode 100644
index 0000000..7453c90
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/Workflow.cpp
@@ -0,0 +1,2497 @@
+/**
+ * Autogenerated by Thrift Compiler (0.9.1)
+ *
+ * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+ * @generated
+ */
+#include "Workflow.h"
+
+namespace airavata { namespace api { namespace workflow {
+
+uint32_t Workflow_getAllWorkflows_args::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+ uint32_t xfer = 0;
+ std::string fname;
+ ::apache::thrift::protocol::TType ftype;
+ int16_t fid;
+
+ xfer += iprot->readStructBegin(fname);
+
+ using ::apache::thrift::protocol::TProtocolException;
+
+
+ while (true)
+ {
+ xfer += iprot->readFieldBegin(fname, ftype, fid);
+ if (ftype == ::apache::thrift::protocol::T_STOP) {
+ break;
+ }
+ xfer += iprot->skip(ftype);
+ xfer += iprot->readFieldEnd();
+ }
+
+ xfer += iprot->readStructEnd();
+
+ return xfer;
+}
+
+uint32_t Workflow_getAllWorkflows_args::write(::apache::thrift::protocol::TProtocol* oprot) const {
+ uint32_t xfer = 0;
+ xfer += oprot->writeStructBegin("Workflow_getAllWorkflows_args");
+
+ xfer += oprot->writeFieldStop();
+ xfer += oprot->writeStructEnd();
+ return xfer;
+}
+
+uint32_t Workflow_getAllWorkflows_pargs::write(::apache::thrift::protocol::TProtocol* oprot) const {
+ uint32_t xfer = 0;
+ xfer += oprot->writeStructBegin("Workflow_getAllWorkflows_pargs");
+
+ xfer += oprot->writeFieldStop();
+ xfer += oprot->writeStructEnd();
+ return xfer;
+}
+
+uint32_t Workflow_getAllWorkflows_result::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+ uint32_t xfer = 0;
+ std::string fname;
+ ::apache::thrift::protocol::TType ftype;
+ int16_t fid;
+
+ xfer += iprot->readStructBegin(fname);
+
+ using ::apache::thrift::protocol::TProtocolException;
+
+
+ while (true)
+ {
+ xfer += iprot->readFieldBegin(fname, ftype, fid);
+ if (ftype == ::apache::thrift::protocol::T_STOP) {
+ break;
+ }
+ switch (fid)
+ {
+ case 0:
+ if (ftype == ::apache::thrift::protocol::T_LIST) {
+ {
+ this->success.clear();
+ uint32_t _size0;
+ ::apache::thrift::protocol::TType _etype3;
+ xfer += iprot->readListBegin(_etype3, _size0);
+ this->success.resize(_size0);
+ uint32_t _i4;
+ for (_i4 = 0; _i4 < _size0; ++_i4)
+ {
+ xfer += iprot->readString(this->success[_i4]);
+ }
+ xfer += iprot->readListEnd();
+ }
+ this->__isset.success = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 1:
+ if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+ xfer += this->ire.read(iprot);
+ this->__isset.ire = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 2:
+ if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+ xfer += this->ace.read(iprot);
+ this->__isset.ace = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 3:
+ if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+ xfer += this->ase.read(iprot);
+ this->__isset.ase = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ default:
+ xfer += iprot->skip(ftype);
+ break;
+ }
+ xfer += iprot->readFieldEnd();
+ }
+
+ xfer += iprot->readStructEnd();
+
+ return xfer;
+}
+
+uint32_t Workflow_getAllWorkflows_result::write(::apache::thrift::protocol::TProtocol* oprot) const {
+
+ uint32_t xfer = 0;
+
+ xfer += oprot->writeStructBegin("Workflow_getAllWorkflows_result");
+
+ if (this->__isset.success) {
+ xfer += oprot->writeFieldBegin("success", ::apache::thrift::protocol::T_LIST, 0);
+ {
+ xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRING, static_cast<uint32_t>(this->success.size()));
+ std::vector<std::string> ::const_iterator _iter5;
+ for (_iter5 = this->success.begin(); _iter5 != this->success.end(); ++_iter5)
+ {
+ xfer += oprot->writeString((*_iter5));
+ }
+ xfer += oprot->writeListEnd();
+ }
+ xfer += oprot->writeFieldEnd();
+ } else if (this->__isset.ire) {
+ xfer += oprot->writeFieldBegin("ire", ::apache::thrift::protocol::T_STRUCT, 1);
+ xfer += this->ire.write(oprot);
+ xfer += oprot->writeFieldEnd();
+ } else if (this->__isset.ace) {
+ xfer += oprot->writeFieldBegin("ace", ::apache::thrift::protocol::T_STRUCT, 2);
+ xfer += this->ace.write(oprot);
+ xfer += oprot->writeFieldEnd();
+ } else if (this->__isset.ase) {
+ xfer += oprot->writeFieldBegin("ase", ::apache::thrift::protocol::T_STRUCT, 3);
+ xfer += this->ase.write(oprot);
+ xfer += oprot->writeFieldEnd();
+ }
+ xfer += oprot->writeFieldStop();
+ xfer += oprot->writeStructEnd();
+ return xfer;
+}
+
+uint32_t Workflow_getAllWorkflows_presult::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+ uint32_t xfer = 0;
+ std::string fname;
+ ::apache::thrift::protocol::TType ftype;
+ int16_t fid;
+
+ xfer += iprot->readStructBegin(fname);
+
+ using ::apache::thrift::protocol::TProtocolException;
+
+
+ while (true)
+ {
+ xfer += iprot->readFieldBegin(fname, ftype, fid);
+ if (ftype == ::apache::thrift::protocol::T_STOP) {
+ break;
+ }
+ switch (fid)
+ {
+ case 0:
+ if (ftype == ::apache::thrift::protocol::T_LIST) {
+ {
+ (*(this->success)).clear();
+ uint32_t _size6;
+ ::apache::thrift::protocol::TType _etype9;
+ xfer += iprot->readListBegin(_etype9, _size6);
+ (*(this->success)).resize(_size6);
+ uint32_t _i10;
+ for (_i10 = 0; _i10 < _size6; ++_i10)
+ {
+ xfer += iprot->readString((*(this->success))[_i10]);
+ }
+ xfer += iprot->readListEnd();
+ }
+ this->__isset.success = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 1:
+ if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+ xfer += this->ire.read(iprot);
+ this->__isset.ire = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 2:
+ if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+ xfer += this->ace.read(iprot);
+ this->__isset.ace = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 3:
+ if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+ xfer += this->ase.read(iprot);
+ this->__isset.ase = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ default:
+ xfer += iprot->skip(ftype);
+ break;
+ }
+ xfer += iprot->readFieldEnd();
+ }
+
+ xfer += iprot->readStructEnd();
+
+ return xfer;
+}
+
+uint32_t Workflow_getWorkflow_args::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+ uint32_t xfer = 0;
+ std::string fname;
+ ::apache::thrift::protocol::TType ftype;
+ int16_t fid;
+
+ xfer += iprot->readStructBegin(fname);
+
+ using ::apache::thrift::protocol::TProtocolException;
+
+ bool isset_workflowTemplateId = false;
+
+ while (true)
+ {
+ xfer += iprot->readFieldBegin(fname, ftype, fid);
+ if (ftype == ::apache::thrift::protocol::T_STOP) {
+ break;
+ }
+ switch (fid)
+ {
+ case 1:
+ if (ftype == ::apache::thrift::protocol::T_STRING) {
+ xfer += iprot->readString(this->workflowTemplateId);
+ isset_workflowTemplateId = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ default:
+ xfer += iprot->skip(ftype);
+ break;
+ }
+ xfer += iprot->readFieldEnd();
+ }
+
+ xfer += iprot->readStructEnd();
+
+ if (!isset_workflowTemplateId)
+ throw TProtocolException(TProtocolException::INVALID_DATA);
+ return xfer;
+}
+
+uint32_t Workflow_getWorkflow_args::write(::apache::thrift::protocol::TProtocol* oprot) const {
+ uint32_t xfer = 0;
+ xfer += oprot->writeStructBegin("Workflow_getWorkflow_args");
+
+ xfer += oprot->writeFieldBegin("workflowTemplateId", ::apache::thrift::protocol::T_STRING, 1);
+ xfer += oprot->writeString(this->workflowTemplateId);
+ xfer += oprot->writeFieldEnd();
+
+ xfer += oprot->writeFieldStop();
+ xfer += oprot->writeStructEnd();
+ return xfer;
+}
+
+uint32_t Workflow_getWorkflow_pargs::write(::apache::thrift::protocol::TProtocol* oprot) const {
+ uint32_t xfer = 0;
+ xfer += oprot->writeStructBegin("Workflow_getWorkflow_pargs");
+
+ xfer += oprot->writeFieldBegin("workflowTemplateId", ::apache::thrift::protocol::T_STRING, 1);
+ xfer += oprot->writeString((*(this->workflowTemplateId)));
+ xfer += oprot->writeFieldEnd();
+
+ xfer += oprot->writeFieldStop();
+ xfer += oprot->writeStructEnd();
+ return xfer;
+}
+
+uint32_t Workflow_getWorkflow_result::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+ uint32_t xfer = 0;
+ std::string fname;
+ ::apache::thrift::protocol::TType ftype;
+ int16_t fid;
+
+ xfer += iprot->readStructBegin(fname);
+
+ using ::apache::thrift::protocol::TProtocolException;
+
+
+ while (true)
+ {
+ xfer += iprot->readFieldBegin(fname, ftype, fid);
+ if (ftype == ::apache::thrift::protocol::T_STOP) {
+ break;
+ }
+ switch (fid)
+ {
+ case 0:
+ if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+ xfer += this->success.read(iprot);
+ this->__isset.success = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 1:
+ if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+ xfer += this->ire.read(iprot);
+ this->__isset.ire = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 2:
+ if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+ xfer += this->ace.read(iprot);
+ this->__isset.ace = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 3:
+ if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+ xfer += this->ase.read(iprot);
+ this->__isset.ase = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ default:
+ xfer += iprot->skip(ftype);
+ break;
+ }
+ xfer += iprot->readFieldEnd();
+ }
+
+ xfer += iprot->readStructEnd();
+
+ return xfer;
+}
+
+uint32_t Workflow_getWorkflow_result::write(::apache::thrift::protocol::TProtocol* oprot) const {
+
+ uint32_t xfer = 0;
+
+ xfer += oprot->writeStructBegin("Workflow_getWorkflow_result");
+
+ if (this->__isset.success) {
+ xfer += oprot->writeFieldBegin("success", ::apache::thrift::protocol::T_STRUCT, 0);
+ xfer += this->success.write(oprot);
+ xfer += oprot->writeFieldEnd();
+ } else if (this->__isset.ire) {
+ xfer += oprot->writeFieldBegin("ire", ::apache::thrift::protocol::T_STRUCT, 1);
+ xfer += this->ire.write(oprot);
+ xfer += oprot->writeFieldEnd();
+ } else if (this->__isset.ace) {
+ xfer += oprot->writeFieldBegin("ace", ::apache::thrift::protocol::T_STRUCT, 2);
+ xfer += this->ace.write(oprot);
+ xfer += oprot->writeFieldEnd();
+ } else if (this->__isset.ase) {
+ xfer += oprot->writeFieldBegin("ase", ::apache::thrift::protocol::T_STRUCT, 3);
+ xfer += this->ase.write(oprot);
+ xfer += oprot->writeFieldEnd();
+ }
+ xfer += oprot->writeFieldStop();
+ xfer += oprot->writeStructEnd();
+ return xfer;
+}
+
+uint32_t Workflow_getWorkflow_presult::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+ uint32_t xfer = 0;
+ std::string fname;
+ ::apache::thrift::protocol::TType ftype;
+ int16_t fid;
+
+ xfer += iprot->readStructBegin(fname);
+
+ using ::apache::thrift::protocol::TProtocolException;
+
+
+ while (true)
+ {
+ xfer += iprot->readFieldBegin(fname, ftype, fid);
+ if (ftype == ::apache::thrift::protocol::T_STOP) {
+ break;
+ }
+ switch (fid)
+ {
+ case 0:
+ if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+ xfer += (*(this->success)).read(iprot);
+ this->__isset.success = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 1:
+ if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+ xfer += this->ire.read(iprot);
+ this->__isset.ire = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 2:
+ if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+ xfer += this->ace.read(iprot);
+ this->__isset.ace = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 3:
+ if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+ xfer += this->ase.read(iprot);
+ this->__isset.ase = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ default:
+ xfer += iprot->skip(ftype);
+ break;
+ }
+ xfer += iprot->readFieldEnd();
+ }
+
+ xfer += iprot->readStructEnd();
+
+ return xfer;
+}
+
+uint32_t Workflow_deleteWorkflow_args::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+ uint32_t xfer = 0;
+ std::string fname;
+ ::apache::thrift::protocol::TType ftype;
+ int16_t fid;
+
+ xfer += iprot->readStructBegin(fname);
+
+ using ::apache::thrift::protocol::TProtocolException;
+
+ bool isset_workflowTemplateId = false;
+
+ while (true)
+ {
+ xfer += iprot->readFieldBegin(fname, ftype, fid);
+ if (ftype == ::apache::thrift::protocol::T_STOP) {
+ break;
+ }
+ switch (fid)
+ {
+ case 1:
+ if (ftype == ::apache::thrift::protocol::T_STRING) {
+ xfer += iprot->readString(this->workflowTemplateId);
+ isset_workflowTemplateId = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ default:
+ xfer += iprot->skip(ftype);
+ break;
+ }
+ xfer += iprot->readFieldEnd();
+ }
+
+ xfer += iprot->readStructEnd();
+
+ if (!isset_workflowTemplateId)
+ throw TProtocolException(TProtocolException::INVALID_DATA);
+ return xfer;
+}
+
+uint32_t Workflow_deleteWorkflow_args::write(::apache::thrift::protocol::TProtocol* oprot) const {
+ uint32_t xfer = 0;
+ xfer += oprot->writeStructBegin("Workflow_deleteWorkflow_args");
+
+ xfer += oprot->writeFieldBegin("workflowTemplateId", ::apache::thrift::protocol::T_STRING, 1);
+ xfer += oprot->writeString(this->workflowTemplateId);
+ xfer += oprot->writeFieldEnd();
+
+ xfer += oprot->writeFieldStop();
+ xfer += oprot->writeStructEnd();
+ return xfer;
+}
+
+uint32_t Workflow_deleteWorkflow_pargs::write(::apache::thrift::protocol::TProtocol* oprot) const {
+ uint32_t xfer = 0;
+ xfer += oprot->writeStructBegin("Workflow_deleteWorkflow_pargs");
+
+ xfer += oprot->writeFieldBegin("workflowTemplateId", ::apache::thrift::protocol::T_STRING, 1);
+ xfer += oprot->writeString((*(this->workflowTemplateId)));
+ xfer += oprot->writeFieldEnd();
+
+ xfer += oprot->writeFieldStop();
+ xfer += oprot->writeStructEnd();
+ return xfer;
+}
+
+uint32_t Workflow_deleteWorkflow_result::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+ uint32_t xfer = 0;
+ std::string fname;
+ ::apache::thrift::protocol::TType ftype;
+ int16_t fid;
+
+ xfer += iprot->readStructBegin(fname);
+
+ using ::apache::thrift::protocol::TProtocolException;
+
+
+ while (true)
+ {
+ xfer += iprot->readFieldBegin(fname, ftype, fid);
+ if (ftype == ::apache::thrift::protocol::T_STOP) {
+ break;
+ }
+ switch (fid)
+ {
+ case 1:
+ if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+ xfer += this->ire.read(iprot);
+ this->__isset.ire = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 2:
+ if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+ xfer += this->ace.read(iprot);
+ this->__isset.ace = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 3:
+ if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+ xfer += this->ase.read(iprot);
+ this->__isset.ase = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ default:
+ xfer += iprot->skip(ftype);
+ break;
+ }
+ xfer += iprot->readFieldEnd();
+ }
+
+ xfer += iprot->readStructEnd();
+
+ return xfer;
+}
+
+uint32_t Workflow_deleteWorkflow_result::write(::apache::thrift::protocol::TProtocol* oprot) const {
+
+ uint32_t xfer = 0;
+
+ xfer += oprot->writeStructBegin("Workflow_deleteWorkflow_result");
+
+ if (this->__isset.ire) {
+ xfer += oprot->writeFieldBegin("ire", ::apache::thrift::protocol::T_STRUCT, 1);
+ xfer += this->ire.write(oprot);
+ xfer += oprot->writeFieldEnd();
+ } else if (this->__isset.ace) {
+ xfer += oprot->writeFieldBegin("ace", ::apache::thrift::protocol::T_STRUCT, 2);
+ xfer += this->ace.write(oprot);
+ xfer += oprot->writeFieldEnd();
+ } else if (this->__isset.ase) {
+ xfer += oprot->writeFieldBegin("ase", ::apache::thrift::protocol::T_STRUCT, 3);
+ xfer += this->ase.write(oprot);
+ xfer += oprot->writeFieldEnd();
+ }
+ xfer += oprot->writeFieldStop();
+ xfer += oprot->writeStructEnd();
+ return xfer;
+}
+
+uint32_t Workflow_deleteWorkflow_presult::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+ uint32_t xfer = 0;
+ std::string fname;
+ ::apache::thrift::protocol::TType ftype;
+ int16_t fid;
+
+ xfer += iprot->readStructBegin(fname);
+
+ using ::apache::thrift::protocol::TProtocolException;
+
+
+ while (true)
+ {
+ xfer += iprot->readFieldBegin(fname, ftype, fid);
+ if (ftype == ::apache::thrift::protocol::T_STOP) {
+ break;
+ }
+ switch (fid)
+ {
+ case 1:
+ if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+ xfer += this->ire.read(iprot);
+ this->__isset.ire = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 2:
+ if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+ xfer += this->ace.read(iprot);
+ this->__isset.ace = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 3:
+ if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+ xfer += this->ase.read(iprot);
+ this->__isset.ase = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ default:
+ xfer += iprot->skip(ftype);
+ break;
+ }
+ xfer += iprot->readFieldEnd();
+ }
+
+ xfer += iprot->readStructEnd();
+
+ return xfer;
+}
+
+uint32_t Workflow_registerWorkflow_args::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+ uint32_t xfer = 0;
+ std::string fname;
+ ::apache::thrift::protocol::TType ftype;
+ int16_t fid;
+
+ xfer += iprot->readStructBegin(fname);
+
+ using ::apache::thrift::protocol::TProtocolException;
+
+ bool isset_workflow = false;
+
+ while (true)
+ {
+ xfer += iprot->readFieldBegin(fname, ftype, fid);
+ if (ftype == ::apache::thrift::protocol::T_STOP) {
+ break;
+ }
+ switch (fid)
+ {
+ case 1:
+ if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+ xfer += this->workflow.read(iprot);
+ isset_workflow = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ default:
+ xfer += iprot->skip(ftype);
+ break;
+ }
+ xfer += iprot->readFieldEnd();
+ }
+
+ xfer += iprot->readStructEnd();
+
+ if (!isset_workflow)
+ throw TProtocolException(TProtocolException::INVALID_DATA);
+ return xfer;
+}
+
+uint32_t Workflow_registerWorkflow_args::write(::apache::thrift::protocol::TProtocol* oprot) const {
+ uint32_t xfer = 0;
+ xfer += oprot->writeStructBegin("Workflow_registerWorkflow_args");
+
+ xfer += oprot->writeFieldBegin("workflow", ::apache::thrift::protocol::T_STRUCT, 1);
+ xfer += this->workflow.write(oprot);
+ xfer += oprot->writeFieldEnd();
+
+ xfer += oprot->writeFieldStop();
+ xfer += oprot->writeStructEnd();
+ return xfer;
+}
+
+uint32_t Workflow_registerWorkflow_pargs::write(::apache::thrift::protocol::TProtocol* oprot) const {
+ uint32_t xfer = 0;
+ xfer += oprot->writeStructBegin("Workflow_registerWorkflow_pargs");
+
+ xfer += oprot->writeFieldBegin("workflow", ::apache::thrift::protocol::T_STRUCT, 1);
+ xfer += (*(this->workflow)).write(oprot);
+ xfer += oprot->writeFieldEnd();
+
+ xfer += oprot->writeFieldStop();
+ xfer += oprot->writeStructEnd();
+ return xfer;
+}
+
+uint32_t Workflow_registerWorkflow_result::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+ uint32_t xfer = 0;
+ std::string fname;
+ ::apache::thrift::protocol::TType ftype;
+ int16_t fid;
+
+ xfer += iprot->readStructBegin(fname);
+
+ using ::apache::thrift::protocol::TProtocolException;
+
+
+ while (true)
+ {
+ xfer += iprot->readFieldBegin(fname, ftype, fid);
+ if (ftype == ::apache::thrift::protocol::T_STOP) {
+ break;
+ }
+ switch (fid)
+ {
+ case 0:
+ if (ftype == ::apache::thrift::protocol::T_STRING) {
+ xfer += iprot->readString(this->success);
+ this->__isset.success = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 1:
+ if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+ xfer += this->ire.read(iprot);
+ this->__isset.ire = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 2:
+ if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+ xfer += this->ace.read(iprot);
+ this->__isset.ace = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 3:
+ if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+ xfer += this->ase.read(iprot);
+ this->__isset.ase = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ default:
+ xfer += iprot->skip(ftype);
+ break;
+ }
+ xfer += iprot->readFieldEnd();
+ }
+
+ xfer += iprot->readStructEnd();
+
+ return xfer;
+}
+
+uint32_t Workflow_registerWorkflow_result::write(::apache::thrift::protocol::TProtocol* oprot) const {
+
+ uint32_t xfer = 0;
+
+ xfer += oprot->writeStructBegin("Workflow_registerWorkflow_result");
+
+ if (this->__isset.success) {
+ xfer += oprot->writeFieldBegin("success", ::apache::thrift::protocol::T_STRING, 0);
+ xfer += oprot->writeString(this->success);
+ xfer += oprot->writeFieldEnd();
+ } else if (this->__isset.ire) {
+ xfer += oprot->writeFieldBegin("ire", ::apache::thrift::protocol::T_STRUCT, 1);
+ xfer += this->ire.write(oprot);
+ xfer += oprot->writeFieldEnd();
+ } else if (this->__isset.ace) {
+ xfer += oprot->writeFieldBegin("ace", ::apache::thrift::protocol::T_STRUCT, 2);
+ xfer += this->ace.write(oprot);
+ xfer += oprot->writeFieldEnd();
+ } else if (this->__isset.ase) {
+ xfer += oprot->writeFieldBegin("ase", ::apache::thrift::protocol::T_STRUCT, 3);
+ xfer += this->ase.write(oprot);
+ xfer += oprot->writeFieldEnd();
+ }
+ xfer += oprot->writeFieldStop();
+ xfer += oprot->writeStructEnd();
+ return xfer;
+}
+
+uint32_t Workflow_registerWorkflow_presult::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+ uint32_t xfer = 0;
+ std::string fname;
+ ::apache::thrift::protocol::TType ftype;
+ int16_t fid;
+
+ xfer += iprot->readStructBegin(fname);
+
+ using ::apache::thrift::protocol::TProtocolException;
+
+
+ while (true)
+ {
+ xfer += iprot->readFieldBegin(fname, ftype, fid);
+ if (ftype == ::apache::thrift::protocol::T_STOP) {
+ break;
+ }
+ switch (fid)
+ {
+ case 0:
+ if (ftype == ::apache::thrift::protocol::T_STRING) {
+ xfer += iprot->readString((*(this->success)));
+ this->__isset.success = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 1:
+ if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+ xfer += this->ire.read(iprot);
+ this->__isset.ire = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 2:
+ if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+ xfer += this->ace.read(iprot);
+ this->__isset.ace = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 3:
+ if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+ xfer += this->ase.read(iprot);
+ this->__isset.ase = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ default:
+ xfer += iprot->skip(ftype);
+ break;
+ }
+ xfer += iprot->readFieldEnd();
+ }
+
+ xfer += iprot->readStructEnd();
+
+ return xfer;
+}
+
+uint32_t Workflow_updateWorkflow_args::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+ uint32_t xfer = 0;
+ std::string fname;
+ ::apache::thrift::protocol::TType ftype;
+ int16_t fid;
+
+ xfer += iprot->readStructBegin(fname);
+
+ using ::apache::thrift::protocol::TProtocolException;
+
+ bool isset_workflowTemplateId = false;
+ bool isset_workflow = false;
+
+ while (true)
+ {
+ xfer += iprot->readFieldBegin(fname, ftype, fid);
+ if (ftype == ::apache::thrift::protocol::T_STOP) {
+ break;
+ }
+ switch (fid)
+ {
+ case 1:
+ if (ftype == ::apache::thrift::protocol::T_STRING) {
+ xfer += iprot->readString(this->workflowTemplateId);
+ isset_workflowTemplateId = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 2:
+ if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+ xfer += this->workflow.read(iprot);
+ isset_workflow = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ default:
+ xfer += iprot->skip(ftype);
+ break;
+ }
+ xfer += iprot->readFieldEnd();
+ }
+
+ xfer += iprot->readStructEnd();
+
+ if (!isset_workflowTemplateId)
+ throw TProtocolException(TProtocolException::INVALID_DATA);
+ if (!isset_workflow)
+ throw TProtocolException(TProtocolException::INVALID_DATA);
+ return xfer;
+}
+
+uint32_t Workflow_updateWorkflow_args::write(::apache::thrift::protocol::TProtocol* oprot) const {
+ uint32_t xfer = 0;
+ xfer += oprot->writeStructBegin("Workflow_updateWorkflow_args");
+
+ xfer += oprot->writeFieldBegin("workflowTemplateId", ::apache::thrift::protocol::T_STRING, 1);
+ xfer += oprot->writeString(this->workflowTemplateId);
+ xfer += oprot->writeFieldEnd();
+
+ xfer += oprot->writeFieldBegin("workflow", ::apache::thrift::protocol::T_STRUCT, 2);
+ xfer += this->workflow.write(oprot);
+ xfer += oprot->writeFieldEnd();
+
+ xfer += oprot->writeFieldStop();
+ xfer += oprot->writeStructEnd();
+ return xfer;
+}
+
+uint32_t Workflow_updateWorkflow_pargs::write(::apache::thrift::protocol::TProtocol* oprot) const {
+ uint32_t xfer = 0;
+ xfer += oprot->writeStructBegin("Workflow_updateWorkflow_pargs");
+
+ xfer += oprot->writeFieldBegin("workflowTemplateId", ::apache::thrift::protocol::T_STRING, 1);
+ xfer += oprot->writeString((*(this->workflowTemplateId)));
+ xfer += oprot->writeFieldEnd();
+
+ xfer += oprot->writeFieldBegin("workflow", ::apache::thrift::protocol::T_STRUCT, 2);
+ xfer += (*(this->workflow)).write(oprot);
+ xfer += oprot->writeFieldEnd();
+
+ xfer += oprot->writeFieldStop();
+ xfer += oprot->writeStructEnd();
+ return xfer;
+}
+
+uint32_t Workflow_updateWorkflow_result::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+ uint32_t xfer = 0;
+ std::string fname;
+ ::apache::thrift::protocol::TType ftype;
+ int16_t fid;
+
+ xfer += iprot->readStructBegin(fname);
+
+ using ::apache::thrift::protocol::TProtocolException;
+
+
+ while (true)
+ {
+ xfer += iprot->readFieldBegin(fname, ftype, fid);
+ if (ftype == ::apache::thrift::protocol::T_STOP) {
+ break;
+ }
+ switch (fid)
+ {
+ case 1:
+ if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+ xfer += this->ire.read(iprot);
+ this->__isset.ire = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 2:
+ if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+ xfer += this->ace.read(iprot);
+ this->__isset.ace = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 3:
+ if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+ xfer += this->ase.read(iprot);
+ this->__isset.ase = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ default:
+ xfer += iprot->skip(ftype);
+ break;
+ }
+ xfer += iprot->readFieldEnd();
+ }
+
+ xfer += iprot->readStructEnd();
+
+ return xfer;
+}
+
+uint32_t Workflow_updateWorkflow_result::write(::apache::thrift::protocol::TProtocol* oprot) const {
+
+ uint32_t xfer = 0;
+
+ xfer += oprot->writeStructBegin("Workflow_updateWorkflow_result");
+
+ if (this->__isset.ire) {
+ xfer += oprot->writeFieldBegin("ire", ::apache::thrift::protocol::T_STRUCT, 1);
+ xfer += this->ire.write(oprot);
+ xfer += oprot->writeFieldEnd();
+ } else if (this->__isset.ace) {
+ xfer += oprot->writeFieldBegin("ace", ::apache::thrift::protocol::T_STRUCT, 2);
+ xfer += this->ace.write(oprot);
+ xfer += oprot->writeFieldEnd();
+ } else if (this->__isset.ase) {
+ xfer += oprot->writeFieldBegin("ase", ::apache::thrift::protocol::T_STRUCT, 3);
+ xfer += this->ase.write(oprot);
+ xfer += oprot->writeFieldEnd();
+ }
+ xfer += oprot->writeFieldStop();
+ xfer += oprot->writeStructEnd();
+ return xfer;
+}
+
+uint32_t Workflow_updateWorkflow_presult::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+ uint32_t xfer = 0;
+ std::string fname;
+ ::apache::thrift::protocol::TType ftype;
+ int16_t fid;
+
+ xfer += iprot->readStructBegin(fname);
+
+ using ::apache::thrift::protocol::TProtocolException;
+
+
+ while (true)
+ {
+ xfer += iprot->readFieldBegin(fname, ftype, fid);
+ if (ftype == ::apache::thrift::protocol::T_STOP) {
+ break;
+ }
+ switch (fid)
+ {
+ case 1:
+ if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+ xfer += this->ire.read(iprot);
+ this->__isset.ire = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 2:
+ if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+ xfer += this->ace.read(iprot);
+ this->__isset.ace = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 3:
+ if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+ xfer += this->ase.read(iprot);
+ this->__isset.ase = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ default:
+ xfer += iprot->skip(ftype);
+ break;
+ }
+ xfer += iprot->readFieldEnd();
+ }
+
+ xfer += iprot->readStructEnd();
+
+ return xfer;
+}
+
+uint32_t Workflow_getWorkflowTemplateId_args::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+ uint32_t xfer = 0;
+ std::string fname;
+ ::apache::thrift::protocol::TType ftype;
+ int16_t fid;
+
+ xfer += iprot->readStructBegin(fname);
+
+ using ::apache::thrift::protocol::TProtocolException;
+
+ bool isset_workflowName = false;
+
+ while (true)
+ {
+ xfer += iprot->readFieldBegin(fname, ftype, fid);
+ if (ftype == ::apache::thrift::protocol::T_STOP) {
+ break;
+ }
+ switch (fid)
+ {
+ case 1:
+ if (ftype == ::apache::thrift::protocol::T_STRING) {
+ xfer += iprot->readString(this->workflowName);
+ isset_workflowName = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ default:
+ xfer += iprot->skip(ftype);
+ break;
+ }
+ xfer += iprot->readFieldEnd();
+ }
+
+ xfer += iprot->readStructEnd();
+
+ if (!isset_workflowName)
+ throw TProtocolException(TProtocolException::INVALID_DATA);
+ return xfer;
+}
+
+uint32_t Workflow_getWorkflowTemplateId_args::write(::apache::thrift::protocol::TProtocol* oprot) const {
+ uint32_t xfer = 0;
+ xfer += oprot->writeStructBegin("Workflow_getWorkflowTemplateId_args");
+
+ xfer += oprot->writeFieldBegin("workflowName", ::apache::thrift::protocol::T_STRING, 1);
+ xfer += oprot->writeString(this->workflowName);
+ xfer += oprot->writeFieldEnd();
+
+ xfer += oprot->writeFieldStop();
+ xfer += oprot->writeStructEnd();
+ return xfer;
+}
+
+uint32_t Workflow_getWorkflowTemplateId_pargs::write(::apache::thrift::protocol::TProtocol* oprot) const {
+ uint32_t xfer = 0;
+ xfer += oprot->writeStructBegin("Workflow_getWorkflowTemplateId_pargs");
+
+ xfer += oprot->writeFieldBegin("workflowName", ::apache::thrift::protocol::T_STRING, 1);
+ xfer += oprot->writeString((*(this->workflowName)));
+ xfer += oprot->writeFieldEnd();
+
+ xfer += oprot->writeFieldStop();
+ xfer += oprot->writeStructEnd();
+ return xfer;
+}
+
+uint32_t Workflow_getWorkflowTemplateId_result::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+ uint32_t xfer = 0;
+ std::string fname;
+ ::apache::thrift::protocol::TType ftype;
+ int16_t fid;
+
+ xfer += iprot->readStructBegin(fname);
+
+ using ::apache::thrift::protocol::TProtocolException;
+
+
+ while (true)
+ {
+ xfer += iprot->readFieldBegin(fname, ftype, fid);
+ if (ftype == ::apache::thrift::protocol::T_STOP) {
+ break;
+ }
+ switch (fid)
+ {
+ case 0:
+ if (ftype == ::apache::thrift::protocol::T_STRING) {
+ xfer += iprot->readString(this->success);
+ this->__isset.success = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 1:
+ if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+ xfer += this->ire.read(iprot);
+ this->__isset.ire = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 2:
+ if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+ xfer += this->ace.read(iprot);
+ this->__isset.ace = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 3:
+ if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+ xfer += this->ase.read(iprot);
+ this->__isset.ase = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ default:
+ xfer += iprot->skip(ftype);
+ break;
+ }
+ xfer += iprot->readFieldEnd();
+ }
+
+ xfer += iprot->readStructEnd();
+
+ return xfer;
+}
+
+uint32_t Workflow_getWorkflowTemplateId_result::write(::apache::thrift::protocol::TProtocol* oprot) const {
+
+ uint32_t xfer = 0;
+
+ xfer += oprot->writeStructBegin("Workflow_getWorkflowTemplateId_result");
+
+ if (this->__isset.success) {
+ xfer += oprot->writeFieldBegin("success", ::apache::thrift::protocol::T_STRING, 0);
+ xfer += oprot->writeString(this->success);
+ xfer += oprot->writeFieldEnd();
+ } else if (this->__isset.ire) {
+ xfer += oprot->writeFieldBegin("ire", ::apache::thrift::protocol::T_STRUCT, 1);
+ xfer += this->ire.write(oprot);
+ xfer += oprot->writeFieldEnd();
+ } else if (this->__isset.ace) {
+ xfer += oprot->writeFieldBegin("ace", ::apache::thrift::protocol::T_STRUCT, 2);
+ xfer += this->ace.write(oprot);
+ xfer += oprot->writeFieldEnd();
+ } else if (this->__isset.ase) {
+ xfer += oprot->writeFieldBegin("ase", ::apache::thrift::protocol::T_STRUCT, 3);
+ xfer += this->ase.write(oprot);
+ xfer += oprot->writeFieldEnd();
+ }
+ xfer += oprot->writeFieldStop();
+ xfer += oprot->writeStructEnd();
+ return xfer;
+}
+
+uint32_t Workflow_getWorkflowTemplateId_presult::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+ uint32_t xfer = 0;
+ std::string fname;
+ ::apache::thrift::protocol::TType ftype;
+ int16_t fid;
+
+ xfer += iprot->readStructBegin(fname);
+
+ using ::apache::thrift::protocol::TProtocolException;
+
+
+ while (true)
+ {
+ xfer += iprot->readFieldBegin(fname, ftype, fid);
+ if (ftype == ::apache::thrift::protocol::T_STOP) {
+ break;
+ }
+ switch (fid)
+ {
+ case 0:
+ if (ftype == ::apache::thrift::protocol::T_STRING) {
+ xfer += iprot->readString((*(this->success)));
+ this->__isset.success = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 1:
+ if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+ xfer += this->ire.read(iprot);
+ this->__isset.ire = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 2:
+ if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+ xfer += this->ace.read(iprot);
+ this->__isset.ace = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 3:
+ if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+ xfer += this->ase.read(iprot);
+ this->__isset.ase = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ default:
+ xfer += iprot->skip(ftype);
+ break;
+ }
+ xfer += iprot->readFieldEnd();
+ }
+
+ xfer += iprot->readStructEnd();
+
+ return xfer;
+}
+
+uint32_t Workflow_isWorkflowExistWithName_args::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+ uint32_t xfer = 0;
+ std::string fname;
+ ::apache::thrift::protocol::TType ftype;
+ int16_t fid;
+
+ xfer += iprot->readStructBegin(fname);
+
+ using ::apache::thrift::protocol::TProtocolException;
+
+ bool isset_workflowName = false;
+
+ while (true)
+ {
+ xfer += iprot->readFieldBegin(fname, ftype, fid);
+ if (ftype == ::apache::thrift::protocol::T_STOP) {
+ break;
+ }
+ switch (fid)
+ {
+ case 1:
+ if (ftype == ::apache::thrift::protocol::T_STRING) {
+ xfer += iprot->readString(this->workflowName);
+ isset_workflowName = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ default:
+ xfer += iprot->skip(ftype);
+ break;
+ }
+ xfer += iprot->readFieldEnd();
+ }
+
+ xfer += iprot->readStructEnd();
+
+ if (!isset_workflowName)
+ throw TProtocolException(TProtocolException::INVALID_DATA);
+ return xfer;
+}
+
+uint32_t Workflow_isWorkflowExistWithName_args::write(::apache::thrift::protocol::TProtocol* oprot) const {
+ uint32_t xfer = 0;
+ xfer += oprot->writeStructBegin("Workflow_isWorkflowExistWithName_args");
+
+ xfer += oprot->writeFieldBegin("workflowName", ::apache::thrift::protocol::T_STRING, 1);
+ xfer += oprot->writeString(this->workflowName);
+ xfer += oprot->writeFieldEnd();
+
+ xfer += oprot->writeFieldStop();
+ xfer += oprot->writeStructEnd();
+ return xfer;
+}
+
+uint32_t Workflow_isWorkflowExistWithName_pargs::write(::apache::thrift::protocol::TProtocol* oprot) const {
+ uint32_t xfer = 0;
+ xfer += oprot->writeStructBegin("Workflow_isWorkflowExistWithName_pargs");
+
+ xfer += oprot->writeFieldBegin("workflowName", ::apache::thrift::protocol::T_STRING, 1);
+ xfer += oprot->writeString((*(this->workflowName)));
+ xfer += oprot->writeFieldEnd();
+
+ xfer += oprot->writeFieldStop();
+ xfer += oprot->writeStructEnd();
+ return xfer;
+}
+
+uint32_t Workflow_isWorkflowExistWithName_result::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+ uint32_t xfer = 0;
+ std::string fname;
+ ::apache::thrift::protocol::TType ftype;
+ int16_t fid;
+
+ xfer += iprot->readStructBegin(fname);
+
+ using ::apache::thrift::protocol::TProtocolException;
+
+
+ while (true)
+ {
+ xfer += iprot->readFieldBegin(fname, ftype, fid);
+ if (ftype == ::apache::thrift::protocol::T_STOP) {
+ break;
+ }
+ switch (fid)
+ {
+ case 0:
+ if (ftype == ::apache::thrift::protocol::T_BOOL) {
+ xfer += iprot->readBool(this->success);
+ this->__isset.success = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 1:
+ if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+ xfer += this->ire.read(iprot);
+ this->__isset.ire = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 2:
+ if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+ xfer += this->ace.read(iprot);
+ this->__isset.ace = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 3:
+ if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+ xfer += this->ase.read(iprot);
+ this->__isset.ase = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ default:
+ xfer += iprot->skip(ftype);
+ break;
+ }
+ xfer += iprot->readFieldEnd();
+ }
+
+ xfer += iprot->readStructEnd();
+
+ return xfer;
+}
+
+uint32_t Workflow_isWorkflowExistWithName_result::write(::apache::thrift::protocol::TProtocol* oprot) const {
+
+ uint32_t xfer = 0;
+
+ xfer += oprot->writeStructBegin("Workflow_isWorkflowExistWithName_result");
+
+ if (this->__isset.success) {
+ xfer += oprot->writeFieldBegin("success", ::apache::thrift::protocol::T_BOOL, 0);
+ xfer += oprot->writeBool(this->success);
+ xfer += oprot->writeFieldEnd();
+ } else if (this->__isset.ire) {
+ xfer += oprot->writeFieldBegin("ire", ::apache::thrift::protocol::T_STRUCT, 1);
+ xfer += this->ire.write(oprot);
+ xfer += oprot->writeFieldEnd();
+ } else if (this->__isset.ace) {
+ xfer += oprot->writeFieldBegin("ace", ::apache::thrift::protocol::T_STRUCT, 2);
+ xfer += this->ace.write(oprot);
+ xfer += oprot->writeFieldEnd();
+ } else if (this->__isset.ase) {
+ xfer += oprot->writeFieldBegin("ase", ::apache::thrift::protocol::T_STRUCT, 3);
+ xfer += this->ase.write(oprot);
+ xfer += oprot->writeFieldEnd();
+ }
+ xfer += oprot->writeFieldStop();
+ xfer += oprot->writeStructEnd();
+ return xfer;
+}
+
+uint32_t Workflow_isWorkflowExistWithName_presult::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+ uint32_t xfer = 0;
+ std::string fname;
+ ::apache::thrift::protocol::TType ftype;
+ int16_t fid;
+
+ xfer += iprot->readStructBegin(fname);
+
+ using ::apache::thrift::protocol::TProtocolException;
+
+
+ while (true)
+ {
+ xfer += iprot->readFieldBegin(fname, ftype, fid);
+ if (ftype == ::apache::thrift::protocol::T_STOP) {
+ break;
+ }
+ switch (fid)
+ {
+ case 0:
+ if (ftype == ::apache::thrift::protocol::T_BOOL) {
+ xfer += iprot->readBool((*(this->success)));
+ this->__isset.success = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 1:
+ if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+ xfer += this->ire.read(iprot);
+ this->__isset.ire = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 2:
+ if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+ xfer += this->ace.read(iprot);
+ this->__isset.ace = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 3:
+ if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+ xfer += this->ase.read(iprot);
+ this->__isset.ase = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ default:
+ xfer += iprot->skip(ftype);
+ break;
+ }
+ xfer += iprot->readFieldEnd();
+ }
+
+ xfer += iprot->readStructEnd();
+
+ return xfer;
+}
+
+void WorkflowClient::getAllWorkflows(std::vector<std::string> & _return)
+{
+ send_getAllWorkflows();
+ recv_getAllWorkflows(_return);
+}
+
+void WorkflowClient::send_getAllWorkflows()
+{
+ int32_t cseqid = 0;
+ oprot_->writeMessageBegin("getAllWorkflows", ::apache::thrift::protocol::T_CALL, cseqid);
+
+ Workflow_getAllWorkflows_pargs args;
+ args.write(oprot_);
+
+ oprot_->writeMessageEnd();
+ oprot_->getTransport()->writeEnd();
+ oprot_->getTransport()->flush();
+}
+
+void WorkflowClient::recv_getAllWorkflows(std::vector<std::string> & _return)
+{
+
+ int32_t rseqid = 0;
+ std::string fname;
+ ::apache::thrift::protocol::TMessageType mtype;
+
+ iprot_->readMessageBegin(fname, mtype, rseqid);
+ if (mtype == ::apache::thrift::protocol::T_EXCEPTION) {
+ ::apache::thrift::TApplicationException x;
+ x.read(iprot_);
+ iprot_->readMessageEnd();
+ iprot_->getTransport()->readEnd();
+ throw x;
+ }
+ if (mtype != ::apache::thrift::protocol::T_REPLY) {
+ iprot_->skip(::apache::thrift::protocol::T_STRUCT);
+ iprot_->readMessageEnd();
+ iprot_->getTransport()->readEnd();
+ }
+ if (fname.compare("getAllWorkflows") != 0) {
+ iprot_->skip(::apache::thrift::protocol::T_STRUCT);
+ iprot_->readMessageEnd();
+ iprot_->getTransport()->readEnd();
+ }
+ Workflow_getAllWorkflows_presult result;
+ result.success = &_return;
+ result.read(iprot_);
+ iprot_->readMessageEnd();
+ iprot_->getTransport()->readEnd();
+
+ if (result.__isset.success) {
+ // _return pointer has now been filled
+ return;
+ }
+ if (result.__isset.ire) {
+ throw result.ire;
+ }
+ if (result.__isset.ace) {
+ throw result.ace;
+ }
+ if (result.__isset.ase) {
+ throw result.ase;
+ }
+ throw ::apache::thrift::TApplicationException(::apache::thrift::TApplicationException::MISSING_RESULT, "getAllWorkflows failed: unknown result");
+}
+
+void WorkflowClient::getWorkflow( ::Workflow& _return, const std::string& workflowTemplateId)
+{
+ send_getWorkflow(workflowTemplateId);
+ recv_getWorkflow(_return);
+}
+
+void WorkflowClient::send_getWorkflow(const std::string& workflowTemplateId)
+{
+ int32_t cseqid = 0;
+ oprot_->writeMessageBegin("getWorkflow", ::apache::thrift::protocol::T_CALL, cseqid);
+
+ Workflow_getWorkflow_pargs args;
+ args.workflowTemplateId = &workflowTemplateId;
+ args.write(oprot_);
+
+ oprot_->writeMessageEnd();
+ oprot_->getTransport()->writeEnd();
+ oprot_->getTransport()->flush();
+}
+
+void WorkflowClient::recv_getWorkflow( ::Workflow& _return)
+{
+
+ int32_t rseqid = 0;
+ std::string fname;
+ ::apache::thrift::protocol::TMessageType mtype;
+
+ iprot_->readMessageBegin(fname, mtype, rseqid);
+ if (mtype == ::apache::thrift::protocol::T_EXCEPTION) {
+ ::apache::thrift::TApplicationException x;
+ x.read(iprot_);
+ iprot_->readMessageEnd();
+ iprot_->getTransport()->readEnd();
+ throw x;
+ }
+ if (mtype != ::apache::thrift::protocol::T_REPLY) {
+ iprot_->skip(::apache::thrift::protocol::T_STRUCT);
+ iprot_->readMessageEnd();
+ iprot_->getTransport()->readEnd();
+ }
+ if (fname.compare("getWorkflow") != 0) {
+ iprot_->skip(::apache::thrift::protocol::T_STRUCT);
+ iprot_->readMessageEnd();
+ iprot_->getTransport()->readEnd();
+ }
+ Workflow_getWorkflow_presult result;
+ result.success = &_return;
+ result.read(iprot_);
+ iprot_->readMessageEnd();
+ iprot_->getTransport()->readEnd();
+
+ if (result.__isset.success) {
+ // _return pointer has now been filled
+ return;
+ }
+ if (result.__isset.ire) {
+ throw result.ire;
+ }
+ if (result.__isset.ace) {
+ throw result.ace;
+ }
+ if (result.__isset.ase) {
+ throw result.ase;
+ }
+ throw ::apache::thrift::TApplicationException(::apache::thrift::TApplicationException::MISSING_RESULT, "getWorkflow failed: unknown result");
+}
+
+void WorkflowClient::deleteWorkflow(const std::string& workflowTemplateId)
+{
+ send_deleteWorkflow(workflowTemplateId);
+ recv_deleteWorkflow();
+}
+
+void WorkflowClient::send_deleteWorkflow(const std::string& workflowTemplateId)
+{
+ int32_t cseqid = 0;
+ oprot_->writeMessageBegin("deleteWorkflow", ::apache::thrift::protocol::T_CALL, cseqid);
+
+ Workflow_deleteWorkflow_pargs args;
+ args.workflowTemplateId = &workflowTemplateId;
+ args.write(oprot_);
+
+ oprot_->writeMessageEnd();
+ oprot_->getTransport()->writeEnd();
+ oprot_->getTransport()->flush();
+}
+
+void WorkflowClient::recv_deleteWorkflow()
+{
+
+ int32_t rseqid = 0;
+ std::string fname;
+ ::apache::thrift::protocol::TMessageType mtype;
+
+ iprot_->readMessageBegin(fname, mtype, rseqid);
+ if (mtype == ::apache::thrift::protocol::T_EXCEPTION) {
+ ::apache::thrift::TApplicationException x;
+ x.read(iprot_);
+ iprot_->readMessageEnd();
+ iprot_->getTransport()->readEnd();
+ throw x;
+ }
+ if (mtype != ::apache::thrift::protocol::T_REPLY) {
+ iprot_->skip(::apache::thrift::protocol::T_STRUCT);
+ iprot_->readMessageEnd();
+ iprot_->getTransport()->readEnd();
+ }
+ if (fname.compare("deleteWorkflow") != 0) {
+ iprot_->skip(::apache::thrift::protocol::T_STRUCT);
+ iprot_->readMessageEnd();
+ iprot_->getTransport()->readEnd();
+ }
+ Workflow_deleteWorkflow_presult result;
+ result.read(iprot_);
+ iprot_->readMessageEnd();
+ iprot_->getTransport()->readEnd();
+
+ if (result.__isset.ire) {
+ throw result.ire;
+ }
+ if (result.__isset.ace) {
+ throw result.ace;
+ }
+ if (result.__isset.ase) {
+ throw result.ase;
+ }
+ return;
+}
+
+void WorkflowClient::registerWorkflow(std::string& _return, const ::Workflow& workflow)
+{
+ send_registerWorkflow(workflow);
+ recv_registerWorkflow(_return);
+}
+
+void WorkflowClient::send_registerWorkflow(const ::Workflow& workflow)
+{
+ int32_t cseqid = 0;
+ oprot_->writeMessageBegin("registerWorkflow", ::apache::thrift::protocol::T_CALL, cseqid);
+
+ Workflow_registerWorkflow_pargs args;
+ args.workflow = &workflow;
+ args.write(oprot_);
+
+ oprot_->writeMessageEnd();
+ oprot_->getTransport()->writeEnd();
+ oprot_->getTransport()->flush();
+}
+
+void WorkflowClient::recv_registerWorkflow(std::string& _return)
+{
+
+ int32_t rseqid = 0;
+ std::string fname;
+ ::apache::thrift::protocol::TMessageType mtype;
+
+ iprot_->readMessageBegin(fname, mtype, rseqid);
+ if (mtype == ::apache::thrift::protocol::T_EXCEPTION) {
+ ::apache::thrift::TApplicationException x;
+ x.read(iprot_);
+ iprot_->readMessageEnd();
+ iprot_->getTransport()->readEnd();
+ throw x;
+ }
+ if (mtype != ::apache::thrift::protocol::T_REPLY) {
+ iprot_->skip(::apache::thrift::protocol::T_STRUCT);
+ iprot_->readMessageEnd();
+ iprot_->getTransport()->readEnd();
+ }
+ if (fname.compare("registerWorkflow") != 0) {
+ iprot_->skip(::apache::thrift::protocol::T_STRUCT);
+ iprot_->readMessageEnd();
+ iprot_->getTransport()->readEnd();
+ }
+ Workflow_registerWorkflow_presult result;
+ result.success = &_return;
+ result.read(iprot_);
+ iprot_->readMessageEnd();
+ iprot_->getTransport()->readEnd();
+
+ if (result.__isset.success) {
+ // _return pointer has now been filled
+ return;
+ }
+ if (result.__isset.ire) {
+ throw result.ire;
+ }
+ if (result.__isset.ace) {
+ throw result.ace;
+ }
+ if (result.__isset.ase) {
+ throw result.ase;
+ }
+ throw ::apache::thrift::TApplicationException(::apache::thrift::TApplicationException::MISSING_RESULT, "registerWorkflow failed: unknown result");
+}
+
+void WorkflowClient::updateWorkflow(const std::string& workflowTemplateId, const ::Workflow& workflow)
+{
+ send_updateWorkflow(workflowTemplateId, workflow);
+ recv_updateWorkflow();
+}
+
+void WorkflowClient::send_updateWorkflow(const std::string& workflowTemplateId, const ::Workflow& workflow)
+{
+ int32_t cseqid = 0;
+ oprot_->writeMessageBegin("updateWorkflow", ::apache::thrift::protocol::T_CALL, cseqid);
+
+ Workflow_updateWorkflow_pargs args;
+ args.workflowTemplateId = &workflowTemplateId;
+ args.workflow = &workflow;
+ args.write(oprot_);
+
+ oprot_->writeMessageEnd();
+ oprot_->getTransport()->writeEnd();
+ oprot_->getTransport()->flush();
+}
+
+void WorkflowClient::recv_updateWorkflow()
+{
+
+ int32_t rseqid = 0;
+ std::string fname;
+ ::apache::thrift::protocol::TMessageType mtype;
+
+ iprot_->readMessageBegin(fname, mtype, rseqid);
+ if (mtype == ::apache::thrift::protocol::T_EXCEPTION) {
+ ::apache::thrift::TApplicationException x;
+ x.read(iprot_);
+ iprot_->readMessageEnd();
+ iprot_->getTransport()->readEnd();
+ throw x;
+ }
+ if (mtype != ::apache::thrift::protocol::T_REPLY) {
+ iprot_->skip(::apache::thrift::protocol::T_STRUCT);
+ iprot_->readMessageEnd();
+ iprot_->getTransport()->readEnd();
+ }
+ if (fname.compare("updateWorkflow") != 0) {
+ iprot_->skip(::apache::thrift::protocol::T_STRUCT);
+ iprot_->readMessageEnd();
+ iprot_->getTransport()->readEnd();
+ }
+ Workflow_updateWorkflow_presult result;
+ result.read(iprot_);
+ iprot_->readMessageEnd();
+ iprot_->getTransport()->readEnd();
+
+ if (result.__isset.ire) {
+ throw result.ire;
+ }
+ if (result.__isset.ace) {
+ throw result.ace;
+ }
+ if (result.__isset.ase) {
+ throw result.ase;
+ }
+ return;
+}
+
+void WorkflowClient::getWorkflowTemplateId(std::string& _return, const std::string& workflowName)
+{
+ send_getWorkflowTemplateId(workflowName);
+ recv_getWorkflowTemplateId(_return);
+}
+
+void WorkflowClient::send_getWorkflowTemplateId(const std::string& workflowName)
+{
+ int32_t cseqid = 0;
+ oprot_->writeMessageBegin("getWorkflowTemplateId", ::apache::thrift::protocol::T_CALL, cseqid);
+
+ Workflow_getWorkflowTemplateId_pargs args;
+ args.workflowName = &workflowName;
+ args.write(oprot_);
+
+ oprot_->writeMessageEnd();
+ oprot_->getTransport()->writeEnd();
+ oprot_->getTransport()->flush();
+}
+
+void WorkflowClient::recv_getWorkflowTemplateId(std::string& _return)
+{
+
+ int32_t rseqid = 0;
+ std::string fname;
+ ::apache::thrift::protocol::TMessageType mtype;
+
+ iprot_->readMessageBegin(fname, mtype, rseqid);
+ if (mtype == ::apache::thrift::protocol::T_EXCEPTION) {
+ ::apache::thrift::TApplicationException x;
+ x.read(iprot_);
+ iprot_->readMessageEnd();
+ iprot_->getTransport()->readEnd();
+ throw x;
+ }
+ if (mtype != ::apache::thrift::protocol::T_REPLY) {
+ iprot_->skip(::apache::thrift::protocol::T_STRUCT);
+ iprot_->readMessageEnd();
+ iprot_->getTransport()->readEnd();
+ }
+ if (fname.compare("getWorkflowTemplateId") != 0) {
+ iprot_->skip(::apache::thrift::protocol::T_STRUCT);
+ iprot_->readMessageEnd();
+ iprot_->getTransport()->readEnd();
+ }
+ Workflow_getWorkflowTemplateId_presult result;
+ result.success = &_return;
+ result.read(iprot_);
+ iprot_->readMessageEnd();
+ iprot_->getTransport()->readEnd();
+
+ if (result.__isset.success) {
+ // _return pointer has now been filled
+ return;
+ }
+ if (result.__isset.ire) {
+ throw result.ire;
+ }
+ if (result.__isset.ace) {
+ throw result.ace;
+ }
+ if (result.__isset.ase) {
+ throw result.ase;
+ }
+ throw ::apache::thrift::TApplicationException(::apache::thrift::TApplicationException::MISSING_RESULT, "getWorkflowTemplateId failed: unknown result");
+}
+
+bool WorkflowClient::isWorkflowExistWithName(const std::string& workflowName)
+{
+ send_isWorkflowExistWithName(workflowName);
+ return recv_isWorkflowExistWithName();
+}
+
+void WorkflowClient::send_isWorkflowExistWithName(const std::string& workflowName)
+{
+ int32_t cseqid = 0;
+ oprot_->writeMessageBegin("isWorkflowExistWithName", ::apache::thrift::protocol::T_CALL, cseqid);
+
+ Workflow_isWorkflowExistWithName_pargs args;
+ args.workflowName = &workflowName;
+ args.write(oprot_);
+
+ oprot_->writeMessageEnd();
+ oprot_->getTransport()->writeEnd();
+ oprot_->getTransport()->flush();
+}
+
+bool WorkflowClient::recv_isWorkflowExistWithName()
+{
+
+ int32_t rseqid = 0;
+ std::string fname;
+ ::apache::thrift::protocol::TMessageType mtype;
+
+ iprot_->readMessageBegin(fname, mtype, rseqid);
+ if (mtype == ::apache::thrift::protocol::T_EXCEPTION) {
+ ::apache::thrift::TApplicationException x;
+ x.read(iprot_);
+ iprot_->readMessageEnd();
+ iprot_->getTransport()->readEnd();
+ throw x;
+ }
+ if (mtype != ::apache::thrift::protocol::T_REPLY) {
+ iprot_->skip(::apache::thrift::protocol::T_STRUCT);
+ iprot_->readMessageEnd();
+ iprot_->getTransport()->readEnd();
+ }
+ if (fname.compare("isWorkflowExistWithName") != 0) {
+ iprot_->skip(::apache::thrift::protocol::T_STRUCT);
+ iprot_->readMessageEnd();
+ iprot_->getTransport()->readEnd();
+ }
+ bool _return;
+ Workflow_isWorkflowExistWithName_presult result;
+ result.success = &_return;
+ result.read(iprot_);
+ iprot_->readMessageEnd();
+ iprot_->getTransport()->readEnd();
+
+ if (result.__isset.success) {
+ return _return;
+ }
+ if (result.__isset.ire) {
+ throw result.ire;
+ }
+ if (result.__isset.ace) {
+ throw result.ace;
+ }
+ if (result.__isset.ase) {
+ throw result.ase;
+ }
+ throw ::apache::thrift::TApplicationException(::apache::thrift::TApplicationException::MISSING_RESULT, "isWorkflowExistWithName failed: unknown result");
+}
+
+bool WorkflowProcessor::dispatchCall(::apache::thrift::protocol::TProtocol* iprot, ::apache::thrift::protocol::TProtocol* oprot, const std::string& fname, int32_t seqid, void* callContext) {
+ ProcessMap::iterator pfn;
+ pfn = processMap_.find(fname);
+ if (pfn == processMap_.end()) {
+ iprot->skip(::apache::thrift::protocol::T_STRUCT);
+ iprot->readMessageEnd();
+ iprot->getTransport()->readEnd();
+ ::apache::thrift::TApplicationException x(::apache::thrift::TApplicationException::UNKNOWN_METHOD, "Invalid method name: '"+fname+"'");
+ oprot->writeMessageBegin(fname, ::apache::thrift::protocol::T_EXCEPTION, seqid);
+ x.write(oprot);
+ oprot->writeMessageEnd();
+ oprot->getTransport()->writeEnd();
+ oprot->getTransport()->flush();
+ return true;
+ }
+ (this->*(pfn->second))(seqid, iprot, oprot, callContext);
+ return true;
+}
+
+void WorkflowProcessor::process_getAllWorkflows(int32_t seqid, ::apache::thrift::protocol::TProtocol* iprot, ::apache::thrift::protocol::TProtocol* oprot, void* callContext)
+{
+ void* ctx = NULL;
+ if (this->eventHandler_.get() != NULL) {
+ ctx = this->eventHandler_->getContext("Workflow.getAllWorkflows", callContext);
+ }
+ ::apache::thrift::TProcessorContextFreer freer(this->eventHandler_.get(), ctx, "Workflow.getAllWorkflows");
+
+ if (this->eventHandler_.get() != NULL) {
+ this->eventHandler_->preRead(ctx, "Workflow.getAllWorkflows");
+ }
+
+ Workflow_getAllWorkflows_args args;
+ args.read(iprot);
+ iprot->readMessageEnd();
+ uint32_t bytes = iprot->getTransport()->readEnd();
+
+ if (this->eventHandler_.get() != NULL) {
+ this->eventHandler_->postRead(ctx, "Workflow.getAllWorkflows", bytes);
+ }
+
+ Workflow_getAllWorkflows_result result;
+ try {
+ iface_->getAllWorkflows(result.success);
+ result.__isset.success = true;
+ } catch ( ::apache::airavata::api::error::InvalidRequestException &ire) {
+ result.ire = ire;
+ result.__isset.ire = true;
+ } catch ( ::apache::airavata::api::error::AiravataClientException &ace) {
+ result.ace = ace;
+ result.__isset.ace = true;
+ } catch ( ::apache::airavata::api::error::AiravataSystemException &ase) {
+ result.ase = ase;
+ result.__isset.ase = true;
+ } catch (const std::exception& e) {
+ if (this->eventHandler_.get() != NULL) {
+ this->eventHandler_->handlerError(ctx, "Workflow.getAllWorkflows");
+ }
+
+ ::apache::thrift::TApplicationException x(e.what());
+ oprot->writeMessageBegin("getAllWorkflows", ::apache::thrift::protocol::T_EXCEPTION, seqid);
+ x.write(oprot);
+ oprot->writeMessageEnd();
+ oprot->getTransport()->writeEnd();
+ oprot->getTransport()->flush();
+ return;
+ }
+
+ if (this->eventHandler_.get() != NULL) {
+ this->eventHandler_->preWrite(ctx, "Workflow.getAllWorkflows");
+ }
+
+ oprot->writeMessageBegin("getAllWorkflows", ::apache::thrift::protocol::T_REPLY, seqid);
+ result.write(oprot);
+ oprot->writeMessageEnd();
+ bytes = oprot->getTransport()->writeEnd();
+ oprot->getTransport()->flush();
+
+ if (this->eventHandler_.get() != NULL) {
+ this->eventHandler_->postWrite(ctx, "Workflow.getAllWorkflows", bytes);
+ }
+}
+
+void WorkflowProcessor::process_getWorkflow(int32_t seqid, ::apache::thrift::protocol::TProtocol* iprot, ::apache::thrift::protocol::TProtocol* oprot, void* callContext)
+{
+ void* ctx = NULL;
+ if (this->eventHandler_.get() != NULL) {
+ ctx = this->eventHandler_->getContext("Workflow.getWorkflow", callContext);
+ }
+ ::apache::thrift::TProcessorContextFreer freer(this->eventHandler_.get(), ctx, "Workflow.getWorkflow");
+
+ if (this->eventHandler_.get() != NULL) {
+ this->eventHandler_->preRead(ctx, "Workflow.getWorkflow");
+ }
+
+ Workflow_getWorkflow_args args;
+ args.read(iprot);
+ iprot->readMessageEnd();
+ uint32_t bytes = iprot->getTransport()->readEnd();
+
+ if (this->eventHandler_.get() != NULL) {
+ this->eventHandler_->postRead(ctx, "Workflow.getWorkflow", bytes);
+ }
+
+ Workflow_getWorkflow_result result;
+ try {
+ iface_->getWorkflow(result.success, args.workflowTemplateId);
+ result.__isset.success = true;
+ } catch ( ::apache::airavata::api::error::InvalidRequestException &ire) {
+ result.ire = ire;
+ result.__isset.ire = true;
+ } catch ( ::apache::airavata::api::error::AiravataClientException &ace) {
+ result.ace = ace;
+ result.__isset.ace = true;
+ } catch ( ::apache::airavata::api::error::AiravataSystemException &ase) {
+ result.ase = ase;
+ result.__isset.ase = true;
+ } catch (const std::exception& e) {
+ if (this->eventHandler_.get() != NULL) {
+ this->eventHandler_->handlerError(ctx, "Workflow.getWorkflow");
+ }
+
+ ::apache::thrift::TApplicationException x(e.what());
+ oprot->writeMessageBegin("getWorkflow", ::apache::thrift::protocol::T_EXCEPTION, seqid);
+ x.write(oprot);
+ oprot->writeMessageEnd();
+ oprot->getTransport()->writeEnd();
+ oprot->getTransport()->flush();
+ return;
+ }
+
+ if (this->eventHandler_.get() != NULL) {
+ this->eventHandler_->preWrite(ctx, "Workflow.getWorkflow");
+ }
+
+ oprot->writeMessageBegin("getWorkflow", ::apache::thrift::protocol::T_REPLY, seqid);
+ result.write(oprot);
+ oprot->writeMessageEnd();
+ bytes = oprot->getTransport()->writeEnd();
+ oprot->getTransport()->flush();
+
+ if (this->eventHandler_.get() != NULL) {
+ this->eventHandler_->postWrite(ctx, "Workflow.getWorkflow", bytes);
+ }
+}
+
+void WorkflowProcessor::process_deleteWorkflow(int32_t seqid, ::apache::thrift::protocol::TProtocol* iprot, ::apache::thrift::protocol::TProtocol* oprot, void* callContext)
+{
+ void* ctx = NULL;
+ if (this->eventHandler_.get() != NULL) {
+ ctx = this->eventHandler_->getContext("Workflow.deleteWorkflow", callContext);
+ }
+ ::apache::thrift::TProcessorContextFreer freer(this->eventHandler_.get(), ctx, "Workflow.deleteWorkflow");
+
+ if (this->eventHandler_.get() != NULL) {
+ this->eventHandler_->preRead(ctx, "Workflow.deleteWorkflow");
+ }
+
+ Workflow_deleteWorkflow_args args;
+ args.read(iprot);
+ iprot->readMessageEnd();
+ uint32_t bytes = iprot->getTransport()->readEnd();
+
+ if (this->eventHandler_.get() != NULL) {
+ this->eventHandler_->postRead(ctx, "Workflow.deleteWorkflow", bytes);
+ }
+
+ Workflow_deleteWorkflow_result result;
+ try {
+ iface_->deleteWorkflow(args.workflowTemplateId);
+ } catch ( ::apache::airavata::api::error::InvalidRequestException &ire) {
+ result.ire = ire;
+ result.__isset.ire = true;
+ } catch ( ::apache::airavata::api::error::AiravataClientException &ace) {
+ result.ace = ace;
+ result.__isset.ace = true;
+ } catch ( ::apache::airavata::api::error::AiravataSystemException &ase) {
+ result.ase = ase;
+ result.__isset.ase = true;
+ } catch (const std::exception& e) {
+ if (this->eventHandler_.get() != NULL) {
+ this->eventHandler_->handlerError(ctx, "Workflow.deleteWorkflow");
+ }
+
+ ::apache::thrift::TApplicationException x(e.what());
+ oprot->writeMessageBegin("deleteWorkflow", ::apache::thrift::protocol::T_EXCEPTION, seqid);
+ x.write(oprot);
+ oprot->writeMessageEnd();
+ oprot->getTransport()->writeEnd();
+ oprot->getTransport()->flush();
+ return;
+ }
+
+ if (this->eventHandler_.get() != NULL) {
+ this->eventHandler_->preWrite(ctx, "Workflow.deleteWorkflow");
+ }
+
+ oprot->writeMessageBegin("deleteWorkflow", ::apache::thrift::protocol::T_REPLY, seqid);
+ result.write(oprot);
+ oprot->writeMessageEnd();
+ bytes = oprot->getTransport()->writeEnd();
+ oprot->getTransport()->flush();
+
+ if (this->eventHandler_.get() != NULL) {
+ this->eventHandler_->postWrite(ctx, "Workflow.deleteWorkflow", bytes);
+ }
+}
+
+void WorkflowProcessor::process_registerWorkflow(int32_t seqid, ::apache::thrift::protocol::TProtocol* iprot, ::apache::thrift::protocol::TProtocol* oprot, void* callContext)
+{
+ void* ctx = NULL;
+ if (this->eventHandler_.get() != NULL) {
+ ctx = this->eventHandler_->getContext("Workflow.registerWorkflow", callContext);
+ }
+ ::apache::thrift::TProcessorContextFreer freer(this->eventHandler_.get(), ctx, "Workflow.registerWorkflow");
+
+ if (this->eventHandler_.get() != NULL) {
+ this->eventHandler_->preRead(ctx, "Workflow.registerWorkflow");
+ }
+
+ Workflow_registerWorkflow_args args;
+ args.read(iprot);
+ iprot->readMessageEnd();
+ uint32_t bytes = iprot->getTransport()->readEnd();
+
+ if (this->eventHandler_.get() != NULL) {
+ this->eventHandler_->postRead(ctx, "Workflow.registerWorkflow", bytes);
+ }
+
+ Workflow_registerWorkflow_result result;
+ try {
+ iface_->registerWorkflow(result.success, args.workflow);
+ result.__isset.success = true;
+ } catch ( ::apache::airavata::api::error::InvalidRequestException &ire) {
+ result.ire = ire;
+ result.__isset.ire = true;
+ } catch ( ::apache::airavata::api::error::AiravataClientException &ace) {
+ result.ace = ace;
+ result.__isset.ace = true;
+ } catch ( ::apache::airavata::api::error::AiravataSystemException &ase) {
+ result.ase = ase;
+ result.__isset.ase = true;
+ } catch (const std::exception& e) {
+ if (this->eventHandler_.get() != NULL) {
+ this->eventHandler_->handlerError(ctx, "Workflow.registerWorkflow");
+ }
+
+ ::apache::thrift::TApplicationException x(e.what());
+ oprot->writeMessageBegin("registerWorkflow", ::apache::thrift::protocol::T_EXCEPTION, seqid);
+ x.write(oprot);
+ oprot->writeMessageEnd();
+ oprot->getTransport()->writeEnd();
+ oprot->getTransport()->flush();
+ return;
+ }
+
+ if (this->eventHandler_.get() != NULL) {
+ this->eventHandler_->preWrite(ctx, "Workflow.registerWorkflow");
+ }
+
+ oprot->writeMessageBegin("registerWorkflow", ::apache::thrift::protocol::T_REPLY, seqid);
+ result.write(oprot);
+ oprot->writeMessageEnd();
+ bytes = oprot->getTransport()->writeEnd();
+ oprot->getTransport()->flush();
+
+ if (this->eventHandler_.get() != NULL) {
+ this->eventHandler_->postWrite(ctx, "Workflow.registerWorkflow", bytes);
+ }
+}
+
+void WorkflowProcessor::process_updateWorkflow(int32_t seqid, ::apache::thrift::protocol::TProtocol* iprot, ::apache::thrift::protocol::TProtocol* oprot, void* callContext)
+{
+ void* ctx = NULL;
+ if (this->eventHandler_.get() != NULL) {
+ ctx = this->eventHandler_->getContext("Workflow.updateWorkflow", callContext);
+ }
+ ::apache::thrift::TProcessorContextFreer freer(this->eventHandler_.get(), ctx, "Workflow.updateWorkflow");
+
+ if (this->eventHandler_.get() != NULL) {
+ this->eventHandler_->preRead(ctx, "Workflow.updateWorkflow");
+ }
+
+ Workflow_updateWorkflow_args args;
+ args.read(iprot);
+ iprot->readMessageEnd();
+ uint32_t bytes = iprot->getTransport()->readEnd();
+
+ if (this->eventHandler_.get() != NULL) {
+ this->eventHandler_->postRead(ctx, "Workflow.updateWorkflow", bytes);
+ }
+
+ Workflow_updateWorkflow_result result;
+ try {
+ iface_->updateWorkflow(args.workflowTemplateId, args.workflow);
+ } catch ( ::apache::airavata::api::error::InvalidRequestException &ire) {
+ result.ire = ire;
+ result.__isset.ire = true;
+ } catch ( ::apache::airavata::api::error::AiravataClientException &ace) {
+ result.ace = ace;
+ result.__isset.ace = true;
+ } catch ( ::apache::airavata::api::error::AiravataSystemException &ase) {
+ result.ase = ase;
+ result.__isset.ase = true;
+ } catch (const std::exception& e) {
+ if (this->eventHandler_.get() != NULL) {
+ this->eventHandler_->handlerError(ctx, "Workflow.updateWorkflow");
+ }
+
+ ::apache::thrift::TApplicationException x(e.what());
+ oprot->writeMessageBegin("updateWorkflow", ::apache::thrift::protocol::T_EXCEPTION, seqid);
+ x.write(oprot);
+ oprot->writeMessageEnd();
+ oprot->getTransport()->writeEnd();
+ oprot->getTransport()->flush();
+ return;
+ }
+
+ if (this->eventHandler_.get() != NULL) {
+ this->eventHandler_->preWrite(ctx, "Workflow.updateWorkflow");
+ }
+
+ oprot->writeMessageBegin("updateWorkflow", ::apache::thrift::protocol::T_REPLY, seqid);
+ result.write(oprot);
+ oprot->writeMessageEnd();
+ bytes = oprot->getTransport()->writeEnd();
+ oprot->getTransport()->flush();
+
+ if (this->eventHandler_.get() != NULL) {
+ this->eventHandler_->postWrite(ctx, "Workflow.updateWorkflow", bytes);
+ }
+}
+
+void WorkflowProcessor::process_getWorkflowTemplateId(int32_t seqid, ::apache::thrift::protocol::TProtocol* iprot, ::apache::thrift::protocol::TProtocol* oprot, void* callContext)
+{
+ void* ctx = NULL;
+ if (this->eventHandler_.get() != NULL) {
+ ctx = this->eventHandler_->getContext("Workflow.getWorkflowTemplateId", callContext);
+ }
+ ::apache::thrift::TProcessorContextFreer freer(this->eventHandler_.get(), ctx, "Workflow.getWorkflowTemplateId");
+
+ if (this->eventHandler_.get() != NULL) {
+ this->eventHandler_->preRead(ctx, "Workflow.getWorkflowTemplateId");
+ }
+
+ Workflow_getWorkflowTemplateId_args args;
+ args.read(iprot);
+ iprot->readMessageEnd();
+ uint32_t bytes = iprot->getTransport()->readEnd();
+
+ if (this->eventHandler_.get() != NULL) {
+ this->eventHandler_->postRead(ctx, "Workflow.getWorkflowTemplateId", bytes);
+ }
+
+ Workflow_getWorkflowTemplateId_result result;
+ try {
+ iface_->getWorkflowTemplateId(result.success, args.workflowName);
+ result.__isset.success = true;
+ } catch ( ::apache::airavata::api::error::InvalidRequestException &ire) {
+ result.ire = ire;
+ result.__isset.ire = true;
+ } catch ( ::apache::airavata::api::error::AiravataClientException &ace) {
+ result.ace = ace;
+ result.__isset.ace = true;
+ } catch ( ::apache::airavata::api::error::AiravataSystemException &ase) {
+ result.ase = ase;
+ result.__isset.ase = true;
+ } catch (const std::exception& e) {
+ if (this->eventHandler_.get() != NULL) {
+ this->eventHandler_->handlerError(ctx, "Workflow.getWorkflowTemplateId");
+ }
+
+ ::apache::thrift::TApplicationException x(e.what());
+ oprot->writeMessageBegin("getWorkflowTemplateId", ::apache::thrift::protocol::T_EXCEPTION, seqid);
+ x.write(oprot);
+ oprot->writeMessageEnd();
+ oprot->getTransport()->writeEnd();
+ oprot->getTransport()->flush();
+ return;
+ }
+
+ if (this->eventHandler_.get() != NULL) {
+ this->eventHandler_->preWrite(ctx, "Workflow.getWorkflowTemplateId");
+ }
+
+ oprot->writeMessageBegin("getWorkflowTemplateId", ::apache::thrift::protocol::T_REPLY, seqid);
+ result.write(oprot);
+ oprot->writeMessageEnd();
+ bytes = oprot->getTransport()->writeEnd();
+ oprot->getTransport()->flush();
+
+ if (this->eventHandler_.get() != NULL) {
+ this->eventHandler_->postWrite(ctx, "Workflow.getWorkflowTemplateId", bytes);
+ }
+}
+
+void WorkflowProcessor::process_isWorkflowExistWithName(int32_t seqid, ::apache::thrift::protocol::TProtocol* iprot, ::apache::thrift::protocol::TProtocol* oprot, void* callContext)
+{
+ void* ctx = NULL;
+ if (this->eventHandler_.get() != NULL) {
+ ctx = this->eventHandler_->getContext("Workflow.isWorkflowExistWithName", callContext);
+ }
+ ::apache::thrift::TProcessorContextFreer freer(this->eventHandler_.get(), ctx, "Workflow.isWorkflowExistWithName");
+
+ if (this->eventHandler_.get() != NULL) {
+ this->eventHandler_->preRead(ctx, "Workflow.isWorkflowExistWithName");
+ }
+
+ Workflow_isWorkflowExistWithName_args args;
+ args.read(iprot);
+ iprot->readMessageEnd();
+ uint32_t bytes = iprot->getTransport()->readEnd();
+
+ if (this->eventHandler_.get() != NULL) {
+ this->eventHandler_->postRead(ctx, "Workflow.isWorkflowExistWithName", bytes);
+ }
+
+ Workflow_isWorkflowExistWithName_result result;
+ try {
+ result.success = iface_->isWorkflowExistWithName(args.workflowName);
+ result.__isset.success = true;
+ } catch ( ::apache::airavata::api::error::InvalidRequestException &ire) {
+ result.ire = ire;
+ result.__isset.ire = true;
+ } catch ( ::apache::airavata::api::error::AiravataClientException &ace) {
+ result.ace = ace;
+ result.__isset.ace = true;
+ } catch ( ::apache::airavata::api::error::AiravataSystemException &ase) {
+ result.ase = ase;
+ result.__isset.ase = true;
+ } catch (const std::exception& e) {
+ if (this->eventHandler_.get() != NULL) {
+ this->eventHandler_->handlerError(ctx, "Workflow.isWorkflowExistWithName");
+ }
+
+ ::apache::thrift::TApplicationException x(e.what());
+ oprot->writeMessageBegin("isWorkflowExistWithName", ::apache::thrift::protocol::T_EXCEPTION, seqid);
+ x.write(oprot);
+ oprot->writeMessageEnd();
+ oprot->getTransport()->writeEnd();
+ oprot->getTransport()->flush();
+ return;
+ }
+
+ if (this->eventHandler_.get() != NULL) {
+ this->eventHandler_->preWrite(ctx, "Workflow.isWorkflowExistWithName");
+ }
+
+ oprot->writeMessageBegin("isWorkflowExistWithName", ::apache::thrift::protocol::T_REPLY, seqid);
+ result.write(oprot);
+ oprot->writeMessageEnd();
+ bytes = oprot->getTransport()->writeEnd();
+ oprot->getTransport()->flush();
+
+ if (this->eventHandler_.get() != NULL) {
+ this->eventHandler_->postWrite(ctx, "Workflow.isWorkflowExistWithName", bytes);
+ }
+}
+
+::boost::shared_ptr< ::apache::thrift::TProcessor > WorkflowProcessorFactory::getProcessor(const ::apache::thrift::TConnectionInfo& connInfo) {
+ ::apache::thrift::ReleaseHandler< WorkflowIfFactory > cleanup(handlerFactory_);
+ ::boost::shared_ptr< WorkflowIf > handler(handlerFactory_->getHandler(connInfo), cleanup);
+ ::boost::shared_ptr< ::apache::thrift::TProcessor > processor(new WorkflowProcessor(handler));
+ return processor;
+}
+}}} // namespace
+
[27/47] git commit: Added c++ client samples for integrattion of
airavata with any other application's c++ interface
Posted by sm...@apache.org.
Added c++ client samples for integrattion of airavata with any other application's c++ interface
Project: http://git-wip-us.apache.org/repos/asf/airavata/repo
Commit: http://git-wip-us.apache.org/repos/asf/airavata/commit/f891b7dc
Tree: http://git-wip-us.apache.org/repos/asf/airavata/tree/f891b7dc
Diff: http://git-wip-us.apache.org/repos/asf/airavata/diff/f891b7dc
Branch: refs/heads/master
Commit: f891b7dcbc7ce214fa9a0e2b1e73f2fd2c838e24
Parents: 210ebad
Author: ixxi-2013 <na...@gmail.com>
Authored: Thu Jul 10 18:19:55 2014 +0200
Committer: ixxi-2013 <na...@gmail.com>
Committed: Thu Jul 10 18:19:55 2014 +0200
----------------------------------------------------------------------
.../airavata-client-properties.ini | 6 +
.../main/resources/client samples/compile.sh | 5 +
.../main/resources/client samples/compile.sh~ | 5 +
.../resources/client samples/createExperiment | Bin 0 -> 2015358 bytes
.../client samples/createExperiment.cpp | 162 +
.../client samples/createExperiment.cpp~ | 161 +
.../main/resources/client samples/createProject | Bin 0 -> 2007964 bytes
.../resources/client samples/createProject.cpp | 105 +
.../resources/client samples/createProject.cpp~ | 105 +
.../client samples/getExperimentOutputs | Bin 0 -> 2007971 bytes
.../client samples/getExperimentOutputs.cpp | 108 +
.../client samples/getExperimentOutputs.cpp~ | 108 +
.../client samples/getExperimentStatus | Bin 0 -> 2007970 bytes
.../client samples/getExperimentStatus.cpp | 105 +
.../client samples/getExperimentStatus.cpp~ | 105 +
.../resources/client samples/launchExperiment | Bin 0 -> 2007967 bytes
.../client samples/launchExperiment.cpp | 104 +
.../client samples/launchExperiment.cpp~ | 104 +
.../src/main/resources/client samples/test.cpp~ | 55 +
.../src/main/resources/client samples/test:c~ | 0
.../main/resources/lib/airavata/Airavata.cpp | 26734 +++++++++++++++++
.../src/main/resources/lib/airavata/Airavata.h | 11188 +++++++
.../lib/airavata/Airavata_server.skeleton.cpp | 399 +
.../lib/airavata/ApplicationCatalogAPI.cpp | 9387 ++++++
.../lib/airavata/ApplicationCatalogAPI.h | 4069 +++
.../ApplicationCatalogAPI_server.skeleton.cpp | 169 +
.../main/resources/lib/airavata/Workflow.cpp | 2497 ++
.../src/main/resources/lib/airavata/Workflow.h | 1154 +
.../lib/airavata/Workflow_server.skeleton.cpp | 74 +
.../lib/airavata/airavataAPI_constants.cpp | 19 +
.../lib/airavata/airavataAPI_constants.h | 25 +
.../lib/airavata/airavataAPI_types.cpp | 13 +
.../resources/lib/airavata/airavataAPI_types.h | 30 +
.../airavata/airavataDataModel_constants.cpp | 17 +
.../lib/airavata/airavataDataModel_constants.h | 24 +
.../lib/airavata/airavataDataModel_types.cpp | 13 +
.../lib/airavata/airavataDataModel_types.h | 24 +
.../lib/airavata/airavataErrors_constants.cpp | 17 +
.../lib/airavata/airavataErrors_constants.h | 24 +
.../lib/airavata/airavataErrors_types.cpp | 820 +
.../lib/airavata/airavataErrors_types.h | 509 +
.../applicationCatalogAPI_constants.cpp | 19 +
.../airavata/applicationCatalogAPI_constants.h | 25 +
.../airavata/applicationCatalogAPI_types.cpp | 13 +
.../lib/airavata/applicationCatalogAPI_types.h | 27 +
.../applicationCatalogDataModel_constants.cpp | 19 +
.../applicationCatalogDataModel_constants.h | 25 +
.../applicationCatalogDataModel_types.cpp | 1327 +
.../applicationCatalogDataModel_types.h | 713 +
.../applicationDeploymentModel_constants.cpp | 19 +
.../applicationDeploymentModel_constants.h | 25 +
.../applicationDeploymentModel_types.cpp | 497 +
.../airavata/applicationDeploymentModel_types.h | 275 +
.../applicationInterfaceModel_constants.cpp | 19 +
.../applicationInterfaceModel_constants.h | 25 +
.../applicationInterfaceModel_types.cpp | 470 +
.../airavata/applicationInterfaceModel_types.h | 298 +
.../airavata/computeResourceModel_constants.cpp | 19 +
.../airavata/computeResourceModel_constants.h | 25 +
.../lib/airavata/computeResourceModel_types.cpp | 1515 +
.../lib/airavata/computeResourceModel_types.h | 842 +
.../lib/airavata/experimentModel_constants.cpp | 23 +
.../lib/airavata/experimentModel_constants.h | 27 +
.../lib/airavata/experimentModel_types.cpp | 3339 ++
.../lib/airavata/experimentModel_types.cpp~ | 3339 ++
.../lib/airavata/experimentModel_types.h | 2077 ++
.../airavata/gatewayProfileModel_constants.cpp | 19 +
.../airavata/gatewayProfileModel_constants.h | 25 +
.../lib/airavata/gatewayProfileModel_types.cpp | 293 +
.../lib/airavata/gatewayProfileModel_types.h | 197 +
.../gatewayResourceProfileModel_constants.cpp | 19 +
.../gatewayResourceProfileModel_constants.h | 25 +
.../gatewayResourceProfileModel_types.cpp | 293 +
.../gatewayResourceProfileModel_types.h | 197 +
.../lib/airavata/workflowAPI_constants.cpp | 19 +
.../lib/airavata/workflowAPI_constants.h | 25 +
.../lib/airavata/workflowAPI_types.cpp | 13 +
.../resources/lib/airavata/workflowAPI_types.h | 30 +
.../airavata/workflowDataModel_constants.cpp | 19 +
.../lib/airavata/workflowDataModel_constants.h | 25 +
.../lib/airavata/workflowDataModel_types.cpp | 108 +
.../lib/airavata/workflowDataModel_types.h | 82 +
.../lib/airavata/workspaceModel_constants.cpp | 17 +
.../lib/airavata/workspaceModel_constants.h | 24 +
.../lib/airavata/workspaceModel_types.cpp | 464 +
.../lib/airavata/workspaceModel_types.h | 273 +
.../lib/thrift/TApplicationException.cpp | 80 +
.../lib/thrift/TApplicationException.h | 115 +
.../resources/lib/thrift/TDispatchProcessor.h | 142 +
.../src/main/resources/lib/thrift/TLogging.h | 193 +
.../src/main/resources/lib/thrift/TProcessor.h | 233 +
.../resources/lib/thrift/TReflectionLocal.h | 96 +
.../src/main/resources/lib/thrift/Thrift.cpp | 125 +
.../src/main/resources/lib/thrift/Thrift.h | 202 +
.../resources/lib/thrift/VirtualProfiling.cpp | 455 +
.../lib/thrift/async/TAsyncBufferProcessor.h | 46 +
.../lib/thrift/async/TAsyncChannel.cpp | 34 +
.../resources/lib/thrift/async/TAsyncChannel.h | 66 +
.../lib/thrift/async/TAsyncDispatchProcessor.h | 149 +
.../lib/thrift/async/TAsyncProcessor.h | 97 +
.../thrift/async/TAsyncProtocolProcessor.cpp | 51 +
.../lib/thrift/async/TAsyncProtocolProcessor.h | 57 +
.../lib/thrift/async/TEvhttpClientChannel.cpp | 162 +
.../lib/thrift/async/TEvhttpClientChannel.h | 76 +
.../lib/thrift/async/TEvhttpServer.cpp | 169 +
.../resources/lib/thrift/async/TEvhttpServer.h | 71 +
.../lib/thrift/concurrency/BoostMonitor.cpp | 211 +
.../lib/thrift/concurrency/BoostMutex.cpp | 56 +
.../thrift/concurrency/BoostThreadFactory.cpp | 180 +
.../lib/thrift/concurrency/BoostThreadFactory.h | 75 +
.../lib/thrift/concurrency/Exception.h | 64 +
.../lib/thrift/concurrency/FunctionRunner.h | 121 +
.../lib/thrift/concurrency/Monitor.cpp | 221 +
.../resources/lib/thrift/concurrency/Monitor.h | 130 +
.../resources/lib/thrift/concurrency/Mutex.cpp | 353 +
.../resources/lib/thrift/concurrency/Mutex.h | 188 +
.../thrift/concurrency/PlatformThreadFactory.h | 44 +
.../thrift/concurrency/PosixThreadFactory.cpp | 341 +
.../lib/thrift/concurrency/PosixThreadFactory.h | 130 +
.../lib/thrift/concurrency/StdMonitor.cpp | 217 +
.../lib/thrift/concurrency/StdMutex.cpp | 55 +
.../lib/thrift/concurrency/StdThreadFactory.cpp | 171 +
.../lib/thrift/concurrency/StdThreadFactory.h | 72 +
.../resources/lib/thrift/concurrency/Thread.h | 152 +
.../lib/thrift/concurrency/ThreadManager.cpp | 583 +
.../lib/thrift/concurrency/ThreadManager.h | 202 +
.../lib/thrift/concurrency/TimerManager.cpp | 305 +
.../lib/thrift/concurrency/TimerManager.h | 130 +
.../resources/lib/thrift/concurrency/Util.cpp | 41 +
.../resources/lib/thrift/concurrency/Util.h | 152 +
.../src/main/resources/lib/thrift/config.h | 427 +
.../main/resources/lib/thrift/cxxfunctional.h | 126 +
.../lib/thrift/processor/PeekProcessor.cpp | 127 +
.../lib/thrift/processor/PeekProcessor.h | 78 +
.../lib/thrift/processor/StatsProcessor.h | 266 +
.../thrift/processor/TMultiplexedProcessor.h | 218 +
.../lib/thrift/protocol/TBase64Utils.cpp | 79 +
.../lib/thrift/protocol/TBase64Utils.h | 42 +
.../lib/thrift/protocol/TBinaryProtocol.h | 282 +
.../lib/thrift/protocol/TBinaryProtocol.tcc | 465 +
.../lib/thrift/protocol/TCompactProtocol.h | 289 +
.../lib/thrift/protocol/TCompactProtocol.tcc | 818 +
.../lib/thrift/protocol/TDebugProtocol.cpp | 358 +
.../lib/thrift/protocol/TDebugProtocol.h | 227 +
.../lib/thrift/protocol/TDenseProtocol.cpp | 768 +
.../lib/thrift/protocol/TDenseProtocol.h | 254 +
.../lib/thrift/protocol/TJSONProtocol.cpp | 1023 +
.../lib/thrift/protocol/TJSONProtocol.h | 339 +
.../thrift/protocol/TMultiplexedProtocol.cpp | 47 +
.../lib/thrift/protocol/TMultiplexedProtocol.h | 103 +
.../resources/lib/thrift/protocol/TProtocol.h | 697 +
.../lib/thrift/protocol/TProtocolDecorator.h | 133 +
.../lib/thrift/protocol/TProtocolException.h | 104 +
.../lib/thrift/protocol/TProtocolTap.h | 188 +
.../lib/thrift/protocol/TVirtualProtocol.h | 564 +
.../lib/thrift/qt/TQIODeviceTransport.cpp | 179 +
.../lib/thrift/qt/TQIODeviceTransport.h | 64 +
.../resources/lib/thrift/qt/TQTcpServer.cpp | 157 +
.../main/resources/lib/thrift/qt/TQTcpServer.h | 72 +
.../resources/lib/thrift/qt/moc_TQTcpServer.cpp | 100 +
.../lib/thrift/server/TNonblockingServer.cpp | 1567 +
.../lib/thrift/server/TNonblockingServer.h | 944 +
.../resources/lib/thrift/server/TServer.cpp | 47 +
.../main/resources/lib/thrift/server/TServer.h | 315 +
.../lib/thrift/server/TSimpleServer.cpp | 153 +
.../resources/lib/thrift/server/TSimpleServer.h | 102 +
.../lib/thrift/server/TThreadPoolServer.cpp | 211 +
.../lib/thrift/server/TThreadPoolServer.h | 136 +
.../lib/thrift/server/TThreadedServer.cpp | 241 +
.../lib/thrift/server/TThreadedServer.h | 145 +
.../src/main/resources/lib/thrift/stamp-h2 | 1 +
.../main/resources/lib/thrift/thrift-config.h | 24 +
.../lib/thrift/transport/PlatformSocket.h | 96 +
.../lib/thrift/transport/TBufferTransports.cpp | 391 +
.../lib/thrift/transport/TBufferTransports.h | 735 +
.../lib/thrift/transport/TFDTransport.cpp | 97 +
.../lib/thrift/transport/TFDTransport.h | 75 +
.../lib/thrift/transport/TFileTransport.cpp | 1069 +
.../lib/thrift/transport/TFileTransport.h | 474 +
.../lib/thrift/transport/THttpClient.cpp | 117 +
.../lib/thrift/transport/THttpClient.h | 49 +
.../lib/thrift/transport/THttpServer.cpp | 152 +
.../lib/thrift/transport/THttpServer.h | 64 +
.../lib/thrift/transport/THttpTransport.cpp | 252 +
.../lib/thrift/transport/THttpTransport.h | 107 +
.../resources/lib/thrift/transport/TPipe.cpp | 217 +
.../main/resources/lib/thrift/transport/TPipe.h | 96 +
.../lib/thrift/transport/TPipeServer.cpp | 402 +
.../lib/thrift/transport/TPipeServer.h | 93 +
.../lib/thrift/transport/TSSLServerSocket.cpp | 47 +
.../lib/thrift/transport/TSSLServerSocket.h | 59 +
.../lib/thrift/transport/TSSLSocket.cpp | 671 +
.../resources/lib/thrift/transport/TSSLSocket.h | 315 +
.../lib/thrift/transport/TServerSocket.cpp | 490 +
.../lib/thrift/transport/TServerSocket.h | 86 +
.../lib/thrift/transport/TServerTransport.h | 92 +
.../lib/thrift/transport/TShortReadTransport.h | 97 +
.../thrift/transport/TSimpleFileTransport.cpp | 67 +
.../lib/thrift/transport/TSimpleFileTransport.h | 41 +
.../resources/lib/thrift/transport/TSocket.cpp | 813 +
.../resources/lib/thrift/transport/TSocket.h | 309 +
.../lib/thrift/transport/TSocketPool.cpp | 254 +
.../lib/thrift/transport/TSocketPool.h | 196 +
.../resources/lib/thrift/transport/TTransport.h | 270 +
.../thrift/transport/TTransportException.cpp | 31 +
.../lib/thrift/transport/TTransportException.h | 115 +
.../lib/thrift/transport/TTransportUtils.cpp | 178 +
.../lib/thrift/transport/TTransportUtils.h | 330 +
.../lib/thrift/transport/TVirtualTransport.h | 146 +
.../lib/thrift/transport/TZlibTransport.cpp | 399 +
.../lib/thrift/transport/TZlibTransport.h | 249 +
.../lib/thrift/windows/GetTimeOfDay.cpp | 112 +
.../resources/lib/thrift/windows/GetTimeOfDay.h | 43 +
.../resources/lib/thrift/windows/Operators.h | 40 +
.../resources/lib/thrift/windows/SocketPair.cpp | 102 +
.../resources/lib/thrift/windows/SocketPair.h | 37 +
.../resources/lib/thrift/windows/StdAfx.cpp | 0
.../main/resources/lib/thrift/windows/StdAfx.h | 0
.../lib/thrift/windows/TWinsockSingleton.cpp | 73 +
.../lib/thrift/windows/TWinsockSingleton.h | 88 +
.../lib/thrift/windows/TargetVersion.h | 0
.../resources/lib/thrift/windows/WinFcntl.cpp | 104 +
.../resources/lib/thrift/windows/WinFcntl.h | 48 +
.../main/resources/lib/thrift/windows/config.h | 90 +
.../resources/lib/thrift/windows/force_inc.h | 0
.../resources/lib/thrift/windows/tr1/functional | 0
226 files changed, 105384 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/airavata/blob/f891b7dc/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client samples/airavata-client-properties.ini
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client samples/airavata-client-properties.ini b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client samples/airavata-client-properties.ini
new file mode 100644
index 0000000..132c3f4
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client samples/airavata-client-properties.ini
@@ -0,0 +1,6 @@
+[airavata]
+AIRAVATA_SERVER = "localhost"
+AIRAVATA_PORT = 8930
+AIRAVATA_TIMEOUT = 5000
+APP_CATALOG_SERVER = "gw111.iu.xsede.org"
+APP_CATALOG_PORT = 8931
http://git-wip-us.apache.org/repos/asf/airavata/blob/f891b7dc/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client samples/compile.sh
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client samples/compile.sh b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client samples/compile.sh
new file mode 100755
index 0000000..5d3bf8f
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client samples/compile.sh
@@ -0,0 +1,5 @@
+g++ -Wall -I/home/ixxi-2013/Desktop/airavata-trunk/airavata/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/ -L/usr/local/lib -w -Wno-write-strings -DHAVE_INTTYPES_H -DHAVE_NETINET_IN_H `pkg-config --cflags glib-2.0` createProject.cpp `pkg-config --libs glib-2.0` -lthrift -o createProject
+g++ -Wall -I/home/ixxi-2013/Desktop/airavata-trunk/airavata/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/ -L/usr/local/lib -w -Wno-write-strings -DHAVE_INTTYPES_H -DHAVE_NETINET_IN_H `pkg-config --cflags glib-2.0` createExperiment.cpp `pkg-config --libs glib-2.0` -lthrift -o createExperiment
+g++ -Wall -I/home/ixxi-2013/Desktop/airavata-trunk/airavata/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/ -L/usr/local/lib -w -Wno-write-strings -DHAVE_INTTYPES_H -DHAVE_NETINET_IN_H `pkg-config --cflags glib-2.0` launchExperiment.cpp `pkg-config --libs glib-2.0` -lthrift -o launchExperiment
+g++ -Wall -I/home/ixxi-2013/Desktop/airavata-trunk/airavata/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/ -L/usr/local/lib -w -Wno-write-strings -DHAVE_INTTYPES_H -DHAVE_NETINET_IN_H `pkg-config --cflags glib-2.0` getExperimentStatus.cpp `pkg-config --libs glib-2.0` -lthrift -o getExperimentStatus
+g++ -Wall -I/home/ixxi-2013/Desktop/airavata-trunk/airavata/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/ -L/usr/local/lib -w -Wno-write-strings -DHAVE_INTTYPES_H -DHAVE_NETINET_IN_H `pkg-config --cflags glib-2.0` getExperimentOutputs.cpp `pkg-config --libs glib-2.0` -lthrift -o getExperimentOutputs
http://git-wip-us.apache.org/repos/asf/airavata/blob/f891b7dc/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client samples/compile.sh~
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client samples/compile.sh~ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client samples/compile.sh~
new file mode 100755
index 0000000..a4286ee
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client samples/compile.sh~
@@ -0,0 +1,5 @@
+g++ -Wall -I/home/ixxi-2013/Desktop/airavata-trunk/airavata/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/ -L/usr/local/lib -W -Wno-write-strings -DHAVE_INTTYPES_H -DHAVE_NETINET_IN_H `pkg-config --cflags glib-2.0` createProject.cpp `pkg-config --libs glib-2.0` -lthrift -o createProject
+g++ -Wall -I/home/ixxi-2013/Desktop/airavata-trunk/airavata/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/ -L/usr/local/lib -W -Wno-write-strings -DHAVE_INTTYPES_H -DHAVE_NETINET_IN_H `pkg-config --cflags glib-2.0` createExperiment.cpp `pkg-config --libs glib-2.0` -lthrift -o createExperiment
+g++ -Wall -I/home/ixxi-2013/Desktop/airavata-trunk/airavata/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/ -L/usr/local/lib -W -Wno-write-strings -DHAVE_INTTYPES_H -DHAVE_NETINET_IN_H `pkg-config --cflags glib-2.0` launchExperiment.cpp `pkg-config --libs glib-2.0` -lthrift -o launchExperiment
+g++ -Wall -I/home/ixxi-2013/Desktop/airavata-trunk/airavata/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/ -L/usr/local/lib -W -Wno-write-strings -DHAVE_INTTYPES_H -DHAVE_NETINET_IN_H `pkg-config --cflags glib-2.0` getExperimentStatus.cpp `pkg-config --libs glib-2.0` -lthrift -o getExperimentStatus
+g++ -Wall -I/home/ixxi-2013/Desktop/airavata-trunk/airavata/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/ -L/usr/local/lib -W -Wno-write-strings -DHAVE_INTTYPES_H -DHAVE_NETINET_IN_H `pkg-config --cflags glib-2.0` getExperimentOutputs.cpp `pkg-config --libs glib-2.0` -lthrift -o getExperimentOutputs
http://git-wip-us.apache.org/repos/asf/airavata/blob/f891b7dc/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client samples/createExperiment
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client samples/createExperiment b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client samples/createExperiment
new file mode 100755
index 0000000..3aba779
Binary files /dev/null and b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client samples/createExperiment differ
http://git-wip-us.apache.org/repos/asf/airavata/blob/f891b7dc/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client samples/createExperiment.cpp
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client samples/createExperiment.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client samples/createExperiment.cpp
new file mode 100644
index 0000000..7a899e7
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client samples/createExperiment.cpp
@@ -0,0 +1,162 @@
+#include <glib.h>
+#include <iostream>
+#include <stdint.h>
+#include <sys/time.h>
+
+#define _WIN32_WINNT 0x501
+
+#include <thrift/transport/TTransport.h>
+#include <thrift/transport/TBufferTransports.cpp>
+#include <thrift/transport/TSocket.cpp>
+#include <thrift/protocol/TProtocol.h>
+#include <thrift/protocol/TBinaryProtocol.h>
+#include <thrift/protocol/TBinaryProtocol.tcc>
+#include <thrift/TApplicationException.cpp>
+#include <thrift/transport/TTransportException.cpp>
+#include <thrift/protocol/TProtocolException.h>
+#include "../lib/airavata/Airavata.h"
+#include "../lib/airavata/Airavata.cpp"
+#include "../lib/airavata/airavataDataModel_types.h"
+#include "../lib/airavata/airavataDataModel_types.cpp"
+#include "../lib/airavata/airavataErrors_types.h"
+#include "../lib/airavata/airavataErrors_types.cpp"
+#include "../lib/airavata/experimentModel_types.h"
+#include "../lib/airavata/experimentModel_types.cpp"
+#include "../lib/airavata/workspaceModel_types.h"
+#include "../lib/airavata/workspaceModel_types.cpp"
+#include "../lib/airavata/airavataAPI_types.h"
+#include "../lib/airavata/airavataAPI_types.cpp"
+#include "../lib/airavata/applicationDeploymentModel_types.h"
+#include "../lib/airavata/applicationDeploymentModel_types.cpp"
+#include "../lib/airavata/applicationInterfaceModel_types.h"
+#include "../lib/airavata/applicationInterfaceModel_types.cpp"
+#include "../lib/airavata/gatewayResourceProfileModel_types.h"
+#include "../lib/airavata/gatewayResourceProfileModel_types.cpp"
+#include "../lib/airavata/computeResourceModel_types.h"
+#include "../lib/airavata/computeResourceModel_types.cpp"
+
+
+typedef struct {
+ gchar *airavata_server, *app_catalog_server;
+ gint airavata_port, app_catalog_port, airavata_timeout;
+} Settings;
+
+using namespace std;
+using namespace apache::thrift;
+using namespace apache::thrift::protocol;
+using namespace apache::thrift::transport;
+using namespace apache::airavata::api;
+using namespace apache::airavata::model::workspace::experiment;
+
+void readConfigFile(char* cfgfile, string& airavata_server, string& app_catalog_server, int& airavata_port, int& app_catalog_port, int& airavata_timeout) {
+
+ Settings *conf;
+ GKeyFile *keyfile;
+ GKeyFileFlags flags;
+ GError *error = NULL;
+ keyfile = g_key_file_new ();
+ if (!g_key_file_load_from_file (keyfile, cfgfile, flags, &error)) {
+ g_error (error->message);
+ } else {
+
+ conf = g_slice_new (Settings);
+ conf->airavata_server = g_key_file_get_string(keyfile, "airavata", "AIRAVATA_SERVER", NULL);
+ airavata_server = conf->airavata_server;
+ conf->airavata_port = g_key_file_get_integer(keyfile, "airavata", "AIRAVATA_PORT", NULL);
+ airavata_port = conf->airavata_port;
+ conf->airavata_timeout = g_key_file_get_integer(keyfile, "airavata", "AIRAVATA_TIMEOUT", NULL);
+ airavata_timeout = conf->airavata_timeout;
+ conf->app_catalog_server = g_key_file_get_string(keyfile, "airavata", "APP_CATALOG_SERVER", NULL);
+ app_catalog_server = conf->app_catalog_server;
+ conf->app_catalog_port = g_key_file_get_integer(keyfile, "airavata", "APP_CATALOG_PORT", NULL);
+ app_catalog_port = conf->app_catalog_port;
+ }
+
+}
+
+
+int main(int argc, char **argv)
+{
+
+ int airavata_port, app_catalog_port, airavata_timeout;
+ string airavata_server, app_catalog_server;
+ char* cfgfile;
+ cfgfile = "./airavata-client-properties.ini";
+ readConfigFile(cfgfile, airavata_server, app_catalog_server, airavata_port, app_catalog_port, airavata_timeout);
+ airavata_server.erase(0,1);
+ airavata_server.erase(airavata_server.length()-1,1);
+ boost::shared_ptr<TSocket> socket(new TSocket(airavata_server, airavata_port));
+ socket->setSendTimeout(airavata_timeout);
+ boost::shared_ptr<TTransport> transport(new TBufferedTransport(socket));
+ boost::shared_ptr<TProtocol> protocol(new TBinaryProtocol(transport));
+ AiravataClient airavataclient(protocol);
+ transport->open();
+
+ if(argc !=4){
+ cout << "Usage: ./createExperiment <username> <experiment_name> <project_ID>";
+ return 0;
+ }
+ /* ComputationalResourceScheduling data for Trestles*/
+ ComputationalResourceScheduling cmRST;
+ cmRST.__set_resourceHostId("trestles.sdsc.edu");
+ cmRST.__set_computationalProjectAccount("sds128");
+ cmRST.__set_totalCPUCount(1);
+ cmRST.__set_nodeCount(1);
+ cmRST.__set_numberOfThreads(0);
+ cmRST.__set_queueName("normal");
+ cmRST.__set_wallTimeLimit(15);
+ cmRST.__set_jobStartTime(0);
+ cmRST.__set_totalPhysicalMemory(0);
+
+
+ UserConfigurationData userConfigurationData;
+ userConfigurationData.__set_airavataAutoSchedule(0);
+ userConfigurationData.__set_overrideManualScheduledParams(0);
+ userConfigurationData.__set_computationalResourceScheduling(cmRST);
+
+
+ /*Application ID for Trestles */
+ char* appId = "SimpleEcho2";
+
+ /* Experiment input and output data. */
+ DataObjectType input;
+ input.__set_key("echo_input");
+ input.__set_value("echo_output=Hello World");
+ input.__set_type(DataType::STRING);
+ std::vector<DataObjectType> exInputs;
+ exInputs.push_back(input);
+ DataObjectType output;
+ output.__set_key("echo_output");
+ output.__set_value("");
+ output.__set_type(DataType::STRING);
+ std::vector<DataObjectType> exOutputs;
+ exOutputs.push_back(output);
+
+
+ char* user = argv[1];
+ char* exp_name = argv[2];
+ char* proj = argv[3];
+
+ Experiment experiment;
+ experiment.__set_projectID(proj);
+ experiment.__set_userName(user);
+ experiment.__set_name(exp_name);
+ experiment.__set_applicationId(appId);
+ experiment.__set_userConfigurationData(userConfigurationData);
+ experiment.__set_experimentInputs(exInputs);
+ experiment.__set_experimentOutputs(exOutputs);
+
+ string _return = "";
+ airavataclient.createExperiment(_return, experiment);
+
+ if (_return!="")
+ {
+
+ cout << "Experiment " << _return <<" created! \n ";
+ }
+ else
+ {
+ cout << "Failed to create experiment. \n";
+ }
+ transport->close();
+}
http://git-wip-us.apache.org/repos/asf/airavata/blob/f891b7dc/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client samples/createExperiment.cpp~
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client samples/createExperiment.cpp~ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client samples/createExperiment.cpp~
new file mode 100644
index 0000000..b82e995
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client samples/createExperiment.cpp~
@@ -0,0 +1,161 @@
+#include <glib.h>
+#include <iostream>
+#include <stdint.h>
+#include <sys/time.h>
+
+#define _WIN32_WINNT 0x501
+
+#include <thrift/transport/TTransport.h>
+#include <thrift/transport/TBufferTransports.cpp>
+#include <thrift/transport/TSocket.cpp>
+#include <thrift/protocol/TProtocol.h>
+#include <thrift/protocol/TBinaryProtocol.h>
+#include <thrift/protocol/TBinaryProtocol.tcc>
+#include <thrift/TApplicationException.cpp>
+#include <thrift/transport/TTransportException.cpp>
+#include <thrift/protocol/TProtocolException.h>
+#include "../lib/airavata/Airavata.h"
+#include "../lib/airavata/Airavata.cpp"
+#include "../lib/airavata/airavataDataModel_types.h"
+#include "../lib/airavata/airavataDataModel_types.cpp"
+#include "../lib/airavata/airavataErrors_types.h"
+#include "../lib/airavata/airavataErrors_types.cpp"
+#include "../lib/airavata/experimentModel_types.h"
+#include "../lib/airavata/experimentModel_types.cpp"
+#include "../lib/airavata/workspaceModel_types.h"
+#include "../lib/airavata/workspaceModel_types.cpp"
+#include "../lib/airavata/airavataAPI_types.h"
+#include "../lib/airavata/airavataAPI_types.cpp"
+#include "../lib/airavata/applicationDeploymentModel_types.h"
+#include "../lib/airavata/applicationDeploymentModel_types.cpp"
+#include "../lib/airavata/applicationInterfaceModel_types.h"
+#include "../lib/airavata/applicationInterfaceModel_types.cpp"
+#include "../lib/airavata/gatewayResourceProfileModel_types.h"
+#include "../lib/airavata/gatewayResourceProfileModel_types.cpp"
+#include "../lib/airavata/computeResourceModel_types.h"
+#include "../lib/airavata/computeResourceModel_types.cpp"
+
+
+typedef struct {
+ gchar *airavata_server, *app_catalog_server;
+ gint airavata_port, app_catalog_port, airavata_timeout;
+} Settings;
+
+using namespace std;
+using namespace apache::thrift;
+using namespace apache::thrift::protocol;
+using namespace apache::thrift::transport;
+using namespace apache::airavata::api;
+using namespace apache::airavata::model::workspace::experiment;
+
+void readConfigFile(char* cfgfile, char*& airavata_server, char*& app_catalog_server, int& airavata_port, int& app_catalog_port, int& airavata_timeout) {
+
+ Settings *conf;
+ GKeyFile *keyfile;
+ GKeyFileFlags flags;
+ GError *error = NULL;
+ keyfile = g_key_file_new ();
+ if (!g_key_file_load_from_file (keyfile, cfgfile, flags, &error)) {
+ g_error (error->message);
+ } else {
+
+ conf = g_slice_new (Settings);
+ conf->airavata_server = g_key_file_get_string(keyfile, "airavata", "AIRAVATA_SERVER", NULL);
+ airavata_server = conf->airavata_server;
+ conf->airavata_port = g_key_file_get_integer(keyfile, "airavata", "AIRAVATA_PORT", NULL);
+ airavata_port = conf->airavata_port;
+ conf->airavata_timeout = g_key_file_get_integer(keyfile, "airavata", "AIRAVATA_TIMEOUT", NULL);
+ airavata_timeout = conf->airavata_timeout;
+ conf->app_catalog_server = g_key_file_get_string(keyfile, "airavata", "APP_CATALOG_SERVER", NULL);
+ app_catalog_server = conf->app_catalog_server;
+ conf->app_catalog_port = g_key_file_get_integer(keyfile, "airavata", "APP_CATALOG_PORT", NULL);
+ app_catalog_port = conf->app_catalog_port;
+ }
+
+}
+
+int main(int argc, char **argv)
+{
+
+ int airavata_port, app_catalog_port, airavata_timeout;
+ string airavata_server, app_catalog_server;
+ char* cfgfile;
+ cfgfile = "./airavata-client-properties.ini";
+ readConfigFile(cfgfile, airavata_server, app_catalog_server, airavata_port, app_catalog_port, airavata_timeout);
+ airavata_server.erase(0,1);
+ airavata_server.erase(airavata_server.length()-1,1);
+ boost::shared_ptr<TSocket> socket(new TSocket(airavata_server, airavata_port));
+ socket->setSendTimeout(airavata_timeout);
+ boost::shared_ptr<TTransport> transport(new TBufferedTransport(socket));
+ boost::shared_ptr<TProtocol> protocol(new TBinaryProtocol(transport));
+ AiravataClient airavataclient(protocol);
+ transport->open();
+
+ if(argc !=4){
+ cout << "Usage: ./createExperiment <username> <experiment_name> <project_ID>";
+ return 0;
+ }
+ /* ComputationalResourceScheduling data for Trestles*/
+ ComputationalResourceScheduling cmRST;
+ cmRST.__set_resourceHostId("trestles.sdsc.edu");
+ cmRST.__set_computationalProjectAccount("sds128");
+ cmRST.__set_totalCPUCount(1);
+ cmRST.__set_nodeCount(1);
+ cmRST.__set_numberOfThreads(0);
+ cmRST.__set_queueName("normal");
+ cmRST.__set_wallTimeLimit(15);
+ cmRST.__set_jobStartTime(0);
+ cmRST.__set_totalPhysicalMemory(0);
+
+
+ UserConfigurationData userConfigurationData;
+ userConfigurationData.__set_airavataAutoSchedule(0);
+ userConfigurationData.__set_overrideManualScheduledParams(0);
+ userConfigurationData.__set_computationalResourceScheduling(cmRST);
+
+
+ /*Application ID for Trestles */
+ char* appId = "SimpleEcho2";
+
+ /* Experiment input and output data. */
+ DataObjectType input;
+ input.__set_key("echo_input");
+ input.__set_value("echo_output=Hello World");
+ input.__set_type(DataType::STRING);
+ std::vector<DataObjectType> exInputs;
+ exInputs.push_back(input);
+ DataObjectType output;
+ output.__set_key("echo_output");
+ output.__set_value("");
+ output.__set_type(DataType::STRING);
+ std::vector<DataObjectType> exOutputs;
+ exOutputs.push_back(output);
+
+
+ char* user = argv[1];
+ char* exp_name = argv[2];
+ char* proj = argv[3];
+
+ Experiment experiment;
+ experiment.__set_projectID(proj);
+ experiment.__set_userName(user);
+ experiment.__set_name(exp_name);
+ experiment.__set_applicationId(appId);
+ experiment.__set_userConfigurationData(userConfigurationData);
+ experiment.__set_experimentInputs(exInputs);
+ experiment.__set_experimentOutputs(exOutputs);
+
+ string _return = "";
+ airavataclient.createExperiment(_return, experiment);
+
+ if (_return!="")
+ {
+
+ cout << "Experiment " << _return <<" created! \n ";
+ }
+ else
+ {
+ cout << "Failed to create experiment. \n";
+ }
+ transport->close();
+}
http://git-wip-us.apache.org/repos/asf/airavata/blob/f891b7dc/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client samples/createProject
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client samples/createProject b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client samples/createProject
new file mode 100755
index 0000000..4bf3bd2
Binary files /dev/null and b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client samples/createProject differ
http://git-wip-us.apache.org/repos/asf/airavata/blob/f891b7dc/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client samples/createProject.cpp
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client samples/createProject.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client samples/createProject.cpp
new file mode 100644
index 0000000..8e9125c
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client samples/createProject.cpp
@@ -0,0 +1,105 @@
+#include <glib.h>
+#include <iostream>
+#include <stdint.h>
+#include <sys/time.h>
+
+#define _WIN32_WINNT 0x501
+
+#include <thrift/transport/TTransport.h>
+#include <thrift/transport/TBufferTransports.cpp>
+#include <thrift/transport/TSocket.cpp>
+#include <thrift/protocol/TProtocol.h>
+#include <thrift/protocol/TBinaryProtocol.h>
+#include <thrift/protocol/TBinaryProtocol.tcc>
+#include <thrift/TApplicationException.cpp>
+#include <thrift/transport/TTransportException.cpp>
+#include <thrift/protocol/TProtocolException.h>
+#include "../lib/airavata/Airavata.h"
+#include "../lib/airavata/Airavata.cpp"
+#include "../lib/airavata/airavataDataModel_types.h"
+#include "../lib/airavata/airavataDataModel_types.cpp"
+#include "../lib/airavata/airavataErrors_types.h"
+#include "../lib/airavata/airavataErrors_types.cpp"
+#include "../lib/airavata/experimentModel_types.h"
+#include "../lib/airavata/experimentModel_types.cpp"
+#include "../lib/airavata/workspaceModel_types.h"
+#include "../lib/airavata/workspaceModel_types.cpp"
+#include "../lib/airavata/airavataAPI_types.h"
+#include "../lib/airavata/airavataAPI_types.cpp"
+#include "../lib/airavata/applicationDeploymentModel_types.h"
+#include "../lib/airavata/applicationDeploymentModel_types.cpp"
+#include "../lib/airavata/applicationInterfaceModel_types.h"
+#include "../lib/airavata/applicationInterfaceModel_types.cpp"
+#include "../lib/airavata/gatewayResourceProfileModel_types.h"
+#include "../lib/airavata/gatewayResourceProfileModel_types.cpp"
+#include "../lib/airavata/computeResourceModel_types.h"
+#include "../lib/airavata/computeResourceModel_types.cpp"
+
+
+typedef struct {
+ gchar *airavata_server, *app_catalog_server;
+ gint airavata_port, app_catalog_port, airavata_timeout;
+} Settings;
+
+using namespace std;
+using namespace apache::thrift;
+using namespace apache::thrift::protocol;
+using namespace apache::thrift::transport;
+using namespace apache::airavata::api;
+
+void readConfigFile(char* cfgfile, string& airavata_server, string& app_catalog_server, int& airavata_port, int& app_catalog_port, int& airavata_timeout) {
+
+ Settings *conf;
+ GKeyFile *keyfile;
+ GKeyFileFlags flags;
+ GError *error = NULL;
+ keyfile = g_key_file_new ();
+ if (!g_key_file_load_from_file (keyfile, cfgfile, flags, &error)) {
+ g_error (error->message);
+ } else {
+
+ conf = g_slice_new (Settings);
+ conf->airavata_server = g_key_file_get_string(keyfile, "airavata", "AIRAVATA_SERVER", NULL);
+ airavata_server = conf->airavata_server;
+ conf->airavata_port = g_key_file_get_integer(keyfile, "airavata", "AIRAVATA_PORT", NULL);
+ airavata_port = conf->airavata_port;
+ conf->airavata_timeout = g_key_file_get_integer(keyfile, "airavata", "AIRAVATA_TIMEOUT", NULL);
+ airavata_timeout = conf->airavata_timeout;
+ conf->app_catalog_server = g_key_file_get_string(keyfile, "airavata", "APP_CATALOG_SERVER", NULL);
+ app_catalog_server = conf->app_catalog_server;
+ conf->app_catalog_port = g_key_file_get_integer(keyfile, "airavata", "APP_CATALOG_PORT", NULL);
+ app_catalog_port = conf->app_catalog_port;
+ }
+
+}
+
+
+int main(int argc, char **argv)
+{
+
+ int airavata_port, app_catalog_port, airavata_timeout;
+ string airavata_server, app_catalog_server;
+ char* cfgfile;
+ cfgfile = "./airavata-client-properties.ini";
+ readConfigFile(cfgfile, airavata_server, app_catalog_server, airavata_port, app_catalog_port, airavata_timeout);
+ airavata_server.erase(0,1);
+ airavata_server.erase(airavata_server.length()-1,1);
+ boost::shared_ptr<TSocket> socket(new TSocket(airavata_server, airavata_port));
+ socket->setSendTimeout(airavata_timeout);
+ boost::shared_ptr<TTransport> transport(new TBufferedTransport(socket));
+ boost::shared_ptr<TProtocol> protocol(new TBinaryProtocol(transport));
+ AiravataClient airavataclient(protocol);
+ transport->open();
+
+ apache::airavata::model::workspace::Project project;
+ if(argc !=3){
+ cout << "Usage: ./createProject <owner> <projectName>";
+ return 0;
+ }
+ project.owner=argv[1];
+ project.name=argv[2];
+ std::string _return;
+ airavataclient.createProject(_return,project);
+ cout << _return << "\n";
+ transport->close();
+}
http://git-wip-us.apache.org/repos/asf/airavata/blob/f891b7dc/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client samples/createProject.cpp~
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client samples/createProject.cpp~ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client samples/createProject.cpp~
new file mode 100644
index 0000000..6e28622
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client samples/createProject.cpp~
@@ -0,0 +1,105 @@
+#include <glib.h>
+#include <iostream>
+#include <stdint.h>
+#include <sys/time.h>
+
+#define _WIN32_WINNT 0x501
+
+#include <thrift/transport/TTransport.h>
+#include <thrift/transport/TBufferTransports.cpp>
+#include <thrift/transport/TSocket.cpp>
+#include <thrift/protocol/TProtocol.h>
+#include <thrift/protocol/TBinaryProtocol.h>
+#include <thrift/protocol/TBinaryProtocol.tcc>
+#include <thrift/TApplicationException.cpp>
+#include <thrift/transport/TTransportException.cpp>
+#include <thrift/protocol/TProtocolException.h>
+#include "../lib/airavata/Airavata.h"
+#include "../lib/airavata/Airavata.cpp"
+#include "../lib/airavata/airavataDataModel_types.h"
+#include "../lib/airavata/airavataDataModel_types.cpp"
+#include "../lib/airavata/airavataErrors_types.h"
+#include "../lib/airavata/airavataErrors_types.cpp"
+#include "../lib/airavata/experimentModel_types.h"
+#include "../lib/airavata/experimentModel_types.cpp"
+#include "../lib/airavata/workspaceModel_types.h"
+#include "../lib/airavata/workspaceModel_types.cpp"
+#include "../lib/airavata/airavataAPI_types.h"
+#include "../lib/airavata/airavataAPI_types.cpp"
+#include "../lib/airavata/applicationDeploymentModel_types.h"
+#include "../lib/airavata/applicationDeploymentModel_types.cpp"
+#include "../lib/airavata/applicationInterfaceModel_types.h"
+#include "../lib/airavata/applicationInterfaceModel_types.cpp"
+#include "../lib/airavata/gatewayResourceProfileModel_types.h"
+#include "../lib/airavata/gatewayResourceProfileModel_types.cpp"
+#include "../lib/airavata/computeResourceModel_types.h"
+#include "../lib/airavata/computeResourceModel_types.cpp"
+
+
+typedef struct {
+ gchar *airavata_server, *app_catalog_server;
+ gint airavata_port, app_catalog_port, airavata_timeout;
+} Settings;
+
+using namespace std;
+using namespace apache::thrift;
+using namespace apache::thrift::protocol;
+using namespace apache::thrift::transport;
+using namespace apache::airavata::api;
+
+void readConfigFile(char* cfgfile, string& airavata_server, string& app_catalog_server, int& airavata_port, int& app_catalog_port, int& airavata_timeout) {
+
+ Settings *conf;
+ GKeyFile *keyfile;
+ GKeyFileFlags flags;
+ GError *error = NULL;
+ keyfile = g_key_file_new ();
+ if (!g_key_file_load_from_file (keyfile, cfgfile, flags, &error)) {
+ g_error (error->message);
+ } else {
+
+ conf = g_slice_new (Settings);
+ conf->airavata_server = g_key_file_get_string(keyfile, "airavata", "AIRAVATA_SERVER", NULL);
+ airavata_server = conf->airavata_server;
+ conf->airavata_port = g_key_file_get_integer(keyfile, "airavata", "AIRAVATA_PORT", NULL);
+ airavata_port = conf->airavata_port;
+ conf->airavata_timeout = g_key_file_get_integer(keyfile, "airavata", "AIRAVATA_TIMEOUT", NULL);
+ airavata_timeout = conf->airavata_timeout;
+ conf->app_catalog_server = g_key_file_get_string(keyfile, "airavata", "APP_CATALOG_SERVER", NULL);
+ app_catalog_server = conf->app_catalog_server;
+ conf->app_catalog_port = g_key_file_get_integer(keyfile, "airavata", "APP_CATALOG_PORT", NULL);
+ app_catalog_port = conf->app_catalog_port;
+ }
+
+}
+
+
+int main(int argc, char **argv)
+{
+
+ int airavata_port, app_catalog_port, airavata_timeout;
+ string airavata_server, app_catalog_server;
+ char* cfgfile;
+ cfgfile = "./airavata-client-properties.ini";
+ readConfigFile(cfgfile, airavata_server, app_catalog_server, airavata_port, app_catalog_port, airavata_timeout);
+ airavata_server.erase(0,1);
+ airavata_server.erase(airavata_server.length()-1,1);
+ boost::shared_ptr<TSocket> socket(new TSocket(airavata_server, airavata_port));
+ socket->setSendTimeout(airavata_timeout);
+ boost::shared_ptr<TTransport> transport(new TBufferedTransport(socket));
+ boost::shared_ptr<TProtocol> protocol(new TBinaryProtocol(transport));
+ AiravataClient airavataclient(protocol);
+ transport->open();
+
+ apache::airavata::model::workspace::Project project;
+ if(argc !=3){
+ cout << "Usage: ./createProject [owner] [name]";
+ return 0;
+ }
+ project.owner=argv[1];
+ project.name=argv[2];
+ std::string _return;
+ airavataclient.createProject(_return,project);
+ cout << _return << "\n";
+ transport->close();
+}
http://git-wip-us.apache.org/repos/asf/airavata/blob/f891b7dc/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client samples/getExperimentOutputs
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client samples/getExperimentOutputs b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client samples/getExperimentOutputs
new file mode 100755
index 0000000..8d16b5f
Binary files /dev/null and b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client samples/getExperimentOutputs differ
http://git-wip-us.apache.org/repos/asf/airavata/blob/f891b7dc/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client samples/getExperimentOutputs.cpp
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client samples/getExperimentOutputs.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client samples/getExperimentOutputs.cpp
new file mode 100644
index 0000000..0264a0c
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client samples/getExperimentOutputs.cpp
@@ -0,0 +1,108 @@
+#include <glib.h>
+#include <iostream>
+#include <stdint.h>
+#include <sys/time.h>
+
+#define _WIN32_WINNT 0x501
+
+#include <thrift/transport/TTransport.h>
+#include <thrift/transport/TBufferTransports.cpp>
+#include <thrift/transport/TSocket.cpp>
+#include <thrift/protocol/TProtocol.h>
+#include <thrift/protocol/TBinaryProtocol.h>
+#include <thrift/protocol/TBinaryProtocol.tcc>
+#include <thrift/TApplicationException.cpp>
+#include <thrift/transport/TTransportException.cpp>
+#include <thrift/protocol/TProtocolException.h>
+#include "../lib/airavata/Airavata.h"
+#include "../lib/airavata/Airavata.cpp"
+#include "../lib/airavata/airavataDataModel_types.h"
+#include "../lib/airavata/airavataDataModel_types.cpp"
+#include "../lib/airavata/airavataErrors_types.h"
+#include "../lib/airavata/airavataErrors_types.cpp"
+#include "../lib/airavata/experimentModel_types.h"
+#include "../lib/airavata/experimentModel_types.cpp"
+#include "../lib/airavata/workspaceModel_types.h"
+#include "../lib/airavata/workspaceModel_types.cpp"
+#include "../lib/airavata/airavataAPI_types.h"
+#include "../lib/airavata/airavataAPI_types.cpp"
+#include "../lib/airavata/applicationDeploymentModel_types.h"
+#include "../lib/airavata/applicationDeploymentModel_types.cpp"
+#include "../lib/airavata/applicationInterfaceModel_types.h"
+#include "../lib/airavata/applicationInterfaceModel_types.cpp"
+#include "../lib/airavata/gatewayResourceProfileModel_types.h"
+#include "../lib/airavata/gatewayResourceProfileModel_types.cpp"
+#include "../lib/airavata/computeResourceModel_types.h"
+#include "../lib/airavata/computeResourceModel_types.cpp"
+
+
+typedef struct {
+ gchar *airavata_server, *app_catalog_server;
+ gint airavata_port, app_catalog_port, airavata_timeout;
+} Settings;
+
+using namespace std;
+using namespace apache::thrift;
+using namespace apache::thrift::protocol;
+using namespace apache::thrift::transport;
+using namespace apache::airavata::api;
+using namespace apache::airavata::model::workspace::experiment;
+
+void readConfigFile(char* cfgfile, string& airavata_server, string& app_catalog_server, int& airavata_port, int& app_catalog_port, int& airavata_timeout) {
+
+ Settings *conf;
+ GKeyFile *keyfile;
+ GKeyFileFlags flags;
+ GError *error = NULL;
+ keyfile = g_key_file_new ();
+ if (!g_key_file_load_from_file (keyfile, cfgfile, flags, &error)) {
+ g_error (error->message);
+ } else {
+
+ conf = g_slice_new (Settings);
+ conf->airavata_server = g_key_file_get_string(keyfile, "airavata", "AIRAVATA_SERVER", NULL);
+ airavata_server = conf->airavata_server;
+ conf->airavata_port = g_key_file_get_integer(keyfile, "airavata", "AIRAVATA_PORT", NULL);
+ airavata_port = conf->airavata_port;
+ conf->airavata_timeout = g_key_file_get_integer(keyfile, "airavata", "AIRAVATA_TIMEOUT", NULL);
+ airavata_timeout = conf->airavata_timeout;
+ conf->app_catalog_server = g_key_file_get_string(keyfile, "airavata", "APP_CATALOG_SERVER", NULL);
+ app_catalog_server = conf->app_catalog_server;
+ conf->app_catalog_port = g_key_file_get_integer(keyfile, "airavata", "APP_CATALOG_PORT", NULL);
+ app_catalog_port = conf->app_catalog_port;
+ }
+
+}
+
+int main(int argc, char **argv)
+{
+
+ int airavata_port, app_catalog_port, airavata_timeout;
+ string airavata_server, app_catalog_server;
+ char* cfgfile;
+ cfgfile = "./airavata-client-properties.ini";
+ readConfigFile(cfgfile, airavata_server, app_catalog_server, airavata_port, app_catalog_port, airavata_timeout);
+ airavata_server.erase(0,1);
+ airavata_server.erase(airavata_server.length()-1,1);
+ boost::shared_ptr<TSocket> socket(new TSocket(airavata_server, airavata_port));
+ socket->setSendTimeout(airavata_timeout);
+ boost::shared_ptr<TTransport> transport(new TBufferedTransport(socket));
+ boost::shared_ptr<TProtocol> protocol(new TBinaryProtocol(transport));
+ AiravataClient airavataclient(protocol);
+ transport->open();
+
+
+ if(argc !=2){
+ cout << "Usage: ./getExperimentOutputs <experimentID>";
+ return 0;
+ }
+ char* expId = argv[1];
+ std::vector<DataObjectType> _return;
+ airavataclient.getExperimentOutputs(_return, expId);
+ int i;
+ for(i=0; i<_return.size();i++){
+ cout << _return[i].value <<"\n";
+ }
+ transport->close();
+
+}
http://git-wip-us.apache.org/repos/asf/airavata/blob/f891b7dc/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client samples/getExperimentOutputs.cpp~
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client samples/getExperimentOutputs.cpp~ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client samples/getExperimentOutputs.cpp~
new file mode 100644
index 0000000..6b6eab7
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client samples/getExperimentOutputs.cpp~
@@ -0,0 +1,108 @@
+#include <glib.h>
+#include <iostream>
+#include <stdint.h>
+#include <sys/time.h>
+
+#define _WIN32_WINNT 0x501
+
+#include <thrift/transport/TTransport.h>
+#include <thrift/transport/TBufferTransports.cpp>
+#include <thrift/transport/TSocket.cpp>
+#include <thrift/protocol/TProtocol.h>
+#include <thrift/protocol/TBinaryProtocol.h>
+#include <thrift/protocol/TBinaryProtocol.tcc>
+#include <thrift/TApplicationException.cpp>
+#include <thrift/transport/TTransportException.cpp>
+#include <thrift/protocol/TProtocolException.h>
+#include "../lib/airavata/Airavata.h"
+#include "../lib/airavata/Airavata.cpp"
+#include "../lib/airavata/airavataDataModel_types.h"
+#include "../lib/airavata/airavataDataModel_types.cpp"
+#include "../lib/airavata/airavataErrors_types.h"
+#include "../lib/airavata/airavataErrors_types.cpp"
+#include "../lib/airavata/experimentModel_types.h"
+#include "../lib/airavata/experimentModel_types.cpp"
+#include "../lib/airavata/workspaceModel_types.h"
+#include "../lib/airavata/workspaceModel_types.cpp"
+#include "../lib/airavata/airavataAPI_types.h"
+#include "../lib/airavata/airavataAPI_types.cpp"
+#include "../lib/airavata/applicationDeploymentModel_types.h"
+#include "../lib/airavata/applicationDeploymentModel_types.cpp"
+#include "../lib/airavata/applicationInterfaceModel_types.h"
+#include "../lib/airavata/applicationInterfaceModel_types.cpp"
+#include "../lib/airavata/gatewayResourceProfileModel_types.h"
+#include "../lib/airavata/gatewayResourceProfileModel_types.cpp"
+#include "../lib/airavata/computeResourceModel_types.h"
+#include "../lib/airavata/computeResourceModel_types.cpp"
+
+
+typedef struct {
+ gchar *airavata_server, *app_catalog_server;
+ gint airavata_port, app_catalog_port, airavata_timeout;
+} Settings;
+
+using namespace std;
+using namespace apache::thrift;
+using namespace apache::thrift::protocol;
+using namespace apache::thrift::transport;
+using namespace apache::airavata::api;
+using namespace apache::airavata::model::workspace::experiment;
+
+void readConfigFile(char* cfgfile, string& airavata_server, string& app_catalog_server, int& airavata_port, int& app_catalog_port, int& airavata_timeout) {
+
+ Settings *conf;
+ GKeyFile *keyfile;
+ GKeyFileFlags flags;
+ GError *error = NULL;
+ keyfile = g_key_file_new ();
+ if (!g_key_file_load_from_file (keyfile, cfgfile, flags, &error)) {
+ g_error (error->message);
+ } else {
+
+ conf = g_slice_new (Settings);
+ conf->airavata_server = g_key_file_get_string(keyfile, "airavata", "AIRAVATA_SERVER", NULL);
+ airavata_server = conf->airavata_server;
+ conf->airavata_port = g_key_file_get_integer(keyfile, "airavata", "AIRAVATA_PORT", NULL);
+ airavata_port = conf->airavata_port;
+ conf->airavata_timeout = g_key_file_get_integer(keyfile, "airavata", "AIRAVATA_TIMEOUT", NULL);
+ airavata_timeout = conf->airavata_timeout;
+ conf->app_catalog_server = g_key_file_get_string(keyfile, "airavata", "APP_CATALOG_SERVER", NULL);
+ app_catalog_server = conf->app_catalog_server;
+ conf->app_catalog_port = g_key_file_get_integer(keyfile, "airavata", "APP_CATALOG_PORT", NULL);
+ app_catalog_port = conf->app_catalog_port;
+ }
+
+}
+
+int main(int argc, char **argv)
+{
+
+ int airavata_port, app_catalog_port, airavata_timeout;
+ string airavata_server, app_catalog_server;
+ char* cfgfile;
+ cfgfile = "./airavata-client-properties.ini";
+ readConfigFile(cfgfile, airavata_server, app_catalog_server, airavata_port, app_catalog_port, airavata_timeout);
+ airavata_server.erase(0,1);
+ airavata_server.erase(airavata_server.length()-1,1);
+ boost::shared_ptr<TSocket> socket(new TSocket(airavata_server, airavata_port));
+ socket->setSendTimeout(airavata_timeout);
+ boost::shared_ptr<TTransport> transport(new TBufferedTransport(socket));
+ boost::shared_ptr<TProtocol> protocol(new TBinaryProtocol(transport));
+ AiravataClient airavataclient(protocol);
+ transport->open();
+
+
+ if(argc !=2){
+ cout << "Usage: ./getExperimentOutputs <experimentID>";
+ return 0;
+ }
+ char* expId = argv[1];
+ std::vector<DataObjectType> _return;
+ airavataclient.getExperimentOutputs(_return, expId);
+ int i;
+ for(i=0; i<_return.size();i++){
+ cout << _return[i].value;
+ }
+ transport->close();
+
+}
http://git-wip-us.apache.org/repos/asf/airavata/blob/f891b7dc/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client samples/getExperimentStatus
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client samples/getExperimentStatus b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client samples/getExperimentStatus
new file mode 100755
index 0000000..cff68b0
Binary files /dev/null and b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client samples/getExperimentStatus differ
http://git-wip-us.apache.org/repos/asf/airavata/blob/f891b7dc/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client samples/getExperimentStatus.cpp
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client samples/getExperimentStatus.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client samples/getExperimentStatus.cpp
new file mode 100644
index 0000000..75c44ee
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client samples/getExperimentStatus.cpp
@@ -0,0 +1,105 @@
+#include <glib.h>
+#include <iostream>
+#include <stdint.h>
+#include <sys/time.h>
+
+#define _WIN32_WINNT 0x501
+
+#include <thrift/transport/TTransport.h>
+#include <thrift/transport/TBufferTransports.cpp>
+#include <thrift/transport/TSocket.cpp>
+#include <thrift/protocol/TProtocol.h>
+#include <thrift/protocol/TBinaryProtocol.h>
+#include <thrift/protocol/TBinaryProtocol.tcc>
+#include <thrift/TApplicationException.cpp>
+#include <thrift/transport/TTransportException.cpp>
+#include <thrift/protocol/TProtocolException.h>
+#include "../lib/airavata/Airavata.h"
+#include "../lib/airavata/Airavata.cpp"
+#include "../lib/airavata/airavataDataModel_types.h"
+#include "../lib/airavata/airavataDataModel_types.cpp"
+#include "../lib/airavata/airavataErrors_types.h"
+#include "../lib/airavata/airavataErrors_types.cpp"
+#include "../lib/airavata/experimentModel_types.h"
+#include "../lib/airavata/experimentModel_types.cpp"
+#include "../lib/airavata/workspaceModel_types.h"
+#include "../lib/airavata/workspaceModel_types.cpp"
+#include "../lib/airavata/airavataAPI_types.h"
+#include "../lib/airavata/airavataAPI_types.cpp"
+#include "../lib/airavata/applicationDeploymentModel_types.h"
+#include "../lib/airavata/applicationDeploymentModel_types.cpp"
+#include "../lib/airavata/applicationInterfaceModel_types.h"
+#include "../lib/airavata/applicationInterfaceModel_types.cpp"
+#include "../lib/airavata/gatewayResourceProfileModel_types.h"
+#include "../lib/airavata/gatewayResourceProfileModel_types.cpp"
+#include "../lib/airavata/computeResourceModel_types.h"
+#include "../lib/airavata/computeResourceModel_types.cpp"
+
+
+typedef struct {
+ gchar *airavata_server, *app_catalog_server;
+ gint airavata_port, app_catalog_port, airavata_timeout;
+} Settings;
+
+using namespace std;
+using namespace apache::thrift;
+using namespace apache::thrift::protocol;
+using namespace apache::thrift::transport;
+using namespace apache::airavata::api;
+using namespace apache::airavata::model::workspace::experiment;
+
+void readConfigFile(char* cfgfile, string& airavata_server, string& app_catalog_server, int& airavata_port, int& app_catalog_port, int& airavata_timeout) {
+
+ Settings *conf;
+ GKeyFile *keyfile;
+ GKeyFileFlags flags;
+ GError *error = NULL;
+ keyfile = g_key_file_new ();
+ if (!g_key_file_load_from_file (keyfile, cfgfile, flags, &error)) {
+ g_error (error->message);
+ } else {
+
+ conf = g_slice_new (Settings);
+ conf->airavata_server = g_key_file_get_string(keyfile, "airavata", "AIRAVATA_SERVER", NULL);
+ airavata_server = conf->airavata_server;
+ conf->airavata_port = g_key_file_get_integer(keyfile, "airavata", "AIRAVATA_PORT", NULL);
+ airavata_port = conf->airavata_port;
+ conf->airavata_timeout = g_key_file_get_integer(keyfile, "airavata", "AIRAVATA_TIMEOUT", NULL);
+ airavata_timeout = conf->airavata_timeout;
+ conf->app_catalog_server = g_key_file_get_string(keyfile, "airavata", "APP_CATALOG_SERVER", NULL);
+ app_catalog_server = conf->app_catalog_server;
+ conf->app_catalog_port = g_key_file_get_integer(keyfile, "airavata", "APP_CATALOG_PORT", NULL);
+ app_catalog_port = conf->app_catalog_port;
+ }
+
+}
+
+int main(int argc, char **argv)
+{
+
+ int airavata_port, app_catalog_port, airavata_timeout;
+ string airavata_server, app_catalog_server;
+ char* cfgfile;
+ cfgfile = "./airavata-client-properties.ini";
+ readConfigFile(cfgfile, airavata_server, app_catalog_server, airavata_port, app_catalog_port, airavata_timeout);
+ airavata_server.erase(0,1);
+ airavata_server.erase(airavata_server.length()-1,1);
+ boost::shared_ptr<TSocket> socket(new TSocket(airavata_server, airavata_port));
+ socket->setSendTimeout(airavata_timeout);
+ boost::shared_ptr<TTransport> transport(new TBufferedTransport(socket));
+ boost::shared_ptr<TProtocol> protocol(new TBinaryProtocol(transport));
+ AiravataClient airavataclient(protocol);
+ transport->open();
+
+
+ if(argc !=2){
+ cout << "Usage: ./getExperimentStatus <experimentID>";
+ return 0;
+ }
+ char* expId = argv[1];
+ ExperimentStatus _return;
+ airavataclient.getExperimentStatus(_return, expId);
+ cout << _return.experimentState <<"\n";
+ transport->close();
+
+}
http://git-wip-us.apache.org/repos/asf/airavata/blob/f891b7dc/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client samples/getExperimentStatus.cpp~
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client samples/getExperimentStatus.cpp~ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client samples/getExperimentStatus.cpp~
new file mode 100644
index 0000000..39b15a4
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client samples/getExperimentStatus.cpp~
@@ -0,0 +1,105 @@
+#include <glib.h>
+#include <iostream>
+#include <stdint.h>
+#include <sys/time.h>
+
+#define _WIN32_WINNT 0x501
+
+#include <thrift/transport/TTransport.h>
+#include <thrift/transport/TBufferTransports.cpp>
+#include <thrift/transport/TSocket.cpp>
+#include <thrift/protocol/TProtocol.h>
+#include <thrift/protocol/TBinaryProtocol.h>
+#include <thrift/protocol/TBinaryProtocol.tcc>
+#include <thrift/TApplicationException.cpp>
+#include <thrift/transport/TTransportException.cpp>
+#include <thrift/protocol/TProtocolException.h>
+#include "../lib/airavata/Airavata.h"
+#include "../lib/airavata/Airavata.cpp"
+#include "../lib/airavata/airavataDataModel_types.h"
+#include "../lib/airavata/airavataDataModel_types.cpp"
+#include "../lib/airavata/airavataErrors_types.h"
+#include "../lib/airavata/airavataErrors_types.cpp"
+#include "../lib/airavata/experimentModel_types.h"
+#include "../lib/airavata/experimentModel_types.cpp"
+#include "../lib/airavata/workspaceModel_types.h"
+#include "../lib/airavata/workspaceModel_types.cpp"
+#include "../lib/airavata/airavataAPI_types.h"
+#include "../lib/airavata/airavataAPI_types.cpp"
+#include "../lib/airavata/applicationDeploymentModel_types.h"
+#include "../lib/airavata/applicationDeploymentModel_types.cpp"
+#include "../lib/airavata/applicationInterfaceModel_types.h"
+#include "../lib/airavata/applicationInterfaceModel_types.cpp"
+#include "../lib/airavata/gatewayResourceProfileModel_types.h"
+#include "../lib/airavata/gatewayResourceProfileModel_types.cpp"
+#include "../lib/airavata/computeResourceModel_types.h"
+#include "../lib/airavata/computeResourceModel_types.cpp"
+
+
+typedef struct {
+ gchar *airavata_server, *app_catalog_server;
+ gint airavata_port, app_catalog_port, airavata_timeout;
+} Settings;
+
+using namespace std;
+using namespace apache::thrift;
+using namespace apache::thrift::protocol;
+using namespace apache::thrift::transport;
+using namespace apache::airavata::api;
+using namespace apache::airavata::model::workspace::experiment;
+
+void readConfigFile(char* cfgfile, string& airavata_server, string& app_catalog_server, int& airavata_port, int& app_catalog_port, int& airavata_timeout) {
+
+ Settings *conf;
+ GKeyFile *keyfile;
+ GKeyFileFlags flags;
+ GError *error = NULL;
+ keyfile = g_key_file_new ();
+ if (!g_key_file_load_from_file (keyfile, cfgfile, flags, &error)) {
+ g_error (error->message);
+ } else {
+
+ conf = g_slice_new (Settings);
+ conf->airavata_server = g_key_file_get_string(keyfile, "airavata", "AIRAVATA_SERVER", NULL);
+ airavata_server = conf->airavata_server;
+ conf->airavata_port = g_key_file_get_integer(keyfile, "airavata", "AIRAVATA_PORT", NULL);
+ airavata_port = conf->airavata_port;
+ conf->airavata_timeout = g_key_file_get_integer(keyfile, "airavata", "AIRAVATA_TIMEOUT", NULL);
+ airavata_timeout = conf->airavata_timeout;
+ conf->app_catalog_server = g_key_file_get_string(keyfile, "airavata", "APP_CATALOG_SERVER", NULL);
+ app_catalog_server = conf->app_catalog_server;
+ conf->app_catalog_port = g_key_file_get_integer(keyfile, "airavata", "APP_CATALOG_PORT", NULL);
+ app_catalog_port = conf->app_catalog_port;
+ }
+
+}
+
+int main(int argc, char **argv)
+{
+
+ int airavata_port, app_catalog_port, airavata_timeout;
+ string airavata_server, app_catalog_server;
+ char* cfgfile;
+ cfgfile = "./airavata-client-properties.ini";
+ readConfigFile(cfgfile, airavata_server, app_catalog_server, airavata_port, app_catalog_port, airavata_timeout);
+ airavata_server.erase(0,1);
+ airavata_server.erase(airavata_server.length()-1,1);
+ boost::shared_ptr<TSocket> socket(new TSocket(airavata_server, airavata_port));
+ socket->setSendTimeout(airavata_timeout);
+ boost::shared_ptr<TTransport> transport(new TBufferedTransport(socket));
+ boost::shared_ptr<TProtocol> protocol(new TBinaryProtocol(transport));
+ AiravataClient airavataclient(protocol);
+ transport->open();
+
+
+ if(argc !=2){
+ cout << "Usage: ./getExperimentStatus <experimentID>";
+ return 0;
+ }
+ char* expId = argv[1];
+ ExperimentStatus _return;
+ airavataclient.getExperimentStatus(_return, expId);
+ cout << _return.experimentState;
+ transport->close();
+
+}
http://git-wip-us.apache.org/repos/asf/airavata/blob/f891b7dc/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client samples/launchExperiment
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client samples/launchExperiment b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client samples/launchExperiment
new file mode 100755
index 0000000..05d75e0
Binary files /dev/null and b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client samples/launchExperiment differ
http://git-wip-us.apache.org/repos/asf/airavata/blob/f891b7dc/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client samples/launchExperiment.cpp
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client samples/launchExperiment.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client samples/launchExperiment.cpp
new file mode 100644
index 0000000..d3b8337
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client samples/launchExperiment.cpp
@@ -0,0 +1,104 @@
+#include <glib.h>
+#include <iostream>
+#include <stdint.h>
+#include <sys/time.h>
+
+#define _WIN32_WINNT 0x501
+
+#include <thrift/transport/TTransport.h>
+#include <thrift/transport/TBufferTransports.cpp>
+#include <thrift/transport/TSocket.cpp>
+#include <thrift/protocol/TProtocol.h>
+#include <thrift/protocol/TBinaryProtocol.h>
+#include <thrift/protocol/TBinaryProtocol.tcc>
+#include <thrift/TApplicationException.cpp>
+#include <thrift/transport/TTransportException.cpp>
+#include <thrift/protocol/TProtocolException.h>
+#include "../lib/airavata/Airavata.h"
+#include "../lib/airavata/Airavata.cpp"
+#include "../lib/airavata/airavataDataModel_types.h"
+#include "../lib/airavata/airavataDataModel_types.cpp"
+#include "../lib/airavata/airavataErrors_types.h"
+#include "../lib/airavata/airavataErrors_types.cpp"
+#include "../lib/airavata/experimentModel_types.h"
+#include "../lib/airavata/experimentModel_types.cpp"
+#include "../lib/airavata/workspaceModel_types.h"
+#include "../lib/airavata/workspaceModel_types.cpp"
+#include "../lib/airavata/airavataAPI_types.h"
+#include "../lib/airavata/airavataAPI_types.cpp"
+#include "../lib/airavata/applicationDeploymentModel_types.h"
+#include "../lib/airavata/applicationDeploymentModel_types.cpp"
+#include "../lib/airavata/applicationInterfaceModel_types.h"
+#include "../lib/airavata/applicationInterfaceModel_types.cpp"
+#include "../lib/airavata/gatewayResourceProfileModel_types.h"
+#include "../lib/airavata/gatewayResourceProfileModel_types.cpp"
+#include "../lib/airavata/computeResourceModel_types.h"
+#include "../lib/airavata/computeResourceModel_types.cpp"
+
+
+typedef struct {
+ gchar *airavata_server, *app_catalog_server;
+ gint airavata_port, app_catalog_port, airavata_timeout;
+} Settings;
+
+using namespace std;
+using namespace apache::thrift;
+using namespace apache::thrift::protocol;
+using namespace apache::thrift::transport;
+using namespace apache::airavata::api;
+
+void readConfigFile(char* cfgfile, string& airavata_server, string& app_catalog_server, int& airavata_port, int& app_catalog_port, int& airavata_timeout) {
+
+ Settings *conf;
+ GKeyFile *keyfile;
+ GKeyFileFlags flags;
+ GError *error = NULL;
+ keyfile = g_key_file_new ();
+ if (!g_key_file_load_from_file (keyfile, cfgfile, flags, &error)) {
+ g_error (error->message);
+ } else {
+
+ conf = g_slice_new (Settings);
+ conf->airavata_server = g_key_file_get_string(keyfile, "airavata", "AIRAVATA_SERVER", NULL);
+ airavata_server = conf->airavata_server;
+ conf->airavata_port = g_key_file_get_integer(keyfile, "airavata", "AIRAVATA_PORT", NULL);
+ airavata_port = conf->airavata_port;
+ conf->airavata_timeout = g_key_file_get_integer(keyfile, "airavata", "AIRAVATA_TIMEOUT", NULL);
+ airavata_timeout = conf->airavata_timeout;
+ conf->app_catalog_server = g_key_file_get_string(keyfile, "airavata", "APP_CATALOG_SERVER", NULL);
+ app_catalog_server = conf->app_catalog_server;
+ conf->app_catalog_port = g_key_file_get_integer(keyfile, "airavata", "APP_CATALOG_PORT", NULL);
+ app_catalog_port = conf->app_catalog_port;
+ }
+
+}
+
+
+int main(int argc, char **argv)
+{
+
+ int airavata_port, app_catalog_port, airavata_timeout;
+ string airavata_server, app_catalog_server;
+ char* cfgfile;
+ cfgfile = "./airavata-client-properties.ini";
+ readConfigFile(cfgfile, airavata_server, app_catalog_server, airavata_port, app_catalog_port, airavata_timeout);
+ airavata_server.erase(0,1);
+ airavata_server.erase(airavata_server.length()-1,1);
+ boost::shared_ptr<TSocket> socket(new TSocket(airavata_server, airavata_port));
+ socket->setSendTimeout(airavata_timeout);
+ boost::shared_ptr<TTransport> transport(new TBufferedTransport(socket));
+ boost::shared_ptr<TProtocol> protocol(new TBinaryProtocol(transport));
+ AiravataClient airavataclient(protocol);
+ transport->open();
+
+
+ if(argc !=2){
+ cout << "Usage: ./launchExperiment <experimentID>";
+ return 0;
+ }
+ char* expId = argv[1];
+ airavataclient.launchExperiment(expId, "airavataToken");
+ cout << "Experiment " << expId << " is launched.\n";
+ transport->close();
+
+}
http://git-wip-us.apache.org/repos/asf/airavata/blob/f891b7dc/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client samples/launchExperiment.cpp~
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client samples/launchExperiment.cpp~ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client samples/launchExperiment.cpp~
new file mode 100644
index 0000000..a7a7551
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client samples/launchExperiment.cpp~
@@ -0,0 +1,104 @@
+#include <glib.h>
+#include <iostream>
+#include <stdint.h>
+#include <sys/time.h>
+
+#define _WIN32_WINNT 0x501
+
+#include <thrift/transport/TTransport.h>
+#include <thrift/transport/TBufferTransports.cpp>
+#include <thrift/transport/TSocket.cpp>
+#include <thrift/protocol/TProtocol.h>
+#include <thrift/protocol/TBinaryProtocol.h>
+#include <thrift/protocol/TBinaryProtocol.tcc>
+#include <thrift/TApplicationException.cpp>
+#include <thrift/transport/TTransportException.cpp>
+#include <thrift/protocol/TProtocolException.h>
+#include "../lib/airavata/Airavata.h"
+#include "../lib/airavata/Airavata.cpp"
+#include "../lib/airavata/airavataDataModel_types.h"
+#include "../lib/airavata/airavataDataModel_types.cpp"
+#include "../lib/airavata/airavataErrors_types.h"
+#include "../lib/airavata/airavataErrors_types.cpp"
+#include "../lib/airavata/experimentModel_types.h"
+#include "../lib/airavata/experimentModel_types.cpp"
+#include "../lib/airavata/workspaceModel_types.h"
+#include "../lib/airavata/workspaceModel_types.cpp"
+#include "../lib/airavata/airavataAPI_types.h"
+#include "../lib/airavata/airavataAPI_types.cpp"
+#include "../lib/airavata/applicationDeploymentModel_types.h"
+#include "../lib/airavata/applicationDeploymentModel_types.cpp"
+#include "../lib/airavata/applicationInterfaceModel_types.h"
+#include "../lib/airavata/applicationInterfaceModel_types.cpp"
+#include "../lib/airavata/gatewayResourceProfileModel_types.h"
+#include "../lib/airavata/gatewayResourceProfileModel_types.cpp"
+#include "../lib/airavata/computeResourceModel_types.h"
+#include "../lib/airavata/computeResourceModel_types.cpp"
+
+
+typedef struct {
+ gchar *airavata_server, *app_catalog_server;
+ gint airavata_port, app_catalog_port, airavata_timeout;
+} Settings;
+
+using namespace std;
+using namespace apache::thrift;
+using namespace apache::thrift::protocol;
+using namespace apache::thrift::transport;
+using namespace apache::airavata::api;
+
+void readConfigFile(char* cfgfile, string& airavata_server, string& app_catalog_server, int& airavata_port, int& app_catalog_port, int& airavata_timeout) {
+
+ Settings *conf;
+ GKeyFile *keyfile;
+ GKeyFileFlags flags;
+ GError *error = NULL;
+ keyfile = g_key_file_new ();
+ if (!g_key_file_load_from_file (keyfile, cfgfile, flags, &error)) {
+ g_error (error->message);
+ } else {
+
+ conf = g_slice_new (Settings);
+ conf->airavata_server = g_key_file_get_string(keyfile, "airavata", "AIRAVATA_SERVER", NULL);
+ airavata_server = conf->airavata_server;
+ conf->airavata_port = g_key_file_get_integer(keyfile, "airavata", "AIRAVATA_PORT", NULL);
+ airavata_port = conf->airavata_port;
+ conf->airavata_timeout = g_key_file_get_integer(keyfile, "airavata", "AIRAVATA_TIMEOUT", NULL);
+ airavata_timeout = conf->airavata_timeout;
+ conf->app_catalog_server = g_key_file_get_string(keyfile, "airavata", "APP_CATALOG_SERVER", NULL);
+ app_catalog_server = conf->app_catalog_server;
+ conf->app_catalog_port = g_key_file_get_integer(keyfile, "airavata", "APP_CATALOG_PORT", NULL);
+ app_catalog_port = conf->app_catalog_port;
+ }
+
+}
+
+
+int main(int argc, char **argv)
+{
+
+ int airavata_port, app_catalog_port, airavata_timeout;
+ string airavata_server, app_catalog_server;
+ char* cfgfile;
+ cfgfile = "./airavata-client-properties.ini";
+ readConfigFile(cfgfile, airavata_server, app_catalog_server, airavata_port, app_catalog_port, airavata_timeout);
+ airavata_server.erase(0,1);
+ airavata_server.erase(airavata_server.length()-1,1);
+ boost::shared_ptr<TSocket> socket(new TSocket(airavata_server, airavata_port));
+ socket->setSendTimeout(airavata_timeout);
+ boost::shared_ptr<TTransport> transport(new TBufferedTransport(socket));
+ boost::shared_ptr<TProtocol> protocol(new TBinaryProtocol(transport));
+ AiravataClient airavataclient(protocol);
+ transport->open();
+
+
+ if(argc !=2){
+ cout << "Usage: ./launchExperiment [experiment ID]";
+ return 0;
+ }
+ char* expId = argv[1];
+ airavataclient.launchExperiment(expId, "airavataToken");
+ cout << "Experiment " << expId << " is launched.\n";
+ transport->close();
+
+}
http://git-wip-us.apache.org/repos/asf/airavata/blob/f891b7dc/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client samples/test.cpp~
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client samples/test.cpp~ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client samples/test.cpp~
new file mode 100644
index 0000000..24bf1af
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client samples/test.cpp~
@@ -0,0 +1,55 @@
+#include <glib.h>
+#include <iostream>
+#include <stdint.h>
+#include <sys/time.h>
+
+#define _WIN32_WINNT 0x501
+
+
+#include <thrift/transport/TSocket.h>
+#include <thrift/transport/TBufferTransports.h>
+#include <thrift/protocol/TBinaryProtocol.h>
+
+#include "../lib/airavata/Airavata.h"
+#include "../lib/airavata/Airavata.cpp"
+#include "../lib/airavata/airavataDataModel_types.h"
+#include "../lib/airavata/airavataDataModel_types.cpp"
+#include "../lib/airavata/airavataErrors_types.h"
+#include "../lib/airavata/airavataErrors_types.cpp"
+#include "../lib/airavata/experimentModel_types.h"
+#include "../lib/airavata/experimentModel_types.cpp"
+#include "../lib/airavata/workspaceModel_types.h"
+#include "../lib/airavata/workspaceModel_types.cpp"
+#include "../lib/airavata/airavataAPI_types.h"
+#include "../lib/airavata/airavataAPI_types.cpp"
+#include "../lib/airavata/applicationDeploymentModel_types.h"
+#include "../lib/airavata/applicationDeploymentModel_types.cpp"
+#include "../lib/airavata/applicationInterfaceModel_types.h"
+#include "../lib/airavata/applicationInterfaceModel_types.cpp"
+#include "../lib/airavata/gatewayResourceProfileModel_types.h"
+#include "../lib/airavata/gatewayResourceProfileModel_types.cpp"
+#include "../lib/airavata/computeResourceModel_types.h"
+#include "../lib/airavata/computeResourceModel_types.cpp"
+
+using namespace std;
+using namespace apache::thrift;
+using namespace apache::thrift::protocol;
+using namespace apache::thrift::transport;
+using namespace apache::airavata::api;
+
+
+
+int main(int argc, char **argv) {
+ boost::shared_ptr<TSocket> socket(new TSocket("localhost", 8930));
+ boost::shared_ptr<TTransport> transport(new TBufferedTransport(socket));
+ boost::shared_ptr<TProtocol> protocol(new TBinaryProtocol(transport));
+ AiravataClient airavataclient(protocol);
+ transport-open();
+
+ apache::airavata::model::workspace::Project project;
+ project.owner=argv[1];
+ project.name=argv[2];
+ std::string _return;
+ airavataclient.createProject(_return,project);
+ cout << _return;
+}
http://git-wip-us.apache.org/repos/asf/airavata/blob/f891b7dc/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client samples/test:c~
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client samples/test:c~ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client samples/test:c~
new file mode 100644
index 0000000..e69de29
[36/47] removed unnecessary files, updated ini file
Posted by sm...@apache.org.
http://git-wip-us.apache.org/repos/asf/airavata/blob/00b8aaf0/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/ApplicationCatalogAPI.h
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/ApplicationCatalogAPI.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/ApplicationCatalogAPI.h
deleted file mode 100644
index b3ce2e9..0000000
--- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/ApplicationCatalogAPI.h
+++ /dev/null
@@ -1,4069 +0,0 @@
-/**
- * Autogenerated by Thrift Compiler (0.9.1)
- *
- * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
- * @generated
- */
-#ifndef ApplicationCatalogAPI_H
-#define ApplicationCatalogAPI_H
-
-#include <thrift/TDispatchProcessor.h>
-#include "applicationCatalogAPI_types.h"
-
-namespace airavata { namespace api { namespace appcatalog {
-
-class ApplicationCatalogAPIIf {
- public:
- virtual ~ApplicationCatalogAPIIf() {}
- virtual void GetAPIVersion(std::string& _return) = 0;
- virtual void addComputeResourceDescription(std::string& _return, const ::ComputeResourceDescription& computeResourceDescription) = 0;
- virtual void addSSHJobSubmissionProtocol(std::string& _return, const std::string& computeResourceId, const ::SSHJobSubmission& jobSubmission) = 0;
- virtual void addGSISSHJobSubmissionProtocol(std::string& _return, const std::string& computeResourceId, const ::GSISSHJobSubmission& jobSubmission) = 0;
- virtual void addGlobusJobSubmissionProtocol(std::string& _return, const std::string& computeResourceId, const ::GlobusJobSubmission& jobSubmission) = 0;
- virtual void addSCPDataMovementProtocol(std::string& _return, const std::string& computeResourceId, const ::SCPDataMovement& dataMovement) = 0;
- virtual void addGridFTPDataMovementProtocol(std::string& _return, const std::string& computeResourceId, const ::GridFTPDataMovement& dataMovement) = 0;
- virtual void listComputeResourceDescriptions(std::vector<std::string> & _return) = 0;
- virtual void getComputeResourceDescription( ::ComputeResourceDescription& _return, const std::string& computeResourceId) = 0;
- virtual void getSSHJobSubmissionProtocol( ::SSHJobSubmission& _return, const std::string& sshJobSubmissionProtocolResourceId) = 0;
- virtual void getGSISSHJobSubmissionProtocol( ::GSISSHJobSubmission& _return, const std::string& gsisshJobSubmissionProtocolResourceId) = 0;
- virtual void getGlobusJobSubmissionProtocol( ::GlobusJobSubmission& _return, const std::string& globusJobSubmissionProtocolResourceId) = 0;
- virtual void getSCPDataMovementProtocol( ::SCPDataMovement& _return, const std::string& scpDataMovementResourceId) = 0;
- virtual void getGridFTPDataMovementProtocol( ::GridFTPDataMovement& _return, const std::string& gridFTPDataMovementResourceId) = 0;
- virtual bool isComputeResourceDescriptionRegistered(const std::string& hostName) = 0;
- virtual void getComputeResourceDescriptionFromHostName( ::ComputeResourceDescription& _return, const std::string& hostName) = 0;
- virtual void addApplicationInterface(std::string& _return, const ::ApplicationInterfaceDescription& applicationInterface) = 0;
- virtual void listApplicationInterfaceIds(std::vector<std::string> & _return) = 0;
- virtual void getApplicationInterface( ::ApplicationInterfaceDescription& _return, const std::string& applicationInterfaceId) = 0;
- virtual void registerAppicationModule(std::string& _return, const ::ApplicationModule& applicationModule, const bool publish) = 0;
- virtual void getAppicationModule( ::ApplicationModule& _return, const std::string& appModuleId) = 0;
- virtual bool updateAppicationModule(const std::string& appModuleId, const ::ApplicationModule& applicationModule) = 0;
- virtual bool deleteAppicationModule(const std::string& appModuleId) = 0;
- virtual void addApplicationDeployment(std::string& _return, const std::string& applicationInterfaceId, const ::ApplicationDeploymentDescription& applicationDeployment) = 0;
- virtual void listApplicationDeploymentIds(std::vector<std::string> & _return, const std::string& applicationInterfaceId) = 0;
- virtual void getApplicationDeployment( ::ApplicationDeploymentDescription& _return, const std::string& applicationInterfaceId, const std::string& applicationDeploymentId) = 0;
-};
-
-class ApplicationCatalogAPIIfFactory {
- public:
- typedef ApplicationCatalogAPIIf Handler;
-
- virtual ~ApplicationCatalogAPIIfFactory() {}
-
- virtual ApplicationCatalogAPIIf* getHandler(const ::apache::thrift::TConnectionInfo& connInfo) = 0;
- virtual void releaseHandler(ApplicationCatalogAPIIf* /* handler */) = 0;
-};
-
-class ApplicationCatalogAPIIfSingletonFactory : virtual public ApplicationCatalogAPIIfFactory {
- public:
- ApplicationCatalogAPIIfSingletonFactory(const boost::shared_ptr<ApplicationCatalogAPIIf>& iface) : iface_(iface) {}
- virtual ~ApplicationCatalogAPIIfSingletonFactory() {}
-
- virtual ApplicationCatalogAPIIf* getHandler(const ::apache::thrift::TConnectionInfo&) {
- return iface_.get();
- }
- virtual void releaseHandler(ApplicationCatalogAPIIf* /* handler */) {}
-
- protected:
- boost::shared_ptr<ApplicationCatalogAPIIf> iface_;
-};
-
-class ApplicationCatalogAPINull : virtual public ApplicationCatalogAPIIf {
- public:
- virtual ~ApplicationCatalogAPINull() {}
- void GetAPIVersion(std::string& /* _return */) {
- return;
- }
- void addComputeResourceDescription(std::string& /* _return */, const ::ComputeResourceDescription& /* computeResourceDescription */) {
- return;
- }
- void addSSHJobSubmissionProtocol(std::string& /* _return */, const std::string& /* computeResourceId */, const ::SSHJobSubmission& /* jobSubmission */) {
- return;
- }
- void addGSISSHJobSubmissionProtocol(std::string& /* _return */, const std::string& /* computeResourceId */, const ::GSISSHJobSubmission& /* jobSubmission */) {
- return;
- }
- void addGlobusJobSubmissionProtocol(std::string& /* _return */, const std::string& /* computeResourceId */, const ::GlobusJobSubmission& /* jobSubmission */) {
- return;
- }
- void addSCPDataMovementProtocol(std::string& /* _return */, const std::string& /* computeResourceId */, const ::SCPDataMovement& /* dataMovement */) {
- return;
- }
- void addGridFTPDataMovementProtocol(std::string& /* _return */, const std::string& /* computeResourceId */, const ::GridFTPDataMovement& /* dataMovement */) {
- return;
- }
- void listComputeResourceDescriptions(std::vector<std::string> & /* _return */) {
- return;
- }
- void getComputeResourceDescription( ::ComputeResourceDescription& /* _return */, const std::string& /* computeResourceId */) {
- return;
- }
- void getSSHJobSubmissionProtocol( ::SSHJobSubmission& /* _return */, const std::string& /* sshJobSubmissionProtocolResourceId */) {
- return;
- }
- void getGSISSHJobSubmissionProtocol( ::GSISSHJobSubmission& /* _return */, const std::string& /* gsisshJobSubmissionProtocolResourceId */) {
- return;
- }
- void getGlobusJobSubmissionProtocol( ::GlobusJobSubmission& /* _return */, const std::string& /* globusJobSubmissionProtocolResourceId */) {
- return;
- }
- void getSCPDataMovementProtocol( ::SCPDataMovement& /* _return */, const std::string& /* scpDataMovementResourceId */) {
- return;
- }
- void getGridFTPDataMovementProtocol( ::GridFTPDataMovement& /* _return */, const std::string& /* gridFTPDataMovementResourceId */) {
- return;
- }
- bool isComputeResourceDescriptionRegistered(const std::string& /* hostName */) {
- bool _return = false;
- return _return;
- }
- void getComputeResourceDescriptionFromHostName( ::ComputeResourceDescription& /* _return */, const std::string& /* hostName */) {
- return;
- }
- void addApplicationInterface(std::string& /* _return */, const ::ApplicationInterfaceDescription& /* applicationInterface */) {
- return;
- }
- void listApplicationInterfaceIds(std::vector<std::string> & /* _return */) {
- return;
- }
- void getApplicationInterface( ::ApplicationInterfaceDescription& /* _return */, const std::string& /* applicationInterfaceId */) {
- return;
- }
- void registerAppicationModule(std::string& /* _return */, const ::ApplicationModule& /* applicationModule */, const bool /* publish */) {
- return;
- }
- void getAppicationModule( ::ApplicationModule& /* _return */, const std::string& /* appModuleId */) {
- return;
- }
- bool updateAppicationModule(const std::string& /* appModuleId */, const ::ApplicationModule& /* applicationModule */) {
- bool _return = false;
- return _return;
- }
- bool deleteAppicationModule(const std::string& /* appModuleId */) {
- bool _return = false;
- return _return;
- }
- void addApplicationDeployment(std::string& /* _return */, const std::string& /* applicationInterfaceId */, const ::ApplicationDeploymentDescription& /* applicationDeployment */) {
- return;
- }
- void listApplicationDeploymentIds(std::vector<std::string> & /* _return */, const std::string& /* applicationInterfaceId */) {
- return;
- }
- void getApplicationDeployment( ::ApplicationDeploymentDescription& /* _return */, const std::string& /* applicationInterfaceId */, const std::string& /* applicationDeploymentId */) {
- return;
- }
-};
-
-
-class ApplicationCatalogAPI_GetAPIVersion_args {
- public:
-
- ApplicationCatalogAPI_GetAPIVersion_args() {
- }
-
- virtual ~ApplicationCatalogAPI_GetAPIVersion_args() throw() {}
-
-
- bool operator == (const ApplicationCatalogAPI_GetAPIVersion_args & /* rhs */) const
- {
- return true;
- }
- bool operator != (const ApplicationCatalogAPI_GetAPIVersion_args &rhs) const {
- return !(*this == rhs);
- }
-
- bool operator < (const ApplicationCatalogAPI_GetAPIVersion_args & ) const;
-
- uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
- uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-};
-
-
-class ApplicationCatalogAPI_GetAPIVersion_pargs {
- public:
-
-
- virtual ~ApplicationCatalogAPI_GetAPIVersion_pargs() throw() {}
-
-
- uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-};
-
-typedef struct _ApplicationCatalogAPI_GetAPIVersion_result__isset {
- _ApplicationCatalogAPI_GetAPIVersion_result__isset() : success(false) {}
- bool success;
-} _ApplicationCatalogAPI_GetAPIVersion_result__isset;
-
-class ApplicationCatalogAPI_GetAPIVersion_result {
- public:
-
- ApplicationCatalogAPI_GetAPIVersion_result() : success() {
- }
-
- virtual ~ApplicationCatalogAPI_GetAPIVersion_result() throw() {}
-
- std::string success;
-
- _ApplicationCatalogAPI_GetAPIVersion_result__isset __isset;
-
- void __set_success(const std::string& val) {
- success = val;
- }
-
- bool operator == (const ApplicationCatalogAPI_GetAPIVersion_result & rhs) const
- {
- if (!(success == rhs.success))
- return false;
- return true;
- }
- bool operator != (const ApplicationCatalogAPI_GetAPIVersion_result &rhs) const {
- return !(*this == rhs);
- }
-
- bool operator < (const ApplicationCatalogAPI_GetAPIVersion_result & ) const;
-
- uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
- uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-};
-
-typedef struct _ApplicationCatalogAPI_GetAPIVersion_presult__isset {
- _ApplicationCatalogAPI_GetAPIVersion_presult__isset() : success(false) {}
- bool success;
-} _ApplicationCatalogAPI_GetAPIVersion_presult__isset;
-
-class ApplicationCatalogAPI_GetAPIVersion_presult {
- public:
-
-
- virtual ~ApplicationCatalogAPI_GetAPIVersion_presult() throw() {}
-
- std::string* success;
-
- _ApplicationCatalogAPI_GetAPIVersion_presult__isset __isset;
-
- uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
-
-};
-
-
-class ApplicationCatalogAPI_addComputeResourceDescription_args {
- public:
-
- ApplicationCatalogAPI_addComputeResourceDescription_args() {
- }
-
- virtual ~ApplicationCatalogAPI_addComputeResourceDescription_args() throw() {}
-
- ::ComputeResourceDescription computeResourceDescription;
-
- void __set_computeResourceDescription(const ::ComputeResourceDescription& val) {
- computeResourceDescription = val;
- }
-
- bool operator == (const ApplicationCatalogAPI_addComputeResourceDescription_args & rhs) const
- {
- if (!(computeResourceDescription == rhs.computeResourceDescription))
- return false;
- return true;
- }
- bool operator != (const ApplicationCatalogAPI_addComputeResourceDescription_args &rhs) const {
- return !(*this == rhs);
- }
-
- bool operator < (const ApplicationCatalogAPI_addComputeResourceDescription_args & ) const;
-
- uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
- uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-};
-
-
-class ApplicationCatalogAPI_addComputeResourceDescription_pargs {
- public:
-
-
- virtual ~ApplicationCatalogAPI_addComputeResourceDescription_pargs() throw() {}
-
- const ::ComputeResourceDescription* computeResourceDescription;
-
- uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-};
-
-typedef struct _ApplicationCatalogAPI_addComputeResourceDescription_result__isset {
- _ApplicationCatalogAPI_addComputeResourceDescription_result__isset() : success(false), ire(false), ace(false), ase(false) {}
- bool success;
- bool ire;
- bool ace;
- bool ase;
-} _ApplicationCatalogAPI_addComputeResourceDescription_result__isset;
-
-class ApplicationCatalogAPI_addComputeResourceDescription_result {
- public:
-
- ApplicationCatalogAPI_addComputeResourceDescription_result() : success() {
- }
-
- virtual ~ApplicationCatalogAPI_addComputeResourceDescription_result() throw() {}
-
- std::string success;
- ::airavata::api::error::InvalidRequestException ire;
- ::airavata::api::error::AiravataClientException ace;
- ::airavata::api::error::AiravataSystemException ase;
-
- _ApplicationCatalogAPI_addComputeResourceDescription_result__isset __isset;
-
- void __set_success(const std::string& val) {
- success = val;
- }
-
- void __set_ire(const ::airavata::api::error::InvalidRequestException& val) {
- ire = val;
- }
-
- void __set_ace(const ::airavata::api::error::AiravataClientException& val) {
- ace = val;
- }
-
- void __set_ase(const ::airavata::api::error::AiravataSystemException& val) {
- ase = val;
- }
-
- bool operator == (const ApplicationCatalogAPI_addComputeResourceDescription_result & rhs) const
- {
- if (!(success == rhs.success))
- return false;
- if (!(ire == rhs.ire))
- return false;
- if (!(ace == rhs.ace))
- return false;
- if (!(ase == rhs.ase))
- return false;
- return true;
- }
- bool operator != (const ApplicationCatalogAPI_addComputeResourceDescription_result &rhs) const {
- return !(*this == rhs);
- }
-
- bool operator < (const ApplicationCatalogAPI_addComputeResourceDescription_result & ) const;
-
- uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
- uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-};
-
-typedef struct _ApplicationCatalogAPI_addComputeResourceDescription_presult__isset {
- _ApplicationCatalogAPI_addComputeResourceDescription_presult__isset() : success(false), ire(false), ace(false), ase(false) {}
- bool success;
- bool ire;
- bool ace;
- bool ase;
-} _ApplicationCatalogAPI_addComputeResourceDescription_presult__isset;
-
-class ApplicationCatalogAPI_addComputeResourceDescription_presult {
- public:
-
-
- virtual ~ApplicationCatalogAPI_addComputeResourceDescription_presult() throw() {}
-
- std::string* success;
- ::airavata::api::error::InvalidRequestException ire;
- ::airavata::api::error::AiravataClientException ace;
- ::airavata::api::error::AiravataSystemException ase;
-
- _ApplicationCatalogAPI_addComputeResourceDescription_presult__isset __isset;
-
- uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
-
-};
-
-
-class ApplicationCatalogAPI_addSSHJobSubmissionProtocol_args {
- public:
-
- ApplicationCatalogAPI_addSSHJobSubmissionProtocol_args() : computeResourceId() {
- }
-
- virtual ~ApplicationCatalogAPI_addSSHJobSubmissionProtocol_args() throw() {}
-
- std::string computeResourceId;
- ::SSHJobSubmission jobSubmission;
-
- void __set_computeResourceId(const std::string& val) {
- computeResourceId = val;
- }
-
- void __set_jobSubmission(const ::SSHJobSubmission& val) {
- jobSubmission = val;
- }
-
- bool operator == (const ApplicationCatalogAPI_addSSHJobSubmissionProtocol_args & rhs) const
- {
- if (!(computeResourceId == rhs.computeResourceId))
- return false;
- if (!(jobSubmission == rhs.jobSubmission))
- return false;
- return true;
- }
- bool operator != (const ApplicationCatalogAPI_addSSHJobSubmissionProtocol_args &rhs) const {
- return !(*this == rhs);
- }
-
- bool operator < (const ApplicationCatalogAPI_addSSHJobSubmissionProtocol_args & ) const;
-
- uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
- uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-};
-
-
-class ApplicationCatalogAPI_addSSHJobSubmissionProtocol_pargs {
- public:
-
-
- virtual ~ApplicationCatalogAPI_addSSHJobSubmissionProtocol_pargs() throw() {}
-
- const std::string* computeResourceId;
- const ::SSHJobSubmission* jobSubmission;
-
- uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-};
-
-typedef struct _ApplicationCatalogAPI_addSSHJobSubmissionProtocol_result__isset {
- _ApplicationCatalogAPI_addSSHJobSubmissionProtocol_result__isset() : success(false), ire(false), ace(false), ase(false) {}
- bool success;
- bool ire;
- bool ace;
- bool ase;
-} _ApplicationCatalogAPI_addSSHJobSubmissionProtocol_result__isset;
-
-class ApplicationCatalogAPI_addSSHJobSubmissionProtocol_result {
- public:
-
- ApplicationCatalogAPI_addSSHJobSubmissionProtocol_result() : success() {
- }
-
- virtual ~ApplicationCatalogAPI_addSSHJobSubmissionProtocol_result() throw() {}
-
- std::string success;
- ::airavata::api::error::InvalidRequestException ire;
- ::airavata::api::error::AiravataClientException ace;
- ::airavata::api::error::AiravataSystemException ase;
-
- _ApplicationCatalogAPI_addSSHJobSubmissionProtocol_result__isset __isset;
-
- void __set_success(const std::string& val) {
- success = val;
- }
-
- void __set_ire(const ::airavata::api::error::InvalidRequestException& val) {
- ire = val;
- }
-
- void __set_ace(const ::airavata::api::error::AiravataClientException& val) {
- ace = val;
- }
-
- void __set_ase(const ::airavata::api::error::AiravataSystemException& val) {
- ase = val;
- }
-
- bool operator == (const ApplicationCatalogAPI_addSSHJobSubmissionProtocol_result & rhs) const
- {
- if (!(success == rhs.success))
- return false;
- if (!(ire == rhs.ire))
- return false;
- if (!(ace == rhs.ace))
- return false;
- if (!(ase == rhs.ase))
- return false;
- return true;
- }
- bool operator != (const ApplicationCatalogAPI_addSSHJobSubmissionProtocol_result &rhs) const {
- return !(*this == rhs);
- }
-
- bool operator < (const ApplicationCatalogAPI_addSSHJobSubmissionProtocol_result & ) const;
-
- uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
- uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-};
-
-typedef struct _ApplicationCatalogAPI_addSSHJobSubmissionProtocol_presult__isset {
- _ApplicationCatalogAPI_addSSHJobSubmissionProtocol_presult__isset() : success(false), ire(false), ace(false), ase(false) {}
- bool success;
- bool ire;
- bool ace;
- bool ase;
-} _ApplicationCatalogAPI_addSSHJobSubmissionProtocol_presult__isset;
-
-class ApplicationCatalogAPI_addSSHJobSubmissionProtocol_presult {
- public:
-
-
- virtual ~ApplicationCatalogAPI_addSSHJobSubmissionProtocol_presult() throw() {}
-
- std::string* success;
- ::airavata::api::error::InvalidRequestException ire;
- ::airavata::api::error::AiravataClientException ace;
- ::airavata::api::error::AiravataSystemException ase;
-
- _ApplicationCatalogAPI_addSSHJobSubmissionProtocol_presult__isset __isset;
-
- uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
-
-};
-
-
-class ApplicationCatalogAPI_addGSISSHJobSubmissionProtocol_args {
- public:
-
- ApplicationCatalogAPI_addGSISSHJobSubmissionProtocol_args() : computeResourceId() {
- }
-
- virtual ~ApplicationCatalogAPI_addGSISSHJobSubmissionProtocol_args() throw() {}
-
- std::string computeResourceId;
- ::GSISSHJobSubmission jobSubmission;
-
- void __set_computeResourceId(const std::string& val) {
- computeResourceId = val;
- }
-
- void __set_jobSubmission(const ::GSISSHJobSubmission& val) {
- jobSubmission = val;
- }
-
- bool operator == (const ApplicationCatalogAPI_addGSISSHJobSubmissionProtocol_args & rhs) const
- {
- if (!(computeResourceId == rhs.computeResourceId))
- return false;
- if (!(jobSubmission == rhs.jobSubmission))
- return false;
- return true;
- }
- bool operator != (const ApplicationCatalogAPI_addGSISSHJobSubmissionProtocol_args &rhs) const {
- return !(*this == rhs);
- }
-
- bool operator < (const ApplicationCatalogAPI_addGSISSHJobSubmissionProtocol_args & ) const;
-
- uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
- uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-};
-
-
-class ApplicationCatalogAPI_addGSISSHJobSubmissionProtocol_pargs {
- public:
-
-
- virtual ~ApplicationCatalogAPI_addGSISSHJobSubmissionProtocol_pargs() throw() {}
-
- const std::string* computeResourceId;
- const ::GSISSHJobSubmission* jobSubmission;
-
- uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-};
-
-typedef struct _ApplicationCatalogAPI_addGSISSHJobSubmissionProtocol_result__isset {
- _ApplicationCatalogAPI_addGSISSHJobSubmissionProtocol_result__isset() : success(false), ire(false), ace(false), ase(false) {}
- bool success;
- bool ire;
- bool ace;
- bool ase;
-} _ApplicationCatalogAPI_addGSISSHJobSubmissionProtocol_result__isset;
-
-class ApplicationCatalogAPI_addGSISSHJobSubmissionProtocol_result {
- public:
-
- ApplicationCatalogAPI_addGSISSHJobSubmissionProtocol_result() : success() {
- }
-
- virtual ~ApplicationCatalogAPI_addGSISSHJobSubmissionProtocol_result() throw() {}
-
- std::string success;
- ::airavata::api::error::InvalidRequestException ire;
- ::airavata::api::error::AiravataClientException ace;
- ::airavata::api::error::AiravataSystemException ase;
-
- _ApplicationCatalogAPI_addGSISSHJobSubmissionProtocol_result__isset __isset;
-
- void __set_success(const std::string& val) {
- success = val;
- }
-
- void __set_ire(const ::airavata::api::error::InvalidRequestException& val) {
- ire = val;
- }
-
- void __set_ace(const ::airavata::api::error::AiravataClientException& val) {
- ace = val;
- }
-
- void __set_ase(const ::airavata::api::error::AiravataSystemException& val) {
- ase = val;
- }
-
- bool operator == (const ApplicationCatalogAPI_addGSISSHJobSubmissionProtocol_result & rhs) const
- {
- if (!(success == rhs.success))
- return false;
- if (!(ire == rhs.ire))
- return false;
- if (!(ace == rhs.ace))
- return false;
- if (!(ase == rhs.ase))
- return false;
- return true;
- }
- bool operator != (const ApplicationCatalogAPI_addGSISSHJobSubmissionProtocol_result &rhs) const {
- return !(*this == rhs);
- }
-
- bool operator < (const ApplicationCatalogAPI_addGSISSHJobSubmissionProtocol_result & ) const;
-
- uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
- uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-};
-
-typedef struct _ApplicationCatalogAPI_addGSISSHJobSubmissionProtocol_presult__isset {
- _ApplicationCatalogAPI_addGSISSHJobSubmissionProtocol_presult__isset() : success(false), ire(false), ace(false), ase(false) {}
- bool success;
- bool ire;
- bool ace;
- bool ase;
-} _ApplicationCatalogAPI_addGSISSHJobSubmissionProtocol_presult__isset;
-
-class ApplicationCatalogAPI_addGSISSHJobSubmissionProtocol_presult {
- public:
-
-
- virtual ~ApplicationCatalogAPI_addGSISSHJobSubmissionProtocol_presult() throw() {}
-
- std::string* success;
- ::airavata::api::error::InvalidRequestException ire;
- ::airavata::api::error::AiravataClientException ace;
- ::airavata::api::error::AiravataSystemException ase;
-
- _ApplicationCatalogAPI_addGSISSHJobSubmissionProtocol_presult__isset __isset;
-
- uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
-
-};
-
-
-class ApplicationCatalogAPI_addGlobusJobSubmissionProtocol_args {
- public:
-
- ApplicationCatalogAPI_addGlobusJobSubmissionProtocol_args() : computeResourceId() {
- }
-
- virtual ~ApplicationCatalogAPI_addGlobusJobSubmissionProtocol_args() throw() {}
-
- std::string computeResourceId;
- ::GlobusJobSubmission jobSubmission;
-
- void __set_computeResourceId(const std::string& val) {
- computeResourceId = val;
- }
-
- void __set_jobSubmission(const ::GlobusJobSubmission& val) {
- jobSubmission = val;
- }
-
- bool operator == (const ApplicationCatalogAPI_addGlobusJobSubmissionProtocol_args & rhs) const
- {
- if (!(computeResourceId == rhs.computeResourceId))
- return false;
- if (!(jobSubmission == rhs.jobSubmission))
- return false;
- return true;
- }
- bool operator != (const ApplicationCatalogAPI_addGlobusJobSubmissionProtocol_args &rhs) const {
- return !(*this == rhs);
- }
-
- bool operator < (const ApplicationCatalogAPI_addGlobusJobSubmissionProtocol_args & ) const;
-
- uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
- uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-};
-
-
-class ApplicationCatalogAPI_addGlobusJobSubmissionProtocol_pargs {
- public:
-
-
- virtual ~ApplicationCatalogAPI_addGlobusJobSubmissionProtocol_pargs() throw() {}
-
- const std::string* computeResourceId;
- const ::GlobusJobSubmission* jobSubmission;
-
- uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-};
-
-typedef struct _ApplicationCatalogAPI_addGlobusJobSubmissionProtocol_result__isset {
- _ApplicationCatalogAPI_addGlobusJobSubmissionProtocol_result__isset() : success(false), ire(false), ace(false), ase(false) {}
- bool success;
- bool ire;
- bool ace;
- bool ase;
-} _ApplicationCatalogAPI_addGlobusJobSubmissionProtocol_result__isset;
-
-class ApplicationCatalogAPI_addGlobusJobSubmissionProtocol_result {
- public:
-
- ApplicationCatalogAPI_addGlobusJobSubmissionProtocol_result() : success() {
- }
-
- virtual ~ApplicationCatalogAPI_addGlobusJobSubmissionProtocol_result() throw() {}
-
- std::string success;
- ::airavata::api::error::InvalidRequestException ire;
- ::airavata::api::error::AiravataClientException ace;
- ::airavata::api::error::AiravataSystemException ase;
-
- _ApplicationCatalogAPI_addGlobusJobSubmissionProtocol_result__isset __isset;
-
- void __set_success(const std::string& val) {
- success = val;
- }
-
- void __set_ire(const ::airavata::api::error::InvalidRequestException& val) {
- ire = val;
- }
-
- void __set_ace(const ::airavata::api::error::AiravataClientException& val) {
- ace = val;
- }
-
- void __set_ase(const ::airavata::api::error::AiravataSystemException& val) {
- ase = val;
- }
-
- bool operator == (const ApplicationCatalogAPI_addGlobusJobSubmissionProtocol_result & rhs) const
- {
- if (!(success == rhs.success))
- return false;
- if (!(ire == rhs.ire))
- return false;
- if (!(ace == rhs.ace))
- return false;
- if (!(ase == rhs.ase))
- return false;
- return true;
- }
- bool operator != (const ApplicationCatalogAPI_addGlobusJobSubmissionProtocol_result &rhs) const {
- return !(*this == rhs);
- }
-
- bool operator < (const ApplicationCatalogAPI_addGlobusJobSubmissionProtocol_result & ) const;
-
- uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
- uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-};
-
-typedef struct _ApplicationCatalogAPI_addGlobusJobSubmissionProtocol_presult__isset {
- _ApplicationCatalogAPI_addGlobusJobSubmissionProtocol_presult__isset() : success(false), ire(false), ace(false), ase(false) {}
- bool success;
- bool ire;
- bool ace;
- bool ase;
-} _ApplicationCatalogAPI_addGlobusJobSubmissionProtocol_presult__isset;
-
-class ApplicationCatalogAPI_addGlobusJobSubmissionProtocol_presult {
- public:
-
-
- virtual ~ApplicationCatalogAPI_addGlobusJobSubmissionProtocol_presult() throw() {}
-
- std::string* success;
- ::airavata::api::error::InvalidRequestException ire;
- ::airavata::api::error::AiravataClientException ace;
- ::airavata::api::error::AiravataSystemException ase;
-
- _ApplicationCatalogAPI_addGlobusJobSubmissionProtocol_presult__isset __isset;
-
- uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
-
-};
-
-
-class ApplicationCatalogAPI_addSCPDataMovementProtocol_args {
- public:
-
- ApplicationCatalogAPI_addSCPDataMovementProtocol_args() : computeResourceId() {
- }
-
- virtual ~ApplicationCatalogAPI_addSCPDataMovementProtocol_args() throw() {}
-
- std::string computeResourceId;
- ::SCPDataMovement dataMovement;
-
- void __set_computeResourceId(const std::string& val) {
- computeResourceId = val;
- }
-
- void __set_dataMovement(const ::SCPDataMovement& val) {
- dataMovement = val;
- }
-
- bool operator == (const ApplicationCatalogAPI_addSCPDataMovementProtocol_args & rhs) const
- {
- if (!(computeResourceId == rhs.computeResourceId))
- return false;
- if (!(dataMovement == rhs.dataMovement))
- return false;
- return true;
- }
- bool operator != (const ApplicationCatalogAPI_addSCPDataMovementProtocol_args &rhs) const {
- return !(*this == rhs);
- }
-
- bool operator < (const ApplicationCatalogAPI_addSCPDataMovementProtocol_args & ) const;
-
- uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
- uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-};
-
-
-class ApplicationCatalogAPI_addSCPDataMovementProtocol_pargs {
- public:
-
-
- virtual ~ApplicationCatalogAPI_addSCPDataMovementProtocol_pargs() throw() {}
-
- const std::string* computeResourceId;
- const ::SCPDataMovement* dataMovement;
-
- uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-};
-
-typedef struct _ApplicationCatalogAPI_addSCPDataMovementProtocol_result__isset {
- _ApplicationCatalogAPI_addSCPDataMovementProtocol_result__isset() : success(false), ire(false), ace(false), ase(false) {}
- bool success;
- bool ire;
- bool ace;
- bool ase;
-} _ApplicationCatalogAPI_addSCPDataMovementProtocol_result__isset;
-
-class ApplicationCatalogAPI_addSCPDataMovementProtocol_result {
- public:
-
- ApplicationCatalogAPI_addSCPDataMovementProtocol_result() : success() {
- }
-
- virtual ~ApplicationCatalogAPI_addSCPDataMovementProtocol_result() throw() {}
-
- std::string success;
- ::airavata::api::error::InvalidRequestException ire;
- ::airavata::api::error::AiravataClientException ace;
- ::airavata::api::error::AiravataSystemException ase;
-
- _ApplicationCatalogAPI_addSCPDataMovementProtocol_result__isset __isset;
-
- void __set_success(const std::string& val) {
- success = val;
- }
-
- void __set_ire(const ::airavata::api::error::InvalidRequestException& val) {
- ire = val;
- }
-
- void __set_ace(const ::airavata::api::error::AiravataClientException& val) {
- ace = val;
- }
-
- void __set_ase(const ::airavata::api::error::AiravataSystemException& val) {
- ase = val;
- }
-
- bool operator == (const ApplicationCatalogAPI_addSCPDataMovementProtocol_result & rhs) const
- {
- if (!(success == rhs.success))
- return false;
- if (!(ire == rhs.ire))
- return false;
- if (!(ace == rhs.ace))
- return false;
- if (!(ase == rhs.ase))
- return false;
- return true;
- }
- bool operator != (const ApplicationCatalogAPI_addSCPDataMovementProtocol_result &rhs) const {
- return !(*this == rhs);
- }
-
- bool operator < (const ApplicationCatalogAPI_addSCPDataMovementProtocol_result & ) const;
-
- uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
- uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-};
-
-typedef struct _ApplicationCatalogAPI_addSCPDataMovementProtocol_presult__isset {
- _ApplicationCatalogAPI_addSCPDataMovementProtocol_presult__isset() : success(false), ire(false), ace(false), ase(false) {}
- bool success;
- bool ire;
- bool ace;
- bool ase;
-} _ApplicationCatalogAPI_addSCPDataMovementProtocol_presult__isset;
-
-class ApplicationCatalogAPI_addSCPDataMovementProtocol_presult {
- public:
-
-
- virtual ~ApplicationCatalogAPI_addSCPDataMovementProtocol_presult() throw() {}
-
- std::string* success;
- ::airavata::api::error::InvalidRequestException ire;
- ::airavata::api::error::AiravataClientException ace;
- ::airavata::api::error::AiravataSystemException ase;
-
- _ApplicationCatalogAPI_addSCPDataMovementProtocol_presult__isset __isset;
-
- uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
-
-};
-
-
-class ApplicationCatalogAPI_addGridFTPDataMovementProtocol_args {
- public:
-
- ApplicationCatalogAPI_addGridFTPDataMovementProtocol_args() : computeResourceId() {
- }
-
- virtual ~ApplicationCatalogAPI_addGridFTPDataMovementProtocol_args() throw() {}
-
- std::string computeResourceId;
- ::GridFTPDataMovement dataMovement;
-
- void __set_computeResourceId(const std::string& val) {
- computeResourceId = val;
- }
-
- void __set_dataMovement(const ::GridFTPDataMovement& val) {
- dataMovement = val;
- }
-
- bool operator == (const ApplicationCatalogAPI_addGridFTPDataMovementProtocol_args & rhs) const
- {
- if (!(computeResourceId == rhs.computeResourceId))
- return false;
- if (!(dataMovement == rhs.dataMovement))
- return false;
- return true;
- }
- bool operator != (const ApplicationCatalogAPI_addGridFTPDataMovementProtocol_args &rhs) const {
- return !(*this == rhs);
- }
-
- bool operator < (const ApplicationCatalogAPI_addGridFTPDataMovementProtocol_args & ) const;
-
- uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
- uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-};
-
-
-class ApplicationCatalogAPI_addGridFTPDataMovementProtocol_pargs {
- public:
-
-
- virtual ~ApplicationCatalogAPI_addGridFTPDataMovementProtocol_pargs() throw() {}
-
- const std::string* computeResourceId;
- const ::GridFTPDataMovement* dataMovement;
-
- uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-};
-
-typedef struct _ApplicationCatalogAPI_addGridFTPDataMovementProtocol_result__isset {
- _ApplicationCatalogAPI_addGridFTPDataMovementProtocol_result__isset() : success(false), ire(false), ace(false), ase(false) {}
- bool success;
- bool ire;
- bool ace;
- bool ase;
-} _ApplicationCatalogAPI_addGridFTPDataMovementProtocol_result__isset;
-
-class ApplicationCatalogAPI_addGridFTPDataMovementProtocol_result {
- public:
-
- ApplicationCatalogAPI_addGridFTPDataMovementProtocol_result() : success() {
- }
-
- virtual ~ApplicationCatalogAPI_addGridFTPDataMovementProtocol_result() throw() {}
-
- std::string success;
- ::airavata::api::error::InvalidRequestException ire;
- ::airavata::api::error::AiravataClientException ace;
- ::airavata::api::error::AiravataSystemException ase;
-
- _ApplicationCatalogAPI_addGridFTPDataMovementProtocol_result__isset __isset;
-
- void __set_success(const std::string& val) {
- success = val;
- }
-
- void __set_ire(const ::airavata::api::error::InvalidRequestException& val) {
- ire = val;
- }
-
- void __set_ace(const ::airavata::api::error::AiravataClientException& val) {
- ace = val;
- }
-
- void __set_ase(const ::airavata::api::error::AiravataSystemException& val) {
- ase = val;
- }
-
- bool operator == (const ApplicationCatalogAPI_addGridFTPDataMovementProtocol_result & rhs) const
- {
- if (!(success == rhs.success))
- return false;
- if (!(ire == rhs.ire))
- return false;
- if (!(ace == rhs.ace))
- return false;
- if (!(ase == rhs.ase))
- return false;
- return true;
- }
- bool operator != (const ApplicationCatalogAPI_addGridFTPDataMovementProtocol_result &rhs) const {
- return !(*this == rhs);
- }
-
- bool operator < (const ApplicationCatalogAPI_addGridFTPDataMovementProtocol_result & ) const;
-
- uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
- uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-};
-
-typedef struct _ApplicationCatalogAPI_addGridFTPDataMovementProtocol_presult__isset {
- _ApplicationCatalogAPI_addGridFTPDataMovementProtocol_presult__isset() : success(false), ire(false), ace(false), ase(false) {}
- bool success;
- bool ire;
- bool ace;
- bool ase;
-} _ApplicationCatalogAPI_addGridFTPDataMovementProtocol_presult__isset;
-
-class ApplicationCatalogAPI_addGridFTPDataMovementProtocol_presult {
- public:
-
-
- virtual ~ApplicationCatalogAPI_addGridFTPDataMovementProtocol_presult() throw() {}
-
- std::string* success;
- ::airavata::api::error::InvalidRequestException ire;
- ::airavata::api::error::AiravataClientException ace;
- ::airavata::api::error::AiravataSystemException ase;
-
- _ApplicationCatalogAPI_addGridFTPDataMovementProtocol_presult__isset __isset;
-
- uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
-
-};
-
-
-class ApplicationCatalogAPI_listComputeResourceDescriptions_args {
- public:
-
- ApplicationCatalogAPI_listComputeResourceDescriptions_args() {
- }
-
- virtual ~ApplicationCatalogAPI_listComputeResourceDescriptions_args() throw() {}
-
-
- bool operator == (const ApplicationCatalogAPI_listComputeResourceDescriptions_args & /* rhs */) const
- {
- return true;
- }
- bool operator != (const ApplicationCatalogAPI_listComputeResourceDescriptions_args &rhs) const {
- return !(*this == rhs);
- }
-
- bool operator < (const ApplicationCatalogAPI_listComputeResourceDescriptions_args & ) const;
-
- uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
- uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-};
-
-
-class ApplicationCatalogAPI_listComputeResourceDescriptions_pargs {
- public:
-
-
- virtual ~ApplicationCatalogAPI_listComputeResourceDescriptions_pargs() throw() {}
-
-
- uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-};
-
-typedef struct _ApplicationCatalogAPI_listComputeResourceDescriptions_result__isset {
- _ApplicationCatalogAPI_listComputeResourceDescriptions_result__isset() : success(false), ire(false), ace(false), ase(false) {}
- bool success;
- bool ire;
- bool ace;
- bool ase;
-} _ApplicationCatalogAPI_listComputeResourceDescriptions_result__isset;
-
-class ApplicationCatalogAPI_listComputeResourceDescriptions_result {
- public:
-
- ApplicationCatalogAPI_listComputeResourceDescriptions_result() {
- }
-
- virtual ~ApplicationCatalogAPI_listComputeResourceDescriptions_result() throw() {}
-
- std::vector<std::string> success;
- ::airavata::api::error::InvalidRequestException ire;
- ::airavata::api::error::AiravataClientException ace;
- ::airavata::api::error::AiravataSystemException ase;
-
- _ApplicationCatalogAPI_listComputeResourceDescriptions_result__isset __isset;
-
- void __set_success(const std::vector<std::string> & val) {
- success = val;
- }
-
- void __set_ire(const ::airavata::api::error::InvalidRequestException& val) {
- ire = val;
- }
-
- void __set_ace(const ::airavata::api::error::AiravataClientException& val) {
- ace = val;
- }
-
- void __set_ase(const ::airavata::api::error::AiravataSystemException& val) {
- ase = val;
- }
-
- bool operator == (const ApplicationCatalogAPI_listComputeResourceDescriptions_result & rhs) const
- {
- if (!(success == rhs.success))
- return false;
- if (!(ire == rhs.ire))
- return false;
- if (!(ace == rhs.ace))
- return false;
- if (!(ase == rhs.ase))
- return false;
- return true;
- }
- bool operator != (const ApplicationCatalogAPI_listComputeResourceDescriptions_result &rhs) const {
- return !(*this == rhs);
- }
-
- bool operator < (const ApplicationCatalogAPI_listComputeResourceDescriptions_result & ) const;
-
- uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
- uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-};
-
-typedef struct _ApplicationCatalogAPI_listComputeResourceDescriptions_presult__isset {
- _ApplicationCatalogAPI_listComputeResourceDescriptions_presult__isset() : success(false), ire(false), ace(false), ase(false) {}
- bool success;
- bool ire;
- bool ace;
- bool ase;
-} _ApplicationCatalogAPI_listComputeResourceDescriptions_presult__isset;
-
-class ApplicationCatalogAPI_listComputeResourceDescriptions_presult {
- public:
-
-
- virtual ~ApplicationCatalogAPI_listComputeResourceDescriptions_presult() throw() {}
-
- std::vector<std::string> * success;
- ::airavata::api::error::InvalidRequestException ire;
- ::airavata::api::error::AiravataClientException ace;
- ::airavata::api::error::AiravataSystemException ase;
-
- _ApplicationCatalogAPI_listComputeResourceDescriptions_presult__isset __isset;
-
- uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
-
-};
-
-
-class ApplicationCatalogAPI_getComputeResourceDescription_args {
- public:
-
- ApplicationCatalogAPI_getComputeResourceDescription_args() : computeResourceId() {
- }
-
- virtual ~ApplicationCatalogAPI_getComputeResourceDescription_args() throw() {}
-
- std::string computeResourceId;
-
- void __set_computeResourceId(const std::string& val) {
- computeResourceId = val;
- }
-
- bool operator == (const ApplicationCatalogAPI_getComputeResourceDescription_args & rhs) const
- {
- if (!(computeResourceId == rhs.computeResourceId))
- return false;
- return true;
- }
- bool operator != (const ApplicationCatalogAPI_getComputeResourceDescription_args &rhs) const {
- return !(*this == rhs);
- }
-
- bool operator < (const ApplicationCatalogAPI_getComputeResourceDescription_args & ) const;
-
- uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
- uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-};
-
-
-class ApplicationCatalogAPI_getComputeResourceDescription_pargs {
- public:
-
-
- virtual ~ApplicationCatalogAPI_getComputeResourceDescription_pargs() throw() {}
-
- const std::string* computeResourceId;
-
- uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-};
-
-typedef struct _ApplicationCatalogAPI_getComputeResourceDescription_result__isset {
- _ApplicationCatalogAPI_getComputeResourceDescription_result__isset() : success(false), ire(false), ace(false), ase(false) {}
- bool success;
- bool ire;
- bool ace;
- bool ase;
-} _ApplicationCatalogAPI_getComputeResourceDescription_result__isset;
-
-class ApplicationCatalogAPI_getComputeResourceDescription_result {
- public:
-
- ApplicationCatalogAPI_getComputeResourceDescription_result() {
- }
-
- virtual ~ApplicationCatalogAPI_getComputeResourceDescription_result() throw() {}
-
- ::ComputeResourceDescription success;
- ::airavata::api::error::InvalidRequestException ire;
- ::airavata::api::error::AiravataClientException ace;
- ::airavata::api::error::AiravataSystemException ase;
-
- _ApplicationCatalogAPI_getComputeResourceDescription_result__isset __isset;
-
- void __set_success(const ::ComputeResourceDescription& val) {
- success = val;
- }
-
- void __set_ire(const ::airavata::api::error::InvalidRequestException& val) {
- ire = val;
- }
-
- void __set_ace(const ::airavata::api::error::AiravataClientException& val) {
- ace = val;
- }
-
- void __set_ase(const ::airavata::api::error::AiravataSystemException& val) {
- ase = val;
- }
-
- bool operator == (const ApplicationCatalogAPI_getComputeResourceDescription_result & rhs) const
- {
- if (!(success == rhs.success))
- return false;
- if (!(ire == rhs.ire))
- return false;
- if (!(ace == rhs.ace))
- return false;
- if (!(ase == rhs.ase))
- return false;
- return true;
- }
- bool operator != (const ApplicationCatalogAPI_getComputeResourceDescription_result &rhs) const {
- return !(*this == rhs);
- }
-
- bool operator < (const ApplicationCatalogAPI_getComputeResourceDescription_result & ) const;
-
- uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
- uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-};
-
-typedef struct _ApplicationCatalogAPI_getComputeResourceDescription_presult__isset {
- _ApplicationCatalogAPI_getComputeResourceDescription_presult__isset() : success(false), ire(false), ace(false), ase(false) {}
- bool success;
- bool ire;
- bool ace;
- bool ase;
-} _ApplicationCatalogAPI_getComputeResourceDescription_presult__isset;
-
-class ApplicationCatalogAPI_getComputeResourceDescription_presult {
- public:
-
-
- virtual ~ApplicationCatalogAPI_getComputeResourceDescription_presult() throw() {}
-
- ::ComputeResourceDescription* success;
- ::airavata::api::error::InvalidRequestException ire;
- ::airavata::api::error::AiravataClientException ace;
- ::airavata::api::error::AiravataSystemException ase;
-
- _ApplicationCatalogAPI_getComputeResourceDescription_presult__isset __isset;
-
- uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
-
-};
-
-
-class ApplicationCatalogAPI_getSSHJobSubmissionProtocol_args {
- public:
-
- ApplicationCatalogAPI_getSSHJobSubmissionProtocol_args() : sshJobSubmissionProtocolResourceId() {
- }
-
- virtual ~ApplicationCatalogAPI_getSSHJobSubmissionProtocol_args() throw() {}
-
- std::string sshJobSubmissionProtocolResourceId;
-
- void __set_sshJobSubmissionProtocolResourceId(const std::string& val) {
- sshJobSubmissionProtocolResourceId = val;
- }
-
- bool operator == (const ApplicationCatalogAPI_getSSHJobSubmissionProtocol_args & rhs) const
- {
- if (!(sshJobSubmissionProtocolResourceId == rhs.sshJobSubmissionProtocolResourceId))
- return false;
- return true;
- }
- bool operator != (const ApplicationCatalogAPI_getSSHJobSubmissionProtocol_args &rhs) const {
- return !(*this == rhs);
- }
-
- bool operator < (const ApplicationCatalogAPI_getSSHJobSubmissionProtocol_args & ) const;
-
- uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
- uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-};
-
-
-class ApplicationCatalogAPI_getSSHJobSubmissionProtocol_pargs {
- public:
-
-
- virtual ~ApplicationCatalogAPI_getSSHJobSubmissionProtocol_pargs() throw() {}
-
- const std::string* sshJobSubmissionProtocolResourceId;
-
- uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-};
-
-typedef struct _ApplicationCatalogAPI_getSSHJobSubmissionProtocol_result__isset {
- _ApplicationCatalogAPI_getSSHJobSubmissionProtocol_result__isset() : success(false), ire(false), ace(false), ase(false) {}
- bool success;
- bool ire;
- bool ace;
- bool ase;
-} _ApplicationCatalogAPI_getSSHJobSubmissionProtocol_result__isset;
-
-class ApplicationCatalogAPI_getSSHJobSubmissionProtocol_result {
- public:
-
- ApplicationCatalogAPI_getSSHJobSubmissionProtocol_result() {
- }
-
- virtual ~ApplicationCatalogAPI_getSSHJobSubmissionProtocol_result() throw() {}
-
- ::SSHJobSubmission success;
- ::airavata::api::error::InvalidRequestException ire;
- ::airavata::api::error::AiravataClientException ace;
- ::airavata::api::error::AiravataSystemException ase;
-
- _ApplicationCatalogAPI_getSSHJobSubmissionProtocol_result__isset __isset;
-
- void __set_success(const ::SSHJobSubmission& val) {
- success = val;
- }
-
- void __set_ire(const ::airavata::api::error::InvalidRequestException& val) {
- ire = val;
- }
-
- void __set_ace(const ::airavata::api::error::AiravataClientException& val) {
- ace = val;
- }
-
- void __set_ase(const ::airavata::api::error::AiravataSystemException& val) {
- ase = val;
- }
-
- bool operator == (const ApplicationCatalogAPI_getSSHJobSubmissionProtocol_result & rhs) const
- {
- if (!(success == rhs.success))
- return false;
- if (!(ire == rhs.ire))
- return false;
- if (!(ace == rhs.ace))
- return false;
- if (!(ase == rhs.ase))
- return false;
- return true;
- }
- bool operator != (const ApplicationCatalogAPI_getSSHJobSubmissionProtocol_result &rhs) const {
- return !(*this == rhs);
- }
-
- bool operator < (const ApplicationCatalogAPI_getSSHJobSubmissionProtocol_result & ) const;
-
- uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
- uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-};
-
-typedef struct _ApplicationCatalogAPI_getSSHJobSubmissionProtocol_presult__isset {
- _ApplicationCatalogAPI_getSSHJobSubmissionProtocol_presult__isset() : success(false), ire(false), ace(false), ase(false) {}
- bool success;
- bool ire;
- bool ace;
- bool ase;
-} _ApplicationCatalogAPI_getSSHJobSubmissionProtocol_presult__isset;
-
-class ApplicationCatalogAPI_getSSHJobSubmissionProtocol_presult {
- public:
-
-
- virtual ~ApplicationCatalogAPI_getSSHJobSubmissionProtocol_presult() throw() {}
-
- ::SSHJobSubmission* success;
- ::airavata::api::error::InvalidRequestException ire;
- ::airavata::api::error::AiravataClientException ace;
- ::airavata::api::error::AiravataSystemException ase;
-
- _ApplicationCatalogAPI_getSSHJobSubmissionProtocol_presult__isset __isset;
-
- uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
-
-};
-
-
-class ApplicationCatalogAPI_getGSISSHJobSubmissionProtocol_args {
- public:
-
- ApplicationCatalogAPI_getGSISSHJobSubmissionProtocol_args() : gsisshJobSubmissionProtocolResourceId() {
- }
-
- virtual ~ApplicationCatalogAPI_getGSISSHJobSubmissionProtocol_args() throw() {}
-
- std::string gsisshJobSubmissionProtocolResourceId;
-
- void __set_gsisshJobSubmissionProtocolResourceId(const std::string& val) {
- gsisshJobSubmissionProtocolResourceId = val;
- }
-
- bool operator == (const ApplicationCatalogAPI_getGSISSHJobSubmissionProtocol_args & rhs) const
- {
- if (!(gsisshJobSubmissionProtocolResourceId == rhs.gsisshJobSubmissionProtocolResourceId))
- return false;
- return true;
- }
- bool operator != (const ApplicationCatalogAPI_getGSISSHJobSubmissionProtocol_args &rhs) const {
- return !(*this == rhs);
- }
-
- bool operator < (const ApplicationCatalogAPI_getGSISSHJobSubmissionProtocol_args & ) const;
-
- uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
- uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-};
-
-
-class ApplicationCatalogAPI_getGSISSHJobSubmissionProtocol_pargs {
- public:
-
-
- virtual ~ApplicationCatalogAPI_getGSISSHJobSubmissionProtocol_pargs() throw() {}
-
- const std::string* gsisshJobSubmissionProtocolResourceId;
-
- uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-};
-
-typedef struct _ApplicationCatalogAPI_getGSISSHJobSubmissionProtocol_result__isset {
- _ApplicationCatalogAPI_getGSISSHJobSubmissionProtocol_result__isset() : success(false), ire(false), ace(false), ase(false) {}
- bool success;
- bool ire;
- bool ace;
- bool ase;
-} _ApplicationCatalogAPI_getGSISSHJobSubmissionProtocol_result__isset;
-
-class ApplicationCatalogAPI_getGSISSHJobSubmissionProtocol_result {
- public:
-
- ApplicationCatalogAPI_getGSISSHJobSubmissionProtocol_result() {
- }
-
- virtual ~ApplicationCatalogAPI_getGSISSHJobSubmissionProtocol_result() throw() {}
-
- ::GSISSHJobSubmission success;
- ::airavata::api::error::InvalidRequestException ire;
- ::airavata::api::error::AiravataClientException ace;
- ::airavata::api::error::AiravataSystemException ase;
-
- _ApplicationCatalogAPI_getGSISSHJobSubmissionProtocol_result__isset __isset;
-
- void __set_success(const ::GSISSHJobSubmission& val) {
- success = val;
- }
-
- void __set_ire(const ::airavata::api::error::InvalidRequestException& val) {
- ire = val;
- }
-
- void __set_ace(const ::airavata::api::error::AiravataClientException& val) {
- ace = val;
- }
-
- void __set_ase(const ::airavata::api::error::AiravataSystemException& val) {
- ase = val;
- }
-
- bool operator == (const ApplicationCatalogAPI_getGSISSHJobSubmissionProtocol_result & rhs) const
- {
- if (!(success == rhs.success))
- return false;
- if (!(ire == rhs.ire))
- return false;
- if (!(ace == rhs.ace))
- return false;
- if (!(ase == rhs.ase))
- return false;
- return true;
- }
- bool operator != (const ApplicationCatalogAPI_getGSISSHJobSubmissionProtocol_result &rhs) const {
- return !(*this == rhs);
- }
-
- bool operator < (const ApplicationCatalogAPI_getGSISSHJobSubmissionProtocol_result & ) const;
-
- uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
- uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-};
-
-typedef struct _ApplicationCatalogAPI_getGSISSHJobSubmissionProtocol_presult__isset {
- _ApplicationCatalogAPI_getGSISSHJobSubmissionProtocol_presult__isset() : success(false), ire(false), ace(false), ase(false) {}
- bool success;
- bool ire;
- bool ace;
- bool ase;
-} _ApplicationCatalogAPI_getGSISSHJobSubmissionProtocol_presult__isset;
-
-class ApplicationCatalogAPI_getGSISSHJobSubmissionProtocol_presult {
- public:
-
-
- virtual ~ApplicationCatalogAPI_getGSISSHJobSubmissionProtocol_presult() throw() {}
-
- ::GSISSHJobSubmission* success;
- ::airavata::api::error::InvalidRequestException ire;
- ::airavata::api::error::AiravataClientException ace;
- ::airavata::api::error::AiravataSystemException ase;
-
- _ApplicationCatalogAPI_getGSISSHJobSubmissionProtocol_presult__isset __isset;
-
- uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
-
-};
-
-
-class ApplicationCatalogAPI_getGlobusJobSubmissionProtocol_args {
- public:
-
- ApplicationCatalogAPI_getGlobusJobSubmissionProtocol_args() : globusJobSubmissionProtocolResourceId() {
- }
-
- virtual ~ApplicationCatalogAPI_getGlobusJobSubmissionProtocol_args() throw() {}
-
- std::string globusJobSubmissionProtocolResourceId;
-
- void __set_globusJobSubmissionProtocolResourceId(const std::string& val) {
- globusJobSubmissionProtocolResourceId = val;
- }
-
- bool operator == (const ApplicationCatalogAPI_getGlobusJobSubmissionProtocol_args & rhs) const
- {
- if (!(globusJobSubmissionProtocolResourceId == rhs.globusJobSubmissionProtocolResourceId))
- return false;
- return true;
- }
- bool operator != (const ApplicationCatalogAPI_getGlobusJobSubmissionProtocol_args &rhs) const {
- return !(*this == rhs);
- }
-
- bool operator < (const ApplicationCatalogAPI_getGlobusJobSubmissionProtocol_args & ) const;
-
- uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
- uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-};
-
-
-class ApplicationCatalogAPI_getGlobusJobSubmissionProtocol_pargs {
- public:
-
-
- virtual ~ApplicationCatalogAPI_getGlobusJobSubmissionProtocol_pargs() throw() {}
-
- const std::string* globusJobSubmissionProtocolResourceId;
-
- uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-};
-
-typedef struct _ApplicationCatalogAPI_getGlobusJobSubmissionProtocol_result__isset {
- _ApplicationCatalogAPI_getGlobusJobSubmissionProtocol_result__isset() : success(false), ire(false), ace(false), ase(false) {}
- bool success;
- bool ire;
- bool ace;
- bool ase;
-} _ApplicationCatalogAPI_getGlobusJobSubmissionProtocol_result__isset;
-
-class ApplicationCatalogAPI_getGlobusJobSubmissionProtocol_result {
- public:
-
- ApplicationCatalogAPI_getGlobusJobSubmissionProtocol_result() {
- }
-
- virtual ~ApplicationCatalogAPI_getGlobusJobSubmissionProtocol_result() throw() {}
-
- ::GlobusJobSubmission success;
- ::airavata::api::error::InvalidRequestException ire;
- ::airavata::api::error::AiravataClientException ace;
- ::airavata::api::error::AiravataSystemException ase;
-
- _ApplicationCatalogAPI_getGlobusJobSubmissionProtocol_result__isset __isset;
-
- void __set_success(const ::GlobusJobSubmission& val) {
- success = val;
- }
-
- void __set_ire(const ::airavata::api::error::InvalidRequestException& val) {
- ire = val;
- }
-
- void __set_ace(const ::airavata::api::error::AiravataClientException& val) {
- ace = val;
- }
-
- void __set_ase(const ::airavata::api::error::AiravataSystemException& val) {
- ase = val;
- }
-
- bool operator == (const ApplicationCatalogAPI_getGlobusJobSubmissionProtocol_result & rhs) const
- {
- if (!(success == rhs.success))
- return false;
- if (!(ire == rhs.ire))
- return false;
- if (!(ace == rhs.ace))
- return false;
- if (!(ase == rhs.ase))
- return false;
- return true;
- }
- bool operator != (const ApplicationCatalogAPI_getGlobusJobSubmissionProtocol_result &rhs) const {
- return !(*this == rhs);
- }
-
- bool operator < (const ApplicationCatalogAPI_getGlobusJobSubmissionProtocol_result & ) const;
-
- uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
- uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-};
-
-typedef struct _ApplicationCatalogAPI_getGlobusJobSubmissionProtocol_presult__isset {
- _ApplicationCatalogAPI_getGlobusJobSubmissionProtocol_presult__isset() : success(false), ire(false), ace(false), ase(false) {}
- bool success;
- bool ire;
- bool ace;
- bool ase;
-} _ApplicationCatalogAPI_getGlobusJobSubmissionProtocol_presult__isset;
-
-class ApplicationCatalogAPI_getGlobusJobSubmissionProtocol_presult {
- public:
-
-
- virtual ~ApplicationCatalogAPI_getGlobusJobSubmissionProtocol_presult() throw() {}
-
- ::GlobusJobSubmission* success;
- ::airavata::api::error::InvalidRequestException ire;
- ::airavata::api::error::AiravataClientException ace;
- ::airavata::api::error::AiravataSystemException ase;
-
- _ApplicationCatalogAPI_getGlobusJobSubmissionProtocol_presult__isset __isset;
-
- uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
-
-};
-
-
-class ApplicationCatalogAPI_getSCPDataMovementProtocol_args {
- public:
-
- ApplicationCatalogAPI_getSCPDataMovementProtocol_args() : scpDataMovementResourceId() {
- }
-
- virtual ~ApplicationCatalogAPI_getSCPDataMovementProtocol_args() throw() {}
-
- std::string scpDataMovementResourceId;
-
- void __set_scpDataMovementResourceId(const std::string& val) {
- scpDataMovementResourceId = val;
- }
-
- bool operator == (const ApplicationCatalogAPI_getSCPDataMovementProtocol_args & rhs) const
- {
- if (!(scpDataMovementResourceId == rhs.scpDataMovementResourceId))
- return false;
- return true;
- }
- bool operator != (const ApplicationCatalogAPI_getSCPDataMovementProtocol_args &rhs) const {
- return !(*this == rhs);
- }
-
- bool operator < (const ApplicationCatalogAPI_getSCPDataMovementProtocol_args & ) const;
-
- uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
- uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-};
-
-
-class ApplicationCatalogAPI_getSCPDataMovementProtocol_pargs {
- public:
-
-
- virtual ~ApplicationCatalogAPI_getSCPDataMovementProtocol_pargs() throw() {}
-
- const std::string* scpDataMovementResourceId;
-
- uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-};
-
-typedef struct _ApplicationCatalogAPI_getSCPDataMovementProtocol_result__isset {
- _ApplicationCatalogAPI_getSCPDataMovementProtocol_result__isset() : success(false), ire(false), ace(false), ase(false) {}
- bool success;
- bool ire;
- bool ace;
- bool ase;
-} _ApplicationCatalogAPI_getSCPDataMovementProtocol_result__isset;
-
-class ApplicationCatalogAPI_getSCPDataMovementProtocol_result {
- public:
-
- ApplicationCatalogAPI_getSCPDataMovementProtocol_result() {
- }
-
- virtual ~ApplicationCatalogAPI_getSCPDataMovementProtocol_result() throw() {}
-
- ::SCPDataMovement success;
- ::airavata::api::error::InvalidRequestException ire;
- ::airavata::api::error::AiravataClientException ace;
- ::airavata::api::error::AiravataSystemException ase;
-
- _ApplicationCatalogAPI_getSCPDataMovementProtocol_result__isset __isset;
-
- void __set_success(const ::SCPDataMovement& val) {
- success = val;
- }
-
- void __set_ire(const ::airavata::api::error::InvalidRequestException& val) {
- ire = val;
- }
-
- void __set_ace(const ::airavata::api::error::AiravataClientException& val) {
- ace = val;
- }
-
- void __set_ase(const ::airavata::api::error::AiravataSystemException& val) {
- ase = val;
- }
-
- bool operator == (const ApplicationCatalogAPI_getSCPDataMovementProtocol_result & rhs) const
- {
- if (!(success == rhs.success))
- return false;
- if (!(ire == rhs.ire))
- return false;
- if (!(ace == rhs.ace))
- return false;
- if (!(ase == rhs.ase))
- return false;
- return true;
- }
- bool operator != (const ApplicationCatalogAPI_getSCPDataMovementProtocol_result &rhs) const {
- return !(*this == rhs);
- }
-
- bool operator < (const ApplicationCatalogAPI_getSCPDataMovementProtocol_result & ) const;
-
- uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
- uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-};
-
-typedef struct _ApplicationCatalogAPI_getSCPDataMovementProtocol_presult__isset {
- _ApplicationCatalogAPI_getSCPDataMovementProtocol_presult__isset() : success(false), ire(false), ace(false), ase(false) {}
- bool success;
- bool ire;
- bool ace;
- bool ase;
-} _ApplicationCatalogAPI_getSCPDataMovementProtocol_presult__isset;
-
-class ApplicationCatalogAPI_getSCPDataMovementProtocol_presult {
- public:
-
-
- virtual ~ApplicationCatalogAPI_getSCPDataMovementProtocol_presult() throw() {}
-
- ::SCPDataMovement* success;
- ::airavata::api::error::InvalidRequestException ire;
- ::airavata::api::error::AiravataClientException ace;
- ::airavata::api::error::AiravataSystemException ase;
-
- _ApplicationCatalogAPI_getSCPDataMovementProtocol_presult__isset __isset;
-
- uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
-
-};
-
-
-class ApplicationCatalogAPI_getGridFTPDataMovementProtocol_args {
- public:
-
- ApplicationCatalogAPI_getGridFTPDataMovementProtocol_args() : gridFTPDataMovementResourceId() {
- }
-
- virtual ~ApplicationCatalogAPI_getGridFTPDataMovementProtocol_args() throw() {}
-
- std::string gridFTPDataMovementResourceId;
-
- void __set_gridFTPDataMovementResourceId(const std::string& val) {
- gridFTPDataMovementResourceId = val;
- }
-
- bool operator == (const ApplicationCatalogAPI_getGridFTPDataMovementProtocol_args & rhs) const
- {
- if (!(gridFTPDataMovementResourceId == rhs.gridFTPDataMovementResourceId))
- return false;
- return true;
- }
- bool operator != (const ApplicationCatalogAPI_getGridFTPDataMovementProtocol_args &rhs) const {
- return !(*this == rhs);
- }
-
- bool operator < (const ApplicationCatalogAPI_getGridFTPDataMovementProtocol_args & ) const;
-
- uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
- uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-};
-
-
-class ApplicationCatalogAPI_getGridFTPDataMovementProtocol_pargs {
- public:
-
-
- virtual ~ApplicationCatalogAPI_getGridFTPDataMovementProtocol_pargs() throw() {}
-
- const std::string* gridFTPDataMovementResourceId;
-
- uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-};
-
-typedef struct _ApplicationCatalogAPI_getGridFTPDataMovementProtocol_result__isset {
- _ApplicationCatalogAPI_getGridFTPDataMovementProtocol_result__isset() : success(false), ire(false), ace(false), ase(false) {}
- bool success;
- bool ire;
- bool ace;
- bool ase;
-} _ApplicationCatalogAPI_getGridFTPDataMovementProtocol_result__isset;
-
-class ApplicationCatalogAPI_getGridFTPDataMovementProtocol_result {
- public:
-
- ApplicationCatalogAPI_getGridFTPDataMovementProtocol_result() {
- }
-
- virtual ~ApplicationCatalogAPI_getGridFTPDataMovementProtocol_result() throw() {}
-
- ::GridFTPDataMovement success;
- ::airavata::api::error::InvalidRequestException ire;
- ::airavata::api::error::AiravataClientException ace;
- ::airavata::api::error::AiravataSystemException ase;
-
- _ApplicationCatalogAPI_getGridFTPDataMovementProtocol_result__isset __isset;
-
- void __set_success(const ::GridFTPDataMovement& val) {
- success = val;
- }
-
- void __set_ire(const ::airavata::api::error::InvalidRequestException& val) {
- ire = val;
- }
-
- void __set_ace(const ::airavata::api::error::AiravataClientException& val) {
- ace = val;
- }
-
- void __set_ase(const ::airavata::api::error::AiravataSystemException& val) {
- ase = val;
- }
-
- bool operator == (const ApplicationCatalogAPI_getGridFTPDataMovementProtocol_result & rhs) const
- {
- if (!(success == rhs.success))
- return false;
- if (!(ire == rhs.ire))
- return false;
- if (!(ace == rhs.ace))
- return false;
- if (!(ase == rhs.ase))
- return false;
- return true;
- }
- bool operator != (const ApplicationCatalogAPI_getGridFTPDataMovementProtocol_result &rhs) const {
- return !(*this == rhs);
- }
-
- bool operator < (const ApplicationCatalogAPI_getGridFTPDataMovementProtocol_result & ) const;
-
- uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
- uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-};
-
-typedef struct _ApplicationCatalogAPI_getGridFTPDataMovementProtocol_presult__isset {
- _ApplicationCatalogAPI_getGridFTPDataMovementProtocol_presult__isset() : success(false), ire(false), ace(false), ase(false) {}
- bool success;
- bool ire;
- bool ace;
- bool ase;
-} _ApplicationCatalogAPI_getGridFTPDataMovementProtocol_presult__isset;
-
-class ApplicationCatalogAPI_getGridFTPDataMovementProtocol_presult {
- public:
-
-
- virtual ~ApplicationCatalogAPI_getGridFTPDataMovementProtocol_presult() throw() {}
-
- ::GridFTPDataMovement* success;
- ::airavata::api::error::InvalidRequestException ire;
- ::airavata::api::error::AiravataClientException ace;
- ::airavata::api::error::AiravataSystemException ase;
-
- _ApplicationCatalogAPI_getGridFTPDataMovementProtocol_presult__isset __isset;
-
- uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
-
-};
-
-
-class ApplicationCatalogAPI_isComputeResourceDescriptionRegistered_args {
- public:
-
- ApplicationCatalogAPI_isComputeResourceDescriptionRegistered_args() : hostName() {
- }
-
- virtual ~ApplicationCatalogAPI_isComputeResourceDescriptionRegistered_args() throw() {}
-
- std::string hostName;
-
- void __set_hostName(const std::string& val) {
- hostName = val;
- }
-
- bool operator == (const ApplicationCatalogAPI_isComputeResourceDescriptionRegistered_args & rhs) const
- {
- if (!(hostName == rhs.hostName))
- return false;
- return true;
- }
- bool operator != (const ApplicationCatalogAPI_isComputeResourceDescriptionRegistered_args &rhs) const {
- return !(*this == rhs);
- }
-
- bool operator < (const ApplicationCatalogAPI_isComputeResourceDescriptionRegistered_args & ) const;
-
- uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
- uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-};
-
-
-class ApplicationCatalogAPI_isComputeResourceDescriptionRegistered_pargs {
- public:
-
-
- virtual ~ApplicationCatalogAPI_isComputeResourceDescriptionRegistered_pargs() throw() {}
-
- const std::string* hostName;
-
- uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-};
-
-typedef struct _ApplicationCatalogAPI_isComputeResourceDescriptionRegistered_result__isset {
- _ApplicationCatalogAPI_isComputeResourceDescriptionRegistered_result__isset() : success(false), ire(false), ace(false), ase(false) {}
- bool success;
- bool ire;
- bool ace;
- bool ase;
-} _ApplicationCatalogAPI_isComputeResourceDescriptionRegistered_result__isset;
-
-class ApplicationCatalogAPI_isComputeResourceDescriptionRegistered_result {
- public:
-
- ApplicationCatalogAPI_isComputeResourceDescriptionRegistered_result() : success(0) {
- }
-
- virtual ~ApplicationCatalogAPI_isComputeResourceDescriptionRegistered_result() throw() {}
-
- bool success;
- ::airavata::api::error::InvalidRequestException ire;
- ::airavata::api::error::AiravataClientException ace;
- ::airavata::api::error::AiravataSystemException ase;
-
- _ApplicationCatalogAPI_isComputeResourceDescriptionRegistered_result__isset __isset;
-
- void __set_success(const bool val) {
- success = val;
- }
-
- void __set_ire(const ::airavata::api::error::InvalidRequestException& val) {
- ire = val;
- }
-
- void __set_ace(const ::airavata::api::error::AiravataClientException& val) {
- ace = val;
- }
-
- void __set_ase(const ::airavata::api::error::AiravataSystemException& val) {
- ase = val;
- }
-
- bool operator == (const ApplicationCatalogAPI_isComputeResourceDescriptionRegistered_result & rhs) const
- {
- if (!(success == rhs.success))
- return false;
- if (!(ire == rhs.ire))
- return false;
- if (!(ace == rhs.ace))
- return false;
- if (!(ase == rhs.ase))
- return false;
- return true;
- }
- bool operator != (const ApplicationCatalogAPI_isComputeResourceDescriptionRegistered_result &rhs) const {
- return !(*this == rhs);
- }
-
- bool operator < (const ApplicationCatalogAPI_isComputeResourceDescriptionRegistered_result & ) const;
-
- uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
- uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-};
-
-typedef struct _ApplicationCatalogAPI_isComputeResourceDescriptionRegistered_presult__isset {
- _ApplicationCatalogAPI_isComputeResourceDescriptionRegistered_presult__isset() : success(false), ire(false), ace(false), ase(false) {}
- bool success;
- bool ire;
- bool ace;
- bool ase;
-} _ApplicationCatalogAPI_isComputeResourceDescriptionRegistered_presult__isset;
-
-class ApplicationCatalogAPI_isComputeResourceDescriptionRegistered_presult {
- public:
-
-
- virtual ~ApplicationCatalogAPI_isComputeResourceDescriptionRegistered_presult() throw() {}
-
- bool* success;
- ::airavata::api::error::InvalidRequestException ire;
- ::airavata::api::error::AiravataClientException ace;
- ::airavata::api::error::AiravataSystemException ase;
-
- _ApplicationCatalogAPI_isComputeResourceDescriptionRegistered_presult__isset __isset;
-
- uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
-
-};
-
-
-class ApplicationCatalogAPI_getComputeResourceDescriptionFromHostName_args {
- public:
-
- ApplicationCatalogAPI_getComputeResourceDescriptionFromHostName_args() : hostName() {
- }
-
- virtual ~ApplicationCatalogAPI_getComputeResourceDescriptionFromHostName_args() throw() {}
-
- std::string hostName;
-
- void __set_hostName(const std::string& val) {
- hostName = val;
- }
-
- bool operator == (const ApplicationCatalogAPI_getComputeResourceDescriptionFromHostName_args & rhs) const
- {
- if (!(hostName == rhs.hostName))
- return false;
- return true;
- }
- bool operator != (const ApplicationCatalogAPI_getComputeResourceDescriptionFromHostName_args &rhs) const {
- return !(*this == rhs);
- }
-
- bool operator < (const ApplicationCatalogAPI_getComputeResourceDescriptionFromHostName_args & ) const;
-
- uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
- uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-};
-
-
-class ApplicationCatalogAPI_getComputeResourceDescriptionFromHostName_pargs {
- public:
-
-
- virtual ~ApplicationCatalogAPI_getComputeResourceDescriptionFromHostName_pargs() throw() {}
-
- const std::string* hostName;
-
- uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-};
-
-typedef struct _ApplicationCatalogAPI_getComputeResourceDescriptionFromHostName_result__isset {
- _ApplicationCatalogAPI_getComputeResourceDescriptionFromHostName_result__isset() : success(false), ire(false), ace(false), ase(false) {}
- bool success;
- bool ire;
- bool ace;
- bool ase;
-} _ApplicationCatalogAPI_getComputeResourceDescriptionFromHostName_result__isset;
-
-class ApplicationCatalogAPI_getComputeResourceDescriptionFromHostName_result {
- public:
-
- ApplicationCatalogAPI_getComputeResourceDescriptionFromHostName_result() {
- }
-
- virtual ~ApplicationCatalogAPI_getComputeResourceDescriptionFromHostName_result() throw() {}
-
- ::ComputeResourceDescription success;
- ::airavata::api::error::InvalidRequestException ire;
- ::airavata::api::error::AiravataClientException ace;
- ::airavata::api::error::AiravataSystemException ase;
-
- _ApplicationCatalogAPI_getComputeResourceDescriptionFromHostName_result__isset __isset;
-
- void __set_success(const ::ComputeResourceDescription& val) {
- success = val;
- }
-
- void __set_ire(const ::airavata::api::error::InvalidRequestException& val) {
- ire = val;
- }
-
- void __set_ace(const ::airavata::api::error::AiravataClientException& val) {
- ace = val;
- }
-
- void __set_ase(const ::airavata::api::error::AiravataSystemException& val) {
- ase = val;
- }
-
- bool operator == (const ApplicationCatalogAPI_getComputeResourceDescriptionFromHostName_result & rhs) const
- {
- if (!(success == rhs.success))
- return false;
- if (!(ire == rhs.ire))
- return false;
- if (!(ace == rhs.ace))
- return false;
- if (!(ase == rhs.ase))
- return false;
- return true;
- }
- bool operator != (const ApplicationCatalogAPI_getComputeResourceDescriptionFromHostName_result &rhs) const {
- return !(*this == rhs);
- }
-
- bool operator < (const ApplicationCatalogAPI_getComputeResourceDescriptionFromHostName_result & ) const;
-
- uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
- uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-};
-
-typedef struct _ApplicationCatalogAPI_getComputeResourceDescriptionFromHostName_presult__isset {
- _ApplicationCatalogAPI_getComputeResourceDescriptionFromHostName_presult__isset() : success(false), ire(false), ace(false), ase(false) {}
- bool success;
- bool ire;
- bool ace;
- bool ase;
-} _ApplicationCatalogAPI_getComputeResourceDescriptionFromHostName_presult__isset;
-
-class ApplicationCatalogAPI_getComputeResourceDescriptionFromHostName_presult {
- public:
-
-
- virtual ~ApplicationCatalogAPI_getComputeResourceDescriptionFromHostName_presult() throw() {}
-
- ::ComputeResourceDescription* success;
- ::airavata::api::error::InvalidRequestException ire;
- ::airavata::api::error::AiravataClientException ace;
- ::airavata::api::error::AiravataSystemException ase;
-
- _ApplicationCatalogAPI_getComputeResourceDescriptionFromHostName_presult__isset __isset;
-
- uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
-
-};
-
-
-class ApplicationCatalogAPI_addApplicationInterface_args {
- public:
-
- ApplicationCatalogAPI_addApplicationInterface_args() {
- }
-
- virtual ~ApplicationCatalogAPI_addApplicationInterface_args() throw() {}
-
- ::ApplicationInterfaceDescription applicationInterface;
-
- void __set_applicationInterface(const ::ApplicationInterfaceDescription& val) {
- applicationInterface = val;
- }
-
- bool operator == (const ApplicationCatalogAPI_addApplicationInterface_args & rhs) const
- {
- if (!(applicationInterface == rhs.applicationInterface))
- return false;
- return true;
- }
- bool operator != (const ApplicationCatalogAPI_addApplicationInterface_args &rhs) const {
- return !(*this == rhs);
- }
-
- bool operator < (const ApplicationCatalogAPI_addApplicationInterface_args & ) const;
-
- uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
- uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-};
-
-
-class ApplicationCatalogAPI_addApplicationInterface_pargs {
- public:
-
-
- virtual ~ApplicationCatalogAPI_addApplicationInterface_pargs() throw() {}
-
- const ::ApplicationInterfaceDescription* applicationInterface;
-
- uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-};
-
-typedef struct _ApplicationCatalogAPI_addApplicationInterface_result__isset {
- _ApplicationCatalogAPI_addApplicationInterface_result__isset() : success(false), ire(false), ace(false), ase(false) {}
- bool success;
- bool ire;
- bool ace;
- bool ase;
-} _ApplicationCatalogAPI_addApplicationInterface_result__isset;
-
-class ApplicationCatalogAPI_addApplicationInterface_result {
- public:
-
- ApplicationCatalogAPI_addApplicationInterface_result() : success() {
- }
-
- virtual ~ApplicationCatalogAPI_addApplicationInterface_result() throw() {}
-
- std::string success;
- ::airavata::api::error::InvalidRequestException ire;
- ::airavata::api::error::AiravataClientException ace;
- ::airavata::api::error::AiravataSystemException ase;
-
- _ApplicationCatalogAPI_addApplicationInterface_result__isset __isset;
-
- void __set_success(const std::string& val) {
- success = val;
- }
-
- void __set_ire(const ::airavata::api::error::InvalidRequestException& val) {
- ire = val;
- }
-
- void __set_ace(const ::airavata::api::error::AiravataClientException& val) {
- ace = val;
- }
-
- void __set_ase(const ::airavata::api::error::AiravataSystemException& val) {
- ase = val;
- }
-
- bool operator == (const ApplicationCatalogAPI_addApplicationInterface_result & rhs) const
- {
- if (!(success == rhs.success))
- return false;
- if (!(ire == rhs.ire))
- return false;
- if (!(ace == rhs.ace))
- return false;
- if (!(ase == rhs.ase))
- return false;
- return true;
- }
- bool operator != (const ApplicationCatalogAPI_addApplicationInterface_result &rhs) const {
- return !(*this == rhs);
- }
-
- bool operator < (const ApplicationCatalogAPI_addApplicationInterface_result & ) const;
-
- uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
- uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-};
-
-typedef struct _ApplicationCatalogAPI_addApplicationInterface_presult__isset {
- _ApplicationCatalogAPI_addApplicationInterface_presult__isset() : success(false), ire(false), ace(false), ase(false) {}
- bool success;
- bool ire;
- bool ace;
- bool ase;
-} _ApplicationCatalogAPI_addApplicationInterface_presult__isset;
-
-class ApplicationCatalogAPI_addApplicationInterface_presult {
- public:
-
-
- virtual ~ApplicationCatalogAPI_addApplicationInterface_presult() throw() {}
-
- std::string* success;
- ::airavata::api::error::InvalidRequestException ire;
- ::airavata::api::error::AiravataClientException ace;
- ::airavata::api::error::AiravataSystemException ase;
-
- _ApplicationCatalogAPI_addApplicationInterface_presult__isset __isset;
-
- uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
-
-};
-
-
-class ApplicationCatalogAPI_listApplicationInterfaceIds_args {
- public:
-
- ApplicationCatalogAPI_listApplicationInterfaceIds_args() {
- }
-
- virtual ~ApplicationCatalogAPI_listApplicationInterfaceIds_args() throw() {}
-
-
- bool operator == (const ApplicationCatalogAPI_listApplicationInterfaceIds_args & /* rhs */) const
- {
- return true;
- }
- bool operator != (const ApplicationCatalogAPI_listApplicationInterfaceIds_args &rhs) const {
- return !(*this == rhs);
- }
-
- bool operator < (const ApplicationCatalogAPI_listApplicationInterfaceIds_args & ) const;
-
- uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
- uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-};
-
-
-class ApplicationCatalogAPI_listApplicationInterfaceIds_pargs {
- public:
-
-
- virtual ~ApplicationCatalogAPI_listApplicationInterfaceIds_pargs() throw() {}
-
-
- uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-};
-
-typedef struct _ApplicationCatalogAPI_listApplicationInterfaceIds_result__isset {
- _ApplicationCatalogAPI_listApplicationInterfaceIds_result__isset() : success(false), ire(false), ace(false), ase(false) {}
- bool success;
- bool ire;
- bool ace;
- bool ase;
-} _ApplicationCatalogAPI_listApplicationInterfaceIds_result__isset;
-
-class ApplicationCatalogAPI_listApplicationInterfaceIds_result {
- public:
-
- ApplicationCatalogAPI_listApplicationInterfaceIds_result() {
- }
-
- virtual ~ApplicationCatalogAPI_listApplicationInterfaceIds_result() throw() {}
-
- std::vector<std::string> success;
- ::airavata::api::error::InvalidRequestException ire;
- ::airavata::api::error::AiravataClientException ace;
- ::airavata::api::error::AiravataSystemException ase;
-
- _ApplicationCatalogAPI_listApplicationInterfaceIds_result__isset __isset;
-
- void __set_success(const std::vector<std::string> & val) {
- success = val;
- }
-
- void __set_ire(const ::airavata::api::error::InvalidRequestException& val) {
- ire = val;
- }
-
- void __set_ace(const ::airavata::api::error::AiravataClientException& val) {
- ace = val;
- }
-
- void __set_ase(const ::airavata::api::error::AiravataSystemException& val) {
- ase = val;
- }
-
- bool operator == (const ApplicationCatalogAPI_listApplicationInterfaceIds_result & rhs) const
- {
- if (!(success == rhs.success))
- return false;
- if (!(ire == rhs.ire))
- return false;
- if (!(ace == rhs.ace))
- return false;
- if (!(ase == rhs.ase))
- return false;
- return true;
- }
- bool operator != (const ApplicationCatalogAPI_listApplicationInterfaceIds_result &rhs) const {
- return !(*this == rhs);
- }
-
- bool operator < (const ApplicationCatalogAPI_listApplicationInterfaceIds_result & ) const;
-
- uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
- uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-};
-
-typedef struct _ApplicationCatalogAPI_listApplicationInterfaceIds_presult__isset {
- _ApplicationCatalogAPI_listApplicationInterfaceIds_presult__isset() : success(false), ire(false), ace(false), ase(false) {}
- bool success;
- bool ire;
- bool ace;
- bool ase;
-} _ApplicationCatalogAPI_listApplicationInterfaceIds_presult__isset;
-
-class ApplicationCatalogAPI_listApplicationInterfaceIds_presult {
- public:
-
-
- virtual ~ApplicationCatalogAPI_listApplicationInterfaceIds_presult() throw() {}
-
- std::vector<std::string> * success;
- ::airavata::api::error::InvalidRequestException ire;
- ::airavata::api::error::AiravataClientException ace;
- ::airavata::api::error::AiravataSystemException ase;
-
- _ApplicationCatalogAPI_listApplicationInterfaceIds_presult__isset __isset;
-
- uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
-
-};
-
-
-class ApplicationCatalogAPI_getApplicationInterface_args {
- public:
-
- ApplicationCatalogAPI_getApplicationInterface_args() : applicationInterfaceId() {
- }
-
- virtual ~ApplicationCatalogAPI_getApplicationInterface_args() throw() {}
-
- std::string applicationInterfaceId;
-
- void __set_applicationInterfaceId(const std::string& val) {
- applicationInterfaceId = val;
- }
-
- bool operator == (const ApplicationCatalogAPI_getApplicationInterface_args & rhs) const
- {
- if (!(applicationInterfaceId == rhs.applicationInterfaceId))
- return false;
- return true;
- }
- bool operator != (const ApplicationCatalogAPI_getApplicationInterface_args &rhs) const {
- return !(*this == rhs);
- }
-
- bool operator < (const ApplicationCatalogAPI_getApplicationInterface_args & ) const;
-
- uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
- uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-};
-
-
-class ApplicationCatalogAPI_getApplicationInterface_pargs {
- public:
-
-
- virtual ~ApplicationCatalogAPI_getApplicationInterface_pargs() throw() {}
-
- const std::string* applicationInterfaceId;
-
- uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-};
-
-typedef struct _ApplicationCatalogAPI_getApplicationInterface_result__isset {
- _ApplicationCatalogAPI_getApplicationInterface_result__isset() : success(false), ire(false), ace(false), ase(false) {}
- bool success;
- bool ire;
- bool ace;
- bool ase;
-} _ApplicationCatalogAPI_getApplicationInterface_result__isset;
-
-class ApplicationCatalogAPI_getApplicationInterface_result {
- public:
-
- ApplicationCatalogAPI_getApplicationInterface_result() {
- }
-
- virtual ~ApplicationCatalogAPI_getApplicationInterface_result() throw() {}
-
- ::ApplicationInterfaceDescription success;
- ::airavata::api::error::InvalidRequestException ire;
- ::airavata::api::error::AiravataClientException ace;
- ::airavata::api::error::AiravataSystemException ase;
-
- _ApplicationCatalogAPI_getApplicationInterface_result__isset __isset;
-
- void __set_success(const ::ApplicationInterfaceDescription& val) {
- success = val;
- }
-
- void __set_ire(const ::airavata::api::error::InvalidRequestException& val) {
- ire = val;
- }
-
- void __set_ace(const ::airavata::api::error::AiravataClientException& val) {
- ace = val;
- }
-
- void __set_ase(const ::airavata::api::error::AiravataSystemException& val) {
- ase = val;
- }
-
- bool operator == (const ApplicationCatalogAPI_getApplicationInterface_result & rhs) const
- {
- if (!(success == rhs.success))
- return false;
- if (!(ire == rhs.ire))
- return false;
- if (!(ace == rhs.ace))
- return false;
- if (!(ase == rhs.ase))
- return false;
- return true;
- }
- bool operator != (const ApplicationCatalogAPI_getApplicationInterface_result &rhs) const {
- return !(*this == rhs);
- }
-
- bool operator < (const ApplicationCatalogAPI_getApplicationInterface_result & ) const;
-
- uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
- uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-};
-
-typedef struct _ApplicationCatalogAPI_getApplicationInterface_presult__isset {
- _ApplicationCatalogAPI_getApplicationInterface_presult__isset() : success(false), ire(false), ace(false), ase(false) {}
- bool success;
- bool ire;
- bool ace;
- bool ase;
-} _ApplicationCatalogAPI_getApplicationInterface_presult__isset;
-
-class ApplicationCatalogAPI_getApplicationInterface_presult {
- public:
-
-
- virtual ~ApplicationCatalogAPI_getApplicationInterface_presult() throw() {}
-
- ::ApplicationInterfaceDescription* success;
- ::airavata::api::error::InvalidRequestException ire;
- ::airavata::api::error::AiravataClientException ace;
- ::airavata::api::error::AiravataSystemException ase;
-
- _ApplicationCatalogAPI_getApplicationInterface_presult__isset __isset;
-
- uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
-
-};
-
-typedef struct _ApplicationCatalogAPI_registerAppicationModule_args__isset {
- _ApplicationCatalogAPI_registerAppicationModule_args__isset() : publish(false) {}
- bool publish;
-} _ApplicationCatalogAPI_registerAppicationModule_args__isset;
-
-class ApplicationCatalogAPI_registerAppicationModule_args {
- public:
-
- ApplicationCatalogAPI_registerAppicationModule_args() : publish(0) {
- }
-
- virtual ~ApplicationCatalogAPI_registerAppicationModule_args() throw() {}
-
- ::ApplicationModule applicationModule;
- bool publish;
-
- _ApplicationCatalogAPI_registerAppicationModule_args__isset __isset;
-
- void __set_applicationModule(const ::ApplicationModule& val) {
- applicationModule = val;
- }
-
- void __set_publish(const bool val) {
- publish = val;
- }
-
- bool operator == (const ApplicationCatalogAPI_registerAppicationModule_args & rhs) const
- {
- if (!(applicationModule == rhs.applicationModule))
- return false;
- if (!(publish == rhs.publish))
- return false;
- return true;
- }
- bool operator != (const ApplicationCatalogAPI_registerAppicationModule_args &rhs) const {
- return !(*this == rhs);
- }
-
- bool operator < (const ApplicationCatalogAPI_registerAppicationModule_args & ) const;
-
- uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
- uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-};
-
-
-class ApplicationCatalogAPI_registerAppicationModule_pargs {
- public:
-
-
- virtual ~ApplicationCatalogAPI_registerAppicationModule_pargs() throw() {}
-
- const ::ApplicationModule* applicationModule;
- const bool* publish;
-
- uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-};
-
-typedef struct _ApplicationCatalogAPI_registerAppicationModule_result__isset {
- _ApplicationCatalogAPI_registerAppicationModule_result__isset() : success(false), ire(false), ace(false), ase(false) {}
- bool success;
- bool ire;
- bool ace;
- bool ase;
-} _ApplicationCatalogAPI_registerAppicationModule_result__isset;
-
-class ApplicationCatalogAPI_registerAppicationModule_result {
- public:
-
- ApplicationCatalogAPI_registerAppicationModule_result() : success() {
- }
-
- virtual ~ApplicationCatalogAPI_registerAppicationModule_result() throw() {}
-
- std::string success;
- ::airavata::api::error
<TRUNCATED>
[14/47] Added c++ client samples for integrattion of airavata with
any other application's c++ interface
Posted by sm...@apache.org.
http://git-wip-us.apache.org/repos/asf/airavata/blob/f891b7dc/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/experimentModel_types.h
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/experimentModel_types.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/experimentModel_types.h
new file mode 100644
index 0000000..42a6005
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/experimentModel_types.h
@@ -0,0 +1,2077 @@
+/**
+ * Autogenerated by Thrift Compiler (0.9.1)
+ *
+ * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+ * @generated
+ */
+#ifndef experimentModel_TYPES_H
+#define experimentModel_TYPES_H
+
+#include <thrift/Thrift.h>
+#include <thrift/TApplicationException.h>
+#include <thrift/protocol/TProtocol.h>
+#include <thrift/transport/TTransport.h>
+
+#include <thrift/cxxfunctional.h>
+#include "computeResourceModel_types.h"
+
+
+namespace apache { namespace airavata { namespace model { namespace workspace { namespace experiment {
+
+struct ExperimentState {
+ enum type {
+ CREATED = 0,
+ VALIDATED = 1,
+ SCHEDULED = 2,
+ LAUNCHED = 3,
+ EXECUTING = 4,
+ CANCELING = 5,
+ CANCELED = 6,
+ SUSPENDED = 7,
+ COMPLETED = 8,
+ FAILED = 9,
+ UNKNOWN = 10
+ };
+};
+
+extern const std::map<int, const char*> _ExperimentState_VALUES_TO_NAMES;
+
+struct WorkflowNodeState {
+ enum type {
+ INVOKED = 0,
+ EXECUTING = 1,
+ CANCELING = 2,
+ CANCELED = 3,
+ SUSPENDED = 4,
+ COMPLETED = 5,
+ FAILED = 6,
+ UNKNOWN = 7
+ };
+};
+
+extern const std::map<int, const char*> _WorkflowNodeState_VALUES_TO_NAMES;
+
+struct TaskState {
+ enum type {
+ WAITING = 0,
+ STARTED = 1,
+ PRE_PROCESSING = 2,
+ CONFIGURING_WORKSPACE = 3,
+ INPUT_DATA_STAGING = 4,
+ OUTPUT_DATA_STAGING = 5,
+ POST_PROCESSING = 6,
+ EXECUTING = 7,
+ CANCELING = 8,
+ CANCELED = 9,
+ COMPLETED = 10,
+ FAILED = 11,
+ UNKNOWN = 12
+ };
+};
+
+extern const std::map<int, const char*> _TaskState_VALUES_TO_NAMES;
+
+struct JobState {
+ enum type {
+ SUBMITTED = 0,
+ UN_SUBMITTED = 1,
+ SETUP = 2,
+ QUEUED = 3,
+ ACTIVE = 4,
+ COMPLETE = 5,
+ CANCELING = 6,
+ CANCELED = 7,
+ FAILED = 8,
+ HELD = 9,
+ SUSPENDED = 10,
+ UNKNOWN = 11
+ };
+};
+
+extern const std::map<int, const char*> _JobState_VALUES_TO_NAMES;
+
+struct TransferState {
+ enum type {
+ DIRECTORY_SETUP = 0,
+ UPLOAD = 1,
+ DOWNLOAD = 2,
+ ACTIVE = 3,
+ COMPLETE = 4,
+ STDOUT_DOWNLOAD = 5,
+ STDERROR_DOWNLOAD = 6,
+ CANCELING = 7,
+ CANCELED = 8,
+ FAILED = 9,
+ HELD = 10,
+ SUSPENDED = 11,
+ UNKNOWN = 12
+ };
+};
+
+extern const std::map<int, const char*> _TransferState_VALUES_TO_NAMES;
+
+struct ActionableGroup {
+ enum type {
+ RESOURCE_ADMINS = 0,
+ AIRAVATA_ADMINS = 1,
+ GATEWAYS_ADMINS = 2,
+ USER = 3,
+ CANNOT_BE_DETERMINED = 4
+ };
+};
+
+extern const std::map<int, const char*> _ActionableGroup_VALUES_TO_NAMES;
+
+struct ErrorCategory {
+ enum type {
+ FILE_SYSTEM_FAILURE = 0,
+ APPLICATION_FAILURE = 1,
+ RESOURCE_NODE_FAILURE = 2,
+ DISK_FULL = 3,
+ INSUFFICIENT_ALLOCATION = 4,
+ SYSTEM_MAINTENANCE = 5,
+ AIRAVATA_INTERNAL_ERROR = 6,
+ CANNOT_BE_DETERMINED = 7
+ };
+};
+
+extern const std::map<int, const char*> _ErrorCategory_VALUES_TO_NAMES;
+
+struct CorrectiveAction {
+ enum type {
+ RETRY_SUBMISSION = 0,
+ CONTACT_SUPPORT = 1,
+ CANNOT_BE_DETERMINED = 2
+ };
+};
+
+extern const std::map<int, const char*> _CorrectiveAction_VALUES_TO_NAMES;
+
+struct DataType {
+ enum type {
+ STRING = 0,
+ INTEGER = 1,
+ URI = 2,
+ STDOUT = 3,
+ STDERR = 4
+ };
+};
+
+extern const std::map<int, const char*> _DataType_VALUES_TO_NAMES;
+
+struct ExecutionUnit {
+ enum type {
+ INPUT = 0,
+ APPLICATION = 1,
+ OUTPUT = 2
+ };
+};
+
+extern const std::map<int, const char*> _ExecutionUnit_VALUES_TO_NAMES;
+
+typedef struct _ExperimentStatus__isset {
+ _ExperimentStatus__isset() : timeOfStateChange(false) {}
+ bool timeOfStateChange;
+} _ExperimentStatus__isset;
+
+class ExperimentStatus {
+ public:
+
+ static const char* ascii_fingerprint; // = "1662AAADFABAB647546029B578B3B69B";
+ static const uint8_t binary_fingerprint[16]; // = {0x16,0x62,0xAA,0xAD,0xFA,0xBA,0xB6,0x47,0x54,0x60,0x29,0xB5,0x78,0xB3,0xB6,0x9B};
+
+ ExperimentStatus() : experimentState((ExperimentState::type)0), timeOfStateChange(0) {
+ }
+
+ virtual ~ExperimentStatus() throw() {}
+
+ ExperimentState::type experimentState;
+ int64_t timeOfStateChange;
+
+ _ExperimentStatus__isset __isset;
+
+ void __set_experimentState(const ExperimentState::type val) {
+ experimentState = val;
+ }
+
+ void __set_timeOfStateChange(const int64_t val) {
+ timeOfStateChange = val;
+ __isset.timeOfStateChange = true;
+ }
+
+ bool operator == (const ExperimentStatus & rhs) const
+ {
+ if (!(experimentState == rhs.experimentState))
+ return false;
+ if (__isset.timeOfStateChange != rhs.__isset.timeOfStateChange)
+ return false;
+ else if (__isset.timeOfStateChange && !(timeOfStateChange == rhs.timeOfStateChange))
+ return false;
+ return true;
+ }
+ bool operator != (const ExperimentStatus &rhs) const {
+ return !(*this == rhs);
+ }
+
+ bool operator < (const ExperimentStatus & ) const;
+
+ uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+ uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+void swap(ExperimentStatus &a, ExperimentStatus &b);
+
+typedef struct _WorkflowNodeStatus__isset {
+ _WorkflowNodeStatus__isset() : timeOfStateChange(false) {}
+ bool timeOfStateChange;
+} _WorkflowNodeStatus__isset;
+
+class WorkflowNodeStatus {
+ public:
+
+ static const char* ascii_fingerprint; // = "1662AAADFABAB647546029B578B3B69B";
+ static const uint8_t binary_fingerprint[16]; // = {0x16,0x62,0xAA,0xAD,0xFA,0xBA,0xB6,0x47,0x54,0x60,0x29,0xB5,0x78,0xB3,0xB6,0x9B};
+
+ WorkflowNodeStatus() : workflowNodeState((WorkflowNodeState::type)0), timeOfStateChange(0) {
+ }
+
+ virtual ~WorkflowNodeStatus() throw() {}
+
+ WorkflowNodeState::type workflowNodeState;
+ int64_t timeOfStateChange;
+
+ _WorkflowNodeStatus__isset __isset;
+
+ void __set_workflowNodeState(const WorkflowNodeState::type val) {
+ workflowNodeState = val;
+ }
+
+ void __set_timeOfStateChange(const int64_t val) {
+ timeOfStateChange = val;
+ __isset.timeOfStateChange = true;
+ }
+
+ bool operator == (const WorkflowNodeStatus & rhs) const
+ {
+ if (!(workflowNodeState == rhs.workflowNodeState))
+ return false;
+ if (__isset.timeOfStateChange != rhs.__isset.timeOfStateChange)
+ return false;
+ else if (__isset.timeOfStateChange && !(timeOfStateChange == rhs.timeOfStateChange))
+ return false;
+ return true;
+ }
+ bool operator != (const WorkflowNodeStatus &rhs) const {
+ return !(*this == rhs);
+ }
+
+ bool operator < (const WorkflowNodeStatus & ) const;
+
+ uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+ uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+void swap(WorkflowNodeStatus &a, WorkflowNodeStatus &b);
+
+typedef struct _TaskStatus__isset {
+ _TaskStatus__isset() : timeOfStateChange(false) {}
+ bool timeOfStateChange;
+} _TaskStatus__isset;
+
+class TaskStatus {
+ public:
+
+ static const char* ascii_fingerprint; // = "1662AAADFABAB647546029B578B3B69B";
+ static const uint8_t binary_fingerprint[16]; // = {0x16,0x62,0xAA,0xAD,0xFA,0xBA,0xB6,0x47,0x54,0x60,0x29,0xB5,0x78,0xB3,0xB6,0x9B};
+
+ TaskStatus() : executionState((TaskState::type)0), timeOfStateChange(0) {
+ }
+
+ virtual ~TaskStatus() throw() {}
+
+ TaskState::type executionState;
+ int64_t timeOfStateChange;
+
+ _TaskStatus__isset __isset;
+
+ void __set_executionState(const TaskState::type val) {
+ executionState = val;
+ }
+
+ void __set_timeOfStateChange(const int64_t val) {
+ timeOfStateChange = val;
+ __isset.timeOfStateChange = true;
+ }
+
+ bool operator == (const TaskStatus & rhs) const
+ {
+ if (!(executionState == rhs.executionState))
+ return false;
+ if (__isset.timeOfStateChange != rhs.__isset.timeOfStateChange)
+ return false;
+ else if (__isset.timeOfStateChange && !(timeOfStateChange == rhs.timeOfStateChange))
+ return false;
+ return true;
+ }
+ bool operator != (const TaskStatus &rhs) const {
+ return !(*this == rhs);
+ }
+
+ bool operator < (const TaskStatus & ) const;
+
+ uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+ uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+void swap(TaskStatus &a, TaskStatus &b);
+
+typedef struct _JobStatus__isset {
+ _JobStatus__isset() : timeOfStateChange(false) {}
+ bool timeOfStateChange;
+} _JobStatus__isset;
+
+class JobStatus {
+ public:
+
+ static const char* ascii_fingerprint; // = "1662AAADFABAB647546029B578B3B69B";
+ static const uint8_t binary_fingerprint[16]; // = {0x16,0x62,0xAA,0xAD,0xFA,0xBA,0xB6,0x47,0x54,0x60,0x29,0xB5,0x78,0xB3,0xB6,0x9B};
+
+ JobStatus() : jobState((JobState::type)0), timeOfStateChange(0) {
+ }
+
+ virtual ~JobStatus() throw() {}
+
+ JobState::type jobState;
+ int64_t timeOfStateChange;
+
+ _JobStatus__isset __isset;
+
+ void __set_jobState(const JobState::type val) {
+ jobState = val;
+ }
+
+ void __set_timeOfStateChange(const int64_t val) {
+ timeOfStateChange = val;
+ __isset.timeOfStateChange = true;
+ }
+
+ bool operator == (const JobStatus & rhs) const
+ {
+ if (!(jobState == rhs.jobState))
+ return false;
+ if (__isset.timeOfStateChange != rhs.__isset.timeOfStateChange)
+ return false;
+ else if (__isset.timeOfStateChange && !(timeOfStateChange == rhs.timeOfStateChange))
+ return false;
+ return true;
+ }
+ bool operator != (const JobStatus &rhs) const {
+ return !(*this == rhs);
+ }
+
+ bool operator < (const JobStatus & ) const;
+
+ uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+ uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+void swap(JobStatus &a, JobStatus &b);
+
+typedef struct _TransferStatus__isset {
+ _TransferStatus__isset() : timeOfStateChange(false) {}
+ bool timeOfStateChange;
+} _TransferStatus__isset;
+
+class TransferStatus {
+ public:
+
+ static const char* ascii_fingerprint; // = "1662AAADFABAB647546029B578B3B69B";
+ static const uint8_t binary_fingerprint[16]; // = {0x16,0x62,0xAA,0xAD,0xFA,0xBA,0xB6,0x47,0x54,0x60,0x29,0xB5,0x78,0xB3,0xB6,0x9B};
+
+ TransferStatus() : transferState((TransferState::type)0), timeOfStateChange(0) {
+ }
+
+ virtual ~TransferStatus() throw() {}
+
+ TransferState::type transferState;
+ int64_t timeOfStateChange;
+
+ _TransferStatus__isset __isset;
+
+ void __set_transferState(const TransferState::type val) {
+ transferState = val;
+ }
+
+ void __set_timeOfStateChange(const int64_t val) {
+ timeOfStateChange = val;
+ __isset.timeOfStateChange = true;
+ }
+
+ bool operator == (const TransferStatus & rhs) const
+ {
+ if (!(transferState == rhs.transferState))
+ return false;
+ if (__isset.timeOfStateChange != rhs.__isset.timeOfStateChange)
+ return false;
+ else if (__isset.timeOfStateChange && !(timeOfStateChange == rhs.timeOfStateChange))
+ return false;
+ return true;
+ }
+ bool operator != (const TransferStatus &rhs) const {
+ return !(*this == rhs);
+ }
+
+ bool operator < (const TransferStatus & ) const;
+
+ uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+ uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+void swap(TransferStatus &a, TransferStatus &b);
+
+typedef struct _ApplicationStatus__isset {
+ _ApplicationStatus__isset() : timeOfStateChange(false) {}
+ bool timeOfStateChange;
+} _ApplicationStatus__isset;
+
+class ApplicationStatus {
+ public:
+
+ static const char* ascii_fingerprint; // = "E17E126D15049701494262EE3246F603";
+ static const uint8_t binary_fingerprint[16]; // = {0xE1,0x7E,0x12,0x6D,0x15,0x04,0x97,0x01,0x49,0x42,0x62,0xEE,0x32,0x46,0xF6,0x03};
+
+ ApplicationStatus() : applicationState(), timeOfStateChange(0) {
+ }
+
+ virtual ~ApplicationStatus() throw() {}
+
+ std::string applicationState;
+ int64_t timeOfStateChange;
+
+ _ApplicationStatus__isset __isset;
+
+ void __set_applicationState(const std::string& val) {
+ applicationState = val;
+ }
+
+ void __set_timeOfStateChange(const int64_t val) {
+ timeOfStateChange = val;
+ __isset.timeOfStateChange = true;
+ }
+
+ bool operator == (const ApplicationStatus & rhs) const
+ {
+ if (!(applicationState == rhs.applicationState))
+ return false;
+ if (__isset.timeOfStateChange != rhs.__isset.timeOfStateChange)
+ return false;
+ else if (__isset.timeOfStateChange && !(timeOfStateChange == rhs.timeOfStateChange))
+ return false;
+ return true;
+ }
+ bool operator != (const ApplicationStatus &rhs) const {
+ return !(*this == rhs);
+ }
+
+ bool operator < (const ApplicationStatus & ) const;
+
+ uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+ uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+void swap(ApplicationStatus &a, ApplicationStatus &b);
+
+typedef struct _DataObjectType__isset {
+ _DataObjectType__isset() : value(false), type(false), metaData(false) {}
+ bool value;
+ bool type;
+ bool metaData;
+} _DataObjectType__isset;
+
+class DataObjectType {
+ public:
+
+ static const char* ascii_fingerprint; // = "544FBB8031AE070AEEB7AC0E4A90E43C";
+ static const uint8_t binary_fingerprint[16]; // = {0x54,0x4F,0xBB,0x80,0x31,0xAE,0x07,0x0A,0xEE,0xB7,0xAC,0x0E,0x4A,0x90,0xE4,0x3C};
+
+ DataObjectType() : key(), value(), type((DataType::type)0), metaData() {
+ }
+
+ virtual ~DataObjectType() throw() {}
+
+ std::string key;
+ std::string value;
+ DataType::type type;
+ std::string metaData;
+
+ _DataObjectType__isset __isset;
+
+ void __set_key(const std::string& val) {
+ key = val;
+ }
+
+ void __set_value(const std::string& val) {
+ value = val;
+ __isset.value = true;
+ }
+
+ void __set_type(const DataType::type val) {
+ type = val;
+ __isset.type = true;
+ }
+
+ void __set_metaData(const std::string& val) {
+ metaData = val;
+ __isset.metaData = true;
+ }
+
+ bool operator == (const DataObjectType & rhs) const
+ {
+ if (!(key == rhs.key))
+ return false;
+ if (__isset.value != rhs.__isset.value)
+ return false;
+ else if (__isset.value && !(value == rhs.value))
+ return false;
+ if (__isset.type != rhs.__isset.type)
+ return false;
+ else if (__isset.type && !(type == rhs.type))
+ return false;
+ if (__isset.metaData != rhs.__isset.metaData)
+ return false;
+ else if (__isset.metaData && !(metaData == rhs.metaData))
+ return false;
+ return true;
+ }
+ bool operator != (const DataObjectType &rhs) const {
+ return !(*this == rhs);
+ }
+
+ bool operator < (const DataObjectType & ) const;
+
+ uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+ uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+void swap(DataObjectType &a, DataObjectType &b);
+
+typedef struct _ComputationalResourceScheduling__isset {
+ _ComputationalResourceScheduling__isset() : resourceHostId(false), totalCPUCount(false), nodeCount(false), numberOfThreads(false), queueName(false), wallTimeLimit(false), jobStartTime(false), totalPhysicalMemory(false), computationalProjectAccount(false) {}
+ bool resourceHostId;
+ bool totalCPUCount;
+ bool nodeCount;
+ bool numberOfThreads;
+ bool queueName;
+ bool wallTimeLimit;
+ bool jobStartTime;
+ bool totalPhysicalMemory;
+ bool computationalProjectAccount;
+} _ComputationalResourceScheduling__isset;
+
+class ComputationalResourceScheduling {
+ public:
+
+ static const char* ascii_fingerprint; // = "32AC7AC41AD3753A7224A32FD6EB4B5D";
+ static const uint8_t binary_fingerprint[16]; // = {0x32,0xAC,0x7A,0xC4,0x1A,0xD3,0x75,0x3A,0x72,0x24,0xA3,0x2F,0xD6,0xEB,0x4B,0x5D};
+
+ ComputationalResourceScheduling() : resourceHostId(), totalCPUCount(0), nodeCount(0), numberOfThreads(0), queueName(), wallTimeLimit(0), jobStartTime(0), totalPhysicalMemory(0), computationalProjectAccount() {
+ }
+
+ virtual ~ComputationalResourceScheduling() throw() {}
+
+ std::string resourceHostId;
+ int32_t totalCPUCount;
+ int32_t nodeCount;
+ int32_t numberOfThreads;
+ std::string queueName;
+ int32_t wallTimeLimit;
+ int32_t jobStartTime;
+ int32_t totalPhysicalMemory;
+ std::string computationalProjectAccount;
+
+ _ComputationalResourceScheduling__isset __isset;
+
+ void __set_resourceHostId(const std::string& val) {
+ resourceHostId = val;
+ __isset.resourceHostId = true;
+ }
+
+ void __set_totalCPUCount(const int32_t val) {
+ totalCPUCount = val;
+ __isset.totalCPUCount = true;
+ }
+
+ void __set_nodeCount(const int32_t val) {
+ nodeCount = val;
+ __isset.nodeCount = true;
+ }
+
+ void __set_numberOfThreads(const int32_t val) {
+ numberOfThreads = val;
+ __isset.numberOfThreads = true;
+ }
+
+ void __set_queueName(const std::string& val) {
+ queueName = val;
+ __isset.queueName = true;
+ }
+
+ void __set_wallTimeLimit(const int32_t val) {
+ wallTimeLimit = val;
+ __isset.wallTimeLimit = true;
+ }
+
+ void __set_jobStartTime(const int32_t val) {
+ jobStartTime = val;
+ __isset.jobStartTime = true;
+ }
+
+ void __set_totalPhysicalMemory(const int32_t val) {
+ totalPhysicalMemory = val;
+ __isset.totalPhysicalMemory = true;
+ }
+
+ void __set_computationalProjectAccount(const std::string& val) {
+ computationalProjectAccount = val;
+ __isset.computationalProjectAccount = true;
+ }
+
+ bool operator == (const ComputationalResourceScheduling & rhs) const
+ {
+ if (__isset.resourceHostId != rhs.__isset.resourceHostId)
+ return false;
+ else if (__isset.resourceHostId && !(resourceHostId == rhs.resourceHostId))
+ return false;
+ if (__isset.totalCPUCount != rhs.__isset.totalCPUCount)
+ return false;
+ else if (__isset.totalCPUCount && !(totalCPUCount == rhs.totalCPUCount))
+ return false;
+ if (__isset.nodeCount != rhs.__isset.nodeCount)
+ return false;
+ else if (__isset.nodeCount && !(nodeCount == rhs.nodeCount))
+ return false;
+ if (__isset.numberOfThreads != rhs.__isset.numberOfThreads)
+ return false;
+ else if (__isset.numberOfThreads && !(numberOfThreads == rhs.numberOfThreads))
+ return false;
+ if (__isset.queueName != rhs.__isset.queueName)
+ return false;
+ else if (__isset.queueName && !(queueName == rhs.queueName))
+ return false;
+ if (__isset.wallTimeLimit != rhs.__isset.wallTimeLimit)
+ return false;
+ else if (__isset.wallTimeLimit && !(wallTimeLimit == rhs.wallTimeLimit))
+ return false;
+ if (__isset.jobStartTime != rhs.__isset.jobStartTime)
+ return false;
+ else if (__isset.jobStartTime && !(jobStartTime == rhs.jobStartTime))
+ return false;
+ if (__isset.totalPhysicalMemory != rhs.__isset.totalPhysicalMemory)
+ return false;
+ else if (__isset.totalPhysicalMemory && !(totalPhysicalMemory == rhs.totalPhysicalMemory))
+ return false;
+ if (__isset.computationalProjectAccount != rhs.__isset.computationalProjectAccount)
+ return false;
+ else if (__isset.computationalProjectAccount && !(computationalProjectAccount == rhs.computationalProjectAccount))
+ return false;
+ return true;
+ }
+ bool operator != (const ComputationalResourceScheduling &rhs) const {
+ return !(*this == rhs);
+ }
+
+ bool operator < (const ComputationalResourceScheduling & ) const;
+
+ uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+ uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+void swap(ComputationalResourceScheduling &a, ComputationalResourceScheduling &b);
+
+typedef struct _AdvancedInputDataHandling__isset {
+ _AdvancedInputDataHandling__isset() : stageInputFilesToWorkingDir(true), parentWorkingDirectory(false), uniqueWorkingDirectory(false), cleanUpWorkingDirAfterJob(true) {}
+ bool stageInputFilesToWorkingDir;
+ bool parentWorkingDirectory;
+ bool uniqueWorkingDirectory;
+ bool cleanUpWorkingDirAfterJob;
+} _AdvancedInputDataHandling__isset;
+
+class AdvancedInputDataHandling {
+ public:
+
+ static const char* ascii_fingerprint; // = "6139039875942E8B25C483838DD664B7";
+ static const uint8_t binary_fingerprint[16]; // = {0x61,0x39,0x03,0x98,0x75,0x94,0x2E,0x8B,0x25,0xC4,0x83,0x83,0x8D,0xD6,0x64,0xB7};
+
+ AdvancedInputDataHandling() : stageInputFilesToWorkingDir(false), parentWorkingDirectory(), uniqueWorkingDirectory(), cleanUpWorkingDirAfterJob(false) {
+ }
+
+ virtual ~AdvancedInputDataHandling() throw() {}
+
+ bool stageInputFilesToWorkingDir;
+ std::string parentWorkingDirectory;
+ std::string uniqueWorkingDirectory;
+ bool cleanUpWorkingDirAfterJob;
+
+ _AdvancedInputDataHandling__isset __isset;
+
+ void __set_stageInputFilesToWorkingDir(const bool val) {
+ stageInputFilesToWorkingDir = val;
+ __isset.stageInputFilesToWorkingDir = true;
+ }
+
+ void __set_parentWorkingDirectory(const std::string& val) {
+ parentWorkingDirectory = val;
+ __isset.parentWorkingDirectory = true;
+ }
+
+ void __set_uniqueWorkingDirectory(const std::string& val) {
+ uniqueWorkingDirectory = val;
+ __isset.uniqueWorkingDirectory = true;
+ }
+
+ void __set_cleanUpWorkingDirAfterJob(const bool val) {
+ cleanUpWorkingDirAfterJob = val;
+ __isset.cleanUpWorkingDirAfterJob = true;
+ }
+
+ bool operator == (const AdvancedInputDataHandling & rhs) const
+ {
+ if (__isset.stageInputFilesToWorkingDir != rhs.__isset.stageInputFilesToWorkingDir)
+ return false;
+ else if (__isset.stageInputFilesToWorkingDir && !(stageInputFilesToWorkingDir == rhs.stageInputFilesToWorkingDir))
+ return false;
+ if (__isset.parentWorkingDirectory != rhs.__isset.parentWorkingDirectory)
+ return false;
+ else if (__isset.parentWorkingDirectory && !(parentWorkingDirectory == rhs.parentWorkingDirectory))
+ return false;
+ if (__isset.uniqueWorkingDirectory != rhs.__isset.uniqueWorkingDirectory)
+ return false;
+ else if (__isset.uniqueWorkingDirectory && !(uniqueWorkingDirectory == rhs.uniqueWorkingDirectory))
+ return false;
+ if (__isset.cleanUpWorkingDirAfterJob != rhs.__isset.cleanUpWorkingDirAfterJob)
+ return false;
+ else if (__isset.cleanUpWorkingDirAfterJob && !(cleanUpWorkingDirAfterJob == rhs.cleanUpWorkingDirAfterJob))
+ return false;
+ return true;
+ }
+ bool operator != (const AdvancedInputDataHandling &rhs) const {
+ return !(*this == rhs);
+ }
+
+ bool operator < (const AdvancedInputDataHandling & ) const;
+
+ uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+ uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+void swap(AdvancedInputDataHandling &a, AdvancedInputDataHandling &b);
+
+typedef struct _AdvancedOutputDataHandling__isset {
+ _AdvancedOutputDataHandling__isset() : outputDataDir(false), dataRegistryURL(false), persistOutputData(true) {}
+ bool outputDataDir;
+ bool dataRegistryURL;
+ bool persistOutputData;
+} _AdvancedOutputDataHandling__isset;
+
+class AdvancedOutputDataHandling {
+ public:
+
+ static const char* ascii_fingerprint; // = "6EC898D3B5ECFF21200795BD22F73CD2";
+ static const uint8_t binary_fingerprint[16]; // = {0x6E,0xC8,0x98,0xD3,0xB5,0xEC,0xFF,0x21,0x20,0x07,0x95,0xBD,0x22,0xF7,0x3C,0xD2};
+
+ AdvancedOutputDataHandling() : outputDataDir(), dataRegistryURL(), persistOutputData(true) {
+ }
+
+ virtual ~AdvancedOutputDataHandling() throw() {}
+
+ std::string outputDataDir;
+ std::string dataRegistryURL;
+ bool persistOutputData;
+
+ _AdvancedOutputDataHandling__isset __isset;
+
+ void __set_outputDataDir(const std::string& val) {
+ outputDataDir = val;
+ __isset.outputDataDir = true;
+ }
+
+ void __set_dataRegistryURL(const std::string& val) {
+ dataRegistryURL = val;
+ __isset.dataRegistryURL = true;
+ }
+
+ void __set_persistOutputData(const bool val) {
+ persistOutputData = val;
+ __isset.persistOutputData = true;
+ }
+
+ bool operator == (const AdvancedOutputDataHandling & rhs) const
+ {
+ if (__isset.outputDataDir != rhs.__isset.outputDataDir)
+ return false;
+ else if (__isset.outputDataDir && !(outputDataDir == rhs.outputDataDir))
+ return false;
+ if (__isset.dataRegistryURL != rhs.__isset.dataRegistryURL)
+ return false;
+ else if (__isset.dataRegistryURL && !(dataRegistryURL == rhs.dataRegistryURL))
+ return false;
+ if (__isset.persistOutputData != rhs.__isset.persistOutputData)
+ return false;
+ else if (__isset.persistOutputData && !(persistOutputData == rhs.persistOutputData))
+ return false;
+ return true;
+ }
+ bool operator != (const AdvancedOutputDataHandling &rhs) const {
+ return !(*this == rhs);
+ }
+
+ bool operator < (const AdvancedOutputDataHandling & ) const;
+
+ uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+ uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+void swap(AdvancedOutputDataHandling &a, AdvancedOutputDataHandling &b);
+
+typedef struct _QualityOfServiceParams__isset {
+ _QualityOfServiceParams__isset() : startExecutionAt(false), executeBefore(false), numberofRetries(false) {}
+ bool startExecutionAt;
+ bool executeBefore;
+ bool numberofRetries;
+} _QualityOfServiceParams__isset;
+
+class QualityOfServiceParams {
+ public:
+
+ static const char* ascii_fingerprint; // = "35985D966603A273E8D7132543B44873";
+ static const uint8_t binary_fingerprint[16]; // = {0x35,0x98,0x5D,0x96,0x66,0x03,0xA2,0x73,0xE8,0xD7,0x13,0x25,0x43,0xB4,0x48,0x73};
+
+ QualityOfServiceParams() : startExecutionAt(), executeBefore(), numberofRetries(0) {
+ }
+
+ virtual ~QualityOfServiceParams() throw() {}
+
+ std::string startExecutionAt;
+ std::string executeBefore;
+ int32_t numberofRetries;
+
+ _QualityOfServiceParams__isset __isset;
+
+ void __set_startExecutionAt(const std::string& val) {
+ startExecutionAt = val;
+ __isset.startExecutionAt = true;
+ }
+
+ void __set_executeBefore(const std::string& val) {
+ executeBefore = val;
+ __isset.executeBefore = true;
+ }
+
+ void __set_numberofRetries(const int32_t val) {
+ numberofRetries = val;
+ __isset.numberofRetries = true;
+ }
+
+ bool operator == (const QualityOfServiceParams & rhs) const
+ {
+ if (__isset.startExecutionAt != rhs.__isset.startExecutionAt)
+ return false;
+ else if (__isset.startExecutionAt && !(startExecutionAt == rhs.startExecutionAt))
+ return false;
+ if (__isset.executeBefore != rhs.__isset.executeBefore)
+ return false;
+ else if (__isset.executeBefore && !(executeBefore == rhs.executeBefore))
+ return false;
+ if (__isset.numberofRetries != rhs.__isset.numberofRetries)
+ return false;
+ else if (__isset.numberofRetries && !(numberofRetries == rhs.numberofRetries))
+ return false;
+ return true;
+ }
+ bool operator != (const QualityOfServiceParams &rhs) const {
+ return !(*this == rhs);
+ }
+
+ bool operator < (const QualityOfServiceParams & ) const;
+
+ uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+ uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+void swap(QualityOfServiceParams &a, QualityOfServiceParams &b);
+
+typedef struct _UserConfigurationData__isset {
+ _UserConfigurationData__isset() : shareExperimentPublicly(true), computationalResourceScheduling(false), advanceInputDataHandling(false), advanceOutputDataHandling(false), qosParams(false) {}
+ bool shareExperimentPublicly;
+ bool computationalResourceScheduling;
+ bool advanceInputDataHandling;
+ bool advanceOutputDataHandling;
+ bool qosParams;
+} _UserConfigurationData__isset;
+
+class UserConfigurationData {
+ public:
+
+ static const char* ascii_fingerprint; // = "889486266D7ADC041ED1C586A2468611";
+ static const uint8_t binary_fingerprint[16]; // = {0x88,0x94,0x86,0x26,0x6D,0x7A,0xDC,0x04,0x1E,0xD1,0xC5,0x86,0xA2,0x46,0x86,0x11};
+
+ UserConfigurationData() : airavataAutoSchedule(false), overrideManualScheduledParams(false), shareExperimentPublicly(false) {
+ }
+
+ virtual ~UserConfigurationData() throw() {}
+
+ bool airavataAutoSchedule;
+ bool overrideManualScheduledParams;
+ bool shareExperimentPublicly;
+ ComputationalResourceScheduling computationalResourceScheduling;
+ AdvancedInputDataHandling advanceInputDataHandling;
+ AdvancedOutputDataHandling advanceOutputDataHandling;
+ QualityOfServiceParams qosParams;
+
+ _UserConfigurationData__isset __isset;
+
+ void __set_airavataAutoSchedule(const bool val) {
+ airavataAutoSchedule = val;
+ }
+
+ void __set_overrideManualScheduledParams(const bool val) {
+ overrideManualScheduledParams = val;
+ }
+
+ void __set_shareExperimentPublicly(const bool val) {
+ shareExperimentPublicly = val;
+ __isset.shareExperimentPublicly = true;
+ }
+
+ void __set_computationalResourceScheduling(const ComputationalResourceScheduling& val) {
+ computationalResourceScheduling = val;
+ __isset.computationalResourceScheduling = true;
+ }
+
+ void __set_advanceInputDataHandling(const AdvancedInputDataHandling& val) {
+ advanceInputDataHandling = val;
+ __isset.advanceInputDataHandling = true;
+ }
+
+ void __set_advanceOutputDataHandling(const AdvancedOutputDataHandling& val) {
+ advanceOutputDataHandling = val;
+ __isset.advanceOutputDataHandling = true;
+ }
+
+ void __set_qosParams(const QualityOfServiceParams& val) {
+ qosParams = val;
+ __isset.qosParams = true;
+ }
+
+ bool operator == (const UserConfigurationData & rhs) const
+ {
+ if (!(airavataAutoSchedule == rhs.airavataAutoSchedule))
+ return false;
+ if (!(overrideManualScheduledParams == rhs.overrideManualScheduledParams))
+ return false;
+ if (__isset.shareExperimentPublicly != rhs.__isset.shareExperimentPublicly)
+ return false;
+ else if (__isset.shareExperimentPublicly && !(shareExperimentPublicly == rhs.shareExperimentPublicly))
+ return false;
+ if (__isset.computationalResourceScheduling != rhs.__isset.computationalResourceScheduling)
+ return false;
+ else if (__isset.computationalResourceScheduling && !(computationalResourceScheduling == rhs.computationalResourceScheduling))
+ return false;
+ if (__isset.advanceInputDataHandling != rhs.__isset.advanceInputDataHandling)
+ return false;
+ else if (__isset.advanceInputDataHandling && !(advanceInputDataHandling == rhs.advanceInputDataHandling))
+ return false;
+ if (__isset.advanceOutputDataHandling != rhs.__isset.advanceOutputDataHandling)
+ return false;
+ else if (__isset.advanceOutputDataHandling && !(advanceOutputDataHandling == rhs.advanceOutputDataHandling))
+ return false;
+ if (__isset.qosParams != rhs.__isset.qosParams)
+ return false;
+ else if (__isset.qosParams && !(qosParams == rhs.qosParams))
+ return false;
+ return true;
+ }
+ bool operator != (const UserConfigurationData &rhs) const {
+ return !(*this == rhs);
+ }
+
+ bool operator < (const UserConfigurationData & ) const;
+
+ uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+ uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+void swap(UserConfigurationData &a, UserConfigurationData &b);
+
+typedef struct _ErrorDetails__isset {
+ _ErrorDetails__isset() : creationTime(false), actualErrorMessage(false), userFriendlyMessage(false), errorCategory(false), transientOrPersistent(true), correctiveAction(false), actionableGroup(false), rootCauseErrorIdList(false) {}
+ bool creationTime;
+ bool actualErrorMessage;
+ bool userFriendlyMessage;
+ bool errorCategory;
+ bool transientOrPersistent;
+ bool correctiveAction;
+ bool actionableGroup;
+ bool rootCauseErrorIdList;
+} _ErrorDetails__isset;
+
+class ErrorDetails {
+ public:
+
+ static const char* ascii_fingerprint; // = "170CA6E79EB283F31417B9D68071DA33";
+ static const uint8_t binary_fingerprint[16]; // = {0x17,0x0C,0xA6,0xE7,0x9E,0xB2,0x83,0xF3,0x14,0x17,0xB9,0xD6,0x80,0x71,0xDA,0x33};
+
+ ErrorDetails() : errorID("DO_NOT_SET_AT_CLIENTS"), creationTime(0), actualErrorMessage(), userFriendlyMessage(), errorCategory((ErrorCategory::type)0), transientOrPersistent(false), correctiveAction((CorrectiveAction::type)0), actionableGroup((ActionableGroup::type)0) {
+ }
+
+ virtual ~ErrorDetails() throw() {}
+
+ std::string errorID;
+ int64_t creationTime;
+ std::string actualErrorMessage;
+ std::string userFriendlyMessage;
+ ErrorCategory::type errorCategory;
+ bool transientOrPersistent;
+ CorrectiveAction::type correctiveAction;
+ ActionableGroup::type actionableGroup;
+ std::vector<std::string> rootCauseErrorIdList;
+
+ _ErrorDetails__isset __isset;
+
+ void __set_errorID(const std::string& val) {
+ errorID = val;
+ }
+
+ void __set_creationTime(const int64_t val) {
+ creationTime = val;
+ __isset.creationTime = true;
+ }
+
+ void __set_actualErrorMessage(const std::string& val) {
+ actualErrorMessage = val;
+ __isset.actualErrorMessage = true;
+ }
+
+ void __set_userFriendlyMessage(const std::string& val) {
+ userFriendlyMessage = val;
+ __isset.userFriendlyMessage = true;
+ }
+
+ void __set_errorCategory(const ErrorCategory::type val) {
+ errorCategory = val;
+ __isset.errorCategory = true;
+ }
+
+ void __set_transientOrPersistent(const bool val) {
+ transientOrPersistent = val;
+ __isset.transientOrPersistent = true;
+ }
+
+ void __set_correctiveAction(const CorrectiveAction::type val) {
+ correctiveAction = val;
+ __isset.correctiveAction = true;
+ }
+
+ void __set_actionableGroup(const ActionableGroup::type val) {
+ actionableGroup = val;
+ __isset.actionableGroup = true;
+ }
+
+ void __set_rootCauseErrorIdList(const std::vector<std::string> & val) {
+ rootCauseErrorIdList = val;
+ __isset.rootCauseErrorIdList = true;
+ }
+
+ bool operator == (const ErrorDetails & rhs) const
+ {
+ if (!(errorID == rhs.errorID))
+ return false;
+ if (__isset.creationTime != rhs.__isset.creationTime)
+ return false;
+ else if (__isset.creationTime && !(creationTime == rhs.creationTime))
+ return false;
+ if (__isset.actualErrorMessage != rhs.__isset.actualErrorMessage)
+ return false;
+ else if (__isset.actualErrorMessage && !(actualErrorMessage == rhs.actualErrorMessage))
+ return false;
+ if (__isset.userFriendlyMessage != rhs.__isset.userFriendlyMessage)
+ return false;
+ else if (__isset.userFriendlyMessage && !(userFriendlyMessage == rhs.userFriendlyMessage))
+ return false;
+ if (__isset.errorCategory != rhs.__isset.errorCategory)
+ return false;
+ else if (__isset.errorCategory && !(errorCategory == rhs.errorCategory))
+ return false;
+ if (__isset.transientOrPersistent != rhs.__isset.transientOrPersistent)
+ return false;
+ else if (__isset.transientOrPersistent && !(transientOrPersistent == rhs.transientOrPersistent))
+ return false;
+ if (__isset.correctiveAction != rhs.__isset.correctiveAction)
+ return false;
+ else if (__isset.correctiveAction && !(correctiveAction == rhs.correctiveAction))
+ return false;
+ if (__isset.actionableGroup != rhs.__isset.actionableGroup)
+ return false;
+ else if (__isset.actionableGroup && !(actionableGroup == rhs.actionableGroup))
+ return false;
+ if (__isset.rootCauseErrorIdList != rhs.__isset.rootCauseErrorIdList)
+ return false;
+ else if (__isset.rootCauseErrorIdList && !(rootCauseErrorIdList == rhs.rootCauseErrorIdList))
+ return false;
+ return true;
+ }
+ bool operator != (const ErrorDetails &rhs) const {
+ return !(*this == rhs);
+ }
+
+ bool operator < (const ErrorDetails & ) const;
+
+ uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+ uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+void swap(ErrorDetails &a, ErrorDetails &b);
+
+typedef struct _JobDetails__isset {
+ _JobDetails__isset() : creationTime(false), jobStatus(false), applicationStatus(false), errors(false), computeResourceConsumed(false) {}
+ bool creationTime;
+ bool jobStatus;
+ bool applicationStatus;
+ bool errors;
+ bool computeResourceConsumed;
+} _JobDetails__isset;
+
+class JobDetails {
+ public:
+
+ static const char* ascii_fingerprint; // = "5946807521C11BC65075D497F8568057";
+ static const uint8_t binary_fingerprint[16]; // = {0x59,0x46,0x80,0x75,0x21,0xC1,0x1B,0xC6,0x50,0x75,0xD4,0x97,0xF8,0x56,0x80,0x57};
+
+ JobDetails() : jobID("DO_NOT_SET_AT_CLIENTS"), jobDescription(), creationTime(0), computeResourceConsumed() {
+ }
+
+ virtual ~JobDetails() throw() {}
+
+ std::string jobID;
+ std::string jobDescription;
+ int64_t creationTime;
+ JobStatus jobStatus;
+ ApplicationStatus applicationStatus;
+ std::vector<ErrorDetails> errors;
+ std::string computeResourceConsumed;
+
+ _JobDetails__isset __isset;
+
+ void __set_jobID(const std::string& val) {
+ jobID = val;
+ }
+
+ void __set_jobDescription(const std::string& val) {
+ jobDescription = val;
+ }
+
+ void __set_creationTime(const int64_t val) {
+ creationTime = val;
+ __isset.creationTime = true;
+ }
+
+ void __set_jobStatus(const JobStatus& val) {
+ jobStatus = val;
+ __isset.jobStatus = true;
+ }
+
+ void __set_applicationStatus(const ApplicationStatus& val) {
+ applicationStatus = val;
+ __isset.applicationStatus = true;
+ }
+
+ void __set_errors(const std::vector<ErrorDetails> & val) {
+ errors = val;
+ __isset.errors = true;
+ }
+
+ void __set_computeResourceConsumed(const std::string& val) {
+ computeResourceConsumed = val;
+ __isset.computeResourceConsumed = true;
+ }
+
+ bool operator == (const JobDetails & rhs) const
+ {
+ if (!(jobID == rhs.jobID))
+ return false;
+ if (!(jobDescription == rhs.jobDescription))
+ return false;
+ if (__isset.creationTime != rhs.__isset.creationTime)
+ return false;
+ else if (__isset.creationTime && !(creationTime == rhs.creationTime))
+ return false;
+ if (__isset.jobStatus != rhs.__isset.jobStatus)
+ return false;
+ else if (__isset.jobStatus && !(jobStatus == rhs.jobStatus))
+ return false;
+ if (__isset.applicationStatus != rhs.__isset.applicationStatus)
+ return false;
+ else if (__isset.applicationStatus && !(applicationStatus == rhs.applicationStatus))
+ return false;
+ if (__isset.errors != rhs.__isset.errors)
+ return false;
+ else if (__isset.errors && !(errors == rhs.errors))
+ return false;
+ if (__isset.computeResourceConsumed != rhs.__isset.computeResourceConsumed)
+ return false;
+ else if (__isset.computeResourceConsumed && !(computeResourceConsumed == rhs.computeResourceConsumed))
+ return false;
+ return true;
+ }
+ bool operator != (const JobDetails &rhs) const {
+ return !(*this == rhs);
+ }
+
+ bool operator < (const JobDetails & ) const;
+
+ uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+ uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+void swap(JobDetails &a, JobDetails &b);
+
+typedef struct _DataTransferDetails__isset {
+ _DataTransferDetails__isset() : creationTime(false), transferStatus(false) {}
+ bool creationTime;
+ bool transferStatus;
+} _DataTransferDetails__isset;
+
+class DataTransferDetails {
+ public:
+
+ static const char* ascii_fingerprint; // = "40D4FEC20E3B334AEEBA92DA2AB9E91E";
+ static const uint8_t binary_fingerprint[16]; // = {0x40,0xD4,0xFE,0xC2,0x0E,0x3B,0x33,0x4A,0xEE,0xBA,0x92,0xDA,0x2A,0xB9,0xE9,0x1E};
+
+ DataTransferDetails() : transferID("DO_NOT_SET_AT_CLIENTS"), creationTime(0), transferDescription() {
+ }
+
+ virtual ~DataTransferDetails() throw() {}
+
+ std::string transferID;
+ int64_t creationTime;
+ std::string transferDescription;
+ TransferStatus transferStatus;
+
+ _DataTransferDetails__isset __isset;
+
+ void __set_transferID(const std::string& val) {
+ transferID = val;
+ }
+
+ void __set_creationTime(const int64_t val) {
+ creationTime = val;
+ __isset.creationTime = true;
+ }
+
+ void __set_transferDescription(const std::string& val) {
+ transferDescription = val;
+ }
+
+ void __set_transferStatus(const TransferStatus& val) {
+ transferStatus = val;
+ __isset.transferStatus = true;
+ }
+
+ bool operator == (const DataTransferDetails & rhs) const
+ {
+ if (!(transferID == rhs.transferID))
+ return false;
+ if (__isset.creationTime != rhs.__isset.creationTime)
+ return false;
+ else if (__isset.creationTime && !(creationTime == rhs.creationTime))
+ return false;
+ if (!(transferDescription == rhs.transferDescription))
+ return false;
+ if (__isset.transferStatus != rhs.__isset.transferStatus)
+ return false;
+ else if (__isset.transferStatus && !(transferStatus == rhs.transferStatus))
+ return false;
+ return true;
+ }
+ bool operator != (const DataTransferDetails &rhs) const {
+ return !(*this == rhs);
+ }
+
+ bool operator < (const DataTransferDetails & ) const;
+
+ uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+ uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+void swap(DataTransferDetails &a, DataTransferDetails &b);
+
+typedef struct _TaskDetails__isset {
+ _TaskDetails__isset() : creationTime(false), applicationId(false), applicationVersion(false), applicationDeploymentId(false), applicationInputs(false), applicationOutputs(false), taskScheduling(false), advancedInputDataHandling(false), advancedOutputDataHandling(false), taskStatus(false), jobDetailsList(false), dataTransferDetailsList(false), errors(false) {}
+ bool creationTime;
+ bool applicationId;
+ bool applicationVersion;
+ bool applicationDeploymentId;
+ bool applicationInputs;
+ bool applicationOutputs;
+ bool taskScheduling;
+ bool advancedInputDataHandling;
+ bool advancedOutputDataHandling;
+ bool taskStatus;
+ bool jobDetailsList;
+ bool dataTransferDetailsList;
+ bool errors;
+} _TaskDetails__isset;
+
+class TaskDetails {
+ public:
+
+ static const char* ascii_fingerprint; // = "482C560A67EC84E3BEB13AFC5FEDA02C";
+ static const uint8_t binary_fingerprint[16]; // = {0x48,0x2C,0x56,0x0A,0x67,0xEC,0x84,0xE3,0xBE,0xB1,0x3A,0xFC,0x5F,0xED,0xA0,0x2C};
+
+ TaskDetails() : taskID("DO_NOT_SET_AT_CLIENTS"), creationTime(0), applicationId(), applicationVersion(), applicationDeploymentId() {
+ }
+
+ virtual ~TaskDetails() throw() {}
+
+ std::string taskID;
+ int64_t creationTime;
+ std::string applicationId;
+ std::string applicationVersion;
+ std::string applicationDeploymentId;
+ std::vector<DataObjectType> applicationInputs;
+ std::vector<DataObjectType> applicationOutputs;
+ ComputationalResourceScheduling taskScheduling;
+ AdvancedInputDataHandling advancedInputDataHandling;
+ AdvancedOutputDataHandling advancedOutputDataHandling;
+ TaskStatus taskStatus;
+ std::vector<JobDetails> jobDetailsList;
+ std::vector<DataTransferDetails> dataTransferDetailsList;
+ std::vector<ErrorDetails> errors;
+
+ _TaskDetails__isset __isset;
+
+ void __set_taskID(const std::string& val) {
+ taskID = val;
+ }
+
+ void __set_creationTime(const int64_t val) {
+ creationTime = val;
+ __isset.creationTime = true;
+ }
+
+ void __set_applicationId(const std::string& val) {
+ applicationId = val;
+ __isset.applicationId = true;
+ }
+
+ void __set_applicationVersion(const std::string& val) {
+ applicationVersion = val;
+ __isset.applicationVersion = true;
+ }
+
+ void __set_applicationDeploymentId(const std::string& val) {
+ applicationDeploymentId = val;
+ __isset.applicationDeploymentId = true;
+ }
+
+ void __set_applicationInputs(const std::vector<DataObjectType> & val) {
+ applicationInputs = val;
+ __isset.applicationInputs = true;
+ }
+
+ void __set_applicationOutputs(const std::vector<DataObjectType> & val) {
+ applicationOutputs = val;
+ __isset.applicationOutputs = true;
+ }
+
+ void __set_taskScheduling(const ComputationalResourceScheduling& val) {
+ taskScheduling = val;
+ __isset.taskScheduling = true;
+ }
+
+ void __set_advancedInputDataHandling(const AdvancedInputDataHandling& val) {
+ advancedInputDataHandling = val;
+ __isset.advancedInputDataHandling = true;
+ }
+
+ void __set_advancedOutputDataHandling(const AdvancedOutputDataHandling& val) {
+ advancedOutputDataHandling = val;
+ __isset.advancedOutputDataHandling = true;
+ }
+
+ void __set_taskStatus(const TaskStatus& val) {
+ taskStatus = val;
+ __isset.taskStatus = true;
+ }
+
+ void __set_jobDetailsList(const std::vector<JobDetails> & val) {
+ jobDetailsList = val;
+ __isset.jobDetailsList = true;
+ }
+
+ void __set_dataTransferDetailsList(const std::vector<DataTransferDetails> & val) {
+ dataTransferDetailsList = val;
+ __isset.dataTransferDetailsList = true;
+ }
+
+ void __set_errors(const std::vector<ErrorDetails> & val) {
+ errors = val;
+ __isset.errors = true;
+ }
+
+ bool operator == (const TaskDetails & rhs) const
+ {
+ if (!(taskID == rhs.taskID))
+ return false;
+ if (__isset.creationTime != rhs.__isset.creationTime)
+ return false;
+ else if (__isset.creationTime && !(creationTime == rhs.creationTime))
+ return false;
+ if (__isset.applicationId != rhs.__isset.applicationId)
+ return false;
+ else if (__isset.applicationId && !(applicationId == rhs.applicationId))
+ return false;
+ if (__isset.applicationVersion != rhs.__isset.applicationVersion)
+ return false;
+ else if (__isset.applicationVersion && !(applicationVersion == rhs.applicationVersion))
+ return false;
+ if (__isset.applicationDeploymentId != rhs.__isset.applicationDeploymentId)
+ return false;
+ else if (__isset.applicationDeploymentId && !(applicationDeploymentId == rhs.applicationDeploymentId))
+ return false;
+ if (__isset.applicationInputs != rhs.__isset.applicationInputs)
+ return false;
+ else if (__isset.applicationInputs && !(applicationInputs == rhs.applicationInputs))
+ return false;
+ if (__isset.applicationOutputs != rhs.__isset.applicationOutputs)
+ return false;
+ else if (__isset.applicationOutputs && !(applicationOutputs == rhs.applicationOutputs))
+ return false;
+ if (__isset.taskScheduling != rhs.__isset.taskScheduling)
+ return false;
+ else if (__isset.taskScheduling && !(taskScheduling == rhs.taskScheduling))
+ return false;
+ if (__isset.advancedInputDataHandling != rhs.__isset.advancedInputDataHandling)
+ return false;
+ else if (__isset.advancedInputDataHandling && !(advancedInputDataHandling == rhs.advancedInputDataHandling))
+ return false;
+ if (__isset.advancedOutputDataHandling != rhs.__isset.advancedOutputDataHandling)
+ return false;
+ else if (__isset.advancedOutputDataHandling && !(advancedOutputDataHandling == rhs.advancedOutputDataHandling))
+ return false;
+ if (__isset.taskStatus != rhs.__isset.taskStatus)
+ return false;
+ else if (__isset.taskStatus && !(taskStatus == rhs.taskStatus))
+ return false;
+ if (__isset.jobDetailsList != rhs.__isset.jobDetailsList)
+ return false;
+ else if (__isset.jobDetailsList && !(jobDetailsList == rhs.jobDetailsList))
+ return false;
+ if (__isset.dataTransferDetailsList != rhs.__isset.dataTransferDetailsList)
+ return false;
+ else if (__isset.dataTransferDetailsList && !(dataTransferDetailsList == rhs.dataTransferDetailsList))
+ return false;
+ if (__isset.errors != rhs.__isset.errors)
+ return false;
+ else if (__isset.errors && !(errors == rhs.errors))
+ return false;
+ return true;
+ }
+ bool operator != (const TaskDetails &rhs) const {
+ return !(*this == rhs);
+ }
+
+ bool operator < (const TaskDetails & ) const;
+
+ uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+ uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+void swap(TaskDetails &a, TaskDetails &b);
+
+typedef struct _WorkflowNodeDetails__isset {
+ _WorkflowNodeDetails__isset() : creationTime(false), executionUnitData(false), nodeInputs(false), nodeOutputs(false), workflowNodeStatus(false), taskDetailsList(false), errors(false) {}
+ bool creationTime;
+ bool executionUnitData;
+ bool nodeInputs;
+ bool nodeOutputs;
+ bool workflowNodeStatus;
+ bool taskDetailsList;
+ bool errors;
+} _WorkflowNodeDetails__isset;
+
+class WorkflowNodeDetails {
+ public:
+
+ static const char* ascii_fingerprint; // = "95130A9D83D5C73D70BAEBDF11F2FFE7";
+ static const uint8_t binary_fingerprint[16]; // = {0x95,0x13,0x0A,0x9D,0x83,0xD5,0xC7,0x3D,0x70,0xBA,0xEB,0xDF,0x11,0xF2,0xFF,0xE7};
+
+ WorkflowNodeDetails() : nodeInstanceId("DO_NOT_SET_AT_CLIENTS"), creationTime(0), nodeName("SINGLE_APP_NODE"), executionUnit((ExecutionUnit::type)1), executionUnitData() {
+ executionUnit = (ExecutionUnit::type)1;
+
+ }
+
+ virtual ~WorkflowNodeDetails() throw() {}
+
+ std::string nodeInstanceId;
+ int64_t creationTime;
+ std::string nodeName;
+ ExecutionUnit::type executionUnit;
+ std::string executionUnitData;
+ std::vector<DataObjectType> nodeInputs;
+ std::vector<DataObjectType> nodeOutputs;
+ WorkflowNodeStatus workflowNodeStatus;
+ std::vector<TaskDetails> taskDetailsList;
+ std::vector<ErrorDetails> errors;
+
+ _WorkflowNodeDetails__isset __isset;
+
+ void __set_nodeInstanceId(const std::string& val) {
+ nodeInstanceId = val;
+ }
+
+ void __set_creationTime(const int64_t val) {
+ creationTime = val;
+ __isset.creationTime = true;
+ }
+
+ void __set_nodeName(const std::string& val) {
+ nodeName = val;
+ }
+
+ void __set_executionUnit(const ExecutionUnit::type val) {
+ executionUnit = val;
+ }
+
+ void __set_executionUnitData(const std::string& val) {
+ executionUnitData = val;
+ __isset.executionUnitData = true;
+ }
+
+ void __set_nodeInputs(const std::vector<DataObjectType> & val) {
+ nodeInputs = val;
+ __isset.nodeInputs = true;
+ }
+
+ void __set_nodeOutputs(const std::vector<DataObjectType> & val) {
+ nodeOutputs = val;
+ __isset.nodeOutputs = true;
+ }
+
+ void __set_workflowNodeStatus(const WorkflowNodeStatus& val) {
+ workflowNodeStatus = val;
+ __isset.workflowNodeStatus = true;
+ }
+
+ void __set_taskDetailsList(const std::vector<TaskDetails> & val) {
+ taskDetailsList = val;
+ __isset.taskDetailsList = true;
+ }
+
+ void __set_errors(const std::vector<ErrorDetails> & val) {
+ errors = val;
+ __isset.errors = true;
+ }
+
+ bool operator == (const WorkflowNodeDetails & rhs) const
+ {
+ if (!(nodeInstanceId == rhs.nodeInstanceId))
+ return false;
+ if (__isset.creationTime != rhs.__isset.creationTime)
+ return false;
+ else if (__isset.creationTime && !(creationTime == rhs.creationTime))
+ return false;
+ if (!(nodeName == rhs.nodeName))
+ return false;
+ if (!(executionUnit == rhs.executionUnit))
+ return false;
+ if (__isset.executionUnitData != rhs.__isset.executionUnitData)
+ return false;
+ else if (__isset.executionUnitData && !(executionUnitData == rhs.executionUnitData))
+ return false;
+ if (__isset.nodeInputs != rhs.__isset.nodeInputs)
+ return false;
+ else if (__isset.nodeInputs && !(nodeInputs == rhs.nodeInputs))
+ return false;
+ if (__isset.nodeOutputs != rhs.__isset.nodeOutputs)
+ return false;
+ else if (__isset.nodeOutputs && !(nodeOutputs == rhs.nodeOutputs))
+ return false;
+ if (__isset.workflowNodeStatus != rhs.__isset.workflowNodeStatus)
+ return false;
+ else if (__isset.workflowNodeStatus && !(workflowNodeStatus == rhs.workflowNodeStatus))
+ return false;
+ if (__isset.taskDetailsList != rhs.__isset.taskDetailsList)
+ return false;
+ else if (__isset.taskDetailsList && !(taskDetailsList == rhs.taskDetailsList))
+ return false;
+ if (__isset.errors != rhs.__isset.errors)
+ return false;
+ else if (__isset.errors && !(errors == rhs.errors))
+ return false;
+ return true;
+ }
+ bool operator != (const WorkflowNodeDetails &rhs) const {
+ return !(*this == rhs);
+ }
+
+ bool operator < (const WorkflowNodeDetails & ) const;
+
+ uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+ uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+void swap(WorkflowNodeDetails &a, WorkflowNodeDetails &b);
+
+typedef struct _ValidatorResult__isset {
+ _ValidatorResult__isset() : errorDetails(false) {}
+ bool errorDetails;
+} _ValidatorResult__isset;
+
+class ValidatorResult {
+ public:
+
+ static const char* ascii_fingerprint; // = "EB04A806CFFC9025AEE48CFFDC378A86";
+ static const uint8_t binary_fingerprint[16]; // = {0xEB,0x04,0xA8,0x06,0xCF,0xFC,0x90,0x25,0xAE,0xE4,0x8C,0xFF,0xDC,0x37,0x8A,0x86};
+
+ ValidatorResult() : result(0), errorDetails() {
+ }
+
+ virtual ~ValidatorResult() throw() {}
+
+ bool result;
+ std::string errorDetails;
+
+ _ValidatorResult__isset __isset;
+
+ void __set_result(const bool val) {
+ result = val;
+ }
+
+ void __set_errorDetails(const std::string& val) {
+ errorDetails = val;
+ __isset.errorDetails = true;
+ }
+
+ bool operator == (const ValidatorResult & rhs) const
+ {
+ if (!(result == rhs.result))
+ return false;
+ if (__isset.errorDetails != rhs.__isset.errorDetails)
+ return false;
+ else if (__isset.errorDetails && !(errorDetails == rhs.errorDetails))
+ return false;
+ return true;
+ }
+ bool operator != (const ValidatorResult &rhs) const {
+ return !(*this == rhs);
+ }
+
+ bool operator < (const ValidatorResult & ) const;
+
+ uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+ uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+void swap(ValidatorResult &a, ValidatorResult &b);
+
+
+class ValidationResults {
+ public:
+
+ static const char* ascii_fingerprint; // = "E73BC8630EE405DA5FB801ED852143D2";
+ static const uint8_t binary_fingerprint[16]; // = {0xE7,0x3B,0xC8,0x63,0x0E,0xE4,0x05,0xDA,0x5F,0xB8,0x01,0xED,0x85,0x21,0x43,0xD2};
+
+ ValidationResults() : validationState(0) {
+ }
+
+ virtual ~ValidationResults() throw() {}
+
+ bool validationState;
+ std::vector<ValidatorResult> validationResultList;
+
+ void __set_validationState(const bool val) {
+ validationState = val;
+ }
+
+ void __set_validationResultList(const std::vector<ValidatorResult> & val) {
+ validationResultList = val;
+ }
+
+ bool operator == (const ValidationResults & rhs) const
+ {
+ if (!(validationState == rhs.validationState))
+ return false;
+ if (!(validationResultList == rhs.validationResultList))
+ return false;
+ return true;
+ }
+ bool operator != (const ValidationResults &rhs) const {
+ return !(*this == rhs);
+ }
+
+ bool operator < (const ValidationResults & ) const;
+
+ uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+ uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+void swap(ValidationResults &a, ValidationResults &b);
+
+typedef struct _Experiment__isset {
+ _Experiment__isset() : creationTime(false), description(false), applicationId(false), applicationVersion(false), workflowTemplateId(false), workflowTemplateVersion(false), userConfigurationData(false), workflowExecutionInstanceId(false), experimentInputs(false), experimentOutputs(false), experimentStatus(false), stateChangeList(false), workflowNodeDetailsList(false), errors(false) {}
+ bool creationTime;
+ bool description;
+ bool applicationId;
+ bool applicationVersion;
+ bool workflowTemplateId;
+ bool workflowTemplateVersion;
+ bool userConfigurationData;
+ bool workflowExecutionInstanceId;
+ bool experimentInputs;
+ bool experimentOutputs;
+ bool experimentStatus;
+ bool stateChangeList;
+ bool workflowNodeDetailsList;
+ bool errors;
+} _Experiment__isset;
+
+class Experiment {
+ public:
+
+ static const char* ascii_fingerprint; // = "6B1FF2298EF5AE2B9EA8F76C2DFA9E8C";
+ static const uint8_t binary_fingerprint[16]; // = {0x6B,0x1F,0xF2,0x29,0x8E,0xF5,0xAE,0x2B,0x9E,0xA8,0xF7,0x6C,0x2D,0xFA,0x9E,0x8C};
+
+ Experiment() : experimentID("DO_NOT_SET_AT_CLIENTS"), projectID("DEFAULT"), creationTime(0), userName(), name(), description(), applicationId(), applicationVersion(), workflowTemplateId(), workflowTemplateVersion(), workflowExecutionInstanceId() {
+ }
+
+ virtual ~Experiment() throw() {}
+
+ std::string experimentID;
+ std::string projectID;
+ int64_t creationTime;
+ std::string userName;
+ std::string name;
+ std::string description;
+ std::string applicationId;
+ std::string applicationVersion;
+ std::string workflowTemplateId;
+ std::string workflowTemplateVersion;
+ UserConfigurationData userConfigurationData;
+ std::string workflowExecutionInstanceId;
+ std::vector<DataObjectType> experimentInputs;
+ std::vector<DataObjectType> experimentOutputs;
+ ExperimentStatus experimentStatus;
+ std::vector<WorkflowNodeStatus> stateChangeList;
+ std::vector<WorkflowNodeDetails> workflowNodeDetailsList;
+ std::vector<ErrorDetails> errors;
+
+ _Experiment__isset __isset;
+
+ void __set_experimentID(const std::string& val) {
+ experimentID = val;
+ }
+
+ void __set_projectID(const std::string& val) {
+ projectID = val;
+ }
+
+ void __set_creationTime(const int64_t val) {
+ creationTime = val;
+ __isset.creationTime = true;
+ }
+
+ void __set_userName(const std::string& val) {
+ userName = val;
+ }
+
+ void __set_name(const std::string& val) {
+ name = val;
+ }
+
+ void __set_description(const std::string& val) {
+ description = val;
+ __isset.description = true;
+ }
+
+ void __set_applicationId(const std::string& val) {
+ applicationId = val;
+ __isset.applicationId = true;
+ }
+
+ void __set_applicationVersion(const std::string& val) {
+ applicationVersion = val;
+ __isset.applicationVersion = true;
+ }
+
+ void __set_workflowTemplateId(const std::string& val) {
+ workflowTemplateId = val;
+ __isset.workflowTemplateId = true;
+ }
+
+ void __set_workflowTemplateVersion(const std::string& val) {
+ workflowTemplateVersion = val;
+ __isset.workflowTemplateVersion = true;
+ }
+
+ void __set_userConfigurationData(const UserConfigurationData& val) {
+ userConfigurationData = val;
+ __isset.userConfigurationData = true;
+ }
+
+ void __set_workflowExecutionInstanceId(const std::string& val) {
+ workflowExecutionInstanceId = val;
+ __isset.workflowExecutionInstanceId = true;
+ }
+
+ void __set_experimentInputs(const std::vector<DataObjectType> & val) {
+ experimentInputs = val;
+ __isset.experimentInputs = true;
+ }
+
+ void __set_experimentOutputs(const std::vector<DataObjectType> & val) {
+ experimentOutputs = val;
+ __isset.experimentOutputs = true;
+ }
+
+ void __set_experimentStatus(const ExperimentStatus& val) {
+ experimentStatus = val;
+ __isset.experimentStatus = true;
+ }
+
+ void __set_stateChangeList(const std::vector<WorkflowNodeStatus> & val) {
+ stateChangeList = val;
+ __isset.stateChangeList = true;
+ }
+
+ void __set_workflowNodeDetailsList(const std::vector<WorkflowNodeDetails> & val) {
+ workflowNodeDetailsList = val;
+ __isset.workflowNodeDetailsList = true;
+ }
+
+ void __set_errors(const std::vector<ErrorDetails> & val) {
+ errors = val;
+ __isset.errors = true;
+ }
+
+ bool operator == (const Experiment & rhs) const
+ {
+ if (!(experimentID == rhs.experimentID))
+ return false;
+ if (!(projectID == rhs.projectID))
+ return false;
+ if (__isset.creationTime != rhs.__isset.creationTime)
+ return false;
+ else if (__isset.creationTime && !(creationTime == rhs.creationTime))
+ return false;
+ if (!(userName == rhs.userName))
+ return false;
+ if (!(name == rhs.name))
+ return false;
+ if (__isset.description != rhs.__isset.description)
+ return false;
+ else if (__isset.description && !(description == rhs.description))
+ return false;
+ if (__isset.applicationId != rhs.__isset.applicationId)
+ return false;
+ else if (__isset.applicationId && !(applicationId == rhs.applicationId))
+ return false;
+ if (__isset.applicationVersion != rhs.__isset.applicationVersion)
+ return false;
+ else if (__isset.applicationVersion && !(applicationVersion == rhs.applicationVersion))
+ return false;
+ if (__isset.workflowTemplateId != rhs.__isset.workflowTemplateId)
+ return false;
+ else if (__isset.workflowTemplateId && !(workflowTemplateId == rhs.workflowTemplateId))
+ return false;
+ if (__isset.workflowTemplateVersion != rhs.__isset.workflowTemplateVersion)
+ return false;
+ else if (__isset.workflowTemplateVersion && !(workflowTemplateVersion == rhs.workflowTemplateVersion))
+ return false;
+ if (__isset.userConfigurationData != rhs.__isset.userConfigurationData)
+ return false;
+ else if (__isset.userConfigurationData && !(userConfigurationData == rhs.userConfigurationData))
+ return false;
+ if (__isset.workflowExecutionInstanceId != rhs.__isset.workflowExecutionInstanceId)
+ return false;
+ else if (__isset.workflowExecutionInstanceId && !(workflowExecutionInstanceId == rhs.workflowExecutionInstanceId))
+ return false;
+ if (__isset.experimentInputs != rhs.__isset.experimentInputs)
+ return false;
+ else if (__isset.experimentInputs && !(experimentInputs == rhs.experimentInputs))
+ return false;
+ if (__isset.experimentOutputs != rhs.__isset.experimentOutputs)
+ return false;
+ else if (__isset.experimentOutputs && !(experimentOutputs == rhs.experimentOutputs))
+ return false;
+ if (__isset.experimentStatus != rhs.__isset.experimentStatus)
+ return false;
+ else if (__isset.experimentStatus && !(experimentStatus == rhs.experimentStatus))
+ return false;
+ if (__isset.stateChangeList != rhs.__isset.stateChangeList)
+ return false;
+ else if (__isset.stateChangeList && !(stateChangeList == rhs.stateChangeList))
+ return false;
+ if (__isset.workflowNodeDetailsList != rhs.__isset.workflowNodeDetailsList)
+ return false;
+ else if (__isset.workflowNodeDetailsList && !(workflowNodeDetailsList == rhs.workflowNodeDetailsList))
+ return false;
+ if (__isset.errors != rhs.__isset.errors)
+ return false;
+ else if (__isset.errors && !(errors == rhs.errors))
+ return false;
+ return true;
+ }
+ bool operator != (const Experiment &rhs) const {
+ return !(*this == rhs);
+ }
+
+ bool operator < (const Experiment & ) const;
+
+ uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+ uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+void swap(Experiment &a, Experiment &b);
+
+typedef struct _ExperimentSummary__isset {
+ _ExperimentSummary__isset() : creationTime(false), description(false), applicationId(false), experimentStatus(false), errors(false) {}
+ bool creationTime;
+ bool description;
+ bool applicationId;
+ bool experimentStatus;
+ bool errors;
+} _ExperimentSummary__isset;
+
+class ExperimentSummary {
+ public:
+
+ static const char* ascii_fingerprint; // = "44FD485ABF32F5EB94D6F393F51241B6";
+ static const uint8_t binary_fingerprint[16]; // = {0x44,0xFD,0x48,0x5A,0xBF,0x32,0xF5,0xEB,0x94,0xD6,0xF3,0x93,0xF5,0x12,0x41,0xB6};
+
+ ExperimentSummary() : experimentID(), projectID(), creationTime(0), userName(), name(), description(), applicationId() {
+ }
+
+ virtual ~ExperimentSummary() throw() {}
+
+ std::string experimentID;
+ std::string projectID;
+ int64_t creationTime;
+ std::string userName;
+ std::string name;
+ std::string description;
+ std::string applicationId;
+ ExperimentStatus experimentStatus;
+ std::vector<ErrorDetails> errors;
+
+ _ExperimentSummary__isset __isset;
+
+ void __set_experimentID(const std::string& val) {
+ experimentID = val;
+ }
+
+ void __set_projectID(const std::string& val) {
+ projectID = val;
+ }
+
+ void __set_creationTime(const int64_t val) {
+ creationTime = val;
+ __isset.creationTime = true;
+ }
+
+ void __set_userName(const std::string& val) {
+ userName = val;
+ }
+
+ void __set_name(const std::string& val) {
+ name = val;
+ }
+
+ void __set_description(const std::string& val) {
+ description = val;
+ __isset.description = true;
+ }
+
+ void __set_applicationId(const std::string& val) {
+ applicationId = val;
+ __isset.applicationId = true;
+ }
+
+ void __set_experimentStatus(const ExperimentStatus& val) {
+ experimentStatus = val;
+ __isset.experimentStatus = true;
+ }
+
+ void __set_errors(const std::vector<ErrorDetails> & val) {
+ errors = val;
+ __isset.errors = true;
+ }
+
+ bool operator == (const ExperimentSummary & rhs) const
+ {
+ if (!(experimentID == rhs.experimentID))
+ return false;
+ if (!(projectID == rhs.projectID))
+ return false;
+ if (__isset.creationTime != rhs.__isset.creationTime)
+ return false;
+ else if (__isset.creationTime && !(creationTime == rhs.creationTime))
+ return false;
+ if (!(userName == rhs.userName))
+ return false;
+ if (!(name == rhs.name))
+ return false;
+ if (__isset.description != rhs.__isset.description)
+ return false;
+ else if (__isset.description && !(description == rhs.description))
+ return false;
+ if (__isset.applicationId != rhs.__isset.applicationId)
+ return false;
+ else if (__isset.applicationId && !(applicationId == rhs.applicationId))
+ return false;
+ if (__isset.experimentStatus != rhs.__isset.experimentStatus)
+ return false;
+ else if (__isset.experimentStatus && !(experimentStatus == rhs.experimentStatus))
+ return false;
+ if (__isset.errors != rhs.__isset.errors)
+ return false;
+ else if (__isset.errors && !(errors == rhs.errors))
+ return false;
+ return true;
+ }
+ bool operator != (const ExperimentSummary &rhs) const {
+ return !(*this == rhs);
+ }
+
+ bool operator < (const ExperimentSummary & ) const;
+
+ uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+ uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+void swap(ExperimentSummary &a, ExperimentSummary &b);
+
+}}}}} // namespace
+
+#endif
http://git-wip-us.apache.org/repos/asf/airavata/blob/f891b7dc/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/gatewayProfileModel_constants.cpp
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/gatewayProfileModel_constants.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/gatewayProfileModel_constants.cpp
new file mode 100644
index 0000000..8627ee3
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/gatewayProfileModel_constants.cpp
@@ -0,0 +1,19 @@
+/**
+ * Autogenerated by Thrift Compiler (0.9.1)
+ *
+ * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+ * @generated
+ */
+#include "gatewayProfileModel_constants.h"
+
+
+
+const gatewayProfileModelConstants g_gatewayProfileModel_constants;
+
+gatewayProfileModelConstants::gatewayProfileModelConstants() {
+ DEFAULT_ID = "DO_NOT_SET_AT_CLIENTS";
+
+}
+
+
+
http://git-wip-us.apache.org/repos/asf/airavata/blob/f891b7dc/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/gatewayProfileModel_constants.h
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/gatewayProfileModel_constants.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/gatewayProfileModel_constants.h
new file mode 100644
index 0000000..4061d03
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/gatewayProfileModel_constants.h
@@ -0,0 +1,25 @@
+/**
+ * Autogenerated by Thrift Compiler (0.9.1)
+ *
+ * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+ * @generated
+ */
+#ifndef gatewayProfileModel_CONSTANTS_H
+#define gatewayProfileModel_CONSTANTS_H
+
+#include "gatewayProfileModel_types.h"
+
+
+
+class gatewayProfileModelConstants {
+ public:
+ gatewayProfileModelConstants();
+
+ std::string DEFAULT_ID;
+};
+
+extern const gatewayProfileModelConstants g_gatewayProfileModel_constants;
+
+
+
+#endif
http://git-wip-us.apache.org/repos/asf/airavata/blob/f891b7dc/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/gatewayProfileModel_types.cpp
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/gatewayProfileModel_types.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/gatewayProfileModel_types.cpp
new file mode 100644
index 0000000..896a770
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/gatewayProfileModel_types.cpp
@@ -0,0 +1,293 @@
+/**
+ * Autogenerated by Thrift Compiler (0.9.1)
+ *
+ * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+ * @generated
+ */
+#include "gatewayProfileModel_types.h"
+
+#include <algorithm>
+
+
+
+const char* ComputeResourcePreference::ascii_fingerprint = "9C98338B7E052CD4DEECB22F243D6DAE";
+const uint8_t ComputeResourcePreference::binary_fingerprint[16] = {0x9C,0x98,0x33,0x8B,0x7E,0x05,0x2C,0xD4,0xDE,0xEC,0xB2,0x2F,0x24,0x3D,0x6D,0xAE};
+
+uint32_t ComputeResourcePreference::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+ uint32_t xfer = 0;
+ std::string fname;
+ ::apache::thrift::protocol::TType ftype;
+ int16_t fid;
+
+ xfer += iprot->readStructBegin(fname);
+
+ using ::apache::thrift::protocol::TProtocolException;
+
+ bool isset_computeResourceId = false;
+ bool isset_overridebyAiravata = false;
+
+ while (true)
+ {
+ xfer += iprot->readFieldBegin(fname, ftype, fid);
+ if (ftype == ::apache::thrift::protocol::T_STOP) {
+ break;
+ }
+ switch (fid)
+ {
+ case 1:
+ if (ftype == ::apache::thrift::protocol::T_STRING) {
+ xfer += iprot->readString(this->computeResourceId);
+ isset_computeResourceId = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 2:
+ if (ftype == ::apache::thrift::protocol::T_BOOL) {
+ xfer += iprot->readBool(this->overridebyAiravata);
+ isset_overridebyAiravata = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 3:
+ if (ftype == ::apache::thrift::protocol::T_STRING) {
+ xfer += iprot->readString(this->preferredJobSubmissionProtocol);
+ this->__isset.preferredJobSubmissionProtocol = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 4:
+ if (ftype == ::apache::thrift::protocol::T_STRING) {
+ xfer += iprot->readString(this->preferredDataMovementProtocol);
+ this->__isset.preferredDataMovementProtocol = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 5:
+ if (ftype == ::apache::thrift::protocol::T_STRING) {
+ xfer += iprot->readString(this->preferredBatchQueue);
+ this->__isset.preferredBatchQueue = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 6:
+ if (ftype == ::apache::thrift::protocol::T_STRING) {
+ xfer += iprot->readString(this->scratchLocation);
+ this->__isset.scratchLocation = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 7:
+ if (ftype == ::apache::thrift::protocol::T_STRING) {
+ xfer += iprot->readString(this->allocationProjectNumber);
+ this->__isset.allocationProjectNumber = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ default:
+ xfer += iprot->skip(ftype);
+ break;
+ }
+ xfer += iprot->readFieldEnd();
+ }
+
+ xfer += iprot->readStructEnd();
+
+ if (!isset_computeResourceId)
+ throw TProtocolException(TProtocolException::INVALID_DATA);
+ if (!isset_overridebyAiravata)
+ throw TProtocolException(TProtocolException::INVALID_DATA);
+ return xfer;
+}
+
+uint32_t ComputeResourcePreference::write(::apache::thrift::protocol::TProtocol* oprot) const {
+ uint32_t xfer = 0;
+ xfer += oprot->writeStructBegin("ComputeResourcePreference");
+
+ xfer += oprot->writeFieldBegin("computeResourceId", ::apache::thrift::protocol::T_STRING, 1);
+ xfer += oprot->writeString(this->computeResourceId);
+ xfer += oprot->writeFieldEnd();
+
+ xfer += oprot->writeFieldBegin("overridebyAiravata", ::apache::thrift::protocol::T_BOOL, 2);
+ xfer += oprot->writeBool(this->overridebyAiravata);
+ xfer += oprot->writeFieldEnd();
+
+ if (this->__isset.preferredJobSubmissionProtocol) {
+ xfer += oprot->writeFieldBegin("preferredJobSubmissionProtocol", ::apache::thrift::protocol::T_STRING, 3);
+ xfer += oprot->writeString(this->preferredJobSubmissionProtocol);
+ xfer += oprot->writeFieldEnd();
+ }
+ if (this->__isset.preferredDataMovementProtocol) {
+ xfer += oprot->writeFieldBegin("preferredDataMovementProtocol", ::apache::thrift::protocol::T_STRING, 4);
+ xfer += oprot->writeString(this->preferredDataMovementProtocol);
+ xfer += oprot->writeFieldEnd();
+ }
+ if (this->__isset.preferredBatchQueue) {
+ xfer += oprot->writeFieldBegin("preferredBatchQueue", ::apache::thrift::protocol::T_STRING, 5);
+ xfer += oprot->writeString(this->preferredBatchQueue);
+ xfer += oprot->writeFieldEnd();
+ }
+ if (this->__isset.scratchLocation) {
+ xfer += oprot->writeFieldBegin("scratchLocation", ::apache::thrift::protocol::T_STRING, 6);
+ xfer += oprot->writeString(this->scratchLocation);
+ xfer += oprot->writeFieldEnd();
+ }
+ if (this->__isset.allocationProjectNumber) {
+ xfer += oprot->writeFieldBegin("allocationProjectNumber", ::apache::thrift::protocol::T_STRING, 7);
+ xfer += oprot->writeString(this->allocationProjectNumber);
+ xfer += oprot->writeFieldEnd();
+ }
+ xfer += oprot->writeFieldStop();
+ xfer += oprot->writeStructEnd();
+ return xfer;
+}
+
+void swap(ComputeResourcePreference &a, ComputeResourcePreference &b) {
+ using ::std::swap;
+ swap(a.computeResourceId, b.computeResourceId);
+ swap(a.overridebyAiravata, b.overridebyAiravata);
+ swap(a.preferredJobSubmissionProtocol, b.preferredJobSubmissionProtocol);
+ swap(a.preferredDataMovementProtocol, b.preferredDataMovementProtocol);
+ swap(a.preferredBatchQueue, b.preferredBatchQueue);
+ swap(a.scratchLocation, b.scratchLocation);
+ swap(a.allocationProjectNumber, b.allocationProjectNumber);
+ swap(a.__isset, b.__isset);
+}
+
+const char* GatewayProfile::ascii_fingerprint = "D6477904C48AAB4DC8F09369D670B400";
+const uint8_t GatewayProfile::binary_fingerprint[16] = {0xD6,0x47,0x79,0x04,0xC4,0x8A,0xAB,0x4D,0xC8,0xF0,0x93,0x69,0xD6,0x70,0xB4,0x00};
+
+uint32_t GatewayProfile::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+ uint32_t xfer = 0;
+ std::string fname;
+ ::apache::thrift::protocol::TType ftype;
+ int16_t fid;
+
+ xfer += iprot->readStructBegin(fname);
+
+ using ::apache::thrift::protocol::TProtocolException;
+
+ bool isset_gatewayID = false;
+ bool isset_gatewayName = false;
+
+ while (true)
+ {
+ xfer += iprot->readFieldBegin(fname, ftype, fid);
+ if (ftype == ::apache::thrift::protocol::T_STOP) {
+ break;
+ }
+ switch (fid)
+ {
+ case 1:
+ if (ftype == ::apache::thrift::protocol::T_STRING) {
+ xfer += iprot->readString(this->gatewayID);
+ isset_gatewayID = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 2:
+ if (ftype == ::apache::thrift::protocol::T_STRING) {
+ xfer += iprot->readString(this->gatewayName);
+ isset_gatewayName = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 3:
+ if (ftype == ::apache::thrift::protocol::T_STRING) {
+ xfer += iprot->readString(this->gatewayDescription);
+ this->__isset.gatewayDescription = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 4:
+ if (ftype == ::apache::thrift::protocol::T_LIST) {
+ {
+ this->computeResourcePreferences.clear();
+ uint32_t _size0;
+ ::apache::thrift::protocol::TType _etype3;
+ xfer += iprot->readListBegin(_etype3, _size0);
+ this->computeResourcePreferences.resize(_size0);
+ uint32_t _i4;
+ for (_i4 = 0; _i4 < _size0; ++_i4)
+ {
+ xfer += this->computeResourcePreferences[_i4].read(iprot);
+ }
+ xfer += iprot->readListEnd();
+ }
+ this->__isset.computeResourcePreferences = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ default:
+ xfer += iprot->skip(ftype);
+ break;
+ }
+ xfer += iprot->readFieldEnd();
+ }
+
+ xfer += iprot->readStructEnd();
+
+ if (!isset_gatewayID)
+ throw TProtocolException(TProtocolException::INVALID_DATA);
+ if (!isset_gatewayName)
+ throw TProtocolException(TProtocolException::INVALID_DATA);
+ return xfer;
+}
+
+uint32_t GatewayProfile::write(::apache::thrift::protocol::TProtocol* oprot) const {
+ uint32_t xfer = 0;
+ xfer += oprot->writeStructBegin("GatewayProfile");
+
+ xfer += oprot->writeFieldBegin("gatewayID", ::apache::thrift::protocol::T_STRING, 1);
+ xfer += oprot->writeString(this->gatewayID);
+ xfer += oprot->writeFieldEnd();
+
+ xfer += oprot->writeFieldBegin("gatewayName", ::apache::thrift::protocol::T_STRING, 2);
+ xfer += oprot->writeString(this->gatewayName);
+ xfer += oprot->writeFieldEnd();
+
+ if (this->__isset.gatewayDescription) {
+ xfer += oprot->writeFieldBegin("gatewayDescription", ::apache::thrift::protocol::T_STRING, 3);
+ xfer += oprot->writeString(this->gatewayDescription);
+ xfer += oprot->writeFieldEnd();
+ }
+ if (this->__isset.computeResourcePreferences) {
+ xfer += oprot->writeFieldBegin("computeResourcePreferences", ::apache::thrift::protocol::T_LIST, 4);
+ {
+ xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>(this->computeResourcePreferences.size()));
+ std::vector<ComputeResourcePreference> ::const_iterator _iter5;
+ for (_iter5 = this->computeResourcePreferences.begin(); _iter5 != this->computeResourcePreferences.end(); ++_iter5)
+ {
+ xfer += (*_iter5).write(oprot);
+ }
+ xfer += oprot->writeListEnd();
+ }
+ xfer += oprot->writeFieldEnd();
+ }
+ xfer += oprot->writeFieldStop();
+ xfer += oprot->writeStructEnd();
+ return xfer;
+}
+
+void swap(GatewayProfile &a, GatewayProfile &b) {
+ using ::std::swap;
+ swap(a.gatewayID, b.gatewayID);
+ swap(a.gatewayName, b.gatewayName);
+ swap(a.gatewayDescription, b.gatewayDescription);
+ swap(a.computeResourcePreferences, b.computeResourcePreferences);
+ swap(a.__isset, b.__isset);
+}
+
+
http://git-wip-us.apache.org/repos/asf/airavata/blob/f891b7dc/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/gatewayProfileModel_types.h
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/gatewayProfileModel_types.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/gatewayProfileModel_types.h
new file mode 100644
index 0000000..6bab76c
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/gatewayProfileModel_types.h
@@ -0,0 +1,197 @@
+/**
+ * Autogenerated by Thrift Compiler (0.9.1)
+ *
+ * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+ * @generated
+ */
+#ifndef gatewayProfileModel_TYPES_H
+#define gatewayProfileModel_TYPES_H
+
+#include <thrift/Thrift.h>
+#include <thrift/TApplicationException.h>
+#include <thrift/protocol/TProtocol.h>
+#include <thrift/transport/TTransport.h>
+
+#include <thrift/cxxfunctional.h>
+
+
+
+
+typedef struct _ComputeResourcePreference__isset {
+ _ComputeResourcePreference__isset() : preferredJobSubmissionProtocol(false), preferredDataMovementProtocol(false), preferredBatchQueue(false), scratchLocation(false), allocationProjectNumber(false) {}
+ bool preferredJobSubmissionProtocol;
+ bool preferredDataMovementProtocol;
+ bool preferredBatchQueue;
+ bool scratchLocation;
+ bool allocationProjectNumber;
+} _ComputeResourcePreference__isset;
+
+class ComputeResourcePreference {
+ public:
+
+ static const char* ascii_fingerprint; // = "9C98338B7E052CD4DEECB22F243D6DAE";
+ static const uint8_t binary_fingerprint[16]; // = {0x9C,0x98,0x33,0x8B,0x7E,0x05,0x2C,0xD4,0xDE,0xEC,0xB2,0x2F,0x24,0x3D,0x6D,0xAE};
+
+ ComputeResourcePreference() : computeResourceId(), overridebyAiravata(true), preferredJobSubmissionProtocol(), preferredDataMovementProtocol(), preferredBatchQueue(), scratchLocation(), allocationProjectNumber() {
+ }
+
+ virtual ~ComputeResourcePreference() throw() {}
+
+ std::string computeResourceId;
+ bool overridebyAiravata;
+ std::string preferredJobSubmissionProtocol;
+ std::string preferredDataMovementProtocol;
+ std::string preferredBatchQueue;
+ std::string scratchLocation;
+ std::string allocationProjectNumber;
+
+ _ComputeResourcePreference__isset __isset;
+
+ void __set_computeResourceId(const std::string& val) {
+ computeResourceId = val;
+ }
+
+ void __set_overridebyAiravata(const bool val) {
+ overridebyAiravata = val;
+ }
+
+ void __set_preferredJobSubmissionProtocol(const std::string& val) {
+ preferredJobSubmissionProtocol = val;
+ __isset.preferredJobSubmissionProtocol = true;
+ }
+
+ void __set_preferredDataMovementProtocol(const std::string& val) {
+ preferredDataMovementProtocol = val;
+ __isset.preferredDataMovementProtocol = true;
+ }
+
+ void __set_preferredBatchQueue(const std::string& val) {
+ preferredBatchQueue = val;
+ __isset.preferredBatchQueue = true;
+ }
+
+ void __set_scratchLocation(const std::string& val) {
+ scratchLocation = val;
+ __isset.scratchLocation = true;
+ }
+
+ void __set_allocationProjectNumber(const std::string& val) {
+ allocationProjectNumber = val;
+ __isset.allocationProjectNumber = true;
+ }
+
+ bool operator == (const ComputeResourcePreference & rhs) const
+ {
+ if (!(computeResourceId == rhs.computeResourceId))
+ return false;
+ if (!(overridebyAiravata == rhs.overridebyAiravata))
+ return false;
+ if (__isset.preferredJobSubmissionProtocol != rhs.__isset.preferredJobSubmissionProtocol)
+ return false;
+ else if (__isset.preferredJobSubmissionProtocol && !(preferredJobSubmissionProtocol == rhs.preferredJobSubmissionProtocol))
+ return false;
+ if (__isset.preferredDataMovementProtocol != rhs.__isset.preferredDataMovementProtocol)
+ return false;
+ else if (__isset.preferredDataMovementProtocol && !(preferredDataMovementProtocol == rhs.preferredDataMovementProtocol))
+ return false;
+ if (__isset.preferredBatchQueue != rhs.__isset.preferredBatchQueue)
+ return false;
+ else if (__isset.preferredBatchQueue && !(preferredBatchQueue == rhs.preferredBatchQueue))
+ return false;
+ if (__isset.scratchLocation != rhs.__isset.scratchLocation)
+ return false;
+ else if (__isset.scratchLocation && !(scratchLocation == rhs.scratchLocation))
+ return false;
+ if (__isset.allocationProjectNumber != rhs.__isset.allocationProjectNumber)
+ return false;
+ else if (__isset.allocationProjectNumber && !(allocationProjectNumber == rhs.allocationProjectNumber))
+ return false;
+ return true;
+ }
+ bool operator != (const ComputeResourcePreference &rhs) const {
+ return !(*this == rhs);
+ }
+
+ bool operator < (const ComputeResourcePreference & ) const;
+
+ uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+ uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+void swap(ComputeResourcePreference &a, ComputeResourcePreference &b);
+
+typedef struct _GatewayProfile__isset {
+ _GatewayProfile__isset() : gatewayDescription(false), computeResourcePreferences(false) {}
+ bool gatewayDescription;
+ bool computeResourcePreferences;
+} _GatewayProfile__isset;
+
+class GatewayProfile {
+ public:
+
+ static const char* ascii_fingerprint; // = "D6477904C48AAB4DC8F09369D670B400";
+ static const uint8_t binary_fingerprint[16]; // = {0xD6,0x47,0x79,0x04,0xC4,0x8A,0xAB,0x4D,0xC8,0xF0,0x93,0x69,0xD6,0x70,0xB4,0x00};
+
+ GatewayProfile() : gatewayID("DO_NOT_SET_AT_CLIENTS"), gatewayName(), gatewayDescription() {
+ }
+
+ virtual ~GatewayProfile() throw() {}
+
+ std::string gatewayID;
+ std::string gatewayName;
+ std::string gatewayDescription;
+ std::vector<ComputeResourcePreference> computeResourcePreferences;
+
+ _GatewayProfile__isset __isset;
+
+ void __set_gatewayID(const std::string& val) {
+ gatewayID = val;
+ }
+
+ void __set_gatewayName(const std::string& val) {
+ gatewayName = val;
+ }
+
+ void __set_gatewayDescription(const std::string& val) {
+ gatewayDescription = val;
+ __isset.gatewayDescription = true;
+ }
+
+ void __set_computeResourcePreferences(const std::vector<ComputeResourcePreference> & val) {
+ computeResourcePreferences = val;
+ __isset.computeResourcePreferences = true;
+ }
+
+ bool operator == (const GatewayProfile & rhs) const
+ {
+ if (!(gatewayID == rhs.gatewayID))
+ return false;
+ if (!(gatewayName == rhs.gatewayName))
+ return false;
+ if (__isset.gatewayDescription != rhs.__isset.gatewayDescription)
+ return false;
+ else if (__isset.gatewayDescription && !(gatewayDescription == rhs.gatewayDescription))
+ return false;
+ if (__isset.computeResourcePreferences != rhs.__isset.computeResourcePreferences)
+ return false;
+ else if (__isset.computeResourcePreferences && !(computeResourcePreferences == rhs.computeResourcePreferences))
+ return false;
+ return true;
+ }
+ bool operator != (const GatewayProfile &rhs) const {
+ return !(*this == rhs);
+ }
+
+ bool operator < (const GatewayProfile & ) const;
+
+ uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+ uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+void swap(GatewayProfile &a, GatewayProfile &b);
+
+
+
+#endif
http://git-wip-us.apache.org/repos/asf/airavata/blob/f891b7dc/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/gatewayResourceProfileModel_constants.cpp
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/gatewayResourceProfileModel_constants.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/gatewayResourceProfileModel_constants.cpp
new file mode 100644
index 0000000..1b7a9c1
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/gatewayResourceProfileModel_constants.cpp
@@ -0,0 +1,19 @@
+/**
+ * Autogenerated by Thrift Compiler (0.9.1)
+ *
+ * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+ * @generated
+ */
+#include "gatewayResourceProfileModel_constants.h"
+
+namespace apache { namespace airavata { namespace model { namespace appcatalog { namespace gatewayprofile {
+
+const gatewayResourceProfileModelConstants g_gatewayResourceProfileModel_constants;
+
+gatewayResourceProfileModelConstants::gatewayResourceProfileModelConstants() {
+ DEFAULT_ID = "DO_NOT_SET_AT_CLIENTS";
+
+}
+
+}}}}} // namespace
+
[19/47] Added c++ client samples for integrattion of airavata with
any other application's c++ interface
Posted by sm...@apache.org.
http://git-wip-us.apache.org/repos/asf/airavata/blob/f891b7dc/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/applicationCatalogAPI_constants.cpp
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/applicationCatalogAPI_constants.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/applicationCatalogAPI_constants.cpp
new file mode 100644
index 0000000..d2f6b63
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/applicationCatalogAPI_constants.cpp
@@ -0,0 +1,19 @@
+/**
+ * Autogenerated by Thrift Compiler (0.9.1)
+ *
+ * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+ * @generated
+ */
+#include "applicationCatalogAPI_constants.h"
+
+namespace airavata { namespace api { namespace appcatalog {
+
+const applicationCatalogAPIConstants g_applicationCatalogAPI_constants;
+
+applicationCatalogAPIConstants::applicationCatalogAPIConstants() {
+ AIRAVATA_API_VERSION = "0.12.0";
+
+}
+
+}}} // namespace
+
http://git-wip-us.apache.org/repos/asf/airavata/blob/f891b7dc/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/applicationCatalogAPI_constants.h
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/applicationCatalogAPI_constants.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/applicationCatalogAPI_constants.h
new file mode 100644
index 0000000..325136d
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/applicationCatalogAPI_constants.h
@@ -0,0 +1,25 @@
+/**
+ * Autogenerated by Thrift Compiler (0.9.1)
+ *
+ * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+ * @generated
+ */
+#ifndef applicationCatalogAPI_CONSTANTS_H
+#define applicationCatalogAPI_CONSTANTS_H
+
+#include "applicationCatalogAPI_types.h"
+
+namespace airavata { namespace api { namespace appcatalog {
+
+class applicationCatalogAPIConstants {
+ public:
+ applicationCatalogAPIConstants();
+
+ std::string AIRAVATA_API_VERSION;
+};
+
+extern const applicationCatalogAPIConstants g_applicationCatalogAPI_constants;
+
+}}} // namespace
+
+#endif
http://git-wip-us.apache.org/repos/asf/airavata/blob/f891b7dc/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/applicationCatalogAPI_types.cpp
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/applicationCatalogAPI_types.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/applicationCatalogAPI_types.cpp
new file mode 100644
index 0000000..d0f5533
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/applicationCatalogAPI_types.cpp
@@ -0,0 +1,13 @@
+/**
+ * Autogenerated by Thrift Compiler (0.9.1)
+ *
+ * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+ * @generated
+ */
+#include "applicationCatalogAPI_types.h"
+
+#include <algorithm>
+
+namespace airavata { namespace api { namespace appcatalog {
+
+}}} // namespace
http://git-wip-us.apache.org/repos/asf/airavata/blob/f891b7dc/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/applicationCatalogAPI_types.h
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/applicationCatalogAPI_types.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/applicationCatalogAPI_types.h
new file mode 100644
index 0000000..4a9fc73
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/applicationCatalogAPI_types.h
@@ -0,0 +1,27 @@
+/**
+ * Autogenerated by Thrift Compiler (0.9.1)
+ *
+ * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+ * @generated
+ */
+#ifndef applicationCatalogAPI_TYPES_H
+#define applicationCatalogAPI_TYPES_H
+
+#include <thrift/Thrift.h>
+#include <thrift/TApplicationException.h>
+#include <thrift/protocol/TProtocol.h>
+#include <thrift/transport/TTransport.h>
+
+#include <thrift/cxxfunctional.h>
+#include "airavataErrors_types.h"
+#include "airavataDataModel_types.h"
+#include "computeHostModel_types.h"
+#include "applicationInterfaceModel_types.h"
+#include "applicationDeploymentModel_types.h"
+
+
+namespace airavata { namespace api { namespace appcatalog {
+
+}}} // namespace
+
+#endif
http://git-wip-us.apache.org/repos/asf/airavata/blob/f891b7dc/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/applicationCatalogDataModel_constants.cpp
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/applicationCatalogDataModel_constants.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/applicationCatalogDataModel_constants.cpp
new file mode 100644
index 0000000..e3b3394
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/applicationCatalogDataModel_constants.cpp
@@ -0,0 +1,19 @@
+/**
+ * Autogenerated by Thrift Compiler (0.9.1)
+ *
+ * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+ * @generated
+ */
+#include "applicationCatalogDataModel_constants.h"
+
+
+
+const applicationCatalogDataModelConstants g_applicationCatalogDataModel_constants;
+
+applicationCatalogDataModelConstants::applicationCatalogDataModelConstants() {
+ DEFAULT_ID = "DO_NOT_SET_AT_CLIENTS";
+
+}
+
+
+
http://git-wip-us.apache.org/repos/asf/airavata/blob/f891b7dc/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/applicationCatalogDataModel_constants.h
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/applicationCatalogDataModel_constants.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/applicationCatalogDataModel_constants.h
new file mode 100644
index 0000000..d8bf387
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/applicationCatalogDataModel_constants.h
@@ -0,0 +1,25 @@
+/**
+ * Autogenerated by Thrift Compiler (0.9.1)
+ *
+ * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+ * @generated
+ */
+#ifndef applicationCatalogDataModel_CONSTANTS_H
+#define applicationCatalogDataModel_CONSTANTS_H
+
+#include "applicationCatalogDataModel_types.h"
+
+
+
+class applicationCatalogDataModelConstants {
+ public:
+ applicationCatalogDataModelConstants();
+
+ std::string DEFAULT_ID;
+};
+
+extern const applicationCatalogDataModelConstants g_applicationCatalogDataModel_constants;
+
+
+
+#endif
http://git-wip-us.apache.org/repos/asf/airavata/blob/f891b7dc/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/applicationCatalogDataModel_types.cpp
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/applicationCatalogDataModel_types.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/applicationCatalogDataModel_types.cpp
new file mode 100644
index 0000000..9cdf168
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/applicationCatalogDataModel_types.cpp
@@ -0,0 +1,1327 @@
+/**
+ * Autogenerated by Thrift Compiler (0.9.1)
+ *
+ * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+ * @generated
+ */
+#include "applicationCatalogDataModel_types.h"
+
+#include <algorithm>
+
+
+
+int _kResourceJobManagerValues[] = {
+ ResourceJobManager::FORK,
+ ResourceJobManager::PBS,
+ ResourceJobManager::UGE,
+ ResourceJobManager::SLURM
+};
+const char* _kResourceJobManagerNames[] = {
+ "FORK",
+ "PBS",
+ "UGE",
+ "SLURM"
+};
+const std::map<int, const char*> _ResourceJobManager_VALUES_TO_NAMES(::apache::thrift::TEnumIterator(4, _kResourceJobManagerValues, _kResourceJobManagerNames), ::apache::thrift::TEnumIterator(-1, NULL, NULL));
+
+int _kJobSubmissionProtocolValues[] = {
+ JobSubmissionProtocol::SSH,
+ JobSubmissionProtocol::GSISSH,
+ JobSubmissionProtocol::GRAM,
+ JobSubmissionProtocol::UNICORE
+};
+const char* _kJobSubmissionProtocolNames[] = {
+ "SSH",
+ "GSISSH",
+ "GRAM",
+ "UNICORE"
+};
+const std::map<int, const char*> _JobSubmissionProtocol_VALUES_TO_NAMES(::apache::thrift::TEnumIterator(4, _kJobSubmissionProtocolValues, _kJobSubmissionProtocolNames), ::apache::thrift::TEnumIterator(-1, NULL, NULL));
+
+int _kDataMovementProtocolValues[] = {
+ DataMovementProtocol::SCP,
+ DataMovementProtocol::SFTP,
+ DataMovementProtocol::GridFTP,
+ DataMovementProtocol::UNICORE_STORAGE_SERVICE
+};
+const char* _kDataMovementProtocolNames[] = {
+ "SCP",
+ "SFTP",
+ "GridFTP",
+ "UNICORE_STORAGE_SERVICE"
+};
+const std::map<int, const char*> _DataMovementProtocol_VALUES_TO_NAMES(::apache::thrift::TEnumIterator(4, _kDataMovementProtocolValues, _kDataMovementProtocolNames), ::apache::thrift::TEnumIterator(-1, NULL, NULL));
+
+int _kSecurityProtocolValues[] = {
+ SecurityProtocol::USERNAME_PASSWORD,
+ SecurityProtocol::SSH_KEYS,
+ SecurityProtocol::GSI,
+ SecurityProtocol::KERBEROS,
+ SecurityProtocol::OAUTH
+};
+const char* _kSecurityProtocolNames[] = {
+ "USERNAME_PASSWORD",
+ "SSH_KEYS",
+ "GSI",
+ "KERBEROS",
+ "OAUTH"
+};
+const std::map<int, const char*> _SecurityProtocol_VALUES_TO_NAMES(::apache::thrift::TEnumIterator(5, _kSecurityProtocolValues, _kSecurityProtocolNames), ::apache::thrift::TEnumIterator(-1, NULL, NULL));
+
+const char* SCPDataMovement::ascii_fingerprint = "FEB6B2CD28861B4EED855CACA1FEF2CB";
+const uint8_t SCPDataMovement::binary_fingerprint[16] = {0xFE,0xB6,0xB2,0xCD,0x28,0x86,0x1B,0x4E,0xED,0x85,0x5C,0xAC,0xA1,0xFE,0xF2,0xCB};
+
+uint32_t SCPDataMovement::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+ uint32_t xfer = 0;
+ std::string fname;
+ ::apache::thrift::protocol::TType ftype;
+ int16_t fid;
+
+ xfer += iprot->readStructBegin(fname);
+
+ using ::apache::thrift::protocol::TProtocolException;
+
+ bool isset_dataMovementDataID = false;
+ bool isset_securityProtocol = false;
+
+ while (true)
+ {
+ xfer += iprot->readFieldBegin(fname, ftype, fid);
+ if (ftype == ::apache::thrift::protocol::T_STOP) {
+ break;
+ }
+ switch (fid)
+ {
+ case 1:
+ if (ftype == ::apache::thrift::protocol::T_STRING) {
+ xfer += iprot->readString(this->dataMovementDataID);
+ isset_dataMovementDataID = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 2:
+ if (ftype == ::apache::thrift::protocol::T_I32) {
+ int32_t ecast0;
+ xfer += iprot->readI32(ecast0);
+ this->securityProtocol = (SecurityProtocol::type)ecast0;
+ isset_securityProtocol = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 3:
+ if (ftype == ::apache::thrift::protocol::T_I32) {
+ xfer += iprot->readI32(this->sshPort);
+ this->__isset.sshPort = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ default:
+ xfer += iprot->skip(ftype);
+ break;
+ }
+ xfer += iprot->readFieldEnd();
+ }
+
+ xfer += iprot->readStructEnd();
+
+ if (!isset_dataMovementDataID)
+ throw TProtocolException(TProtocolException::INVALID_DATA);
+ if (!isset_securityProtocol)
+ throw TProtocolException(TProtocolException::INVALID_DATA);
+ return xfer;
+}
+
+uint32_t SCPDataMovement::write(::apache::thrift::protocol::TProtocol* oprot) const {
+ uint32_t xfer = 0;
+ xfer += oprot->writeStructBegin("SCPDataMovement");
+
+ xfer += oprot->writeFieldBegin("dataMovementDataID", ::apache::thrift::protocol::T_STRING, 1);
+ xfer += oprot->writeString(this->dataMovementDataID);
+ xfer += oprot->writeFieldEnd();
+
+ xfer += oprot->writeFieldBegin("securityProtocol", ::apache::thrift::protocol::T_I32, 2);
+ xfer += oprot->writeI32((int32_t)this->securityProtocol);
+ xfer += oprot->writeFieldEnd();
+
+ if (this->__isset.sshPort) {
+ xfer += oprot->writeFieldBegin("sshPort", ::apache::thrift::protocol::T_I32, 3);
+ xfer += oprot->writeI32(this->sshPort);
+ xfer += oprot->writeFieldEnd();
+ }
+ xfer += oprot->writeFieldStop();
+ xfer += oprot->writeStructEnd();
+ return xfer;
+}
+
+void swap(SCPDataMovement &a, SCPDataMovement &b) {
+ using ::std::swap;
+ swap(a.dataMovementDataID, b.dataMovementDataID);
+ swap(a.securityProtocol, b.securityProtocol);
+ swap(a.sshPort, b.sshPort);
+ swap(a.__isset, b.__isset);
+}
+
+const char* GridFTPDataMovement::ascii_fingerprint = "790EE8B1D56A3B9B76C41DD063726E75";
+const uint8_t GridFTPDataMovement::binary_fingerprint[16] = {0x79,0x0E,0xE8,0xB1,0xD5,0x6A,0x3B,0x9B,0x76,0xC4,0x1D,0xD0,0x63,0x72,0x6E,0x75};
+
+uint32_t GridFTPDataMovement::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+ uint32_t xfer = 0;
+ std::string fname;
+ ::apache::thrift::protocol::TType ftype;
+ int16_t fid;
+
+ xfer += iprot->readStructBegin(fname);
+
+ using ::apache::thrift::protocol::TProtocolException;
+
+ bool isset_dataMovementDataID = false;
+ bool isset_securityProtocol = false;
+ bool isset_gridFTPEndPoint = false;
+
+ while (true)
+ {
+ xfer += iprot->readFieldBegin(fname, ftype, fid);
+ if (ftype == ::apache::thrift::protocol::T_STOP) {
+ break;
+ }
+ switch (fid)
+ {
+ case 1:
+ if (ftype == ::apache::thrift::protocol::T_STRING) {
+ xfer += iprot->readString(this->dataMovementDataID);
+ isset_dataMovementDataID = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 2:
+ if (ftype == ::apache::thrift::protocol::T_I32) {
+ int32_t ecast1;
+ xfer += iprot->readI32(ecast1);
+ this->securityProtocol = (SecurityProtocol::type)ecast1;
+ isset_securityProtocol = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 3:
+ if (ftype == ::apache::thrift::protocol::T_LIST) {
+ {
+ this->gridFTPEndPoint.clear();
+ uint32_t _size2;
+ ::apache::thrift::protocol::TType _etype5;
+ xfer += iprot->readListBegin(_etype5, _size2);
+ this->gridFTPEndPoint.resize(_size2);
+ uint32_t _i6;
+ for (_i6 = 0; _i6 < _size2; ++_i6)
+ {
+ xfer += iprot->readString(this->gridFTPEndPoint[_i6]);
+ }
+ xfer += iprot->readListEnd();
+ }
+ isset_gridFTPEndPoint = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ default:
+ xfer += iprot->skip(ftype);
+ break;
+ }
+ xfer += iprot->readFieldEnd();
+ }
+
+ xfer += iprot->readStructEnd();
+
+ if (!isset_dataMovementDataID)
+ throw TProtocolException(TProtocolException::INVALID_DATA);
+ if (!isset_securityProtocol)
+ throw TProtocolException(TProtocolException::INVALID_DATA);
+ if (!isset_gridFTPEndPoint)
+ throw TProtocolException(TProtocolException::INVALID_DATA);
+ return xfer;
+}
+
+uint32_t GridFTPDataMovement::write(::apache::thrift::protocol::TProtocol* oprot) const {
+ uint32_t xfer = 0;
+ xfer += oprot->writeStructBegin("GridFTPDataMovement");
+
+ xfer += oprot->writeFieldBegin("dataMovementDataID", ::apache::thrift::protocol::T_STRING, 1);
+ xfer += oprot->writeString(this->dataMovementDataID);
+ xfer += oprot->writeFieldEnd();
+
+ xfer += oprot->writeFieldBegin("securityProtocol", ::apache::thrift::protocol::T_I32, 2);
+ xfer += oprot->writeI32((int32_t)this->securityProtocol);
+ xfer += oprot->writeFieldEnd();
+
+ xfer += oprot->writeFieldBegin("gridFTPEndPoint", ::apache::thrift::protocol::T_LIST, 3);
+ {
+ xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRING, static_cast<uint32_t>(this->gridFTPEndPoint.size()));
+ std::vector<std::string> ::const_iterator _iter7;
+ for (_iter7 = this->gridFTPEndPoint.begin(); _iter7 != this->gridFTPEndPoint.end(); ++_iter7)
+ {
+ xfer += oprot->writeString((*_iter7));
+ }
+ xfer += oprot->writeListEnd();
+ }
+ xfer += oprot->writeFieldEnd();
+
+ xfer += oprot->writeFieldStop();
+ xfer += oprot->writeStructEnd();
+ return xfer;
+}
+
+void swap(GridFTPDataMovement &a, GridFTPDataMovement &b) {
+ using ::std::swap;
+ swap(a.dataMovementDataID, b.dataMovementDataID);
+ swap(a.securityProtocol, b.securityProtocol);
+ swap(a.gridFTPEndPoint, b.gridFTPEndPoint);
+}
+
+const char* SSHJobSubmission::ascii_fingerprint = "FEB6B2CD28861B4EED855CACA1FEF2CB";
+const uint8_t SSHJobSubmission::binary_fingerprint[16] = {0xFE,0xB6,0xB2,0xCD,0x28,0x86,0x1B,0x4E,0xED,0x85,0x5C,0xAC,0xA1,0xFE,0xF2,0xCB};
+
+uint32_t SSHJobSubmission::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+ uint32_t xfer = 0;
+ std::string fname;
+ ::apache::thrift::protocol::TType ftype;
+ int16_t fid;
+
+ xfer += iprot->readStructBegin(fname);
+
+ using ::apache::thrift::protocol::TProtocolException;
+
+ bool isset_jobSubmissionDataID = false;
+ bool isset_resourceJobManager = false;
+
+ while (true)
+ {
+ xfer += iprot->readFieldBegin(fname, ftype, fid);
+ if (ftype == ::apache::thrift::protocol::T_STOP) {
+ break;
+ }
+ switch (fid)
+ {
+ case 1:
+ if (ftype == ::apache::thrift::protocol::T_STRING) {
+ xfer += iprot->readString(this->jobSubmissionDataID);
+ isset_jobSubmissionDataID = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 2:
+ if (ftype == ::apache::thrift::protocol::T_I32) {
+ int32_t ecast8;
+ xfer += iprot->readI32(ecast8);
+ this->resourceJobManager = (ResourceJobManager::type)ecast8;
+ isset_resourceJobManager = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 3:
+ if (ftype == ::apache::thrift::protocol::T_I32) {
+ xfer += iprot->readI32(this->sshPort);
+ this->__isset.sshPort = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ default:
+ xfer += iprot->skip(ftype);
+ break;
+ }
+ xfer += iprot->readFieldEnd();
+ }
+
+ xfer += iprot->readStructEnd();
+
+ if (!isset_jobSubmissionDataID)
+ throw TProtocolException(TProtocolException::INVALID_DATA);
+ if (!isset_resourceJobManager)
+ throw TProtocolException(TProtocolException::INVALID_DATA);
+ return xfer;
+}
+
+uint32_t SSHJobSubmission::write(::apache::thrift::protocol::TProtocol* oprot) const {
+ uint32_t xfer = 0;
+ xfer += oprot->writeStructBegin("SSHJobSubmission");
+
+ xfer += oprot->writeFieldBegin("jobSubmissionDataID", ::apache::thrift::protocol::T_STRING, 1);
+ xfer += oprot->writeString(this->jobSubmissionDataID);
+ xfer += oprot->writeFieldEnd();
+
+ xfer += oprot->writeFieldBegin("resourceJobManager", ::apache::thrift::protocol::T_I32, 2);
+ xfer += oprot->writeI32((int32_t)this->resourceJobManager);
+ xfer += oprot->writeFieldEnd();
+
+ if (this->__isset.sshPort) {
+ xfer += oprot->writeFieldBegin("sshPort", ::apache::thrift::protocol::T_I32, 3);
+ xfer += oprot->writeI32(this->sshPort);
+ xfer += oprot->writeFieldEnd();
+ }
+ xfer += oprot->writeFieldStop();
+ xfer += oprot->writeStructEnd();
+ return xfer;
+}
+
+void swap(SSHJobSubmission &a, SSHJobSubmission &b) {
+ using ::std::swap;
+ swap(a.jobSubmissionDataID, b.jobSubmissionDataID);
+ swap(a.resourceJobManager, b.resourceJobManager);
+ swap(a.sshPort, b.sshPort);
+ swap(a.__isset, b.__isset);
+}
+
+const char* GlobusJobSubmission::ascii_fingerprint = "DF4253F78D7B543C16FA461660D38A03";
+const uint8_t GlobusJobSubmission::binary_fingerprint[16] = {0xDF,0x42,0x53,0xF7,0x8D,0x7B,0x54,0x3C,0x16,0xFA,0x46,0x16,0x60,0xD3,0x8A,0x03};
+
+uint32_t GlobusJobSubmission::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+ uint32_t xfer = 0;
+ std::string fname;
+ ::apache::thrift::protocol::TType ftype;
+ int16_t fid;
+
+ xfer += iprot->readStructBegin(fname);
+
+ using ::apache::thrift::protocol::TProtocolException;
+
+ bool isset_jobSubmissionDataID = false;
+ bool isset_securityProtocol = false;
+ bool isset_resourceJobManager = false;
+
+ while (true)
+ {
+ xfer += iprot->readFieldBegin(fname, ftype, fid);
+ if (ftype == ::apache::thrift::protocol::T_STOP) {
+ break;
+ }
+ switch (fid)
+ {
+ case 1:
+ if (ftype == ::apache::thrift::protocol::T_STRING) {
+ xfer += iprot->readString(this->jobSubmissionDataID);
+ isset_jobSubmissionDataID = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 2:
+ if (ftype == ::apache::thrift::protocol::T_I32) {
+ int32_t ecast9;
+ xfer += iprot->readI32(ecast9);
+ this->securityProtocol = (SecurityProtocol::type)ecast9;
+ isset_securityProtocol = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 3:
+ if (ftype == ::apache::thrift::protocol::T_I32) {
+ int32_t ecast10;
+ xfer += iprot->readI32(ecast10);
+ this->resourceJobManager = (ResourceJobManager::type)ecast10;
+ isset_resourceJobManager = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 4:
+ if (ftype == ::apache::thrift::protocol::T_LIST) {
+ {
+ this->globusGateKeeperEndPoint.clear();
+ uint32_t _size11;
+ ::apache::thrift::protocol::TType _etype14;
+ xfer += iprot->readListBegin(_etype14, _size11);
+ this->globusGateKeeperEndPoint.resize(_size11);
+ uint32_t _i15;
+ for (_i15 = 0; _i15 < _size11; ++_i15)
+ {
+ xfer += iprot->readString(this->globusGateKeeperEndPoint[_i15]);
+ }
+ xfer += iprot->readListEnd();
+ }
+ this->__isset.globusGateKeeperEndPoint = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ default:
+ xfer += iprot->skip(ftype);
+ break;
+ }
+ xfer += iprot->readFieldEnd();
+ }
+
+ xfer += iprot->readStructEnd();
+
+ if (!isset_jobSubmissionDataID)
+ throw TProtocolException(TProtocolException::INVALID_DATA);
+ if (!isset_securityProtocol)
+ throw TProtocolException(TProtocolException::INVALID_DATA);
+ if (!isset_resourceJobManager)
+ throw TProtocolException(TProtocolException::INVALID_DATA);
+ return xfer;
+}
+
+uint32_t GlobusJobSubmission::write(::apache::thrift::protocol::TProtocol* oprot) const {
+ uint32_t xfer = 0;
+ xfer += oprot->writeStructBegin("GlobusJobSubmission");
+
+ xfer += oprot->writeFieldBegin("jobSubmissionDataID", ::apache::thrift::protocol::T_STRING, 1);
+ xfer += oprot->writeString(this->jobSubmissionDataID);
+ xfer += oprot->writeFieldEnd();
+
+ xfer += oprot->writeFieldBegin("securityProtocol", ::apache::thrift::protocol::T_I32, 2);
+ xfer += oprot->writeI32((int32_t)this->securityProtocol);
+ xfer += oprot->writeFieldEnd();
+
+ xfer += oprot->writeFieldBegin("resourceJobManager", ::apache::thrift::protocol::T_I32, 3);
+ xfer += oprot->writeI32((int32_t)this->resourceJobManager);
+ xfer += oprot->writeFieldEnd();
+
+ if (this->__isset.globusGateKeeperEndPoint) {
+ xfer += oprot->writeFieldBegin("globusGateKeeperEndPoint", ::apache::thrift::protocol::T_LIST, 4);
+ {
+ xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRING, static_cast<uint32_t>(this->globusGateKeeperEndPoint.size()));
+ std::vector<std::string> ::const_iterator _iter16;
+ for (_iter16 = this->globusGateKeeperEndPoint.begin(); _iter16 != this->globusGateKeeperEndPoint.end(); ++_iter16)
+ {
+ xfer += oprot->writeString((*_iter16));
+ }
+ xfer += oprot->writeListEnd();
+ }
+ xfer += oprot->writeFieldEnd();
+ }
+ xfer += oprot->writeFieldStop();
+ xfer += oprot->writeStructEnd();
+ return xfer;
+}
+
+void swap(GlobusJobSubmission &a, GlobusJobSubmission &b) {
+ using ::std::swap;
+ swap(a.jobSubmissionDataID, b.jobSubmissionDataID);
+ swap(a.securityProtocol, b.securityProtocol);
+ swap(a.resourceJobManager, b.resourceJobManager);
+ swap(a.globusGateKeeperEndPoint, b.globusGateKeeperEndPoint);
+ swap(a.__isset, b.__isset);
+}
+
+const char* GSISSHJobSubmission::ascii_fingerprint = "6969A7F145C4403B2F9081A498E933FD";
+const uint8_t GSISSHJobSubmission::binary_fingerprint[16] = {0x69,0x69,0xA7,0xF1,0x45,0xC4,0x40,0x3B,0x2F,0x90,0x81,0xA4,0x98,0xE9,0x33,0xFD};
+
+uint32_t GSISSHJobSubmission::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+ uint32_t xfer = 0;
+ std::string fname;
+ ::apache::thrift::protocol::TType ftype;
+ int16_t fid;
+
+ xfer += iprot->readStructBegin(fname);
+
+ using ::apache::thrift::protocol::TProtocolException;
+
+ bool isset_jobSubmissionDataID = false;
+ bool isset_resourceJobManager = false;
+
+ while (true)
+ {
+ xfer += iprot->readFieldBegin(fname, ftype, fid);
+ if (ftype == ::apache::thrift::protocol::T_STOP) {
+ break;
+ }
+ switch (fid)
+ {
+ case 1:
+ if (ftype == ::apache::thrift::protocol::T_STRING) {
+ xfer += iprot->readString(this->jobSubmissionDataID);
+ isset_jobSubmissionDataID = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 2:
+ if (ftype == ::apache::thrift::protocol::T_I32) {
+ int32_t ecast17;
+ xfer += iprot->readI32(ecast17);
+ this->resourceJobManager = (ResourceJobManager::type)ecast17;
+ isset_resourceJobManager = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 3:
+ if (ftype == ::apache::thrift::protocol::T_I32) {
+ xfer += iprot->readI32(this->sshPort);
+ this->__isset.sshPort = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 4:
+ if (ftype == ::apache::thrift::protocol::T_SET) {
+ {
+ this->exports.clear();
+ uint32_t _size18;
+ ::apache::thrift::protocol::TType _etype21;
+ xfer += iprot->readSetBegin(_etype21, _size18);
+ uint32_t _i22;
+ for (_i22 = 0; _i22 < _size18; ++_i22)
+ {
+ std::string _elem23;
+ xfer += iprot->readString(_elem23);
+ this->exports.insert(_elem23);
+ }
+ xfer += iprot->readSetEnd();
+ }
+ this->__isset.exports = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 5:
+ if (ftype == ::apache::thrift::protocol::T_LIST) {
+ {
+ this->preJobCommands.clear();
+ uint32_t _size24;
+ ::apache::thrift::protocol::TType _etype27;
+ xfer += iprot->readListBegin(_etype27, _size24);
+ this->preJobCommands.resize(_size24);
+ uint32_t _i28;
+ for (_i28 = 0; _i28 < _size24; ++_i28)
+ {
+ xfer += iprot->readString(this->preJobCommands[_i28]);
+ }
+ xfer += iprot->readListEnd();
+ }
+ this->__isset.preJobCommands = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 6:
+ if (ftype == ::apache::thrift::protocol::T_LIST) {
+ {
+ this->postJobCommands.clear();
+ uint32_t _size29;
+ ::apache::thrift::protocol::TType _etype32;
+ xfer += iprot->readListBegin(_etype32, _size29);
+ this->postJobCommands.resize(_size29);
+ uint32_t _i33;
+ for (_i33 = 0; _i33 < _size29; ++_i33)
+ {
+ xfer += iprot->readString(this->postJobCommands[_i33]);
+ }
+ xfer += iprot->readListEnd();
+ }
+ this->__isset.postJobCommands = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 7:
+ if (ftype == ::apache::thrift::protocol::T_STRING) {
+ xfer += iprot->readString(this->installedPath);
+ this->__isset.installedPath = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 8:
+ if (ftype == ::apache::thrift::protocol::T_STRING) {
+ xfer += iprot->readString(this->monitorMode);
+ this->__isset.monitorMode = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ default:
+ xfer += iprot->skip(ftype);
+ break;
+ }
+ xfer += iprot->readFieldEnd();
+ }
+
+ xfer += iprot->readStructEnd();
+
+ if (!isset_jobSubmissionDataID)
+ throw TProtocolException(TProtocolException::INVALID_DATA);
+ if (!isset_resourceJobManager)
+ throw TProtocolException(TProtocolException::INVALID_DATA);
+ return xfer;
+}
+
+uint32_t GSISSHJobSubmission::write(::apache::thrift::protocol::TProtocol* oprot) const {
+ uint32_t xfer = 0;
+ xfer += oprot->writeStructBegin("GSISSHJobSubmission");
+
+ xfer += oprot->writeFieldBegin("jobSubmissionDataID", ::apache::thrift::protocol::T_STRING, 1);
+ xfer += oprot->writeString(this->jobSubmissionDataID);
+ xfer += oprot->writeFieldEnd();
+
+ xfer += oprot->writeFieldBegin("resourceJobManager", ::apache::thrift::protocol::T_I32, 2);
+ xfer += oprot->writeI32((int32_t)this->resourceJobManager);
+ xfer += oprot->writeFieldEnd();
+
+ if (this->__isset.sshPort) {
+ xfer += oprot->writeFieldBegin("sshPort", ::apache::thrift::protocol::T_I32, 3);
+ xfer += oprot->writeI32(this->sshPort);
+ xfer += oprot->writeFieldEnd();
+ }
+ if (this->__isset.exports) {
+ xfer += oprot->writeFieldBegin("exports", ::apache::thrift::protocol::T_SET, 4);
+ {
+ xfer += oprot->writeSetBegin(::apache::thrift::protocol::T_STRING, static_cast<uint32_t>(this->exports.size()));
+ std::set<std::string> ::const_iterator _iter34;
+ for (_iter34 = this->exports.begin(); _iter34 != this->exports.end(); ++_iter34)
+ {
+ xfer += oprot->writeString((*_iter34));
+ }
+ xfer += oprot->writeSetEnd();
+ }
+ xfer += oprot->writeFieldEnd();
+ }
+ if (this->__isset.preJobCommands) {
+ xfer += oprot->writeFieldBegin("preJobCommands", ::apache::thrift::protocol::T_LIST, 5);
+ {
+ xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRING, static_cast<uint32_t>(this->preJobCommands.size()));
+ std::vector<std::string> ::const_iterator _iter35;
+ for (_iter35 = this->preJobCommands.begin(); _iter35 != this->preJobCommands.end(); ++_iter35)
+ {
+ xfer += oprot->writeString((*_iter35));
+ }
+ xfer += oprot->writeListEnd();
+ }
+ xfer += oprot->writeFieldEnd();
+ }
+ if (this->__isset.postJobCommands) {
+ xfer += oprot->writeFieldBegin("postJobCommands", ::apache::thrift::protocol::T_LIST, 6);
+ {
+ xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRING, static_cast<uint32_t>(this->postJobCommands.size()));
+ std::vector<std::string> ::const_iterator _iter36;
+ for (_iter36 = this->postJobCommands.begin(); _iter36 != this->postJobCommands.end(); ++_iter36)
+ {
+ xfer += oprot->writeString((*_iter36));
+ }
+ xfer += oprot->writeListEnd();
+ }
+ xfer += oprot->writeFieldEnd();
+ }
+ if (this->__isset.installedPath) {
+ xfer += oprot->writeFieldBegin("installedPath", ::apache::thrift::protocol::T_STRING, 7);
+ xfer += oprot->writeString(this->installedPath);
+ xfer += oprot->writeFieldEnd();
+ }
+ if (this->__isset.monitorMode) {
+ xfer += oprot->writeFieldBegin("monitorMode", ::apache::thrift::protocol::T_STRING, 8);
+ xfer += oprot->writeString(this->monitorMode);
+ xfer += oprot->writeFieldEnd();
+ }
+ xfer += oprot->writeFieldStop();
+ xfer += oprot->writeStructEnd();
+ return xfer;
+}
+
+void swap(GSISSHJobSubmission &a, GSISSHJobSubmission &b) {
+ using ::std::swap;
+ swap(a.jobSubmissionDataID, b.jobSubmissionDataID);
+ swap(a.resourceJobManager, b.resourceJobManager);
+ swap(a.sshPort, b.sshPort);
+ swap(a.exports, b.exports);
+ swap(a.preJobCommands, b.preJobCommands);
+ swap(a.postJobCommands, b.postJobCommands);
+ swap(a.installedPath, b.installedPath);
+ swap(a.monitorMode, b.monitorMode);
+ swap(a.__isset, b.__isset);
+}
+
+const char* ComputeResourceDescription::ascii_fingerprint = "BA89EA8A5D740F97C53BA51CA49FEC18";
+const uint8_t ComputeResourceDescription::binary_fingerprint[16] = {0xBA,0x89,0xEA,0x8A,0x5D,0x74,0x0F,0x97,0xC5,0x3B,0xA5,0x1C,0xA4,0x9F,0xEC,0x18};
+
+uint32_t ComputeResourceDescription::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+ uint32_t xfer = 0;
+ std::string fname;
+ ::apache::thrift::protocol::TType ftype;
+ int16_t fid;
+
+ xfer += iprot->readStructBegin(fname);
+
+ using ::apache::thrift::protocol::TProtocolException;
+
+ bool isset_isEmpty = false;
+ bool isset_resourceId = false;
+ bool isset_hostName = false;
+ bool isset_jobSubmissionProtocols = false;
+ bool isset_dataMovementProtocols = false;
+
+ while (true)
+ {
+ xfer += iprot->readFieldBegin(fname, ftype, fid);
+ if (ftype == ::apache::thrift::protocol::T_STOP) {
+ break;
+ }
+ switch (fid)
+ {
+ case 1:
+ if (ftype == ::apache::thrift::protocol::T_BOOL) {
+ xfer += iprot->readBool(this->isEmpty);
+ isset_isEmpty = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 2:
+ if (ftype == ::apache::thrift::protocol::T_STRING) {
+ xfer += iprot->readString(this->resourceId);
+ isset_resourceId = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 3:
+ if (ftype == ::apache::thrift::protocol::T_STRING) {
+ xfer += iprot->readString(this->hostName);
+ isset_hostName = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 4:
+ if (ftype == ::apache::thrift::protocol::T_SET) {
+ {
+ this->hostAliases.clear();
+ uint32_t _size37;
+ ::apache::thrift::protocol::TType _etype40;
+ xfer += iprot->readSetBegin(_etype40, _size37);
+ uint32_t _i41;
+ for (_i41 = 0; _i41 < _size37; ++_i41)
+ {
+ std::string _elem42;
+ xfer += iprot->readString(_elem42);
+ this->hostAliases.insert(_elem42);
+ }
+ xfer += iprot->readSetEnd();
+ }
+ this->__isset.hostAliases = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 5:
+ if (ftype == ::apache::thrift::protocol::T_SET) {
+ {
+ this->ipAddresses.clear();
+ uint32_t _size43;
+ ::apache::thrift::protocol::TType _etype46;
+ xfer += iprot->readSetBegin(_etype46, _size43);
+ uint32_t _i47;
+ for (_i47 = 0; _i47 < _size43; ++_i47)
+ {
+ std::string _elem48;
+ xfer += iprot->readString(_elem48);
+ this->ipAddresses.insert(_elem48);
+ }
+ xfer += iprot->readSetEnd();
+ }
+ this->__isset.ipAddresses = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 6:
+ if (ftype == ::apache::thrift::protocol::T_STRING) {
+ xfer += iprot->readString(this->resourceDescription);
+ this->__isset.resourceDescription = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 7:
+ if (ftype == ::apache::thrift::protocol::T_STRING) {
+ xfer += iprot->readString(this->scratchLocation);
+ this->__isset.scratchLocation = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 8:
+ if (ftype == ::apache::thrift::protocol::T_STRING) {
+ xfer += iprot->readString(this->preferredJobSubmissionProtocol);
+ this->__isset.preferredJobSubmissionProtocol = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 9:
+ if (ftype == ::apache::thrift::protocol::T_MAP) {
+ {
+ this->jobSubmissionProtocols.clear();
+ uint32_t _size49;
+ ::apache::thrift::protocol::TType _ktype50;
+ ::apache::thrift::protocol::TType _vtype51;
+ xfer += iprot->readMapBegin(_ktype50, _vtype51, _size49);
+ uint32_t _i53;
+ for (_i53 = 0; _i53 < _size49; ++_i53)
+ {
+ std::string _key54;
+ xfer += iprot->readString(_key54);
+ JobSubmissionProtocol::type& _val55 = this->jobSubmissionProtocols[_key54];
+ int32_t ecast56;
+ xfer += iprot->readI32(ecast56);
+ _val55 = (JobSubmissionProtocol::type)ecast56;
+ }
+ xfer += iprot->readMapEnd();
+ }
+ isset_jobSubmissionProtocols = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 10:
+ if (ftype == ::apache::thrift::protocol::T_MAP) {
+ {
+ this->dataMovementProtocols.clear();
+ uint32_t _size57;
+ ::apache::thrift::protocol::TType _ktype58;
+ ::apache::thrift::protocol::TType _vtype59;
+ xfer += iprot->readMapBegin(_ktype58, _vtype59, _size57);
+ uint32_t _i61;
+ for (_i61 = 0; _i61 < _size57; ++_i61)
+ {
+ std::string _key62;
+ xfer += iprot->readString(_key62);
+ DataMovementProtocol::type& _val63 = this->dataMovementProtocols[_key62];
+ int32_t ecast64;
+ xfer += iprot->readI32(ecast64);
+ _val63 = (DataMovementProtocol::type)ecast64;
+ }
+ xfer += iprot->readMapEnd();
+ }
+ isset_dataMovementProtocols = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ default:
+ xfer += iprot->skip(ftype);
+ break;
+ }
+ xfer += iprot->readFieldEnd();
+ }
+
+ xfer += iprot->readStructEnd();
+
+ if (!isset_isEmpty)
+ throw TProtocolException(TProtocolException::INVALID_DATA);
+ if (!isset_resourceId)
+ throw TProtocolException(TProtocolException::INVALID_DATA);
+ if (!isset_hostName)
+ throw TProtocolException(TProtocolException::INVALID_DATA);
+ if (!isset_jobSubmissionProtocols)
+ throw TProtocolException(TProtocolException::INVALID_DATA);
+ if (!isset_dataMovementProtocols)
+ throw TProtocolException(TProtocolException::INVALID_DATA);
+ return xfer;
+}
+
+uint32_t ComputeResourceDescription::write(::apache::thrift::protocol::TProtocol* oprot) const {
+ uint32_t xfer = 0;
+ xfer += oprot->writeStructBegin("ComputeResourceDescription");
+
+ xfer += oprot->writeFieldBegin("isEmpty", ::apache::thrift::protocol::T_BOOL, 1);
+ xfer += oprot->writeBool(this->isEmpty);
+ xfer += oprot->writeFieldEnd();
+
+ xfer += oprot->writeFieldBegin("resourceId", ::apache::thrift::protocol::T_STRING, 2);
+ xfer += oprot->writeString(this->resourceId);
+ xfer += oprot->writeFieldEnd();
+
+ xfer += oprot->writeFieldBegin("hostName", ::apache::thrift::protocol::T_STRING, 3);
+ xfer += oprot->writeString(this->hostName);
+ xfer += oprot->writeFieldEnd();
+
+ if (this->__isset.hostAliases) {
+ xfer += oprot->writeFieldBegin("hostAliases", ::apache::thrift::protocol::T_SET, 4);
+ {
+ xfer += oprot->writeSetBegin(::apache::thrift::protocol::T_STRING, static_cast<uint32_t>(this->hostAliases.size()));
+ std::set<std::string> ::const_iterator _iter65;
+ for (_iter65 = this->hostAliases.begin(); _iter65 != this->hostAliases.end(); ++_iter65)
+ {
+ xfer += oprot->writeString((*_iter65));
+ }
+ xfer += oprot->writeSetEnd();
+ }
+ xfer += oprot->writeFieldEnd();
+ }
+ if (this->__isset.ipAddresses) {
+ xfer += oprot->writeFieldBegin("ipAddresses", ::apache::thrift::protocol::T_SET, 5);
+ {
+ xfer += oprot->writeSetBegin(::apache::thrift::protocol::T_STRING, static_cast<uint32_t>(this->ipAddresses.size()));
+ std::set<std::string> ::const_iterator _iter66;
+ for (_iter66 = this->ipAddresses.begin(); _iter66 != this->ipAddresses.end(); ++_iter66)
+ {
+ xfer += oprot->writeString((*_iter66));
+ }
+ xfer += oprot->writeSetEnd();
+ }
+ xfer += oprot->writeFieldEnd();
+ }
+ if (this->__isset.resourceDescription) {
+ xfer += oprot->writeFieldBegin("resourceDescription", ::apache::thrift::protocol::T_STRING, 6);
+ xfer += oprot->writeString(this->resourceDescription);
+ xfer += oprot->writeFieldEnd();
+ }
+ if (this->__isset.scratchLocation) {
+ xfer += oprot->writeFieldBegin("scratchLocation", ::apache::thrift::protocol::T_STRING, 7);
+ xfer += oprot->writeString(this->scratchLocation);
+ xfer += oprot->writeFieldEnd();
+ }
+ if (this->__isset.preferredJobSubmissionProtocol) {
+ xfer += oprot->writeFieldBegin("preferredJobSubmissionProtocol", ::apache::thrift::protocol::T_STRING, 8);
+ xfer += oprot->writeString(this->preferredJobSubmissionProtocol);
+ xfer += oprot->writeFieldEnd();
+ }
+ xfer += oprot->writeFieldBegin("jobSubmissionProtocols", ::apache::thrift::protocol::T_MAP, 9);
+ {
+ xfer += oprot->writeMapBegin(::apache::thrift::protocol::T_STRING, ::apache::thrift::protocol::T_I32, static_cast<uint32_t>(this->jobSubmissionProtocols.size()));
+ std::map<std::string, JobSubmissionProtocol::type> ::const_iterator _iter67;
+ for (_iter67 = this->jobSubmissionProtocols.begin(); _iter67 != this->jobSubmissionProtocols.end(); ++_iter67)
+ {
+ xfer += oprot->writeString(_iter67->first);
+ xfer += oprot->writeI32((int32_t)_iter67->second);
+ }
+ xfer += oprot->writeMapEnd();
+ }
+ xfer += oprot->writeFieldEnd();
+
+ xfer += oprot->writeFieldBegin("dataMovementProtocols", ::apache::thrift::protocol::T_MAP, 10);
+ {
+ xfer += oprot->writeMapBegin(::apache::thrift::protocol::T_STRING, ::apache::thrift::protocol::T_I32, static_cast<uint32_t>(this->dataMovementProtocols.size()));
+ std::map<std::string, DataMovementProtocol::type> ::const_iterator _iter68;
+ for (_iter68 = this->dataMovementProtocols.begin(); _iter68 != this->dataMovementProtocols.end(); ++_iter68)
+ {
+ xfer += oprot->writeString(_iter68->first);
+ xfer += oprot->writeI32((int32_t)_iter68->second);
+ }
+ xfer += oprot->writeMapEnd();
+ }
+ xfer += oprot->writeFieldEnd();
+
+ xfer += oprot->writeFieldStop();
+ xfer += oprot->writeStructEnd();
+ return xfer;
+}
+
+void swap(ComputeResourceDescription &a, ComputeResourceDescription &b) {
+ using ::std::swap;
+ swap(a.isEmpty, b.isEmpty);
+ swap(a.resourceId, b.resourceId);
+ swap(a.hostName, b.hostName);
+ swap(a.hostAliases, b.hostAliases);
+ swap(a.ipAddresses, b.ipAddresses);
+ swap(a.resourceDescription, b.resourceDescription);
+ swap(a.scratchLocation, b.scratchLocation);
+ swap(a.preferredJobSubmissionProtocol, b.preferredJobSubmissionProtocol);
+ swap(a.jobSubmissionProtocols, b.jobSubmissionProtocols);
+ swap(a.dataMovementProtocols, b.dataMovementProtocols);
+ swap(a.__isset, b.__isset);
+}
+
+const char* ApplicationDescriptor::ascii_fingerprint = "5B708A954C550ECA9C1A49D3C5CAFAB9";
+const uint8_t ApplicationDescriptor::binary_fingerprint[16] = {0x5B,0x70,0x8A,0x95,0x4C,0x55,0x0E,0xCA,0x9C,0x1A,0x49,0xD3,0xC5,0xCA,0xFA,0xB9};
+
+uint32_t ApplicationDescriptor::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+ uint32_t xfer = 0;
+ std::string fname;
+ ::apache::thrift::protocol::TType ftype;
+ int16_t fid;
+
+ xfer += iprot->readStructBegin(fname);
+
+ using ::apache::thrift::protocol::TProtocolException;
+
+ bool isset_applicationDescriptorId = false;
+
+ while (true)
+ {
+ xfer += iprot->readFieldBegin(fname, ftype, fid);
+ if (ftype == ::apache::thrift::protocol::T_STOP) {
+ break;
+ }
+ switch (fid)
+ {
+ case 1:
+ if (ftype == ::apache::thrift::protocol::T_STRING) {
+ xfer += iprot->readString(this->applicationDescriptorId);
+ isset_applicationDescriptorId = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 2:
+ if (ftype == ::apache::thrift::protocol::T_STRING) {
+ xfer += iprot->readString(this->applicationDescriptorData);
+ this->__isset.applicationDescriptorData = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ default:
+ xfer += iprot->skip(ftype);
+ break;
+ }
+ xfer += iprot->readFieldEnd();
+ }
+
+ xfer += iprot->readStructEnd();
+
+ if (!isset_applicationDescriptorId)
+ throw TProtocolException(TProtocolException::INVALID_DATA);
+ return xfer;
+}
+
+uint32_t ApplicationDescriptor::write(::apache::thrift::protocol::TProtocol* oprot) const {
+ uint32_t xfer = 0;
+ xfer += oprot->writeStructBegin("ApplicationDescriptor");
+
+ xfer += oprot->writeFieldBegin("applicationDescriptorId", ::apache::thrift::protocol::T_STRING, 1);
+ xfer += oprot->writeString(this->applicationDescriptorId);
+ xfer += oprot->writeFieldEnd();
+
+ if (this->__isset.applicationDescriptorData) {
+ xfer += oprot->writeFieldBegin("applicationDescriptorData", ::apache::thrift::protocol::T_STRING, 2);
+ xfer += oprot->writeString(this->applicationDescriptorData);
+ xfer += oprot->writeFieldEnd();
+ }
+ xfer += oprot->writeFieldStop();
+ xfer += oprot->writeStructEnd();
+ return xfer;
+}
+
+void swap(ApplicationDescriptor &a, ApplicationDescriptor &b) {
+ using ::std::swap;
+ swap(a.applicationDescriptorId, b.applicationDescriptorId);
+ swap(a.applicationDescriptorData, b.applicationDescriptorData);
+ swap(a.__isset, b.__isset);
+}
+
+const char* ApplicationDeployment::ascii_fingerprint = "960C379A1227D22F43E92F77C32827B9";
+const uint8_t ApplicationDeployment::binary_fingerprint[16] = {0x96,0x0C,0x37,0x9A,0x12,0x27,0xD2,0x2F,0x43,0xE9,0x2F,0x77,0xC3,0x28,0x27,0xB9};
+
+uint32_t ApplicationDeployment::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+ uint32_t xfer = 0;
+ std::string fname;
+ ::apache::thrift::protocol::TType ftype;
+ int16_t fid;
+
+ xfer += iprot->readStructBegin(fname);
+
+ using ::apache::thrift::protocol::TProtocolException;
+
+ bool isset_deploymentId = false;
+ bool isset_computeResourceDescription = false;
+ bool isset_applicationDescriptor = false;
+
+ while (true)
+ {
+ xfer += iprot->readFieldBegin(fname, ftype, fid);
+ if (ftype == ::apache::thrift::protocol::T_STOP) {
+ break;
+ }
+ switch (fid)
+ {
+ case 1:
+ if (ftype == ::apache::thrift::protocol::T_STRING) {
+ xfer += iprot->readString(this->deploymentId);
+ isset_deploymentId = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 2:
+ if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+ xfer += this->computeResourceDescription.read(iprot);
+ isset_computeResourceDescription = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 3:
+ if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+ xfer += this->applicationDescriptor.read(iprot);
+ isset_applicationDescriptor = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ default:
+ xfer += iprot->skip(ftype);
+ break;
+ }
+ xfer += iprot->readFieldEnd();
+ }
+
+ xfer += iprot->readStructEnd();
+
+ if (!isset_deploymentId)
+ throw TProtocolException(TProtocolException::INVALID_DATA);
+ if (!isset_computeResourceDescription)
+ throw TProtocolException(TProtocolException::INVALID_DATA);
+ if (!isset_applicationDescriptor)
+ throw TProtocolException(TProtocolException::INVALID_DATA);
+ return xfer;
+}
+
+uint32_t ApplicationDeployment::write(::apache::thrift::protocol::TProtocol* oprot) const {
+ uint32_t xfer = 0;
+ xfer += oprot->writeStructBegin("ApplicationDeployment");
+
+ xfer += oprot->writeFieldBegin("deploymentId", ::apache::thrift::protocol::T_STRING, 1);
+ xfer += oprot->writeString(this->deploymentId);
+ xfer += oprot->writeFieldEnd();
+
+ xfer += oprot->writeFieldBegin("computeResourceDescription", ::apache::thrift::protocol::T_STRUCT, 2);
+ xfer += this->computeResourceDescription.write(oprot);
+ xfer += oprot->writeFieldEnd();
+
+ xfer += oprot->writeFieldBegin("applicationDescriptor", ::apache::thrift::protocol::T_STRUCT, 3);
+ xfer += this->applicationDescriptor.write(oprot);
+ xfer += oprot->writeFieldEnd();
+
+ xfer += oprot->writeFieldStop();
+ xfer += oprot->writeStructEnd();
+ return xfer;
+}
+
+void swap(ApplicationDeployment &a, ApplicationDeployment &b) {
+ using ::std::swap;
+ swap(a.deploymentId, b.deploymentId);
+ swap(a.computeResourceDescription, b.computeResourceDescription);
+ swap(a.applicationDescriptor, b.applicationDescriptor);
+}
+
+const char* ApplicationInterface::ascii_fingerprint = "EEF3E81C0A64CA93FD2422A6CF9ABA97";
+const uint8_t ApplicationInterface::binary_fingerprint[16] = {0xEE,0xF3,0xE8,0x1C,0x0A,0x64,0xCA,0x93,0xFD,0x24,0x22,0xA6,0xCF,0x9A,0xBA,0x97};
+
+uint32_t ApplicationInterface::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+ uint32_t xfer = 0;
+ std::string fname;
+ ::apache::thrift::protocol::TType ftype;
+ int16_t fid;
+
+ xfer += iprot->readStructBegin(fname);
+
+ using ::apache::thrift::protocol::TProtocolException;
+
+ bool isset_applicationInterfaceId = false;
+
+ while (true)
+ {
+ xfer += iprot->readFieldBegin(fname, ftype, fid);
+ if (ftype == ::apache::thrift::protocol::T_STOP) {
+ break;
+ }
+ switch (fid)
+ {
+ case 1:
+ if (ftype == ::apache::thrift::protocol::T_STRING) {
+ xfer += iprot->readString(this->applicationInterfaceId);
+ isset_applicationInterfaceId = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 2:
+ if (ftype == ::apache::thrift::protocol::T_STRING) {
+ xfer += iprot->readString(this->applicationInterfaceData);
+ this->__isset.applicationInterfaceData = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 3:
+ if (ftype == ::apache::thrift::protocol::T_LIST) {
+ {
+ this->applicationDeployments.clear();
+ uint32_t _size69;
+ ::apache::thrift::protocol::TType _etype72;
+ xfer += iprot->readListBegin(_etype72, _size69);
+ this->applicationDeployments.resize(_size69);
+ uint32_t _i73;
+ for (_i73 = 0; _i73 < _size69; ++_i73)
+ {
+ xfer += this->applicationDeployments[_i73].read(iprot);
+ }
+ xfer += iprot->readListEnd();
+ }
+ this->__isset.applicationDeployments = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ default:
+ xfer += iprot->skip(ftype);
+ break;
+ }
+ xfer += iprot->readFieldEnd();
+ }
+
+ xfer += iprot->readStructEnd();
+
+ if (!isset_applicationInterfaceId)
+ throw TProtocolException(TProtocolException::INVALID_DATA);
+ return xfer;
+}
+
+uint32_t ApplicationInterface::write(::apache::thrift::protocol::TProtocol* oprot) const {
+ uint32_t xfer = 0;
+ xfer += oprot->writeStructBegin("ApplicationInterface");
+
+ xfer += oprot->writeFieldBegin("applicationInterfaceId", ::apache::thrift::protocol::T_STRING, 1);
+ xfer += oprot->writeString(this->applicationInterfaceId);
+ xfer += oprot->writeFieldEnd();
+
+ if (this->__isset.applicationInterfaceData) {
+ xfer += oprot->writeFieldBegin("applicationInterfaceData", ::apache::thrift::protocol::T_STRING, 2);
+ xfer += oprot->writeString(this->applicationInterfaceData);
+ xfer += oprot->writeFieldEnd();
+ }
+ if (this->__isset.applicationDeployments) {
+ xfer += oprot->writeFieldBegin("applicationDeployments", ::apache::thrift::protocol::T_LIST, 3);
+ {
+ xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>(this->applicationDeployments.size()));
+ std::vector<ApplicationDeployment> ::const_iterator _iter74;
+ for (_iter74 = this->applicationDeployments.begin(); _iter74 != this->applicationDeployments.end(); ++_iter74)
+ {
+ xfer += (*_iter74).write(oprot);
+ }
+ xfer += oprot->writeListEnd();
+ }
+ xfer += oprot->writeFieldEnd();
+ }
+ xfer += oprot->writeFieldStop();
+ xfer += oprot->writeStructEnd();
+ return xfer;
+}
+
+void swap(ApplicationInterface &a, ApplicationInterface &b) {
+ using ::std::swap;
+ swap(a.applicationInterfaceId, b.applicationInterfaceId);
+ swap(a.applicationInterfaceData, b.applicationInterfaceData);
+ swap(a.applicationDeployments, b.applicationDeployments);
+ swap(a.__isset, b.__isset);
+}
+
+
http://git-wip-us.apache.org/repos/asf/airavata/blob/f891b7dc/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/applicationCatalogDataModel_types.h
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/applicationCatalogDataModel_types.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/applicationCatalogDataModel_types.h
new file mode 100644
index 0000000..814bcd3
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/applicationCatalogDataModel_types.h
@@ -0,0 +1,713 @@
+/**
+ * Autogenerated by Thrift Compiler (0.9.1)
+ *
+ * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+ * @generated
+ */
+#ifndef applicationCatalogDataModel_TYPES_H
+#define applicationCatalogDataModel_TYPES_H
+
+#include <thrift/Thrift.h>
+#include <thrift/TApplicationException.h>
+#include <thrift/protocol/TProtocol.h>
+#include <thrift/transport/TTransport.h>
+
+#include <thrift/cxxfunctional.h>
+
+
+
+
+struct ResourceJobManager {
+ enum type {
+ FORK = 0,
+ PBS = 1,
+ UGE = 2,
+ SLURM = 3
+ };
+};
+
+extern const std::map<int, const char*> _ResourceJobManager_VALUES_TO_NAMES;
+
+struct JobSubmissionProtocol {
+ enum type {
+ SSH = 0,
+ GSISSH = 1,
+ GRAM = 2,
+ UNICORE = 3
+ };
+};
+
+extern const std::map<int, const char*> _JobSubmissionProtocol_VALUES_TO_NAMES;
+
+struct DataMovementProtocol {
+ enum type {
+ SCP = 0,
+ SFTP = 1,
+ GridFTP = 2,
+ UNICORE_STORAGE_SERVICE = 3
+ };
+};
+
+extern const std::map<int, const char*> _DataMovementProtocol_VALUES_TO_NAMES;
+
+struct SecurityProtocol {
+ enum type {
+ USERNAME_PASSWORD = 0,
+ SSH_KEYS = 1,
+ GSI = 2,
+ KERBEROS = 3,
+ OAUTH = 4
+ };
+};
+
+extern const std::map<int, const char*> _SecurityProtocol_VALUES_TO_NAMES;
+
+typedef struct _SCPDataMovement__isset {
+ _SCPDataMovement__isset() : sshPort(true) {}
+ bool sshPort;
+} _SCPDataMovement__isset;
+
+class SCPDataMovement {
+ public:
+
+ static const char* ascii_fingerprint; // = "FEB6B2CD28861B4EED855CACA1FEF2CB";
+ static const uint8_t binary_fingerprint[16]; // = {0xFE,0xB6,0xB2,0xCD,0x28,0x86,0x1B,0x4E,0xED,0x85,0x5C,0xAC,0xA1,0xFE,0xF2,0xCB};
+
+ SCPDataMovement() : dataMovementDataID("DO_NOT_SET_AT_CLIENTS"), securityProtocol((SecurityProtocol::type)0), sshPort(22) {
+ }
+
+ virtual ~SCPDataMovement() throw() {}
+
+ std::string dataMovementDataID;
+ SecurityProtocol::type securityProtocol;
+ int32_t sshPort;
+
+ _SCPDataMovement__isset __isset;
+
+ void __set_dataMovementDataID(const std::string& val) {
+ dataMovementDataID = val;
+ }
+
+ void __set_securityProtocol(const SecurityProtocol::type val) {
+ securityProtocol = val;
+ }
+
+ void __set_sshPort(const int32_t val) {
+ sshPort = val;
+ __isset.sshPort = true;
+ }
+
+ bool operator == (const SCPDataMovement & rhs) const
+ {
+ if (!(dataMovementDataID == rhs.dataMovementDataID))
+ return false;
+ if (!(securityProtocol == rhs.securityProtocol))
+ return false;
+ if (__isset.sshPort != rhs.__isset.sshPort)
+ return false;
+ else if (__isset.sshPort && !(sshPort == rhs.sshPort))
+ return false;
+ return true;
+ }
+ bool operator != (const SCPDataMovement &rhs) const {
+ return !(*this == rhs);
+ }
+
+ bool operator < (const SCPDataMovement & ) const;
+
+ uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+ uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+void swap(SCPDataMovement &a, SCPDataMovement &b);
+
+
+class GridFTPDataMovement {
+ public:
+
+ static const char* ascii_fingerprint; // = "790EE8B1D56A3B9B76C41DD063726E75";
+ static const uint8_t binary_fingerprint[16]; // = {0x79,0x0E,0xE8,0xB1,0xD5,0x6A,0x3B,0x9B,0x76,0xC4,0x1D,0xD0,0x63,0x72,0x6E,0x75};
+
+ GridFTPDataMovement() : dataMovementDataID("DO_NOT_SET_AT_CLIENTS"), securityProtocol((SecurityProtocol::type)0) {
+ }
+
+ virtual ~GridFTPDataMovement() throw() {}
+
+ std::string dataMovementDataID;
+ SecurityProtocol::type securityProtocol;
+ std::vector<std::string> gridFTPEndPoint;
+
+ void __set_dataMovementDataID(const std::string& val) {
+ dataMovementDataID = val;
+ }
+
+ void __set_securityProtocol(const SecurityProtocol::type val) {
+ securityProtocol = val;
+ }
+
+ void __set_gridFTPEndPoint(const std::vector<std::string> & val) {
+ gridFTPEndPoint = val;
+ }
+
+ bool operator == (const GridFTPDataMovement & rhs) const
+ {
+ if (!(dataMovementDataID == rhs.dataMovementDataID))
+ return false;
+ if (!(securityProtocol == rhs.securityProtocol))
+ return false;
+ if (!(gridFTPEndPoint == rhs.gridFTPEndPoint))
+ return false;
+ return true;
+ }
+ bool operator != (const GridFTPDataMovement &rhs) const {
+ return !(*this == rhs);
+ }
+
+ bool operator < (const GridFTPDataMovement & ) const;
+
+ uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+ uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+void swap(GridFTPDataMovement &a, GridFTPDataMovement &b);
+
+typedef struct _SSHJobSubmission__isset {
+ _SSHJobSubmission__isset() : sshPort(true) {}
+ bool sshPort;
+} _SSHJobSubmission__isset;
+
+class SSHJobSubmission {
+ public:
+
+ static const char* ascii_fingerprint; // = "FEB6B2CD28861B4EED855CACA1FEF2CB";
+ static const uint8_t binary_fingerprint[16]; // = {0xFE,0xB6,0xB2,0xCD,0x28,0x86,0x1B,0x4E,0xED,0x85,0x5C,0xAC,0xA1,0xFE,0xF2,0xCB};
+
+ SSHJobSubmission() : jobSubmissionDataID("DO_NOT_SET_AT_CLIENTS"), resourceJobManager((ResourceJobManager::type)0), sshPort(22) {
+ }
+
+ virtual ~SSHJobSubmission() throw() {}
+
+ std::string jobSubmissionDataID;
+ ResourceJobManager::type resourceJobManager;
+ int32_t sshPort;
+
+ _SSHJobSubmission__isset __isset;
+
+ void __set_jobSubmissionDataID(const std::string& val) {
+ jobSubmissionDataID = val;
+ }
+
+ void __set_resourceJobManager(const ResourceJobManager::type val) {
+ resourceJobManager = val;
+ }
+
+ void __set_sshPort(const int32_t val) {
+ sshPort = val;
+ __isset.sshPort = true;
+ }
+
+ bool operator == (const SSHJobSubmission & rhs) const
+ {
+ if (!(jobSubmissionDataID == rhs.jobSubmissionDataID))
+ return false;
+ if (!(resourceJobManager == rhs.resourceJobManager))
+ return false;
+ if (__isset.sshPort != rhs.__isset.sshPort)
+ return false;
+ else if (__isset.sshPort && !(sshPort == rhs.sshPort))
+ return false;
+ return true;
+ }
+ bool operator != (const SSHJobSubmission &rhs) const {
+ return !(*this == rhs);
+ }
+
+ bool operator < (const SSHJobSubmission & ) const;
+
+ uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+ uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+void swap(SSHJobSubmission &a, SSHJobSubmission &b);
+
+typedef struct _GlobusJobSubmission__isset {
+ _GlobusJobSubmission__isset() : globusGateKeeperEndPoint(false) {}
+ bool globusGateKeeperEndPoint;
+} _GlobusJobSubmission__isset;
+
+class GlobusJobSubmission {
+ public:
+
+ static const char* ascii_fingerprint; // = "DF4253F78D7B543C16FA461660D38A03";
+ static const uint8_t binary_fingerprint[16]; // = {0xDF,0x42,0x53,0xF7,0x8D,0x7B,0x54,0x3C,0x16,0xFA,0x46,0x16,0x60,0xD3,0x8A,0x03};
+
+ GlobusJobSubmission() : jobSubmissionDataID("DO_NOT_SET_AT_CLIENTS"), securityProtocol((SecurityProtocol::type)0), resourceJobManager((ResourceJobManager::type)0) {
+ }
+
+ virtual ~GlobusJobSubmission() throw() {}
+
+ std::string jobSubmissionDataID;
+ SecurityProtocol::type securityProtocol;
+ ResourceJobManager::type resourceJobManager;
+ std::vector<std::string> globusGateKeeperEndPoint;
+
+ _GlobusJobSubmission__isset __isset;
+
+ void __set_jobSubmissionDataID(const std::string& val) {
+ jobSubmissionDataID = val;
+ }
+
+ void __set_securityProtocol(const SecurityProtocol::type val) {
+ securityProtocol = val;
+ }
+
+ void __set_resourceJobManager(const ResourceJobManager::type val) {
+ resourceJobManager = val;
+ }
+
+ void __set_globusGateKeeperEndPoint(const std::vector<std::string> & val) {
+ globusGateKeeperEndPoint = val;
+ __isset.globusGateKeeperEndPoint = true;
+ }
+
+ bool operator == (const GlobusJobSubmission & rhs) const
+ {
+ if (!(jobSubmissionDataID == rhs.jobSubmissionDataID))
+ return false;
+ if (!(securityProtocol == rhs.securityProtocol))
+ return false;
+ if (!(resourceJobManager == rhs.resourceJobManager))
+ return false;
+ if (__isset.globusGateKeeperEndPoint != rhs.__isset.globusGateKeeperEndPoint)
+ return false;
+ else if (__isset.globusGateKeeperEndPoint && !(globusGateKeeperEndPoint == rhs.globusGateKeeperEndPoint))
+ return false;
+ return true;
+ }
+ bool operator != (const GlobusJobSubmission &rhs) const {
+ return !(*this == rhs);
+ }
+
+ bool operator < (const GlobusJobSubmission & ) const;
+
+ uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+ uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+void swap(GlobusJobSubmission &a, GlobusJobSubmission &b);
+
+typedef struct _GSISSHJobSubmission__isset {
+ _GSISSHJobSubmission__isset() : sshPort(true), exports(false), preJobCommands(false), postJobCommands(false), installedPath(false), monitorMode(false) {}
+ bool sshPort;
+ bool exports;
+ bool preJobCommands;
+ bool postJobCommands;
+ bool installedPath;
+ bool monitorMode;
+} _GSISSHJobSubmission__isset;
+
+class GSISSHJobSubmission {
+ public:
+
+ static const char* ascii_fingerprint; // = "6969A7F145C4403B2F9081A498E933FD";
+ static const uint8_t binary_fingerprint[16]; // = {0x69,0x69,0xA7,0xF1,0x45,0xC4,0x40,0x3B,0x2F,0x90,0x81,0xA4,0x98,0xE9,0x33,0xFD};
+
+ GSISSHJobSubmission() : jobSubmissionDataID("DO_NOT_SET_AT_CLIENTS"), resourceJobManager((ResourceJobManager::type)0), sshPort(22), installedPath(), monitorMode() {
+ }
+
+ virtual ~GSISSHJobSubmission() throw() {}
+
+ std::string jobSubmissionDataID;
+ ResourceJobManager::type resourceJobManager;
+ int32_t sshPort;
+ std::set<std::string> exports;
+ std::vector<std::string> preJobCommands;
+ std::vector<std::string> postJobCommands;
+ std::string installedPath;
+ std::string monitorMode;
+
+ _GSISSHJobSubmission__isset __isset;
+
+ void __set_jobSubmissionDataID(const std::string& val) {
+ jobSubmissionDataID = val;
+ }
+
+ void __set_resourceJobManager(const ResourceJobManager::type val) {
+ resourceJobManager = val;
+ }
+
+ void __set_sshPort(const int32_t val) {
+ sshPort = val;
+ __isset.sshPort = true;
+ }
+
+ void __set_exports(const std::set<std::string> & val) {
+ exports = val;
+ __isset.exports = true;
+ }
+
+ void __set_preJobCommands(const std::vector<std::string> & val) {
+ preJobCommands = val;
+ __isset.preJobCommands = true;
+ }
+
+ void __set_postJobCommands(const std::vector<std::string> & val) {
+ postJobCommands = val;
+ __isset.postJobCommands = true;
+ }
+
+ void __set_installedPath(const std::string& val) {
+ installedPath = val;
+ __isset.installedPath = true;
+ }
+
+ void __set_monitorMode(const std::string& val) {
+ monitorMode = val;
+ __isset.monitorMode = true;
+ }
+
+ bool operator == (const GSISSHJobSubmission & rhs) const
+ {
+ if (!(jobSubmissionDataID == rhs.jobSubmissionDataID))
+ return false;
+ if (!(resourceJobManager == rhs.resourceJobManager))
+ return false;
+ if (__isset.sshPort != rhs.__isset.sshPort)
+ return false;
+ else if (__isset.sshPort && !(sshPort == rhs.sshPort))
+ return false;
+ if (__isset.exports != rhs.__isset.exports)
+ return false;
+ else if (__isset.exports && !(exports == rhs.exports))
+ return false;
+ if (__isset.preJobCommands != rhs.__isset.preJobCommands)
+ return false;
+ else if (__isset.preJobCommands && !(preJobCommands == rhs.preJobCommands))
+ return false;
+ if (__isset.postJobCommands != rhs.__isset.postJobCommands)
+ return false;
+ else if (__isset.postJobCommands && !(postJobCommands == rhs.postJobCommands))
+ return false;
+ if (__isset.installedPath != rhs.__isset.installedPath)
+ return false;
+ else if (__isset.installedPath && !(installedPath == rhs.installedPath))
+ return false;
+ if (__isset.monitorMode != rhs.__isset.monitorMode)
+ return false;
+ else if (__isset.monitorMode && !(monitorMode == rhs.monitorMode))
+ return false;
+ return true;
+ }
+ bool operator != (const GSISSHJobSubmission &rhs) const {
+ return !(*this == rhs);
+ }
+
+ bool operator < (const GSISSHJobSubmission & ) const;
+
+ uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+ uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+void swap(GSISSHJobSubmission &a, GSISSHJobSubmission &b);
+
+typedef struct _ComputeResourceDescription__isset {
+ _ComputeResourceDescription__isset() : hostAliases(false), ipAddresses(false), resourceDescription(false), scratchLocation(false), preferredJobSubmissionProtocol(false) {}
+ bool hostAliases;
+ bool ipAddresses;
+ bool resourceDescription;
+ bool scratchLocation;
+ bool preferredJobSubmissionProtocol;
+} _ComputeResourceDescription__isset;
+
+class ComputeResourceDescription {
+ public:
+
+ static const char* ascii_fingerprint; // = "BA89EA8A5D740F97C53BA51CA49FEC18";
+ static const uint8_t binary_fingerprint[16]; // = {0xBA,0x89,0xEA,0x8A,0x5D,0x74,0x0F,0x97,0xC5,0x3B,0xA5,0x1C,0xA4,0x9F,0xEC,0x18};
+
+ ComputeResourceDescription() : isEmpty(false), resourceId("DO_NOT_SET_AT_CLIENTS"), hostName(), resourceDescription(), scratchLocation(), preferredJobSubmissionProtocol() {
+ }
+
+ virtual ~ComputeResourceDescription() throw() {}
+
+ bool isEmpty;
+ std::string resourceId;
+ std::string hostName;
+ std::set<std::string> hostAliases;
+ std::set<std::string> ipAddresses;
+ std::string resourceDescription;
+ std::string scratchLocation;
+ std::string preferredJobSubmissionProtocol;
+ std::map<std::string, JobSubmissionProtocol::type> jobSubmissionProtocols;
+ std::map<std::string, DataMovementProtocol::type> dataMovementProtocols;
+
+ _ComputeResourceDescription__isset __isset;
+
+ void __set_isEmpty(const bool val) {
+ isEmpty = val;
+ }
+
+ void __set_resourceId(const std::string& val) {
+ resourceId = val;
+ }
+
+ void __set_hostName(const std::string& val) {
+ hostName = val;
+ }
+
+ void __set_hostAliases(const std::set<std::string> & val) {
+ hostAliases = val;
+ __isset.hostAliases = true;
+ }
+
+ void __set_ipAddresses(const std::set<std::string> & val) {
+ ipAddresses = val;
+ __isset.ipAddresses = true;
+ }
+
+ void __set_resourceDescription(const std::string& val) {
+ resourceDescription = val;
+ __isset.resourceDescription = true;
+ }
+
+ void __set_scratchLocation(const std::string& val) {
+ scratchLocation = val;
+ __isset.scratchLocation = true;
+ }
+
+ void __set_preferredJobSubmissionProtocol(const std::string& val) {
+ preferredJobSubmissionProtocol = val;
+ __isset.preferredJobSubmissionProtocol = true;
+ }
+
+ void __set_jobSubmissionProtocols(const std::map<std::string, JobSubmissionProtocol::type> & val) {
+ jobSubmissionProtocols = val;
+ }
+
+ void __set_dataMovementProtocols(const std::map<std::string, DataMovementProtocol::type> & val) {
+ dataMovementProtocols = val;
+ }
+
+ bool operator == (const ComputeResourceDescription & rhs) const
+ {
+ if (!(isEmpty == rhs.isEmpty))
+ return false;
+ if (!(resourceId == rhs.resourceId))
+ return false;
+ if (!(hostName == rhs.hostName))
+ return false;
+ if (__isset.hostAliases != rhs.__isset.hostAliases)
+ return false;
+ else if (__isset.hostAliases && !(hostAliases == rhs.hostAliases))
+ return false;
+ if (__isset.ipAddresses != rhs.__isset.ipAddresses)
+ return false;
+ else if (__isset.ipAddresses && !(ipAddresses == rhs.ipAddresses))
+ return false;
+ if (__isset.resourceDescription != rhs.__isset.resourceDescription)
+ return false;
+ else if (__isset.resourceDescription && !(resourceDescription == rhs.resourceDescription))
+ return false;
+ if (__isset.scratchLocation != rhs.__isset.scratchLocation)
+ return false;
+ else if (__isset.scratchLocation && !(scratchLocation == rhs.scratchLocation))
+ return false;
+ if (__isset.preferredJobSubmissionProtocol != rhs.__isset.preferredJobSubmissionProtocol)
+ return false;
+ else if (__isset.preferredJobSubmissionProtocol && !(preferredJobSubmissionProtocol == rhs.preferredJobSubmissionProtocol))
+ return false;
+ if (!(jobSubmissionProtocols == rhs.jobSubmissionProtocols))
+ return false;
+ if (!(dataMovementProtocols == rhs.dataMovementProtocols))
+ return false;
+ return true;
+ }
+ bool operator != (const ComputeResourceDescription &rhs) const {
+ return !(*this == rhs);
+ }
+
+ bool operator < (const ComputeResourceDescription & ) const;
+
+ uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+ uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+void swap(ComputeResourceDescription &a, ComputeResourceDescription &b);
+
+typedef struct _ApplicationDescriptor__isset {
+ _ApplicationDescriptor__isset() : applicationDescriptorData(false) {}
+ bool applicationDescriptorData;
+} _ApplicationDescriptor__isset;
+
+class ApplicationDescriptor {
+ public:
+
+ static const char* ascii_fingerprint; // = "5B708A954C550ECA9C1A49D3C5CAFAB9";
+ static const uint8_t binary_fingerprint[16]; // = {0x5B,0x70,0x8A,0x95,0x4C,0x55,0x0E,0xCA,0x9C,0x1A,0x49,0xD3,0xC5,0xCA,0xFA,0xB9};
+
+ ApplicationDescriptor() : applicationDescriptorId("DO_NOT_SET_AT_CLIENTS"), applicationDescriptorData() {
+ }
+
+ virtual ~ApplicationDescriptor() throw() {}
+
+ std::string applicationDescriptorId;
+ std::string applicationDescriptorData;
+
+ _ApplicationDescriptor__isset __isset;
+
+ void __set_applicationDescriptorId(const std::string& val) {
+ applicationDescriptorId = val;
+ }
+
+ void __set_applicationDescriptorData(const std::string& val) {
+ applicationDescriptorData = val;
+ __isset.applicationDescriptorData = true;
+ }
+
+ bool operator == (const ApplicationDescriptor & rhs) const
+ {
+ if (!(applicationDescriptorId == rhs.applicationDescriptorId))
+ return false;
+ if (__isset.applicationDescriptorData != rhs.__isset.applicationDescriptorData)
+ return false;
+ else if (__isset.applicationDescriptorData && !(applicationDescriptorData == rhs.applicationDescriptorData))
+ return false;
+ return true;
+ }
+ bool operator != (const ApplicationDescriptor &rhs) const {
+ return !(*this == rhs);
+ }
+
+ bool operator < (const ApplicationDescriptor & ) const;
+
+ uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+ uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+void swap(ApplicationDescriptor &a, ApplicationDescriptor &b);
+
+
+class ApplicationDeployment {
+ public:
+
+ static const char* ascii_fingerprint; // = "960C379A1227D22F43E92F77C32827B9";
+ static const uint8_t binary_fingerprint[16]; // = {0x96,0x0C,0x37,0x9A,0x12,0x27,0xD2,0x2F,0x43,0xE9,0x2F,0x77,0xC3,0x28,0x27,0xB9};
+
+ ApplicationDeployment() : deploymentId("DO_NOT_SET_AT_CLIENTS") {
+ }
+
+ virtual ~ApplicationDeployment() throw() {}
+
+ std::string deploymentId;
+ ComputeResourceDescription computeResourceDescription;
+ ApplicationDescriptor applicationDescriptor;
+
+ void __set_deploymentId(const std::string& val) {
+ deploymentId = val;
+ }
+
+ void __set_computeResourceDescription(const ComputeResourceDescription& val) {
+ computeResourceDescription = val;
+ }
+
+ void __set_applicationDescriptor(const ApplicationDescriptor& val) {
+ applicationDescriptor = val;
+ }
+
+ bool operator == (const ApplicationDeployment & rhs) const
+ {
+ if (!(deploymentId == rhs.deploymentId))
+ return false;
+ if (!(computeResourceDescription == rhs.computeResourceDescription))
+ return false;
+ if (!(applicationDescriptor == rhs.applicationDescriptor))
+ return false;
+ return true;
+ }
+ bool operator != (const ApplicationDeployment &rhs) const {
+ return !(*this == rhs);
+ }
+
+ bool operator < (const ApplicationDeployment & ) const;
+
+ uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+ uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+void swap(ApplicationDeployment &a, ApplicationDeployment &b);
+
+typedef struct _ApplicationInterface__isset {
+ _ApplicationInterface__isset() : applicationInterfaceData(false), applicationDeployments(false) {}
+ bool applicationInterfaceData;
+ bool applicationDeployments;
+} _ApplicationInterface__isset;
+
+class ApplicationInterface {
+ public:
+
+ static const char* ascii_fingerprint; // = "EEF3E81C0A64CA93FD2422A6CF9ABA97";
+ static const uint8_t binary_fingerprint[16]; // = {0xEE,0xF3,0xE8,0x1C,0x0A,0x64,0xCA,0x93,0xFD,0x24,0x22,0xA6,0xCF,0x9A,0xBA,0x97};
+
+ ApplicationInterface() : applicationInterfaceId("DO_NOT_SET_AT_CLIENTS"), applicationInterfaceData() {
+ }
+
+ virtual ~ApplicationInterface() throw() {}
+
+ std::string applicationInterfaceId;
+ std::string applicationInterfaceData;
+ std::vector<ApplicationDeployment> applicationDeployments;
+
+ _ApplicationInterface__isset __isset;
+
+ void __set_applicationInterfaceId(const std::string& val) {
+ applicationInterfaceId = val;
+ }
+
+ void __set_applicationInterfaceData(const std::string& val) {
+ applicationInterfaceData = val;
+ __isset.applicationInterfaceData = true;
+ }
+
+ void __set_applicationDeployments(const std::vector<ApplicationDeployment> & val) {
+ applicationDeployments = val;
+ __isset.applicationDeployments = true;
+ }
+
+ bool operator == (const ApplicationInterface & rhs) const
+ {
+ if (!(applicationInterfaceId == rhs.applicationInterfaceId))
+ return false;
+ if (__isset.applicationInterfaceData != rhs.__isset.applicationInterfaceData)
+ return false;
+ else if (__isset.applicationInterfaceData && !(applicationInterfaceData == rhs.applicationInterfaceData))
+ return false;
+ if (__isset.applicationDeployments != rhs.__isset.applicationDeployments)
+ return false;
+ else if (__isset.applicationDeployments && !(applicationDeployments == rhs.applicationDeployments))
+ return false;
+ return true;
+ }
+ bool operator != (const ApplicationInterface &rhs) const {
+ return !(*this == rhs);
+ }
+
+ bool operator < (const ApplicationInterface & ) const;
+
+ uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+ uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+void swap(ApplicationInterface &a, ApplicationInterface &b);
+
+
+
+#endif
http://git-wip-us.apache.org/repos/asf/airavata/blob/f891b7dc/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/applicationDeploymentModel_constants.cpp
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/applicationDeploymentModel_constants.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/applicationDeploymentModel_constants.cpp
new file mode 100644
index 0000000..52c0dac
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/applicationDeploymentModel_constants.cpp
@@ -0,0 +1,19 @@
+/**
+ * Autogenerated by Thrift Compiler (0.9.1)
+ *
+ * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+ * @generated
+ */
+#include "applicationDeploymentModel_constants.h"
+
+namespace apache { namespace airavata { namespace model { namespace appcatalog { namespace appdeployment {
+
+const applicationDeploymentModelConstants g_applicationDeploymentModel_constants;
+
+applicationDeploymentModelConstants::applicationDeploymentModelConstants() {
+ DEFAULT_ID = "DO_NOT_SET_AT_CLIENTS";
+
+}
+
+}}}}} // namespace
+
http://git-wip-us.apache.org/repos/asf/airavata/blob/f891b7dc/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/applicationDeploymentModel_constants.h
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/applicationDeploymentModel_constants.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/applicationDeploymentModel_constants.h
new file mode 100644
index 0000000..a0ba25e
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/applicationDeploymentModel_constants.h
@@ -0,0 +1,25 @@
+/**
+ * Autogenerated by Thrift Compiler (0.9.1)
+ *
+ * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+ * @generated
+ */
+#ifndef applicationDeploymentModel_CONSTANTS_H
+#define applicationDeploymentModel_CONSTANTS_H
+
+#include "applicationDeploymentModel_types.h"
+
+namespace apache { namespace airavata { namespace model { namespace appcatalog { namespace appdeployment {
+
+class applicationDeploymentModelConstants {
+ public:
+ applicationDeploymentModelConstants();
+
+ std::string DEFAULT_ID;
+};
+
+extern const applicationDeploymentModelConstants g_applicationDeploymentModel_constants;
+
+}}}}} // namespace
+
+#endif
[10/47] Added c++ client samples for integrattion of airavata with
any other application's c++ interface
Posted by sm...@apache.org.
http://git-wip-us.apache.org/repos/asf/airavata/blob/f891b7dc/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/concurrency/ThreadManager.h
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/concurrency/ThreadManager.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/concurrency/ThreadManager.h
new file mode 100644
index 0000000..de45d56
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/concurrency/ThreadManager.h
@@ -0,0 +1,202 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you 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 _THRIFT_CONCURRENCY_THREADMANAGER_H_
+#define _THRIFT_CONCURRENCY_THREADMANAGER_H_ 1
+
+#include <boost/shared_ptr.hpp>
+#include <thrift/cxxfunctional.h>
+#include <sys/types.h>
+#include <thrift/concurrency/Thread.h>
+
+namespace apache { namespace thrift { namespace concurrency {
+
+/**
+ * Thread Pool Manager and related classes
+ *
+ * @version $Id:$
+ */
+class ThreadManager;
+
+/**
+ * ThreadManager class
+ *
+ * This class manages a pool of threads. It uses a ThreadFactory to create
+ * threads. It never actually creates or destroys worker threads, rather
+ * It maintains statistics on number of idle threads, number of active threads,
+ * task backlog, and average wait and service times and informs the PoolPolicy
+ * object bound to instances of this manager of interesting transitions. It is
+ * then up the PoolPolicy object to decide if the thread pool size needs to be
+ * adjusted and call this object addWorker and removeWorker methods to make
+ * changes.
+ *
+ * This design allows different policy implementations to used this code to
+ * handle basic worker thread management and worker task execution and focus on
+ * policy issues. The simplest policy, StaticPolicy, does nothing other than
+ * create a fixed number of threads.
+ */
+class ThreadManager {
+
+ protected:
+ ThreadManager() {}
+
+ public:
+ class Task;
+ typedef apache::thrift::stdcxx::function<void(boost::shared_ptr<Runnable>)> ExpireCallback;
+
+ virtual ~ThreadManager() {}
+
+ /**
+ * Starts the thread manager. Verifies all attributes have been properly
+ * initialized, then allocates necessary resources to begin operation
+ */
+ virtual void start() = 0;
+
+ /**
+ * Stops the thread manager. Aborts all remaining unprocessed task, shuts
+ * down all created worker threads, and realeases all allocated resources.
+ * This method blocks for all worker threads to complete, thus it can
+ * potentially block forever if a worker thread is running a task that
+ * won't terminate.
+ */
+ virtual void stop() = 0;
+
+ /**
+ * Joins the thread manager. This is the same as stop, except that it will
+ * block until all the workers have finished their work. At that point
+ * the ThreadManager will transition into the STOPPED state.
+ */
+ virtual void join() = 0;
+
+ enum STATE {
+ UNINITIALIZED,
+ STARTING,
+ STARTED,
+ JOINING,
+ STOPPING,
+ STOPPED
+ };
+
+ virtual STATE state() const = 0;
+
+ virtual boost::shared_ptr<ThreadFactory> threadFactory() const = 0;
+
+ virtual void threadFactory(boost::shared_ptr<ThreadFactory> value) = 0;
+
+ virtual void addWorker(size_t value=1) = 0;
+
+ virtual void removeWorker(size_t value=1) = 0;
+
+ /**
+ * Gets the current number of idle worker threads
+ */
+ virtual size_t idleWorkerCount() const = 0;
+
+ /**
+ * Gets the current number of total worker threads
+ */
+ virtual size_t workerCount() const = 0;
+
+ /**
+ * Gets the current number of pending tasks
+ */
+ virtual size_t pendingTaskCount() const = 0;
+
+ /**
+ * Gets the current number of pending and executing tasks
+ */
+ virtual size_t totalTaskCount() const = 0;
+
+ /**
+ * Gets the maximum pending task count. 0 indicates no maximum
+ */
+ virtual size_t pendingTaskCountMax() const = 0;
+
+ /**
+ * Gets the number of tasks which have been expired without being run.
+ */
+ virtual size_t expiredTaskCount() = 0;
+
+ /**
+ * Adds a task to be executed at some time in the future by a worker thread.
+ *
+ * This method will block if pendingTaskCountMax() in not zero and pendingTaskCount()
+ * is greater than or equalt to pendingTaskCountMax(). If this method is called in the
+ * context of a ThreadManager worker thread it will throw a
+ * TooManyPendingTasksException
+ *
+ * @param task The task to queue for execution
+ *
+ * @param timeout Time to wait in milliseconds to add a task when a pending-task-count
+ * is specified. Specific cases:
+ * timeout = 0 : Wait forever to queue task.
+ * timeout = -1 : Return immediately if pending task count exceeds specified max
+ * @param expiration when nonzero, the number of milliseconds the task is valid
+ * to be run; if exceeded, the task will be dropped off the queue and not run.
+ *
+ * @throws TooManyPendingTasksException Pending task count exceeds max pending task count
+ */
+ virtual void add(boost::shared_ptr<Runnable>task,
+ int64_t timeout=0LL,
+ int64_t expiration=0LL) = 0;
+
+ /**
+ * Removes a pending task
+ */
+ virtual void remove(boost::shared_ptr<Runnable> task) = 0;
+
+ /**
+ * Remove the next pending task which would be run.
+ *
+ * @return the task removed.
+ */
+ virtual boost::shared_ptr<Runnable> removeNextPending() = 0;
+
+ /**
+ * Remove tasks from front of task queue that have expired.
+ */
+ virtual void removeExpiredTasks() = 0;
+
+ /**
+ * Set a callback to be called when a task is expired and not run.
+ *
+ * @param expireCallback a function called with the shared_ptr<Runnable> for
+ * the expired task.
+ */
+ virtual void setExpireCallback(ExpireCallback expireCallback) = 0;
+
+ static boost::shared_ptr<ThreadManager> newThreadManager();
+
+ /**
+ * Creates a simple thread manager the uses count number of worker threads and has
+ * a pendingTaskCountMax maximum pending tasks. The default, 0, specified no limit
+ * on pending tasks
+ */
+ static boost::shared_ptr<ThreadManager> newSimpleThreadManager(size_t count=4, size_t pendingTaskCountMax=0);
+
+ class Task;
+
+ class Worker;
+
+ class Impl;
+};
+
+}}} // apache::thrift::concurrency
+
+#endif // #ifndef _THRIFT_CONCURRENCY_THREADMANAGER_H_
http://git-wip-us.apache.org/repos/asf/airavata/blob/f891b7dc/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/concurrency/TimerManager.cpp
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/concurrency/TimerManager.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/concurrency/TimerManager.cpp
new file mode 100644
index 0000000..6821b2e
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/concurrency/TimerManager.cpp
@@ -0,0 +1,305 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you 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 <thrift/concurrency/TimerManager.h>
+#include <thrift/concurrency/Exception.h>
+#include <thrift/concurrency/Util.h>
+
+#include <assert.h>
+#include <iostream>
+#include <set>
+
+namespace apache { namespace thrift { namespace concurrency {
+
+using boost::shared_ptr;
+
+/**
+ * TimerManager class
+ *
+ * @version $Id:$
+ */
+class TimerManager::Task : public Runnable {
+
+ public:
+ enum STATE {
+ WAITING,
+ EXECUTING,
+ CANCELLED,
+ COMPLETE
+ };
+
+ Task(shared_ptr<Runnable> runnable) :
+ runnable_(runnable),
+ state_(WAITING) {}
+
+ ~Task() {
+ }
+
+ void run() {
+ if (state_ == EXECUTING) {
+ runnable_->run();
+ state_ = COMPLETE;
+ }
+ }
+
+ private:
+ shared_ptr<Runnable> runnable_;
+ friend class TimerManager::Dispatcher;
+ STATE state_;
+};
+
+class TimerManager::Dispatcher: public Runnable {
+
+ public:
+ Dispatcher(TimerManager* manager) :
+ manager_(manager) {}
+
+ ~Dispatcher() {}
+
+ /**
+ * Dispatcher entry point
+ *
+ * As long as dispatcher thread is running, pull tasks off the task taskMap_
+ * and execute.
+ */
+ void run() {
+ {
+ Synchronized s(manager_->monitor_);
+ if (manager_->state_ == TimerManager::STARTING) {
+ manager_->state_ = TimerManager::STARTED;
+ manager_->monitor_.notifyAll();
+ }
+ }
+
+ do {
+ std::set<shared_ptr<TimerManager::Task> > expiredTasks;
+ {
+ Synchronized s(manager_->monitor_);
+ task_iterator expiredTaskEnd;
+ int64_t now = Util::currentTime();
+ while (manager_->state_ == TimerManager::STARTED &&
+ (expiredTaskEnd = manager_->taskMap_.upper_bound(now)) == manager_->taskMap_.begin()) {
+ int64_t timeout = 0LL;
+ if (!manager_->taskMap_.empty()) {
+ timeout = manager_->taskMap_.begin()->first - now;
+ }
+ assert((timeout != 0 && manager_->taskCount_ > 0) || (timeout == 0 && manager_->taskCount_ == 0));
+ try {
+ manager_->monitor_.wait(timeout);
+ } catch (TimedOutException &) {}
+ now = Util::currentTime();
+ }
+
+ if (manager_->state_ == TimerManager::STARTED) {
+ for (task_iterator ix = manager_->taskMap_.begin(); ix != expiredTaskEnd; ix++) {
+ shared_ptr<TimerManager::Task> task = ix->second;
+ expiredTasks.insert(task);
+ if (task->state_ == TimerManager::Task::WAITING) {
+ task->state_ = TimerManager::Task::EXECUTING;
+ }
+ manager_->taskCount_--;
+ }
+ manager_->taskMap_.erase(manager_->taskMap_.begin(), expiredTaskEnd);
+ }
+ }
+
+ for (std::set<shared_ptr<Task> >::iterator ix = expiredTasks.begin(); ix != expiredTasks.end(); ix++) {
+ (*ix)->run();
+ }
+
+ } while (manager_->state_ == TimerManager::STARTED);
+
+ {
+ Synchronized s(manager_->monitor_);
+ if (manager_->state_ == TimerManager::STOPPING) {
+ manager_->state_ = TimerManager::STOPPED;
+ manager_->monitor_.notify();
+ }
+ }
+ return;
+ }
+
+ private:
+ TimerManager* manager_;
+ friend class TimerManager;
+};
+
+#if defined(_MSC_VER)
+#pragma warning(push)
+#pragma warning(disable: 4355) // 'this' used in base member initializer list
+#endif
+
+TimerManager::TimerManager() :
+ taskCount_(0),
+ state_(TimerManager::UNINITIALIZED),
+ dispatcher_(shared_ptr<Dispatcher>(new Dispatcher(this))) {
+}
+
+#if defined(_MSC_VER)
+#pragma warning(pop)
+#endif
+
+TimerManager::~TimerManager() {
+
+ // If we haven't been explicitly stopped, do so now. We don't need to grab
+ // the monitor here, since stop already takes care of reentrancy.
+
+ if (state_ != STOPPED) {
+ try {
+ stop();
+ } catch(...) {
+ throw;
+ // uhoh
+ }
+ }
+}
+
+void TimerManager::start() {
+ bool doStart = false;
+ {
+ Synchronized s(monitor_);
+ if (!threadFactory_) {
+ throw InvalidArgumentException();
+ }
+ if (state_ == TimerManager::UNINITIALIZED) {
+ state_ = TimerManager::STARTING;
+ doStart = true;
+ }
+ }
+
+ if (doStart) {
+ dispatcherThread_ = threadFactory_->newThread(dispatcher_);
+ dispatcherThread_->start();
+ }
+
+ {
+ Synchronized s(monitor_);
+ while (state_ == TimerManager::STARTING) {
+ monitor_.wait();
+ }
+ assert(state_ != TimerManager::STARTING);
+ }
+}
+
+void TimerManager::stop() {
+ bool doStop = false;
+ {
+ Synchronized s(monitor_);
+ if (state_ == TimerManager::UNINITIALIZED) {
+ state_ = TimerManager::STOPPED;
+ } else if (state_ != STOPPING && state_ != STOPPED) {
+ doStop = true;
+ state_ = STOPPING;
+ monitor_.notifyAll();
+ }
+ while (state_ != STOPPED) {
+ monitor_.wait();
+ }
+ }
+
+ if (doStop) {
+ // Clean up any outstanding tasks
+ taskMap_.clear();
+
+ // Remove dispatcher's reference to us.
+ dispatcher_->manager_ = NULL;
+ }
+}
+
+shared_ptr<const ThreadFactory> TimerManager::threadFactory() const {
+ Synchronized s(monitor_);
+ return threadFactory_;
+}
+
+void TimerManager::threadFactory(shared_ptr<const ThreadFactory> value) {
+ Synchronized s(monitor_);
+ threadFactory_ = value;
+}
+
+size_t TimerManager::taskCount() const {
+ return taskCount_;
+}
+
+void TimerManager::add(shared_ptr<Runnable> task, int64_t timeout) {
+ int64_t now = Util::currentTime();
+ timeout += now;
+
+ {
+ Synchronized s(monitor_);
+ if (state_ != TimerManager::STARTED) {
+ throw IllegalStateException();
+ }
+
+ // If the task map is empty, we will kick the dispatcher for sure. Otherwise, we kick him
+ // if the expiration time is shorter than the current value. Need to test before we insert,
+ // because the new task might insert at the front.
+ bool notifyRequired = (taskCount_ == 0) ? true : timeout < taskMap_.begin()->first;
+
+ taskCount_++;
+ taskMap_.insert(std::pair<int64_t, shared_ptr<Task> >(timeout, shared_ptr<Task>(new Task(task))));
+
+ // If the task map was empty, or if we have an expiration that is earlier
+ // than any previously seen, kick the dispatcher so it can update its
+ // timeout
+ if (notifyRequired) {
+ monitor_.notify();
+ }
+ }
+}
+
+void TimerManager::add(shared_ptr<Runnable> task, const struct THRIFT_TIMESPEC& value) {
+
+ int64_t expiration;
+ Util::toMilliseconds(expiration, value);
+
+ int64_t now = Util::currentTime();
+
+ if (expiration < now) {
+ throw InvalidArgumentException();
+ }
+
+ add(task, expiration - now);
+}
+
+void TimerManager::add(shared_ptr<Runnable> task, const struct timeval& value) {
+
+ int64_t expiration;
+ Util::toMilliseconds(expiration, value);
+
+ int64_t now = Util::currentTime();
+
+ if (expiration < now) {
+ throw InvalidArgumentException();
+ }
+
+ add(task, expiration - now);
+}
+
+void TimerManager::remove(shared_ptr<Runnable> task) {
+ (void) task;
+ Synchronized s(monitor_);
+ if (state_ != TimerManager::STARTED) {
+ throw IllegalStateException();
+ }
+}
+
+TimerManager::STATE TimerManager::state() const { return state_; }
+
+}}} // apache::thrift::concurrency
+
http://git-wip-us.apache.org/repos/asf/airavata/blob/f891b7dc/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/concurrency/TimerManager.h
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/concurrency/TimerManager.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/concurrency/TimerManager.h
new file mode 100644
index 0000000..d8200cb
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/concurrency/TimerManager.h
@@ -0,0 +1,130 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you 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 _THRIFT_CONCURRENCY_TIMERMANAGER_H_
+#define _THRIFT_CONCURRENCY_TIMERMANAGER_H_ 1
+
+#include <thrift/concurrency/Exception.h>
+#include <thrift/concurrency/Monitor.h>
+#include <thrift/concurrency/Thread.h>
+
+#include <boost/shared_ptr.hpp>
+#include <map>
+#include <time.h>
+
+namespace apache { namespace thrift { namespace concurrency {
+
+/**
+ * Timer Manager
+ *
+ * This class dispatches timer tasks when they fall due.
+ *
+ * @version $Id:$
+ */
+class TimerManager {
+
+ public:
+
+ TimerManager();
+
+ virtual ~TimerManager();
+
+ virtual boost::shared_ptr<const ThreadFactory> threadFactory() const;
+
+ virtual void threadFactory(boost::shared_ptr<const ThreadFactory> value);
+
+ /**
+ * Starts the timer manager service
+ *
+ * @throws IllegalArgumentException Missing thread factory attribute
+ */
+ virtual void start();
+
+ /**
+ * Stops the timer manager service
+ */
+ virtual void stop();
+
+ virtual size_t taskCount() const ;
+
+ /**
+ * Adds a task to be executed at some time in the future by a worker thread.
+ *
+ * @param task The task to execute
+ * @param timeout Time in milliseconds to delay before executing task
+ */
+ virtual void add(boost::shared_ptr<Runnable> task, int64_t timeout);
+
+ /**
+ * Adds a task to be executed at some time in the future by a worker thread.
+ *
+ * @param task The task to execute
+ * @param timeout Absolute time in the future to execute task.
+ */
+ virtual void add(boost::shared_ptr<Runnable> task, const struct THRIFT_TIMESPEC& timeout);
+
+ /**
+ * Adds a task to be executed at some time in the future by a worker thread.
+ *
+ * @param task The task to execute
+ * @param timeout Absolute time in the future to execute task.
+ */
+ virtual void add(boost::shared_ptr<Runnable> task, const struct timeval& timeout);
+
+ /**
+ * Removes a pending task
+ *
+ * @throws NoSuchTaskException Specified task doesn't exist. It was either
+ * processed already or this call was made for a
+ * task that was never added to this timer
+ *
+ * @throws UncancellableTaskException Specified task is already being
+ * executed or has completed execution.
+ */
+ virtual void remove(boost::shared_ptr<Runnable> task);
+
+ enum STATE {
+ UNINITIALIZED,
+ STARTING,
+ STARTED,
+ STOPPING,
+ STOPPED
+ };
+
+ virtual STATE state() const;
+
+ private:
+ boost::shared_ptr<const ThreadFactory> threadFactory_;
+ class Task;
+ friend class Task;
+ std::multimap<int64_t, boost::shared_ptr<Task> > taskMap_;
+ size_t taskCount_;
+ Monitor monitor_;
+ STATE state_;
+ class Dispatcher;
+ friend class Dispatcher;
+ boost::shared_ptr<Dispatcher> dispatcher_;
+ boost::shared_ptr<Thread> dispatcherThread_;
+ typedef std::multimap<int64_t, boost::shared_ptr<TimerManager::Task> >::iterator task_iterator;
+ typedef std::pair<task_iterator, task_iterator> task_range;
+};
+
+}}} // apache::thrift::concurrency
+
+#endif // #ifndef _THRIFT_CONCURRENCY_TIMERMANAGER_H_
http://git-wip-us.apache.org/repos/asf/airavata/blob/f891b7dc/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/concurrency/Util.cpp
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/concurrency/Util.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/concurrency/Util.cpp
new file mode 100644
index 0000000..7d9085e
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/concurrency/Util.cpp
@@ -0,0 +1,41 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you 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 <thrift/thrift-config.h>
+
+#include <thrift/Thrift.h>
+#include <thrift/concurrency/Util.h>
+
+#if defined(HAVE_SYS_TIME_H)
+#include <sys/time.h>
+#endif
+
+namespace apache { namespace thrift { namespace concurrency {
+
+int64_t Util::currentTimeTicks(int64_t ticksPerSec) {
+ int64_t result;
+ struct timeval now;
+ int ret = THRIFT_GETTIMEOFDAY(&now, NULL);
+ assert(ret == 0);
+ THRIFT_UNUSED_VARIABLE(ret); //squelching "unused variable" warning
+ toTicks(result, now, ticksPerSec);
+ return result;
+}
+
+}}} // apache::thrift::concurrency
http://git-wip-us.apache.org/repos/asf/airavata/blob/f891b7dc/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/concurrency/Util.h
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/concurrency/Util.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/concurrency/Util.h
new file mode 100644
index 0000000..63d80a2
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/concurrency/Util.h
@@ -0,0 +1,152 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you 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 _THRIFT_CONCURRENCY_UTIL_H_
+#define _THRIFT_CONCURRENCY_UTIL_H_ 1
+
+#include <assert.h>
+#include <stddef.h>
+#include <stdint.h>
+#include <time.h>
+
+#ifdef HAVE_SYS_TIME_H
+#include <sys/time.h>
+#endif
+
+#include <thrift/transport/PlatformSocket.h>
+
+namespace apache { namespace thrift { namespace concurrency {
+
+/**
+ * Utility methods
+ *
+ * This class contains basic utility methods for converting time formats,
+ * and other common platform-dependent concurrency operations.
+ * It should not be included in API headers for other concurrency library
+ * headers, since it will, by definition, pull in all sorts of horrid
+ * platform dependent stuff. Rather it should be inluded directly in
+ * concurrency library implementation source.
+ *
+ * @version $Id:$
+ */
+class Util {
+
+ static const int64_t NS_PER_S = 1000000000LL;
+ static const int64_t US_PER_S = 1000000LL;
+ static const int64_t MS_PER_S = 1000LL;
+
+ static const int64_t NS_PER_MS = NS_PER_S / MS_PER_S;
+ static const int64_t NS_PER_US = NS_PER_S / US_PER_S;
+ static const int64_t US_PER_MS = US_PER_S / MS_PER_S;
+
+ public:
+
+ /**
+ * Converts millisecond timestamp into a THRIFT_TIMESPEC struct
+ *
+ * @param struct THRIFT_TIMESPEC& result
+ * @param time or duration in milliseconds
+ */
+ static void toTimespec(struct THRIFT_TIMESPEC& result, int64_t value) {
+ result.tv_sec = value / MS_PER_S; // ms to s
+ result.tv_nsec = (value % MS_PER_S) * NS_PER_MS; // ms to ns
+ }
+
+ static void toTimeval(struct timeval& result, int64_t value) {
+ result.tv_sec = static_cast<uint32_t>(value / MS_PER_S); // ms to s
+ result.tv_usec = static_cast<uint32_t>((value % MS_PER_S) * US_PER_MS); // ms to us
+ }
+
+ static void toTicks(int64_t& result, int64_t secs, int64_t oldTicks,
+ int64_t oldTicksPerSec, int64_t newTicksPerSec) {
+ result = secs * newTicksPerSec;
+ result += oldTicks * newTicksPerSec / oldTicksPerSec;
+
+ int64_t oldPerNew = oldTicksPerSec / newTicksPerSec;
+ if (oldPerNew && ((oldTicks % oldPerNew) >= (oldPerNew / 2))) {
+ ++result;
+ }
+ }
+ /**
+ * Converts struct THRIFT_TIMESPEC to arbitrary-sized ticks since epoch
+ */
+ static void toTicks(int64_t& result,
+ const struct THRIFT_TIMESPEC& value,
+ int64_t ticksPerSec) {
+ return toTicks(result, value.tv_sec, value.tv_nsec, NS_PER_S, ticksPerSec);
+ }
+
+ /**
+ * Converts struct timeval to arbitrary-sized ticks since epoch
+ */
+ static void toTicks(int64_t& result,
+ const struct timeval& value,
+ int64_t ticksPerSec) {
+ return toTicks(result, value.tv_sec, value.tv_usec, US_PER_S, ticksPerSec);
+ }
+
+ /**
+ * Converts struct THRIFT_TIMESPEC to milliseconds
+ */
+ static void toMilliseconds(int64_t& result,
+ const struct THRIFT_TIMESPEC& value) {
+ return toTicks(result, value, MS_PER_S);
+ }
+
+ /**
+ * Converts struct timeval to milliseconds
+ */
+ static void toMilliseconds(int64_t& result,
+ const struct timeval& value) {
+ return toTicks(result, value, MS_PER_S);
+ }
+
+ /**
+ * Converts struct THRIFT_TIMESPEC to microseconds
+ */
+ static void toUsec(int64_t& result, const struct THRIFT_TIMESPEC& value) {
+ return toTicks(result, value, US_PER_S);
+ }
+
+ /**
+ * Converts struct timeval to microseconds
+ */
+ static void toUsec(int64_t& result, const struct timeval& value) {
+ return toTicks(result, value, US_PER_S);
+ }
+
+ /**
+ * Get current time as a number of arbitrary-size ticks from epoch
+ */
+ static int64_t currentTimeTicks(int64_t ticksPerSec);
+
+ /**
+ * Get current time as milliseconds from epoch
+ */
+ static int64_t currentTime() { return currentTimeTicks(MS_PER_S); }
+
+ /**
+ * Get current time as micros from epoch
+ */
+ static int64_t currentTimeUsec() { return currentTimeTicks(US_PER_S); }
+};
+
+}}} // apache::thrift::concurrency
+
+#endif // #ifndef _THRIFT_CONCURRENCY_UTIL_H_
http://git-wip-us.apache.org/repos/asf/airavata/blob/f891b7dc/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/config.h
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/config.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/config.h
new file mode 100644
index 0000000..0e7c93e
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/config.h
@@ -0,0 +1,427 @@
+/* lib/cpp/src/thrift/config.h. Generated from config.hin by configure. */
+/* config.hin. Generated from configure.ac by autoheader. */
+
+
+#ifndef CONFIG_H
+#define CONFIG_H
+
+
+/* Define if the AI_ADDRCONFIG symbol is unavailable */
+/* #undef AI_ADDRCONFIG */
+
+/* Possible value for SIGNED_RIGHT_SHIFT_IS */
+#define ARITHMETIC_RIGHT_SHIFT 1
+
+/* Define to one of `_getb67', `GETB67', `getb67' for Cray-2 and Cray-YMP
+ systems. This function is required for `alloca.c' support on those systems.
+ */
+/* #undef CRAY_STACKSEG_END */
+
+/* Define to 1 if using `alloca.c'. */
+/* #undef C_ALLOCA */
+
+/* Define to 1 if you have the `alarm' function. */
+#define HAVE_ALARM 1
+
+/* Define to 1 if you have `alloca', as a function or macro. */
+#define HAVE_ALLOCA 1
+
+/* Define to 1 if you have <alloca.h> and it should be used (not on Ultrix).
+ */
+#define HAVE_ALLOCA_H 1
+
+/* Define to 1 if you have the <arpa/inet.h> header file. */
+#define HAVE_ARPA_INET_H 1
+
+/* define if the Boost library is available */
+#define HAVE_BOOST /**/
+
+/* Define to 1 if you have the `bzero' function. */
+#define HAVE_BZERO 1
+
+/* Define to 1 if you have the `clock_gettime' function. */
+#define HAVE_CLOCK_GETTIME 1
+
+/* Define to 1 if you have the declaration of `strerror_r', and to 0 if you
+ don't. */
+#define HAVE_DECL_STRERROR_R 1
+
+/* Define to 1 if you have the <dlfcn.h> header file. */
+#define HAVE_DLFCN_H 1
+
+/* Define to 1 if you don't have `vprintf' but do have `_doprnt.' */
+/* #undef HAVE_DOPRNT */
+
+/* Define to 1 if you have the <fcntl.h> header file. */
+#define HAVE_FCNTL_H 1
+
+/* Define to 1 if you have the `fork' function. */
+#define HAVE_FORK 1
+
+/* Define to 1 if you have the `ftruncate' function. */
+#define HAVE_FTRUNCATE 1
+
+/* Define to 1 if you have the `gethostbyname' function. */
+#define HAVE_GETHOSTBYNAME 1
+
+/* Define to 1 if you have the `gettimeofday' function. */
+#define HAVE_GETTIMEOFDAY 1
+
+/* Define to 1 if you have the <inttypes.h> header file. */
+#define HAVE_INTTYPES_H 1
+
+/* define if libevent is available */
+/* #undef HAVE_LIBEVENT */
+
+/* Define to 1 if you have the <libintl.h> header file. */
+#define HAVE_LIBINTL_H 1
+
+/* Define to 1 if you have the `pthread' library (-lpthread). */
+#define HAVE_LIBPTHREAD 1
+
+/* Define to 1 if you have the `rt' library (-lrt). */
+#define HAVE_LIBRT 1
+
+/* Define to 1 if you have the `socket' library (-lsocket). */
+/* #undef HAVE_LIBSOCKET */
+
+/* Define to 1 if you have the <limits.h> header file. */
+#define HAVE_LIMITS_H 1
+
+/* Define to 1 if your system has a GNU libc compatible `malloc' function, and
+ to 0 otherwise. */
+#define HAVE_MALLOC 1
+
+/* Define to 1 if you have the <malloc.h> header file. */
+#define HAVE_MALLOC_H 1
+
+/* Define to 1 if you have the `memmove' function. */
+#define HAVE_MEMMOVE 1
+
+/* Define to 1 if you have the <memory.h> header file. */
+#define HAVE_MEMORY_H 1
+
+/* Define to 1 if you have the `memset' function. */
+#define HAVE_MEMSET 1
+
+/* Define to 1 if you have the `mkdir' function. */
+#define HAVE_MKDIR 1
+
+/* Define to 1 if you have the <netdb.h> header file. */
+#define HAVE_NETDB_H 1
+
+/* Define to 1 if you have the <netinet/in.h> header file. */
+#define HAVE_NETINET_IN_H 1
+
+/* Define to 1 if you have the <openssl/rand.h> header file. */
+#define HAVE_OPENSSL_RAND_H 1
+
+/* Define to 1 if you have the <openssl/ssl.h> header file. */
+#define HAVE_OPENSSL_SSL_H 1
+
+/* Define to 1 if you have the <openssl/x509v3.h> header file. */
+#define HAVE_OPENSSL_X509V3_H 1
+
+/* Define to 1 if you have the <pthread.h> header file. */
+#define HAVE_PTHREAD_H 1
+
+/* Define to 1 if the system has the type `ptrdiff_t'. */
+#define HAVE_PTRDIFF_T 1
+
+/* Define to 1 if your system has a GNU libc compatible `realloc' function,
+ and to 0 otherwise. */
+#define HAVE_REALLOC 1
+
+/* Define to 1 if you have the `realpath' function. */
+#define HAVE_REALPATH 1
+
+/* Define to 1 if you have the `sched_get_priority_max' function. */
+#define HAVE_SCHED_GET_PRIORITY_MAX 1
+
+/* Define to 1 if you have the `sched_get_priority_min' function. */
+#define HAVE_SCHED_GET_PRIORITY_MIN 1
+
+/* Define to 1 if you have the <sched.h> header file. */
+#define HAVE_SCHED_H 1
+
+/* Define to 1 if you have the `select' function. */
+#define HAVE_SELECT 1
+
+/* Define to 1 if you have the `socket' function. */
+#define HAVE_SOCKET 1
+
+/* Define to 1 if you have the `sqrt' function. */
+#define HAVE_SQRT 1
+
+/* Define to 1 if `stat' has the bug that it succeeds when given the
+ zero-length file name argument. */
+/* #undef HAVE_STAT_EMPTY_STRING_BUG */
+
+/* Define to 1 if stdbool.h conforms to C99. */
+#define HAVE_STDBOOL_H 1
+
+/* Define to 1 if you have the <stddef.h> header file. */
+#define HAVE_STDDEF_H 1
+
+/* Define to 1 if you have the <stdint.h> header file. */
+#define HAVE_STDINT_H 1
+
+/* Define to 1 if you have the <stdlib.h> header file. */
+#define HAVE_STDLIB_H 1
+
+/* Define to 1 if you have the `strchr' function. */
+#define HAVE_STRCHR 1
+
+/* Define to 1 if you have the `strdup' function. */
+#define HAVE_STRDUP 1
+
+/* Define to 1 if you have the `strerror' function. */
+#define HAVE_STRERROR 1
+
+/* Define to 1 if you have the `strerror_r' function. */
+#define HAVE_STRERROR_R 1
+
+/* Define to 1 if you have the `strftime' function. */
+#define HAVE_STRFTIME 1
+
+/* Define to 1 if you have the <strings.h> header file. */
+#define HAVE_STRINGS_H 1
+
+/* Define to 1 if you have the <string.h> header file. */
+#define HAVE_STRING_H 1
+
+/* Define to 1 if you have the `strstr' function. */
+#define HAVE_STRSTR 1
+
+/* Define to 1 if you have the `strtol' function. */
+#define HAVE_STRTOL 1
+
+/* Define to 1 if you have the `strtoul' function. */
+#define HAVE_STRTOUL 1
+
+/* Define to 1 if you have the <sys/param.h> header file. */
+#define HAVE_SYS_PARAM_H 1
+
+/* Define to 1 if you have the <sys/poll.h> header file. */
+#define HAVE_SYS_POLL_H 1
+
+/* Define to 1 if you have the <sys/resource.h> header file. */
+#define HAVE_SYS_RESOURCE_H 1
+
+/* Define to 1 if you have the <sys/select.h> header file. */
+#define HAVE_SYS_SELECT_H 1
+
+/* Define to 1 if you have the <sys/socket.h> header file. */
+#define HAVE_SYS_SOCKET_H 1
+
+/* Define to 1 if you have the <sys/stat.h> header file. */
+#define HAVE_SYS_STAT_H 1
+
+/* Define to 1 if you have the <sys/time.h> header file. */
+#define HAVE_SYS_TIME_H 1
+
+/* Define to 1 if you have the <sys/types.h> header file. */
+#define HAVE_SYS_TYPES_H 1
+
+/* Define to 1 if you have the <sys/un.h> header file. */
+#define HAVE_SYS_UN_H 1
+
+/* Define to 1 if you have <sys/wait.h> that is POSIX.1 compatible. */
+#define HAVE_SYS_WAIT_H 1
+
+/* Define to 1 if you have the <unistd.h> header file. */
+#define HAVE_UNISTD_H 1
+
+/* Define to 1 if you have the `vfork' function. */
+#define HAVE_VFORK 1
+
+/* Define to 1 if you have the <vfork.h> header file. */
+/* #undef HAVE_VFORK_H */
+
+/* Define to 1 if you have the `vprintf' function. */
+#define HAVE_VPRINTF 1
+
+/* Define to 1 if you have the <wchar.h> header file. */
+#define HAVE_WCHAR_H 1
+
+/* Define to 1 if `fork' works. */
+#define HAVE_WORKING_FORK 1
+
+/* Define to 1 if `vfork' works. */
+#define HAVE_WORKING_VFORK 1
+
+/* define if zlib is available */
+#define HAVE_ZLIB /**/
+
+/* Define to 1 if the system has the type `_Bool'. */
+/* #undef HAVE__BOOL */
+
+/* Possible value for SIGNED_RIGHT_SHIFT_IS */
+#define LOGICAL_RIGHT_SHIFT 2
+
+/* Define to 1 if `lstat' dereferences a symlink specified with a trailing
+ slash. */
+#define LSTAT_FOLLOWS_SLASHED_SYMLINK 1
+
+/* Define to the sub-directory in which libtool stores uninstalled libraries.
+ */
+#define LT_OBJDIR ".libs/"
+
+/* Name of package */
+#define PACKAGE "thrift"
+
+/* Define to the address where bug reports for this package should be sent. */
+#define PACKAGE_BUGREPORT ""
+
+/* Define to the full name of this package. */
+#define PACKAGE_NAME "thrift"
+
+/* Define to the full name and version of this package. */
+#define PACKAGE_STRING "thrift 0.9.1"
+
+/* Define to the one symbol short name of this package. */
+#define PACKAGE_TARNAME "thrift"
+
+/* Define to the home page for this package. */
+#define PACKAGE_URL ""
+
+/* Define to the version of this package. */
+#define PACKAGE_VERSION "0.9.1"
+
+/* Define as the return type of signal handlers (`int' or `void'). */
+#define RETSIGTYPE void
+
+/* Define to the type of arg 1 for `select'. */
+#define SELECT_TYPE_ARG1 int
+
+/* Define to the type of args 2, 3 and 4 for `select'. */
+#define SELECT_TYPE_ARG234 (fd_set *)
+
+/* Define to the type of arg 5 for `select'. */
+#define SELECT_TYPE_ARG5 (struct timeval *)
+
+/* Indicates the effect of the right shift operator on negative signed
+ integers */
+#define SIGNED_RIGHT_SHIFT_IS 1
+
+/* If using the C implementation of alloca, define if you know the
+ direction of stack growth for your system; otherwise it will be
+ automatically deduced at runtime.
+ STACK_DIRECTION > 0 => grows toward higher addresses
+ STACK_DIRECTION < 0 => grows toward lower addresses
+ STACK_DIRECTION = 0 => direction of growth unknown */
+/* #undef STACK_DIRECTION */
+
+/* Define to 1 if you have the ANSI C header files. */
+#define STDC_HEADERS 1
+
+/* Define to 1 if strerror_r returns char *. */
+#define STRERROR_R_CHAR_P 1
+
+/* Define to 1 if you can safely include both <sys/time.h> and <time.h>. */
+#define TIME_WITH_SYS_TIME 1
+
+/* Define to 1 if your <sys/time.h> declares `struct tm'. */
+/* #undef TM_IN_SYS_TIME */
+
+/* Possible value for SIGNED_RIGHT_SHIFT_IS */
+#define UNKNOWN_RIGHT_SHIFT 3
+
+/* experimental --enable-boostthreads that replaces POSIX pthread by
+ boost::thread */
+/* #undef USE_BOOST_THREAD */
+
+/* Version number of package */
+#define VERSION "0.9.1"
+
+/* Define to 1 if `lex' declares `yytext' as a `char *' by default, not a
+ `char[]'. */
+/* #undef YYTEXT_POINTER */
+
+/* Define for Solaris 2.5.1 so the uint32_t typedef from <sys/synch.h>,
+ <pthread.h>, or <semaphore.h> is not used. If the typedef were allowed, the
+ #define below would cause a syntax error. */
+/* #undef _UINT32_T */
+
+/* Define for Solaris 2.5.1 so the uint64_t typedef from <sys/synch.h>,
+ <pthread.h>, or <semaphore.h> is not used. If the typedef were allowed, the
+ #define below would cause a syntax error. */
+/* #undef _UINT64_T */
+
+/* Define for Solaris 2.5.1 so the uint8_t typedef from <sys/synch.h>,
+ <pthread.h>, or <semaphore.h> is not used. If the typedef were allowed, the
+ #define below would cause a syntax error. */
+/* #undef _UINT8_T */
+
+/* Define to empty if `const' does not conform to ANSI C. */
+/* #undef const */
+
+/* Define to `__inline__' or `__inline' if that's what the C compiler
+ calls it, or to nothing if 'inline' is not supported under any name. */
+#ifndef __cplusplus
+/* #undef inline */
+#endif
+
+/* Define to the type of a signed integer type of width exactly 16 bits if
+ such a type exists and the standard includes do not define it. */
+/* #undef int16_t */
+
+/* Define to the type of a signed integer type of width exactly 32 bits if
+ such a type exists and the standard includes do not define it. */
+/* #undef int32_t */
+
+/* Define to the type of a signed integer type of width exactly 64 bits if
+ such a type exists and the standard includes do not define it. */
+/* #undef int64_t */
+
+/* Define to the type of a signed integer type of width exactly 8 bits if such
+ a type exists and the standard includes do not define it. */
+/* #undef int8_t */
+
+/* Define to rpl_malloc if the replacement function should be used. */
+/* #undef malloc */
+
+/* Define to `int' if <sys/types.h> does not define. */
+/* #undef mode_t */
+
+/* Define to `long int' if <sys/types.h> does not define. */
+/* #undef off_t */
+
+/* Define to `int' if <sys/types.h> does not define. */
+/* #undef pid_t */
+
+/* Define to rpl_realloc if the replacement function should be used. */
+/* #undef realloc */
+
+/* Define to `unsigned int' if <sys/types.h> does not define. */
+/* #undef size_t */
+
+/* Define to `int' if <sys/types.h> does not define. */
+/* #undef ssize_t */
+
+/* Define to the type of an unsigned integer type of width exactly 16 bits if
+ such a type exists and the standard includes do not define it. */
+/* #undef uint16_t */
+
+/* Define to the type of an unsigned integer type of width exactly 32 bits if
+ such a type exists and the standard includes do not define it. */
+/* #undef uint32_t */
+
+/* Define to the type of an unsigned integer type of width exactly 64 bits if
+ such a type exists and the standard includes do not define it. */
+/* #undef uint64_t */
+
+/* Define to the type of an unsigned integer type of width exactly 8 bits if
+ such a type exists and the standard includes do not define it. */
+/* #undef uint8_t */
+
+/* Define as `fork' if `vfork' does not work. */
+/* #undef vfork */
+
+/* Define to empty if the keyword `volatile' does not work. Warning: valid
+ code using `volatile' can become incorrect without. Disable with care. */
+/* #undef volatile */
+
+
+#endif
+
http://git-wip-us.apache.org/repos/asf/airavata/blob/f891b7dc/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/cxxfunctional.h
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/cxxfunctional.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/cxxfunctional.h
new file mode 100644
index 0000000..c24b91b
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/cxxfunctional.h
@@ -0,0 +1,126 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you 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 _THRIFT_CXXFUNCTIONAL_H_
+#define _THRIFT_CXXFUNCTIONAL_H_ 1
+
+/**
+ * Loads <functional> from the 'right' location, depending
+ * on compiler and whether or not it's using C++03 with TR1
+ * or C++11.
+ */
+
+/*
+ * MSVC 10 and 11 have the <functional> stuff at <functional>.
+ * In MSVC 10 all of the implementations live in std::tr1.
+ * In MSVC 11 all of the implementations live in std, with aliases
+ * in std::tr1 to point to the ones in std.
+ */
+#ifdef _WIN32
+ #define _THRIFT_USING_MICROSOFT_STDLIB 1
+#endif
+
+#ifdef __clang__
+ /* Clang has two options, depending on standard library:
+ * - no -stdlib or -stdlib=libstdc++ set; uses GNU libstdc++.
+ * <tr1/functional>
+ * - -stdlib=libc++; uses LLVM libc++.
+ * <functional>, no 'std::tr1'.
+ *
+ * The compiler itself doesn't define anything differently
+ * depending on the value of -stdlib, but the library headers
+ * will set different preprocessor options. In order to check,
+ * though, we have to pull in some library header.
+ */
+ #include <utility>
+
+ /* With LLVM libc++, utility pulls in __config, which sets
+ _LIBCPP_VERSION. */
+ #if defined(_LIBCPP_VERSION)
+ #define _THRIFT_USING_CLANG_LIBCXX 1
+
+ /* With GNU libstdc++, utility pulls in bits/c++config.h,
+ which sets __GLIBCXX__. */
+ #elif defined(__GLIBCXX__)
+ #define _THRIFT_USING_GNU_LIBSTDCXX 1
+
+ /* No idea. */
+ #else
+ #error Unable to detect which C++ standard library is in use.
+ #endif
+#elif __GNUC__
+ #define _THRIFT_USING_GNU_LIBSTDCXX 1
+#endif
+
+#if _THRIFT_USING_MICROSOFT_STDLIB
+ #include <functional>
+
+ namespace apache { namespace thrift { namespace stdcxx {
+ using ::std::tr1::function;
+ using ::std::tr1::bind;
+
+ namespace placeholders {
+ using ::std::tr1::placeholders::_1;
+ using ::std::tr1::placeholders::_2;
+ using ::std::tr1::placeholders::_3;
+ using ::std::tr1::placeholders::_4;
+ using ::std::tr1::placeholders::_5;
+ using ::std::tr1::placeholders::_6;
+ } // apache::thrift::stdcxx::placeholders
+ }}} // apache::thrift::stdcxx
+
+#elif _THRIFT_USING_CLANG_LIBCXX
+ #include <functional>
+
+ namespace apache { namespace thrift { namespace stdcxx {
+ using ::std::function;
+ using ::std::bind;
+
+ namespace placeholders {
+ using ::std::placeholders::_1;
+ using ::std::placeholders::_2;
+ using ::std::placeholders::_3;
+ using ::std::placeholders::_4;
+ using ::std::placeholders::_5;
+ using ::std::placeholders::_6;
+ } // apache::thrift::stdcxx::placeholders
+ }}} // apache::thrift::stdcxx
+
+#elif _THRIFT_USING_GNU_LIBSTDCXX
+ #include <tr1/functional>
+
+ namespace apache { namespace thrift { namespace stdcxx {
+ using ::std::tr1::function;
+ using ::std::tr1::bind;
+
+ namespace placeholders {
+ using ::std::tr1::placeholders::_1;
+ using ::std::tr1::placeholders::_2;
+ using ::std::tr1::placeholders::_3;
+ using ::std::tr1::placeholders::_4;
+ using ::std::tr1::placeholders::_5;
+ using ::std::tr1::placeholders::_6;
+ } // apache::thrift::stdcxx::placeholders
+ }}} // apache::thrift::stdcxx
+#endif
+
+ // Alias for thrift c++ compatibility namespace
+ namespace tcxx = apache::thrift::stdcxx;
+
+#endif // #ifndef _THRIFT_CXXFUNCTIONAL_H_
http://git-wip-us.apache.org/repos/asf/airavata/blob/f891b7dc/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/processor/PeekProcessor.cpp
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/processor/PeekProcessor.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/processor/PeekProcessor.cpp
new file mode 100644
index 0000000..bfc4ac7
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/processor/PeekProcessor.cpp
@@ -0,0 +1,127 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you 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 <thrift/processor/PeekProcessor.h>
+
+using namespace apache::thrift::transport;
+using namespace apache::thrift::protocol;
+using namespace apache::thrift;
+
+namespace apache { namespace thrift { namespace processor {
+
+PeekProcessor::PeekProcessor() {
+ memoryBuffer_.reset(new TMemoryBuffer());
+ targetTransport_ = memoryBuffer_;
+}
+PeekProcessor::~PeekProcessor() {}
+
+void PeekProcessor::initialize(boost::shared_ptr<TProcessor> actualProcessor,
+ boost::shared_ptr<TProtocolFactory> protocolFactory,
+ boost::shared_ptr<TPipedTransportFactory> transportFactory) {
+ actualProcessor_ = actualProcessor;
+ pipedProtocol_ = protocolFactory->getProtocol(targetTransport_);
+ transportFactory_ = transportFactory;
+ transportFactory_->initializeTargetTransport(targetTransport_);
+}
+
+boost::shared_ptr<TTransport> PeekProcessor::getPipedTransport(boost::shared_ptr<TTransport> in) {
+ return transportFactory_->getTransport(in);
+}
+
+void PeekProcessor::setTargetTransport(boost::shared_ptr<TTransport> targetTransport) {
+ targetTransport_ = targetTransport;
+ if (boost::dynamic_pointer_cast<TMemoryBuffer>(targetTransport_)) {
+ memoryBuffer_ = boost::dynamic_pointer_cast<TMemoryBuffer>(targetTransport);
+ } else if (boost::dynamic_pointer_cast<TPipedTransport>(targetTransport_)) {
+ memoryBuffer_ = boost::dynamic_pointer_cast<TMemoryBuffer>(boost::dynamic_pointer_cast<TPipedTransport>(targetTransport_)->getTargetTransport());
+ }
+
+ if (!memoryBuffer_) {
+ throw TException("Target transport must be a TMemoryBuffer or a TPipedTransport with TMemoryBuffer");
+ }
+}
+
+bool PeekProcessor::process(boost::shared_ptr<TProtocol> in,
+ boost::shared_ptr<TProtocol> out,
+ void* connectionContext) {
+
+ std::string fname;
+ TMessageType mtype;
+ int32_t seqid;
+ in->readMessageBegin(fname, mtype, seqid);
+
+ if (mtype != T_CALL) {
+ throw TException("Unexpected message type");
+ }
+
+ // Peek at the name
+ peekName(fname);
+
+ TType ftype;
+ int16_t fid;
+ while (true) {
+ in->readFieldBegin(fname, ftype, fid);
+ if (ftype == T_STOP) {
+ break;
+ }
+
+ // Peek at the variable
+ peek(in, ftype, fid);
+ in->readFieldEnd();
+ }
+ in->readMessageEnd();
+ in->getTransport()->readEnd();
+
+ //
+ // All the data is now in memoryBuffer_ and ready to be processed
+ //
+
+ // Let's first take a peek at the full data in memory
+ uint8_t* buffer;
+ uint32_t size;
+ memoryBuffer_->getBuffer(&buffer, &size);
+ peekBuffer(buffer, size);
+
+ // Done peeking at variables
+ peekEnd();
+
+ bool ret = actualProcessor_->process(pipedProtocol_, out, connectionContext);
+ memoryBuffer_->resetBuffer();
+ return ret;
+}
+
+void PeekProcessor::peekName(const std::string& fname) {
+ (void) fname;
+}
+
+void PeekProcessor::peekBuffer(uint8_t* buffer, uint32_t size) {
+ (void) buffer;
+ (void) size;
+}
+
+void PeekProcessor::peek(boost::shared_ptr<TProtocol> in,
+ TType ftype,
+ int16_t fid) {
+ (void) fid;
+ in->skip(ftype);
+}
+
+void PeekProcessor::peekEnd() {}
+
+}}}
http://git-wip-us.apache.org/repos/asf/airavata/blob/f891b7dc/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/processor/PeekProcessor.h
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/processor/PeekProcessor.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/processor/PeekProcessor.h
new file mode 100644
index 0000000..9cfb35a
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/processor/PeekProcessor.h
@@ -0,0 +1,78 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you 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 PEEKPROCESSOR_H
+#define PEEKPROCESSOR_H
+
+#include <string>
+#include <thrift/TProcessor.h>
+#include <thrift/transport/TTransport.h>
+#include <thrift/transport/TTransportUtils.h>
+#include <thrift/transport/TBufferTransports.h>
+#include <boost/shared_ptr.hpp>
+
+namespace apache { namespace thrift { namespace processor {
+
+/*
+ * Class for peeking at the raw data that is being processed by another processor
+ * and gives the derived class a chance to change behavior accordingly
+ *
+ */
+class PeekProcessor : public apache::thrift::TProcessor {
+
+ public:
+ PeekProcessor();
+ virtual ~PeekProcessor();
+
+ // Input here: actualProcessor - the underlying processor
+ // protocolFactory - the protocol factory used to wrap the memory buffer
+ // transportFactory - this TPipedTransportFactory is used to wrap the source transport
+ // via a call to getPipedTransport
+ void initialize(boost::shared_ptr<apache::thrift::TProcessor> actualProcessor,
+ boost::shared_ptr<apache::thrift::protocol::TProtocolFactory> protocolFactory,
+ boost::shared_ptr<apache::thrift::transport::TPipedTransportFactory> transportFactory);
+
+ boost::shared_ptr<apache::thrift::transport::TTransport> getPipedTransport(boost::shared_ptr<apache::thrift::transport::TTransport> in);
+
+ void setTargetTransport(boost::shared_ptr<apache::thrift::transport::TTransport> targetTransport);
+
+ virtual bool process(boost::shared_ptr<apache::thrift::protocol::TProtocol> in,
+ boost::shared_ptr<apache::thrift::protocol::TProtocol> out,
+ void* connectionContext);
+
+ // The following three functions can be overloaded by child classes to
+ // achieve desired peeking behavior
+ virtual void peekName(const std::string& fname);
+ virtual void peekBuffer(uint8_t* buffer, uint32_t size);
+ virtual void peek(boost::shared_ptr<apache::thrift::protocol::TProtocol> in,
+ apache::thrift::protocol::TType ftype,
+ int16_t fid);
+ virtual void peekEnd();
+
+ private:
+ boost::shared_ptr<apache::thrift::TProcessor> actualProcessor_;
+ boost::shared_ptr<apache::thrift::protocol::TProtocol> pipedProtocol_;
+ boost::shared_ptr<apache::thrift::transport::TPipedTransportFactory> transportFactory_;
+ boost::shared_ptr<apache::thrift::transport::TMemoryBuffer> memoryBuffer_;
+ boost::shared_ptr<apache::thrift::transport::TTransport> targetTransport_;
+};
+
+}}} // apache::thrift::processor
+
+#endif
http://git-wip-us.apache.org/repos/asf/airavata/blob/f891b7dc/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/processor/StatsProcessor.h
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/processor/StatsProcessor.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/processor/StatsProcessor.h
new file mode 100644
index 0000000..58cd1dc
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/processor/StatsProcessor.h
@@ -0,0 +1,266 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you 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 STATSPROCESSOR_H
+#define STATSPROCESSOR_H
+
+#include <boost/shared_ptr.hpp>
+#include <thrift/transport/TTransport.h>
+#include <thrift/protocol/TProtocol.h>
+#include <TProcessor.h>
+
+namespace apache { namespace thrift { namespace processor {
+
+/*
+ * Class for keeping track of function call statistics and printing them if desired
+ *
+ */
+class StatsProcessor : public apache::thrift::TProcessor {
+public:
+ StatsProcessor(bool print, bool frequency)
+ : print_(print),
+ frequency_(frequency)
+ {}
+ virtual ~StatsProcessor() {};
+
+ virtual bool process(boost::shared_ptr<apache::thrift::protocol::TProtocol> piprot,
+ boost::shared_ptr<apache::thrift::protocol::TProtocol> poprot,
+ void* serverContext) {
+
+ piprot_ = piprot;
+
+ std::string fname;
+ apache::thrift::protocol::TMessageType mtype;
+ int32_t seqid;
+
+ piprot_->readMessageBegin(fname, mtype, seqid);
+ if (mtype != apache::thrift::protocol::T_CALL) {
+ if (print_) {
+ printf("Unknown message type\n");
+ }
+ throw apache::thrift::TException("Unexpected message type");
+ }
+ if (print_) {
+ printf("%s (", fname.c_str());
+ }
+ if (frequency_) {
+ if (frequency_map_.find(fname) != frequency_map_.end()) {
+ frequency_map_[fname]++;
+ } else {
+ frequency_map_[fname] = 1;
+ }
+ }
+
+ apache::thrift::protocol::TType ftype;
+ int16_t fid;
+
+ while (true) {
+ piprot_->readFieldBegin(fname, ftype, fid);
+ if (ftype == apache::thrift::protocol::T_STOP) {
+ break;
+ }
+
+ printAndPassToBuffer(ftype);
+ if (print_) {
+ printf(", ");
+ }
+ }
+
+ if (print_) {
+ printf("\b\b)\n");
+ }
+ return true;
+ }
+
+ const std::map<std::string, int64_t>& get_frequency_map() {
+ return frequency_map_;
+ }
+
+protected:
+ void printAndPassToBuffer(apache::thrift::protocol::TType ftype) {
+ switch (ftype) {
+ case apache::thrift::protocol::T_BOOL:
+ {
+ bool boolv;
+ piprot_->readBool(boolv);
+ if (print_) {
+ printf("%d", boolv);
+ }
+ }
+ break;
+ case apache::thrift::protocol::T_BYTE:
+ {
+ int8_t bytev;
+ piprot_->readByte(bytev);
+ if (print_) {
+ printf("%d", bytev);
+ }
+ }
+ break;
+ case apache::thrift::protocol::T_I16:
+ {
+ int16_t i16;
+ piprot_->readI16(i16);
+ if (print_) {
+ printf("%d", i16);
+ }
+ }
+ break;
+ case apache::thrift::protocol::T_I32:
+ {
+ int32_t i32;
+ piprot_->readI32(i32);
+ if (print_) {
+ printf("%d", i32);
+ }
+ }
+ break;
+ case apache::thrift::protocol::T_I64:
+ {
+ int64_t i64;
+ piprot_->readI64(i64);
+ if (print_) {
+ printf("%ld", i64);
+ }
+ }
+ break;
+ case apache::thrift::protocol::T_DOUBLE:
+ {
+ double dub;
+ piprot_->readDouble(dub);
+ if (print_) {
+ printf("%f", dub);
+ }
+ }
+ break;
+ case apache::thrift::protocol::T_STRING:
+ {
+ std::string str;
+ piprot_->readString(str);
+ if (print_) {
+ printf("%s", str.c_str());
+ }
+ }
+ break;
+ case apache::thrift::protocol::T_STRUCT:
+ {
+ std::string name;
+ int16_t fid;
+ apache::thrift::protocol::TType ftype;
+ piprot_->readStructBegin(name);
+ if (print_) {
+ printf("<");
+ }
+ while (true) {
+ piprot_->readFieldBegin(name, ftype, fid);
+ if (ftype == apache::thrift::protocol::T_STOP) {
+ break;
+ }
+ printAndPassToBuffer(ftype);
+ if (print_) {
+ printf(",");
+ }
+ piprot_->readFieldEnd();
+ }
+ piprot_->readStructEnd();
+ if (print_) {
+ printf("\b>");
+ }
+ }
+ break;
+ case apache::thrift::protocol::T_MAP:
+ {
+ apache::thrift::protocol::TType keyType;
+ apache::thrift::protocol::TType valType;
+ uint32_t i, size;
+ piprot_->readMapBegin(keyType, valType, size);
+ if (print_) {
+ printf("{");
+ }
+ for (i = 0; i < size; i++) {
+ printAndPassToBuffer(keyType);
+ if (print_) {
+ printf("=>");
+ }
+ printAndPassToBuffer(valType);
+ if (print_) {
+ printf(",");
+ }
+ }
+ piprot_->readMapEnd();
+ if (print_) {
+ printf("\b}");
+ }
+ }
+ break;
+ case apache::thrift::protocol::T_SET:
+ {
+ apache::thrift::protocol::TType elemType;
+ uint32_t i, size;
+ piprot_->readSetBegin(elemType, size);
+ if (print_) {
+ printf("{");
+ }
+ for (i = 0; i < size; i++) {
+ printAndPassToBuffer(elemType);
+ if (print_) {
+ printf(",");
+ }
+ }
+ piprot_->readSetEnd();
+ if (print_) {
+ printf("\b}");
+ }
+ }
+ break;
+ case apache::thrift::protocol::T_LIST:
+ {
+ apache::thrift::protocol::TType elemType;
+ uint32_t i, size;
+ piprot_->readListBegin(elemType, size);
+ if (print_) {
+ printf("[");
+ }
+ for (i = 0; i < size; i++) {
+ printAndPassToBuffer(elemType);
+ if (print_) {
+ printf(",");
+ }
+ }
+ piprot_->readListEnd();
+ if (print_) {
+ printf("\b]");
+ }
+ }
+ break;
+ default:
+ break;
+ }
+ }
+
+ boost::shared_ptr<apache::thrift::protocol::TProtocol> piprot_;
+ std::map<std::string, int64_t> frequency_map_;
+
+ bool print_;
+ bool frequency_;
+};
+
+}}} // apache::thrift::processor
+
+#endif
http://git-wip-us.apache.org/repos/asf/airavata/blob/f891b7dc/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/processor/TMultiplexedProcessor.h
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/processor/TMultiplexedProcessor.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/processor/TMultiplexedProcessor.h
new file mode 100644
index 0000000..494ec10
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/processor/TMultiplexedProcessor.h
@@ -0,0 +1,218 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you 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 THRIFT_TMULTIPLEXEDPROCESSOR_H_
+#define THRIFT_TMULTIPLEXEDPROCESSOR_H_ 1
+
+#include <thrift/protocol/TProtocolDecorator.h>
+#include <thrift/TApplicationException.h>
+#include <thrift/TProcessor.h>
+#include <boost/tokenizer.hpp>
+
+namespace apache
+{
+ namespace thrift
+ {
+ using boost::shared_ptr;
+
+ namespace protocol {
+
+ /**
+ * To be able to work with any protocol, we needed
+ * to allow them to call readMessageBegin() and get a TMessage in exactly
+ * the standard format, without the service name prepended to TMessage.name.
+ */
+ class StoredMessageProtocol : public TProtocolDecorator
+ {
+ public:
+ StoredMessageProtocol( shared_ptr<protocol::TProtocol> _protocol,
+ const std::string& _name, const TMessageType _type,
+ const int32_t _seqid) :
+ TProtocolDecorator(_protocol),
+ name(_name),
+ type(_type),
+ seqid(_seqid)
+ {
+ }
+
+ uint32_t readMessageBegin_virt(std::string& _name, TMessageType& _type, int32_t& _seqid)
+ {
+
+ _name = name;
+ _type = type;
+ _seqid = seqid;
+
+ return 0; // (Normal TProtocol read functions return number of bytes read)
+ }
+
+ std::string name;
+ TMessageType type;
+ int32_t seqid;
+ };
+ } //namespace protocol
+
+ /**
+ * <code>TMultiplexedProcessor</code> is a <code>TProcessor</code> allowing
+ * a single <code>TServer</code> to provide multiple services.
+ *
+ * <p>To do so, you instantiate the processor and then register additional
+ * processors with it, as shown in the following example:</p>
+ *
+ * <blockquote><code>
+ * shared_ptr<TMultiplexedProcessor> processor(new TMultiplexedProcessor());
+ *
+ * processor->registerProcessor(
+ * "Calculator",
+ * shared_ptr<TProcessor>( new CalculatorProcessor(
+ * shared_ptr<CalculatorHandler>( new CalculatorHandler()))));
+ *
+ * processor->registerProcessor(
+ * "WeatherReport",
+ * shared_ptr<TProcessor>( new WeatherReportProcessor(
+ * shared_ptr<WeatherReportHandler>( new WeatherReportHandler()))));
+ *
+ * shared_ptr<TServerTransport> transport(new TServerSocket(9090));
+ * TSimpleServer server(processor, transport);
+ *
+ * server.serve();
+ * </code></blockquote>
+ */
+ class TMultiplexedProcessor : public TProcessor
+ {
+ public:
+ typedef std::map< std::string, shared_ptr<TProcessor> > services_t;
+
+ /**
+ * 'Register' a service with this <code>TMultiplexedProcessor</code>. This
+ * allows us to broker requests to individual services by using the service
+ * name to select them at request time.
+ *
+ * \param [in] serviceName Name of a service, has to be identical to the name
+ * declared in the Thrift IDL, e.g. "WeatherReport".
+ * \param [in] processor Implementation of a service, ususally referred to
+ * as "handlers", e.g. WeatherReportHandler,
+ * implementing WeatherReportIf interface.
+ */
+ void registerProcessor( const std::string & serviceName,
+ shared_ptr<TProcessor> processor )
+ {
+ services[serviceName] = processor;
+ }
+
+ /**
+ * This implementation of <code>process</code> performs the following steps:
+ *
+ * <ol>
+ * <li>Read the beginning of the message.</li>
+ * <li>Extract the service name from the message.</li>
+ * <li>Using the service name to locate the appropriate processor.</li>
+ * <li>Dispatch to the processor, with a decorated instance of TProtocol
+ * that allows readMessageBegin() to return the original TMessage.</li>
+ * </ol>
+ *
+ * \throws TException If the message type is not T_CALL or T_ONEWAY, if
+ * the service name was not found in the message, or if the service
+ * name was not found in the service map.
+ */
+ bool process( shared_ptr<protocol::TProtocol> in,
+ shared_ptr<protocol::TProtocol> out,
+ void *connectionContext)
+ {
+ std::string name;
+ protocol::TMessageType type;
+ int32_t seqid;
+
+ // Use the actual underlying protocol (e.g. TBinaryProtocol) to read the
+ // message header. This pulls the message "off the wire", which we'll
+ // deal with at the end of this method.
+ in->readMessageBegin(name, type, seqid);
+
+ if( type != protocol::T_CALL && type != protocol::T_ONEWAY ) {
+ // Unexpected message type.
+ in->skip(::apache::thrift::protocol::T_STRUCT);
+ in->readMessageEnd();
+ in->getTransport()->readEnd();
+ const std::string msg("TMultiplexedProcessor: Unexpected message type");
+ ::apache::thrift::TApplicationException x(
+ ::apache::thrift::TApplicationException::PROTOCOL_ERROR,
+ msg);
+ out->writeMessageBegin(name, ::apache::thrift::protocol::T_EXCEPTION, seqid);
+ x.write(out.get());
+ out->writeMessageEnd();
+ out->getTransport()->writeEnd();
+ out->getTransport()->flush();
+ throw TException(msg);
+ }
+
+ // Extract the service name
+
+ boost::tokenizer<boost::char_separator<char> > tok( name, boost::char_separator<char>(":") );
+
+ std::vector<std::string> tokens;
+ std::copy( tok.begin(), tok.end(), std::back_inserter(tokens) );
+
+ // A valid message should consist of two tokens: the service
+ // name and the name of the method to call.
+ if( tokens.size() == 2 )
+ {
+ // Search for a processor associated with this service name.
+ services_t::iterator it = services.find(tokens[0]);
+
+ if( it != services.end() )
+ {
+ shared_ptr<TProcessor> processor = it->second;
+ // Let the processor registered for this service name
+ // process the message.
+ return processor->process(
+ shared_ptr<protocol::TProtocol>(
+ new protocol::StoredMessageProtocol( in, tokens[1], type, seqid ) ),
+ out, connectionContext );
+ }
+ else
+ {
+ // Unknown service.
+ in->skip(::apache::thrift::protocol::T_STRUCT);
+ in->readMessageEnd();
+ in->getTransport()->readEnd();
+
+ std::string msg("TMultiplexedProcessor: Unknown service: ");
+ msg += tokens[0];
+ ::apache::thrift::TApplicationException x(
+ ::apache::thrift::TApplicationException::PROTOCOL_ERROR,
+ msg);
+ out->writeMessageBegin(name, ::apache::thrift::protocol::T_EXCEPTION, seqid);
+ x.write(out.get());
+ out->writeMessageEnd();
+ out->getTransport()->writeEnd();
+ out->getTransport()->flush();
+ msg += ". Did you forget to call registerProcessor()?";
+ throw TException(msg);
+ }
+ }
+ return false;
+ }
+
+ private:
+ /** Map of service processor objects, indexed by service names. */
+ services_t services;
+ };
+ }
+}
+
+#endif // THRIFT_TMULTIPLEXEDPROCESSOR_H_
http://git-wip-us.apache.org/repos/asf/airavata/blob/f891b7dc/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/protocol/TBase64Utils.cpp
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/protocol/TBase64Utils.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/protocol/TBase64Utils.cpp
new file mode 100644
index 0000000..cd343ed
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/protocol/TBase64Utils.cpp
@@ -0,0 +1,79 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you 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 <thrift/protocol/TBase64Utils.h>
+
+#include <boost/static_assert.hpp>
+
+using std::string;
+
+namespace apache { namespace thrift { namespace protocol {
+
+
+static const uint8_t *kBase64EncodeTable = (const uint8_t *)
+ "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
+
+void base64_encode(const uint8_t *in, uint32_t len, uint8_t *buf) {
+ buf[0] = kBase64EncodeTable[(in[0] >> 2) & 0x3f];
+ if (len == 3) {
+ buf[1] = kBase64EncodeTable[((in[0] << 4) & 0x30) | ((in[1] >> 4) & 0x0f)];
+ buf[2] = kBase64EncodeTable[((in[1] << 2) & 0x3c) | ((in[2] >> 6) & 0x03)];
+ buf[3] = kBase64EncodeTable[in[2] & 0x3f];
+ } else if (len == 2) {
+ buf[1] = kBase64EncodeTable[((in[0] << 4) & 0x30) | ((in[1] >> 4) & 0x0f)];
+ buf[2] = kBase64EncodeTable[(in[1] << 2) & 0x3c];
+ } else { // len == 1
+ buf[1] = kBase64EncodeTable[(in[0] << 4) & 0x30];
+ }
+}
+
+static const uint8_t kBase64DecodeTable[256] ={
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x3e,0xff,0xff,0xff,0x3f,
+0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,
+0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0xff,0xff,0xff,0xff,0xff,
+0xff,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,
+0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f,0x30,0x31,0x32,0x33,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+};
+
+void base64_decode(uint8_t *buf, uint32_t len) {
+ buf[0] = (kBase64DecodeTable[buf[0]] << 2) |
+ (kBase64DecodeTable[buf[1]] >> 4);
+ if (len > 2) {
+ buf[1] = ((kBase64DecodeTable[buf[1]] << 4) & 0xf0) |
+ (kBase64DecodeTable[buf[2]] >> 2);
+ if (len > 3) {
+ buf[2] = ((kBase64DecodeTable[buf[2]] << 6) & 0xc0) |
+ (kBase64DecodeTable[buf[3]]);
+ }
+ }
+}
+
+
+}}} // apache::thrift::protocol
http://git-wip-us.apache.org/repos/asf/airavata/blob/f891b7dc/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/protocol/TBase64Utils.h
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/protocol/TBase64Utils.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/protocol/TBase64Utils.h
new file mode 100644
index 0000000..3def733
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/protocol/TBase64Utils.h
@@ -0,0 +1,42 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you 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 _THRIFT_PROTOCOL_TBASE64UTILS_H_
+#define _THRIFT_PROTOCOL_TBASE64UTILS_H_
+
+#include <stdint.h>
+#include <string>
+
+namespace apache { namespace thrift { namespace protocol {
+
+// in must be at least len bytes
+// len must be 1, 2, or 3
+// buf must be a buffer of at least 4 bytes and may not overlap in
+// the data is not padded with '='; the caller can do this if desired
+void base64_encode(const uint8_t *in, uint32_t len, uint8_t *buf);
+
+// buf must be a buffer of at least 4 bytes and contain base64 encoded values
+// buf will be changed to contain output bytes
+// len is number of bytes to consume from input (must be 2, 3, or 4)
+// no '=' padding should be included in the input
+void base64_decode(uint8_t *buf, uint32_t len);
+
+}}} // apache::thrift::protocol
+
+#endif // #define _THRIFT_PROTOCOL_TBASE64UTILS_H_
http://git-wip-us.apache.org/repos/asf/airavata/blob/f891b7dc/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/protocol/TBinaryProtocol.h
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/protocol/TBinaryProtocol.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/protocol/TBinaryProtocol.h
new file mode 100644
index 0000000..a5b19e5
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/protocol/TBinaryProtocol.h
@@ -0,0 +1,282 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you 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 _THRIFT_PROTOCOL_TBINARYPROTOCOL_H_
+#define _THRIFT_PROTOCOL_TBINARYPROTOCOL_H_ 1
+
+#include <thrift/protocol/TProtocol.h>
+#include <thrift/protocol/TVirtualProtocol.h>
+
+#include <boost/shared_ptr.hpp>
+
+namespace apache { namespace thrift { namespace protocol {
+
+/**
+ * The default binary protocol for thrift. Writes all data in a very basic
+ * binary format, essentially just spitting out the raw bytes.
+ *
+ */
+template <class Transport_>
+class TBinaryProtocolT
+ : public TVirtualProtocol< TBinaryProtocolT<Transport_> > {
+ protected:
+ static const int32_t VERSION_MASK = ((int32_t)0xffff0000);
+ static const int32_t VERSION_1 = ((int32_t)0x80010000);
+ // VERSION_2 (0x80020000) is taken by TDenseProtocol.
+
+ public:
+ TBinaryProtocolT(boost::shared_ptr<Transport_> trans) :
+ TVirtualProtocol< TBinaryProtocolT<Transport_> >(trans),
+ trans_(trans.get()),
+ string_limit_(0),
+ container_limit_(0),
+ strict_read_(false),
+ strict_write_(true),
+ string_buf_(NULL),
+ string_buf_size_(0) {}
+
+ TBinaryProtocolT(boost::shared_ptr<Transport_> trans,
+ int32_t string_limit,
+ int32_t container_limit,
+ bool strict_read,
+ bool strict_write) :
+ TVirtualProtocol< TBinaryProtocolT<Transport_> >(trans),
+ trans_(trans.get()),
+ string_limit_(string_limit),
+ container_limit_(container_limit),
+ strict_read_(strict_read),
+ strict_write_(strict_write),
+ string_buf_(NULL),
+ string_buf_size_(0) {}
+
+ ~TBinaryProtocolT() {
+ if (string_buf_ != NULL) {
+ std::free(string_buf_);
+ string_buf_size_ = 0;
+ }
+ }
+
+ void setStringSizeLimit(int32_t string_limit) {
+ string_limit_ = string_limit;
+ }
+
+ void setContainerSizeLimit(int32_t container_limit) {
+ container_limit_ = container_limit;
+ }
+
+ void setStrict(bool strict_read, bool strict_write) {
+ strict_read_ = strict_read;
+ strict_write_ = strict_write;
+ }
+
+ /**
+ * Writing functions.
+ */
+
+ /*ol*/ uint32_t writeMessageBegin(const std::string& name,
+ const TMessageType messageType,
+ const int32_t seqid);
+
+ /*ol*/ uint32_t writeMessageEnd();
+
+
+ inline uint32_t writeStructBegin(const char* name);
+
+ inline uint32_t writeStructEnd();
+
+ inline uint32_t writeFieldBegin(const char* name,
+ const TType fieldType,
+ const int16_t fieldId);
+
+ inline uint32_t writeFieldEnd();
+
+ inline uint32_t writeFieldStop();
+
+ inline uint32_t writeMapBegin(const TType keyType,
+ const TType valType,
+ const uint32_t size);
+
+ inline uint32_t writeMapEnd();
+
+ inline uint32_t writeListBegin(const TType elemType, const uint32_t size);
+
+ inline uint32_t writeListEnd();
+
+ inline uint32_t writeSetBegin(const TType elemType, const uint32_t size);
+
+ inline uint32_t writeSetEnd();
+
+ inline uint32_t writeBool(const bool value);
+
+ inline uint32_t writeByte(const int8_t byte);
+
+ inline uint32_t writeI16(const int16_t i16);
+
+ inline uint32_t writeI32(const int32_t i32);
+
+ inline uint32_t writeI64(const int64_t i64);
+
+ inline uint32_t writeDouble(const double dub);
+
+ template <typename StrType>
+ inline uint32_t writeString(const StrType& str);
+
+ inline uint32_t writeBinary(const std::string& str);
+
+ /**
+ * Reading functions
+ */
+
+
+ /*ol*/ uint32_t readMessageBegin(std::string& name,
+ TMessageType& messageType,
+ int32_t& seqid);
+
+ /*ol*/ uint32_t readMessageEnd();
+
+ inline uint32_t readStructBegin(std::string& name);
+
+ inline uint32_t readStructEnd();
+
+ inline uint32_t readFieldBegin(std::string& name,
+ TType& fieldType,
+ int16_t& fieldId);
+
+ inline uint32_t readFieldEnd();
+
+ inline uint32_t readMapBegin(TType& keyType,
+ TType& valType,
+ uint32_t& size);
+
+ inline uint32_t readMapEnd();
+
+ inline uint32_t readListBegin(TType& elemType, uint32_t& size);
+
+ inline uint32_t readListEnd();
+
+ inline uint32_t readSetBegin(TType& elemType, uint32_t& size);
+
+ inline uint32_t readSetEnd();
+
+ inline uint32_t readBool(bool& value);
+ // Provide the default readBool() implementation for std::vector<bool>
+ using TVirtualProtocol< TBinaryProtocolT<Transport_> >::readBool;
+
+ inline uint32_t readByte(int8_t& byte);
+
+ inline uint32_t readI16(int16_t& i16);
+
+ inline uint32_t readI32(int32_t& i32);
+
+ inline uint32_t readI64(int64_t& i64);
+
+ inline uint32_t readDouble(double& dub);
+
+ template<typename StrType>
+ inline uint32_t readString(StrType& str);
+
+ inline uint32_t readBinary(std::string& str);
+
+ protected:
+ template<typename StrType>
+ uint32_t readStringBody(StrType& str, int32_t sz);
+
+ Transport_* trans_;
+
+ int32_t string_limit_;
+ int32_t container_limit_;
+
+ // Enforce presence of version identifier
+ bool strict_read_;
+ bool strict_write_;
+
+ // Buffer for reading strings, save for the lifetime of the protocol to
+ // avoid memory churn allocating memory on every string read
+ uint8_t* string_buf_;
+ int32_t string_buf_size_;
+
+};
+
+typedef TBinaryProtocolT<TTransport> TBinaryProtocol;
+
+/**
+ * Constructs binary protocol handlers
+ */
+template <class Transport_>
+class TBinaryProtocolFactoryT : public TProtocolFactory {
+ public:
+ TBinaryProtocolFactoryT() :
+ string_limit_(0),
+ container_limit_(0),
+ strict_read_(false),
+ strict_write_(true) {}
+
+ TBinaryProtocolFactoryT(int32_t string_limit, int32_t container_limit,
+ bool strict_read, bool strict_write) :
+ string_limit_(string_limit),
+ container_limit_(container_limit),
+ strict_read_(strict_read),
+ strict_write_(strict_write) {}
+
+ virtual ~TBinaryProtocolFactoryT() {}
+
+ void setStringSizeLimit(int32_t string_limit) {
+ string_limit_ = string_limit;
+ }
+
+ void setContainerSizeLimit(int32_t container_limit) {
+ container_limit_ = container_limit;
+ }
+
+ void setStrict(bool strict_read, bool strict_write) {
+ strict_read_ = strict_read;
+ strict_write_ = strict_write;
+ }
+
+ boost::shared_ptr<TProtocol> getProtocol(boost::shared_ptr<TTransport> trans) {
+ boost::shared_ptr<Transport_> specific_trans =
+ boost::dynamic_pointer_cast<Transport_>(trans);
+ TProtocol* prot;
+ if (specific_trans) {
+ prot = new TBinaryProtocolT<Transport_>(specific_trans, string_limit_,
+ container_limit_, strict_read_,
+ strict_write_);
+ } else {
+ prot = new TBinaryProtocol(trans, string_limit_, container_limit_,
+ strict_read_, strict_write_);
+ }
+
+ return boost::shared_ptr<TProtocol>(prot);
+ }
+
+ private:
+ int32_t string_limit_;
+ int32_t container_limit_;
+ bool strict_read_;
+ bool strict_write_;
+
+};
+
+typedef TBinaryProtocolFactoryT<TTransport> TBinaryProtocolFactory;
+
+}}} // apache::thrift::protocol
+
+#include <thrift/protocol/TBinaryProtocol.tcc>
+
+#endif // #ifndef _THRIFT_PROTOCOL_TBINARYPROTOCOL_H_
[23/47] Added c++ client samples for integrattion of airavata with
any other application's c++ interface
Posted by sm...@apache.org.
http://git-wip-us.apache.org/repos/asf/airavata/blob/f891b7dc/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/ApplicationCatalogAPI.cpp
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/ApplicationCatalogAPI.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/ApplicationCatalogAPI.cpp
new file mode 100644
index 0000000..a2e54f3
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/ApplicationCatalogAPI.cpp
@@ -0,0 +1,9387 @@
+/**
+ * Autogenerated by Thrift Compiler (0.9.1)
+ *
+ * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+ * @generated
+ */
+#include "ApplicationCatalogAPI.h"
+
+namespace airavata { namespace api { namespace appcatalog {
+
+uint32_t ApplicationCatalogAPI_GetAPIVersion_args::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+ uint32_t xfer = 0;
+ std::string fname;
+ ::apache::thrift::protocol::TType ftype;
+ int16_t fid;
+
+ xfer += iprot->readStructBegin(fname);
+
+ using ::apache::thrift::protocol::TProtocolException;
+
+
+ while (true)
+ {
+ xfer += iprot->readFieldBegin(fname, ftype, fid);
+ if (ftype == ::apache::thrift::protocol::T_STOP) {
+ break;
+ }
+ xfer += iprot->skip(ftype);
+ xfer += iprot->readFieldEnd();
+ }
+
+ xfer += iprot->readStructEnd();
+
+ return xfer;
+}
+
+uint32_t ApplicationCatalogAPI_GetAPIVersion_args::write(::apache::thrift::protocol::TProtocol* oprot) const {
+ uint32_t xfer = 0;
+ xfer += oprot->writeStructBegin("ApplicationCatalogAPI_GetAPIVersion_args");
+
+ xfer += oprot->writeFieldStop();
+ xfer += oprot->writeStructEnd();
+ return xfer;
+}
+
+uint32_t ApplicationCatalogAPI_GetAPIVersion_pargs::write(::apache::thrift::protocol::TProtocol* oprot) const {
+ uint32_t xfer = 0;
+ xfer += oprot->writeStructBegin("ApplicationCatalogAPI_GetAPIVersion_pargs");
+
+ xfer += oprot->writeFieldStop();
+ xfer += oprot->writeStructEnd();
+ return xfer;
+}
+
+uint32_t ApplicationCatalogAPI_GetAPIVersion_result::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+ uint32_t xfer = 0;
+ std::string fname;
+ ::apache::thrift::protocol::TType ftype;
+ int16_t fid;
+
+ xfer += iprot->readStructBegin(fname);
+
+ using ::apache::thrift::protocol::TProtocolException;
+
+
+ while (true)
+ {
+ xfer += iprot->readFieldBegin(fname, ftype, fid);
+ if (ftype == ::apache::thrift::protocol::T_STOP) {
+ break;
+ }
+ switch (fid)
+ {
+ case 0:
+ if (ftype == ::apache::thrift::protocol::T_STRING) {
+ xfer += iprot->readString(this->success);
+ this->__isset.success = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ default:
+ xfer += iprot->skip(ftype);
+ break;
+ }
+ xfer += iprot->readFieldEnd();
+ }
+
+ xfer += iprot->readStructEnd();
+
+ return xfer;
+}
+
+uint32_t ApplicationCatalogAPI_GetAPIVersion_result::write(::apache::thrift::protocol::TProtocol* oprot) const {
+
+ uint32_t xfer = 0;
+
+ xfer += oprot->writeStructBegin("ApplicationCatalogAPI_GetAPIVersion_result");
+
+ if (this->__isset.success) {
+ xfer += oprot->writeFieldBegin("success", ::apache::thrift::protocol::T_STRING, 0);
+ xfer += oprot->writeString(this->success);
+ xfer += oprot->writeFieldEnd();
+ }
+ xfer += oprot->writeFieldStop();
+ xfer += oprot->writeStructEnd();
+ return xfer;
+}
+
+uint32_t ApplicationCatalogAPI_GetAPIVersion_presult::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+ uint32_t xfer = 0;
+ std::string fname;
+ ::apache::thrift::protocol::TType ftype;
+ int16_t fid;
+
+ xfer += iprot->readStructBegin(fname);
+
+ using ::apache::thrift::protocol::TProtocolException;
+
+
+ while (true)
+ {
+ xfer += iprot->readFieldBegin(fname, ftype, fid);
+ if (ftype == ::apache::thrift::protocol::T_STOP) {
+ break;
+ }
+ switch (fid)
+ {
+ case 0:
+ if (ftype == ::apache::thrift::protocol::T_STRING) {
+ xfer += iprot->readString((*(this->success)));
+ this->__isset.success = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ default:
+ xfer += iprot->skip(ftype);
+ break;
+ }
+ xfer += iprot->readFieldEnd();
+ }
+
+ xfer += iprot->readStructEnd();
+
+ return xfer;
+}
+
+uint32_t ApplicationCatalogAPI_addComputeResourceDescription_args::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+ uint32_t xfer = 0;
+ std::string fname;
+ ::apache::thrift::protocol::TType ftype;
+ int16_t fid;
+
+ xfer += iprot->readStructBegin(fname);
+
+ using ::apache::thrift::protocol::TProtocolException;
+
+ bool isset_computeResourceDescription = false;
+
+ while (true)
+ {
+ xfer += iprot->readFieldBegin(fname, ftype, fid);
+ if (ftype == ::apache::thrift::protocol::T_STOP) {
+ break;
+ }
+ switch (fid)
+ {
+ case 1:
+ if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+ xfer += this->computeResourceDescription.read(iprot);
+ isset_computeResourceDescription = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ default:
+ xfer += iprot->skip(ftype);
+ break;
+ }
+ xfer += iprot->readFieldEnd();
+ }
+
+ xfer += iprot->readStructEnd();
+
+ if (!isset_computeResourceDescription)
+ throw TProtocolException(TProtocolException::INVALID_DATA);
+ return xfer;
+}
+
+uint32_t ApplicationCatalogAPI_addComputeResourceDescription_args::write(::apache::thrift::protocol::TProtocol* oprot) const {
+ uint32_t xfer = 0;
+ xfer += oprot->writeStructBegin("ApplicationCatalogAPI_addComputeResourceDescription_args");
+
+ xfer += oprot->writeFieldBegin("computeResourceDescription", ::apache::thrift::protocol::T_STRUCT, 1);
+ xfer += this->computeResourceDescription.write(oprot);
+ xfer += oprot->writeFieldEnd();
+
+ xfer += oprot->writeFieldStop();
+ xfer += oprot->writeStructEnd();
+ return xfer;
+}
+
+uint32_t ApplicationCatalogAPI_addComputeResourceDescription_pargs::write(::apache::thrift::protocol::TProtocol* oprot) const {
+ uint32_t xfer = 0;
+ xfer += oprot->writeStructBegin("ApplicationCatalogAPI_addComputeResourceDescription_pargs");
+
+ xfer += oprot->writeFieldBegin("computeResourceDescription", ::apache::thrift::protocol::T_STRUCT, 1);
+ xfer += (*(this->computeResourceDescription)).write(oprot);
+ xfer += oprot->writeFieldEnd();
+
+ xfer += oprot->writeFieldStop();
+ xfer += oprot->writeStructEnd();
+ return xfer;
+}
+
+uint32_t ApplicationCatalogAPI_addComputeResourceDescription_result::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+ uint32_t xfer = 0;
+ std::string fname;
+ ::apache::thrift::protocol::TType ftype;
+ int16_t fid;
+
+ xfer += iprot->readStructBegin(fname);
+
+ using ::apache::thrift::protocol::TProtocolException;
+
+
+ while (true)
+ {
+ xfer += iprot->readFieldBegin(fname, ftype, fid);
+ if (ftype == ::apache::thrift::protocol::T_STOP) {
+ break;
+ }
+ switch (fid)
+ {
+ case 0:
+ if (ftype == ::apache::thrift::protocol::T_STRING) {
+ xfer += iprot->readString(this->success);
+ this->__isset.success = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 1:
+ if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+ xfer += this->ire.read(iprot);
+ this->__isset.ire = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 2:
+ if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+ xfer += this->ace.read(iprot);
+ this->__isset.ace = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 3:
+ if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+ xfer += this->ase.read(iprot);
+ this->__isset.ase = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ default:
+ xfer += iprot->skip(ftype);
+ break;
+ }
+ xfer += iprot->readFieldEnd();
+ }
+
+ xfer += iprot->readStructEnd();
+
+ return xfer;
+}
+
+uint32_t ApplicationCatalogAPI_addComputeResourceDescription_result::write(::apache::thrift::protocol::TProtocol* oprot) const {
+
+ uint32_t xfer = 0;
+
+ xfer += oprot->writeStructBegin("ApplicationCatalogAPI_addComputeResourceDescription_result");
+
+ if (this->__isset.success) {
+ xfer += oprot->writeFieldBegin("success", ::apache::thrift::protocol::T_STRING, 0);
+ xfer += oprot->writeString(this->success);
+ xfer += oprot->writeFieldEnd();
+ } else if (this->__isset.ire) {
+ xfer += oprot->writeFieldBegin("ire", ::apache::thrift::protocol::T_STRUCT, 1);
+ xfer += this->ire.write(oprot);
+ xfer += oprot->writeFieldEnd();
+ } else if (this->__isset.ace) {
+ xfer += oprot->writeFieldBegin("ace", ::apache::thrift::protocol::T_STRUCT, 2);
+ xfer += this->ace.write(oprot);
+ xfer += oprot->writeFieldEnd();
+ } else if (this->__isset.ase) {
+ xfer += oprot->writeFieldBegin("ase", ::apache::thrift::protocol::T_STRUCT, 3);
+ xfer += this->ase.write(oprot);
+ xfer += oprot->writeFieldEnd();
+ }
+ xfer += oprot->writeFieldStop();
+ xfer += oprot->writeStructEnd();
+ return xfer;
+}
+
+uint32_t ApplicationCatalogAPI_addComputeResourceDescription_presult::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+ uint32_t xfer = 0;
+ std::string fname;
+ ::apache::thrift::protocol::TType ftype;
+ int16_t fid;
+
+ xfer += iprot->readStructBegin(fname);
+
+ using ::apache::thrift::protocol::TProtocolException;
+
+
+ while (true)
+ {
+ xfer += iprot->readFieldBegin(fname, ftype, fid);
+ if (ftype == ::apache::thrift::protocol::T_STOP) {
+ break;
+ }
+ switch (fid)
+ {
+ case 0:
+ if (ftype == ::apache::thrift::protocol::T_STRING) {
+ xfer += iprot->readString((*(this->success)));
+ this->__isset.success = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 1:
+ if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+ xfer += this->ire.read(iprot);
+ this->__isset.ire = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 2:
+ if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+ xfer += this->ace.read(iprot);
+ this->__isset.ace = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 3:
+ if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+ xfer += this->ase.read(iprot);
+ this->__isset.ase = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ default:
+ xfer += iprot->skip(ftype);
+ break;
+ }
+ xfer += iprot->readFieldEnd();
+ }
+
+ xfer += iprot->readStructEnd();
+
+ return xfer;
+}
+
+uint32_t ApplicationCatalogAPI_addSSHJobSubmissionProtocol_args::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+ uint32_t xfer = 0;
+ std::string fname;
+ ::apache::thrift::protocol::TType ftype;
+ int16_t fid;
+
+ xfer += iprot->readStructBegin(fname);
+
+ using ::apache::thrift::protocol::TProtocolException;
+
+ bool isset_computeResourceId = false;
+ bool isset_jobSubmission = false;
+
+ while (true)
+ {
+ xfer += iprot->readFieldBegin(fname, ftype, fid);
+ if (ftype == ::apache::thrift::protocol::T_STOP) {
+ break;
+ }
+ switch (fid)
+ {
+ case 1:
+ if (ftype == ::apache::thrift::protocol::T_STRING) {
+ xfer += iprot->readString(this->computeResourceId);
+ isset_computeResourceId = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 2:
+ if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+ xfer += this->jobSubmission.read(iprot);
+ isset_jobSubmission = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ default:
+ xfer += iprot->skip(ftype);
+ break;
+ }
+ xfer += iprot->readFieldEnd();
+ }
+
+ xfer += iprot->readStructEnd();
+
+ if (!isset_computeResourceId)
+ throw TProtocolException(TProtocolException::INVALID_DATA);
+ if (!isset_jobSubmission)
+ throw TProtocolException(TProtocolException::INVALID_DATA);
+ return xfer;
+}
+
+uint32_t ApplicationCatalogAPI_addSSHJobSubmissionProtocol_args::write(::apache::thrift::protocol::TProtocol* oprot) const {
+ uint32_t xfer = 0;
+ xfer += oprot->writeStructBegin("ApplicationCatalogAPI_addSSHJobSubmissionProtocol_args");
+
+ xfer += oprot->writeFieldBegin("computeResourceId", ::apache::thrift::protocol::T_STRING, 1);
+ xfer += oprot->writeString(this->computeResourceId);
+ xfer += oprot->writeFieldEnd();
+
+ xfer += oprot->writeFieldBegin("jobSubmission", ::apache::thrift::protocol::T_STRUCT, 2);
+ xfer += this->jobSubmission.write(oprot);
+ xfer += oprot->writeFieldEnd();
+
+ xfer += oprot->writeFieldStop();
+ xfer += oprot->writeStructEnd();
+ return xfer;
+}
+
+uint32_t ApplicationCatalogAPI_addSSHJobSubmissionProtocol_pargs::write(::apache::thrift::protocol::TProtocol* oprot) const {
+ uint32_t xfer = 0;
+ xfer += oprot->writeStructBegin("ApplicationCatalogAPI_addSSHJobSubmissionProtocol_pargs");
+
+ xfer += oprot->writeFieldBegin("computeResourceId", ::apache::thrift::protocol::T_STRING, 1);
+ xfer += oprot->writeString((*(this->computeResourceId)));
+ xfer += oprot->writeFieldEnd();
+
+ xfer += oprot->writeFieldBegin("jobSubmission", ::apache::thrift::protocol::T_STRUCT, 2);
+ xfer += (*(this->jobSubmission)).write(oprot);
+ xfer += oprot->writeFieldEnd();
+
+ xfer += oprot->writeFieldStop();
+ xfer += oprot->writeStructEnd();
+ return xfer;
+}
+
+uint32_t ApplicationCatalogAPI_addSSHJobSubmissionProtocol_result::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+ uint32_t xfer = 0;
+ std::string fname;
+ ::apache::thrift::protocol::TType ftype;
+ int16_t fid;
+
+ xfer += iprot->readStructBegin(fname);
+
+ using ::apache::thrift::protocol::TProtocolException;
+
+
+ while (true)
+ {
+ xfer += iprot->readFieldBegin(fname, ftype, fid);
+ if (ftype == ::apache::thrift::protocol::T_STOP) {
+ break;
+ }
+ switch (fid)
+ {
+ case 0:
+ if (ftype == ::apache::thrift::protocol::T_STRING) {
+ xfer += iprot->readString(this->success);
+ this->__isset.success = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 1:
+ if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+ xfer += this->ire.read(iprot);
+ this->__isset.ire = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 2:
+ if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+ xfer += this->ace.read(iprot);
+ this->__isset.ace = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 3:
+ if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+ xfer += this->ase.read(iprot);
+ this->__isset.ase = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ default:
+ xfer += iprot->skip(ftype);
+ break;
+ }
+ xfer += iprot->readFieldEnd();
+ }
+
+ xfer += iprot->readStructEnd();
+
+ return xfer;
+}
+
+uint32_t ApplicationCatalogAPI_addSSHJobSubmissionProtocol_result::write(::apache::thrift::protocol::TProtocol* oprot) const {
+
+ uint32_t xfer = 0;
+
+ xfer += oprot->writeStructBegin("ApplicationCatalogAPI_addSSHJobSubmissionProtocol_result");
+
+ if (this->__isset.success) {
+ xfer += oprot->writeFieldBegin("success", ::apache::thrift::protocol::T_STRING, 0);
+ xfer += oprot->writeString(this->success);
+ xfer += oprot->writeFieldEnd();
+ } else if (this->__isset.ire) {
+ xfer += oprot->writeFieldBegin("ire", ::apache::thrift::protocol::T_STRUCT, 1);
+ xfer += this->ire.write(oprot);
+ xfer += oprot->writeFieldEnd();
+ } else if (this->__isset.ace) {
+ xfer += oprot->writeFieldBegin("ace", ::apache::thrift::protocol::T_STRUCT, 2);
+ xfer += this->ace.write(oprot);
+ xfer += oprot->writeFieldEnd();
+ } else if (this->__isset.ase) {
+ xfer += oprot->writeFieldBegin("ase", ::apache::thrift::protocol::T_STRUCT, 3);
+ xfer += this->ase.write(oprot);
+ xfer += oprot->writeFieldEnd();
+ }
+ xfer += oprot->writeFieldStop();
+ xfer += oprot->writeStructEnd();
+ return xfer;
+}
+
+uint32_t ApplicationCatalogAPI_addSSHJobSubmissionProtocol_presult::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+ uint32_t xfer = 0;
+ std::string fname;
+ ::apache::thrift::protocol::TType ftype;
+ int16_t fid;
+
+ xfer += iprot->readStructBegin(fname);
+
+ using ::apache::thrift::protocol::TProtocolException;
+
+
+ while (true)
+ {
+ xfer += iprot->readFieldBegin(fname, ftype, fid);
+ if (ftype == ::apache::thrift::protocol::T_STOP) {
+ break;
+ }
+ switch (fid)
+ {
+ case 0:
+ if (ftype == ::apache::thrift::protocol::T_STRING) {
+ xfer += iprot->readString((*(this->success)));
+ this->__isset.success = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 1:
+ if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+ xfer += this->ire.read(iprot);
+ this->__isset.ire = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 2:
+ if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+ xfer += this->ace.read(iprot);
+ this->__isset.ace = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 3:
+ if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+ xfer += this->ase.read(iprot);
+ this->__isset.ase = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ default:
+ xfer += iprot->skip(ftype);
+ break;
+ }
+ xfer += iprot->readFieldEnd();
+ }
+
+ xfer += iprot->readStructEnd();
+
+ return xfer;
+}
+
+uint32_t ApplicationCatalogAPI_addGSISSHJobSubmissionProtocol_args::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+ uint32_t xfer = 0;
+ std::string fname;
+ ::apache::thrift::protocol::TType ftype;
+ int16_t fid;
+
+ xfer += iprot->readStructBegin(fname);
+
+ using ::apache::thrift::protocol::TProtocolException;
+
+ bool isset_computeResourceId = false;
+ bool isset_jobSubmission = false;
+
+ while (true)
+ {
+ xfer += iprot->readFieldBegin(fname, ftype, fid);
+ if (ftype == ::apache::thrift::protocol::T_STOP) {
+ break;
+ }
+ switch (fid)
+ {
+ case 1:
+ if (ftype == ::apache::thrift::protocol::T_STRING) {
+ xfer += iprot->readString(this->computeResourceId);
+ isset_computeResourceId = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 2:
+ if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+ xfer += this->jobSubmission.read(iprot);
+ isset_jobSubmission = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ default:
+ xfer += iprot->skip(ftype);
+ break;
+ }
+ xfer += iprot->readFieldEnd();
+ }
+
+ xfer += iprot->readStructEnd();
+
+ if (!isset_computeResourceId)
+ throw TProtocolException(TProtocolException::INVALID_DATA);
+ if (!isset_jobSubmission)
+ throw TProtocolException(TProtocolException::INVALID_DATA);
+ return xfer;
+}
+
+uint32_t ApplicationCatalogAPI_addGSISSHJobSubmissionProtocol_args::write(::apache::thrift::protocol::TProtocol* oprot) const {
+ uint32_t xfer = 0;
+ xfer += oprot->writeStructBegin("ApplicationCatalogAPI_addGSISSHJobSubmissionProtocol_args");
+
+ xfer += oprot->writeFieldBegin("computeResourceId", ::apache::thrift::protocol::T_STRING, 1);
+ xfer += oprot->writeString(this->computeResourceId);
+ xfer += oprot->writeFieldEnd();
+
+ xfer += oprot->writeFieldBegin("jobSubmission", ::apache::thrift::protocol::T_STRUCT, 2);
+ xfer += this->jobSubmission.write(oprot);
+ xfer += oprot->writeFieldEnd();
+
+ xfer += oprot->writeFieldStop();
+ xfer += oprot->writeStructEnd();
+ return xfer;
+}
+
+uint32_t ApplicationCatalogAPI_addGSISSHJobSubmissionProtocol_pargs::write(::apache::thrift::protocol::TProtocol* oprot) const {
+ uint32_t xfer = 0;
+ xfer += oprot->writeStructBegin("ApplicationCatalogAPI_addGSISSHJobSubmissionProtocol_pargs");
+
+ xfer += oprot->writeFieldBegin("computeResourceId", ::apache::thrift::protocol::T_STRING, 1);
+ xfer += oprot->writeString((*(this->computeResourceId)));
+ xfer += oprot->writeFieldEnd();
+
+ xfer += oprot->writeFieldBegin("jobSubmission", ::apache::thrift::protocol::T_STRUCT, 2);
+ xfer += (*(this->jobSubmission)).write(oprot);
+ xfer += oprot->writeFieldEnd();
+
+ xfer += oprot->writeFieldStop();
+ xfer += oprot->writeStructEnd();
+ return xfer;
+}
+
+uint32_t ApplicationCatalogAPI_addGSISSHJobSubmissionProtocol_result::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+ uint32_t xfer = 0;
+ std::string fname;
+ ::apache::thrift::protocol::TType ftype;
+ int16_t fid;
+
+ xfer += iprot->readStructBegin(fname);
+
+ using ::apache::thrift::protocol::TProtocolException;
+
+
+ while (true)
+ {
+ xfer += iprot->readFieldBegin(fname, ftype, fid);
+ if (ftype == ::apache::thrift::protocol::T_STOP) {
+ break;
+ }
+ switch (fid)
+ {
+ case 0:
+ if (ftype == ::apache::thrift::protocol::T_STRING) {
+ xfer += iprot->readString(this->success);
+ this->__isset.success = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 1:
+ if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+ xfer += this->ire.read(iprot);
+ this->__isset.ire = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 2:
+ if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+ xfer += this->ace.read(iprot);
+ this->__isset.ace = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 3:
+ if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+ xfer += this->ase.read(iprot);
+ this->__isset.ase = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ default:
+ xfer += iprot->skip(ftype);
+ break;
+ }
+ xfer += iprot->readFieldEnd();
+ }
+
+ xfer += iprot->readStructEnd();
+
+ return xfer;
+}
+
+uint32_t ApplicationCatalogAPI_addGSISSHJobSubmissionProtocol_result::write(::apache::thrift::protocol::TProtocol* oprot) const {
+
+ uint32_t xfer = 0;
+
+ xfer += oprot->writeStructBegin("ApplicationCatalogAPI_addGSISSHJobSubmissionProtocol_result");
+
+ if (this->__isset.success) {
+ xfer += oprot->writeFieldBegin("success", ::apache::thrift::protocol::T_STRING, 0);
+ xfer += oprot->writeString(this->success);
+ xfer += oprot->writeFieldEnd();
+ } else if (this->__isset.ire) {
+ xfer += oprot->writeFieldBegin("ire", ::apache::thrift::protocol::T_STRUCT, 1);
+ xfer += this->ire.write(oprot);
+ xfer += oprot->writeFieldEnd();
+ } else if (this->__isset.ace) {
+ xfer += oprot->writeFieldBegin("ace", ::apache::thrift::protocol::T_STRUCT, 2);
+ xfer += this->ace.write(oprot);
+ xfer += oprot->writeFieldEnd();
+ } else if (this->__isset.ase) {
+ xfer += oprot->writeFieldBegin("ase", ::apache::thrift::protocol::T_STRUCT, 3);
+ xfer += this->ase.write(oprot);
+ xfer += oprot->writeFieldEnd();
+ }
+ xfer += oprot->writeFieldStop();
+ xfer += oprot->writeStructEnd();
+ return xfer;
+}
+
+uint32_t ApplicationCatalogAPI_addGSISSHJobSubmissionProtocol_presult::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+ uint32_t xfer = 0;
+ std::string fname;
+ ::apache::thrift::protocol::TType ftype;
+ int16_t fid;
+
+ xfer += iprot->readStructBegin(fname);
+
+ using ::apache::thrift::protocol::TProtocolException;
+
+
+ while (true)
+ {
+ xfer += iprot->readFieldBegin(fname, ftype, fid);
+ if (ftype == ::apache::thrift::protocol::T_STOP) {
+ break;
+ }
+ switch (fid)
+ {
+ case 0:
+ if (ftype == ::apache::thrift::protocol::T_STRING) {
+ xfer += iprot->readString((*(this->success)));
+ this->__isset.success = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 1:
+ if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+ xfer += this->ire.read(iprot);
+ this->__isset.ire = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 2:
+ if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+ xfer += this->ace.read(iprot);
+ this->__isset.ace = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 3:
+ if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+ xfer += this->ase.read(iprot);
+ this->__isset.ase = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ default:
+ xfer += iprot->skip(ftype);
+ break;
+ }
+ xfer += iprot->readFieldEnd();
+ }
+
+ xfer += iprot->readStructEnd();
+
+ return xfer;
+}
+
+uint32_t ApplicationCatalogAPI_addGlobusJobSubmissionProtocol_args::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+ uint32_t xfer = 0;
+ std::string fname;
+ ::apache::thrift::protocol::TType ftype;
+ int16_t fid;
+
+ xfer += iprot->readStructBegin(fname);
+
+ using ::apache::thrift::protocol::TProtocolException;
+
+ bool isset_computeResourceId = false;
+ bool isset_jobSubmission = false;
+
+ while (true)
+ {
+ xfer += iprot->readFieldBegin(fname, ftype, fid);
+ if (ftype == ::apache::thrift::protocol::T_STOP) {
+ break;
+ }
+ switch (fid)
+ {
+ case 1:
+ if (ftype == ::apache::thrift::protocol::T_STRING) {
+ xfer += iprot->readString(this->computeResourceId);
+ isset_computeResourceId = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 2:
+ if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+ xfer += this->jobSubmission.read(iprot);
+ isset_jobSubmission = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ default:
+ xfer += iprot->skip(ftype);
+ break;
+ }
+ xfer += iprot->readFieldEnd();
+ }
+
+ xfer += iprot->readStructEnd();
+
+ if (!isset_computeResourceId)
+ throw TProtocolException(TProtocolException::INVALID_DATA);
+ if (!isset_jobSubmission)
+ throw TProtocolException(TProtocolException::INVALID_DATA);
+ return xfer;
+}
+
+uint32_t ApplicationCatalogAPI_addGlobusJobSubmissionProtocol_args::write(::apache::thrift::protocol::TProtocol* oprot) const {
+ uint32_t xfer = 0;
+ xfer += oprot->writeStructBegin("ApplicationCatalogAPI_addGlobusJobSubmissionProtocol_args");
+
+ xfer += oprot->writeFieldBegin("computeResourceId", ::apache::thrift::protocol::T_STRING, 1);
+ xfer += oprot->writeString(this->computeResourceId);
+ xfer += oprot->writeFieldEnd();
+
+ xfer += oprot->writeFieldBegin("jobSubmission", ::apache::thrift::protocol::T_STRUCT, 2);
+ xfer += this->jobSubmission.write(oprot);
+ xfer += oprot->writeFieldEnd();
+
+ xfer += oprot->writeFieldStop();
+ xfer += oprot->writeStructEnd();
+ return xfer;
+}
+
+uint32_t ApplicationCatalogAPI_addGlobusJobSubmissionProtocol_pargs::write(::apache::thrift::protocol::TProtocol* oprot) const {
+ uint32_t xfer = 0;
+ xfer += oprot->writeStructBegin("ApplicationCatalogAPI_addGlobusJobSubmissionProtocol_pargs");
+
+ xfer += oprot->writeFieldBegin("computeResourceId", ::apache::thrift::protocol::T_STRING, 1);
+ xfer += oprot->writeString((*(this->computeResourceId)));
+ xfer += oprot->writeFieldEnd();
+
+ xfer += oprot->writeFieldBegin("jobSubmission", ::apache::thrift::protocol::T_STRUCT, 2);
+ xfer += (*(this->jobSubmission)).write(oprot);
+ xfer += oprot->writeFieldEnd();
+
+ xfer += oprot->writeFieldStop();
+ xfer += oprot->writeStructEnd();
+ return xfer;
+}
+
+uint32_t ApplicationCatalogAPI_addGlobusJobSubmissionProtocol_result::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+ uint32_t xfer = 0;
+ std::string fname;
+ ::apache::thrift::protocol::TType ftype;
+ int16_t fid;
+
+ xfer += iprot->readStructBegin(fname);
+
+ using ::apache::thrift::protocol::TProtocolException;
+
+
+ while (true)
+ {
+ xfer += iprot->readFieldBegin(fname, ftype, fid);
+ if (ftype == ::apache::thrift::protocol::T_STOP) {
+ break;
+ }
+ switch (fid)
+ {
+ case 0:
+ if (ftype == ::apache::thrift::protocol::T_STRING) {
+ xfer += iprot->readString(this->success);
+ this->__isset.success = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 1:
+ if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+ xfer += this->ire.read(iprot);
+ this->__isset.ire = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 2:
+ if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+ xfer += this->ace.read(iprot);
+ this->__isset.ace = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 3:
+ if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+ xfer += this->ase.read(iprot);
+ this->__isset.ase = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ default:
+ xfer += iprot->skip(ftype);
+ break;
+ }
+ xfer += iprot->readFieldEnd();
+ }
+
+ xfer += iprot->readStructEnd();
+
+ return xfer;
+}
+
+uint32_t ApplicationCatalogAPI_addGlobusJobSubmissionProtocol_result::write(::apache::thrift::protocol::TProtocol* oprot) const {
+
+ uint32_t xfer = 0;
+
+ xfer += oprot->writeStructBegin("ApplicationCatalogAPI_addGlobusJobSubmissionProtocol_result");
+
+ if (this->__isset.success) {
+ xfer += oprot->writeFieldBegin("success", ::apache::thrift::protocol::T_STRING, 0);
+ xfer += oprot->writeString(this->success);
+ xfer += oprot->writeFieldEnd();
+ } else if (this->__isset.ire) {
+ xfer += oprot->writeFieldBegin("ire", ::apache::thrift::protocol::T_STRUCT, 1);
+ xfer += this->ire.write(oprot);
+ xfer += oprot->writeFieldEnd();
+ } else if (this->__isset.ace) {
+ xfer += oprot->writeFieldBegin("ace", ::apache::thrift::protocol::T_STRUCT, 2);
+ xfer += this->ace.write(oprot);
+ xfer += oprot->writeFieldEnd();
+ } else if (this->__isset.ase) {
+ xfer += oprot->writeFieldBegin("ase", ::apache::thrift::protocol::T_STRUCT, 3);
+ xfer += this->ase.write(oprot);
+ xfer += oprot->writeFieldEnd();
+ }
+ xfer += oprot->writeFieldStop();
+ xfer += oprot->writeStructEnd();
+ return xfer;
+}
+
+uint32_t ApplicationCatalogAPI_addGlobusJobSubmissionProtocol_presult::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+ uint32_t xfer = 0;
+ std::string fname;
+ ::apache::thrift::protocol::TType ftype;
+ int16_t fid;
+
+ xfer += iprot->readStructBegin(fname);
+
+ using ::apache::thrift::protocol::TProtocolException;
+
+
+ while (true)
+ {
+ xfer += iprot->readFieldBegin(fname, ftype, fid);
+ if (ftype == ::apache::thrift::protocol::T_STOP) {
+ break;
+ }
+ switch (fid)
+ {
+ case 0:
+ if (ftype == ::apache::thrift::protocol::T_STRING) {
+ xfer += iprot->readString((*(this->success)));
+ this->__isset.success = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 1:
+ if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+ xfer += this->ire.read(iprot);
+ this->__isset.ire = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 2:
+ if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+ xfer += this->ace.read(iprot);
+ this->__isset.ace = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 3:
+ if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+ xfer += this->ase.read(iprot);
+ this->__isset.ase = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ default:
+ xfer += iprot->skip(ftype);
+ break;
+ }
+ xfer += iprot->readFieldEnd();
+ }
+
+ xfer += iprot->readStructEnd();
+
+ return xfer;
+}
+
+uint32_t ApplicationCatalogAPI_addSCPDataMovementProtocol_args::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+ uint32_t xfer = 0;
+ std::string fname;
+ ::apache::thrift::protocol::TType ftype;
+ int16_t fid;
+
+ xfer += iprot->readStructBegin(fname);
+
+ using ::apache::thrift::protocol::TProtocolException;
+
+ bool isset_computeResourceId = false;
+ bool isset_dataMovement = false;
+
+ while (true)
+ {
+ xfer += iprot->readFieldBegin(fname, ftype, fid);
+ if (ftype == ::apache::thrift::protocol::T_STOP) {
+ break;
+ }
+ switch (fid)
+ {
+ case 1:
+ if (ftype == ::apache::thrift::protocol::T_STRING) {
+ xfer += iprot->readString(this->computeResourceId);
+ isset_computeResourceId = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 2:
+ if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+ xfer += this->dataMovement.read(iprot);
+ isset_dataMovement = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ default:
+ xfer += iprot->skip(ftype);
+ break;
+ }
+ xfer += iprot->readFieldEnd();
+ }
+
+ xfer += iprot->readStructEnd();
+
+ if (!isset_computeResourceId)
+ throw TProtocolException(TProtocolException::INVALID_DATA);
+ if (!isset_dataMovement)
+ throw TProtocolException(TProtocolException::INVALID_DATA);
+ return xfer;
+}
+
+uint32_t ApplicationCatalogAPI_addSCPDataMovementProtocol_args::write(::apache::thrift::protocol::TProtocol* oprot) const {
+ uint32_t xfer = 0;
+ xfer += oprot->writeStructBegin("ApplicationCatalogAPI_addSCPDataMovementProtocol_args");
+
+ xfer += oprot->writeFieldBegin("computeResourceId", ::apache::thrift::protocol::T_STRING, 1);
+ xfer += oprot->writeString(this->computeResourceId);
+ xfer += oprot->writeFieldEnd();
+
+ xfer += oprot->writeFieldBegin("dataMovement", ::apache::thrift::protocol::T_STRUCT, 2);
+ xfer += this->dataMovement.write(oprot);
+ xfer += oprot->writeFieldEnd();
+
+ xfer += oprot->writeFieldStop();
+ xfer += oprot->writeStructEnd();
+ return xfer;
+}
+
+uint32_t ApplicationCatalogAPI_addSCPDataMovementProtocol_pargs::write(::apache::thrift::protocol::TProtocol* oprot) const {
+ uint32_t xfer = 0;
+ xfer += oprot->writeStructBegin("ApplicationCatalogAPI_addSCPDataMovementProtocol_pargs");
+
+ xfer += oprot->writeFieldBegin("computeResourceId", ::apache::thrift::protocol::T_STRING, 1);
+ xfer += oprot->writeString((*(this->computeResourceId)));
+ xfer += oprot->writeFieldEnd();
+
+ xfer += oprot->writeFieldBegin("dataMovement", ::apache::thrift::protocol::T_STRUCT, 2);
+ xfer += (*(this->dataMovement)).write(oprot);
+ xfer += oprot->writeFieldEnd();
+
+ xfer += oprot->writeFieldStop();
+ xfer += oprot->writeStructEnd();
+ return xfer;
+}
+
+uint32_t ApplicationCatalogAPI_addSCPDataMovementProtocol_result::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+ uint32_t xfer = 0;
+ std::string fname;
+ ::apache::thrift::protocol::TType ftype;
+ int16_t fid;
+
+ xfer += iprot->readStructBegin(fname);
+
+ using ::apache::thrift::protocol::TProtocolException;
+
+
+ while (true)
+ {
+ xfer += iprot->readFieldBegin(fname, ftype, fid);
+ if (ftype == ::apache::thrift::protocol::T_STOP) {
+ break;
+ }
+ switch (fid)
+ {
+ case 0:
+ if (ftype == ::apache::thrift::protocol::T_STRING) {
+ xfer += iprot->readString(this->success);
+ this->__isset.success = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 1:
+ if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+ xfer += this->ire.read(iprot);
+ this->__isset.ire = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 2:
+ if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+ xfer += this->ace.read(iprot);
+ this->__isset.ace = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 3:
+ if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+ xfer += this->ase.read(iprot);
+ this->__isset.ase = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ default:
+ xfer += iprot->skip(ftype);
+ break;
+ }
+ xfer += iprot->readFieldEnd();
+ }
+
+ xfer += iprot->readStructEnd();
+
+ return xfer;
+}
+
+uint32_t ApplicationCatalogAPI_addSCPDataMovementProtocol_result::write(::apache::thrift::protocol::TProtocol* oprot) const {
+
+ uint32_t xfer = 0;
+
+ xfer += oprot->writeStructBegin("ApplicationCatalogAPI_addSCPDataMovementProtocol_result");
+
+ if (this->__isset.success) {
+ xfer += oprot->writeFieldBegin("success", ::apache::thrift::protocol::T_STRING, 0);
+ xfer += oprot->writeString(this->success);
+ xfer += oprot->writeFieldEnd();
+ } else if (this->__isset.ire) {
+ xfer += oprot->writeFieldBegin("ire", ::apache::thrift::protocol::T_STRUCT, 1);
+ xfer += this->ire.write(oprot);
+ xfer += oprot->writeFieldEnd();
+ } else if (this->__isset.ace) {
+ xfer += oprot->writeFieldBegin("ace", ::apache::thrift::protocol::T_STRUCT, 2);
+ xfer += this->ace.write(oprot);
+ xfer += oprot->writeFieldEnd();
+ } else if (this->__isset.ase) {
+ xfer += oprot->writeFieldBegin("ase", ::apache::thrift::protocol::T_STRUCT, 3);
+ xfer += this->ase.write(oprot);
+ xfer += oprot->writeFieldEnd();
+ }
+ xfer += oprot->writeFieldStop();
+ xfer += oprot->writeStructEnd();
+ return xfer;
+}
+
+uint32_t ApplicationCatalogAPI_addSCPDataMovementProtocol_presult::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+ uint32_t xfer = 0;
+ std::string fname;
+ ::apache::thrift::protocol::TType ftype;
+ int16_t fid;
+
+ xfer += iprot->readStructBegin(fname);
+
+ using ::apache::thrift::protocol::TProtocolException;
+
+
+ while (true)
+ {
+ xfer += iprot->readFieldBegin(fname, ftype, fid);
+ if (ftype == ::apache::thrift::protocol::T_STOP) {
+ break;
+ }
+ switch (fid)
+ {
+ case 0:
+ if (ftype == ::apache::thrift::protocol::T_STRING) {
+ xfer += iprot->readString((*(this->success)));
+ this->__isset.success = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 1:
+ if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+ xfer += this->ire.read(iprot);
+ this->__isset.ire = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 2:
+ if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+ xfer += this->ace.read(iprot);
+ this->__isset.ace = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 3:
+ if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+ xfer += this->ase.read(iprot);
+ this->__isset.ase = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ default:
+ xfer += iprot->skip(ftype);
+ break;
+ }
+ xfer += iprot->readFieldEnd();
+ }
+
+ xfer += iprot->readStructEnd();
+
+ return xfer;
+}
+
+uint32_t ApplicationCatalogAPI_addGridFTPDataMovementProtocol_args::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+ uint32_t xfer = 0;
+ std::string fname;
+ ::apache::thrift::protocol::TType ftype;
+ int16_t fid;
+
+ xfer += iprot->readStructBegin(fname);
+
+ using ::apache::thrift::protocol::TProtocolException;
+
+ bool isset_computeResourceId = false;
+ bool isset_dataMovement = false;
+
+ while (true)
+ {
+ xfer += iprot->readFieldBegin(fname, ftype, fid);
+ if (ftype == ::apache::thrift::protocol::T_STOP) {
+ break;
+ }
+ switch (fid)
+ {
+ case 1:
+ if (ftype == ::apache::thrift::protocol::T_STRING) {
+ xfer += iprot->readString(this->computeResourceId);
+ isset_computeResourceId = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 2:
+ if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+ xfer += this->dataMovement.read(iprot);
+ isset_dataMovement = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ default:
+ xfer += iprot->skip(ftype);
+ break;
+ }
+ xfer += iprot->readFieldEnd();
+ }
+
+ xfer += iprot->readStructEnd();
+
+ if (!isset_computeResourceId)
+ throw TProtocolException(TProtocolException::INVALID_DATA);
+ if (!isset_dataMovement)
+ throw TProtocolException(TProtocolException::INVALID_DATA);
+ return xfer;
+}
+
+uint32_t ApplicationCatalogAPI_addGridFTPDataMovementProtocol_args::write(::apache::thrift::protocol::TProtocol* oprot) const {
+ uint32_t xfer = 0;
+ xfer += oprot->writeStructBegin("ApplicationCatalogAPI_addGridFTPDataMovementProtocol_args");
+
+ xfer += oprot->writeFieldBegin("computeResourceId", ::apache::thrift::protocol::T_STRING, 1);
+ xfer += oprot->writeString(this->computeResourceId);
+ xfer += oprot->writeFieldEnd();
+
+ xfer += oprot->writeFieldBegin("dataMovement", ::apache::thrift::protocol::T_STRUCT, 2);
+ xfer += this->dataMovement.write(oprot);
+ xfer += oprot->writeFieldEnd();
+
+ xfer += oprot->writeFieldStop();
+ xfer += oprot->writeStructEnd();
+ return xfer;
+}
+
+uint32_t ApplicationCatalogAPI_addGridFTPDataMovementProtocol_pargs::write(::apache::thrift::protocol::TProtocol* oprot) const {
+ uint32_t xfer = 0;
+ xfer += oprot->writeStructBegin("ApplicationCatalogAPI_addGridFTPDataMovementProtocol_pargs");
+
+ xfer += oprot->writeFieldBegin("computeResourceId", ::apache::thrift::protocol::T_STRING, 1);
+ xfer += oprot->writeString((*(this->computeResourceId)));
+ xfer += oprot->writeFieldEnd();
+
+ xfer += oprot->writeFieldBegin("dataMovement", ::apache::thrift::protocol::T_STRUCT, 2);
+ xfer += (*(this->dataMovement)).write(oprot);
+ xfer += oprot->writeFieldEnd();
+
+ xfer += oprot->writeFieldStop();
+ xfer += oprot->writeStructEnd();
+ return xfer;
+}
+
+uint32_t ApplicationCatalogAPI_addGridFTPDataMovementProtocol_result::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+ uint32_t xfer = 0;
+ std::string fname;
+ ::apache::thrift::protocol::TType ftype;
+ int16_t fid;
+
+ xfer += iprot->readStructBegin(fname);
+
+ using ::apache::thrift::protocol::TProtocolException;
+
+
+ while (true)
+ {
+ xfer += iprot->readFieldBegin(fname, ftype, fid);
+ if (ftype == ::apache::thrift::protocol::T_STOP) {
+ break;
+ }
+ switch (fid)
+ {
+ case 0:
+ if (ftype == ::apache::thrift::protocol::T_STRING) {
+ xfer += iprot->readString(this->success);
+ this->__isset.success = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 1:
+ if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+ xfer += this->ire.read(iprot);
+ this->__isset.ire = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 2:
+ if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+ xfer += this->ace.read(iprot);
+ this->__isset.ace = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 3:
+ if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+ xfer += this->ase.read(iprot);
+ this->__isset.ase = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ default:
+ xfer += iprot->skip(ftype);
+ break;
+ }
+ xfer += iprot->readFieldEnd();
+ }
+
+ xfer += iprot->readStructEnd();
+
+ return xfer;
+}
+
+uint32_t ApplicationCatalogAPI_addGridFTPDataMovementProtocol_result::write(::apache::thrift::protocol::TProtocol* oprot) const {
+
+ uint32_t xfer = 0;
+
+ xfer += oprot->writeStructBegin("ApplicationCatalogAPI_addGridFTPDataMovementProtocol_result");
+
+ if (this->__isset.success) {
+ xfer += oprot->writeFieldBegin("success", ::apache::thrift::protocol::T_STRING, 0);
+ xfer += oprot->writeString(this->success);
+ xfer += oprot->writeFieldEnd();
+ } else if (this->__isset.ire) {
+ xfer += oprot->writeFieldBegin("ire", ::apache::thrift::protocol::T_STRUCT, 1);
+ xfer += this->ire.write(oprot);
+ xfer += oprot->writeFieldEnd();
+ } else if (this->__isset.ace) {
+ xfer += oprot->writeFieldBegin("ace", ::apache::thrift::protocol::T_STRUCT, 2);
+ xfer += this->ace.write(oprot);
+ xfer += oprot->writeFieldEnd();
+ } else if (this->__isset.ase) {
+ xfer += oprot->writeFieldBegin("ase", ::apache::thrift::protocol::T_STRUCT, 3);
+ xfer += this->ase.write(oprot);
+ xfer += oprot->writeFieldEnd();
+ }
+ xfer += oprot->writeFieldStop();
+ xfer += oprot->writeStructEnd();
+ return xfer;
+}
+
+uint32_t ApplicationCatalogAPI_addGridFTPDataMovementProtocol_presult::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+ uint32_t xfer = 0;
+ std::string fname;
+ ::apache::thrift::protocol::TType ftype;
+ int16_t fid;
+
+ xfer += iprot->readStructBegin(fname);
+
+ using ::apache::thrift::protocol::TProtocolException;
+
+
+ while (true)
+ {
+ xfer += iprot->readFieldBegin(fname, ftype, fid);
+ if (ftype == ::apache::thrift::protocol::T_STOP) {
+ break;
+ }
+ switch (fid)
+ {
+ case 0:
+ if (ftype == ::apache::thrift::protocol::T_STRING) {
+ xfer += iprot->readString((*(this->success)));
+ this->__isset.success = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 1:
+ if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+ xfer += this->ire.read(iprot);
+ this->__isset.ire = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 2:
+ if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+ xfer += this->ace.read(iprot);
+ this->__isset.ace = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 3:
+ if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+ xfer += this->ase.read(iprot);
+ this->__isset.ase = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ default:
+ xfer += iprot->skip(ftype);
+ break;
+ }
+ xfer += iprot->readFieldEnd();
+ }
+
+ xfer += iprot->readStructEnd();
+
+ return xfer;
+}
+
+uint32_t ApplicationCatalogAPI_listComputeResourceDescriptions_args::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+ uint32_t xfer = 0;
+ std::string fname;
+ ::apache::thrift::protocol::TType ftype;
+ int16_t fid;
+
+ xfer += iprot->readStructBegin(fname);
+
+ using ::apache::thrift::protocol::TProtocolException;
+
+
+ while (true)
+ {
+ xfer += iprot->readFieldBegin(fname, ftype, fid);
+ if (ftype == ::apache::thrift::protocol::T_STOP) {
+ break;
+ }
+ xfer += iprot->skip(ftype);
+ xfer += iprot->readFieldEnd();
+ }
+
+ xfer += iprot->readStructEnd();
+
+ return xfer;
+}
+
+uint32_t ApplicationCatalogAPI_listComputeResourceDescriptions_args::write(::apache::thrift::protocol::TProtocol* oprot) const {
+ uint32_t xfer = 0;
+ xfer += oprot->writeStructBegin("ApplicationCatalogAPI_listComputeResourceDescriptions_args");
+
+ xfer += oprot->writeFieldStop();
+ xfer += oprot->writeStructEnd();
+ return xfer;
+}
+
+uint32_t ApplicationCatalogAPI_listComputeResourceDescriptions_pargs::write(::apache::thrift::protocol::TProtocol* oprot) const {
+ uint32_t xfer = 0;
+ xfer += oprot->writeStructBegin("ApplicationCatalogAPI_listComputeResourceDescriptions_pargs");
+
+ xfer += oprot->writeFieldStop();
+ xfer += oprot->writeStructEnd();
+ return xfer;
+}
+
+uint32_t ApplicationCatalogAPI_listComputeResourceDescriptions_result::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+ uint32_t xfer = 0;
+ std::string fname;
+ ::apache::thrift::protocol::TType ftype;
+ int16_t fid;
+
+ xfer += iprot->readStructBegin(fname);
+
+ using ::apache::thrift::protocol::TProtocolException;
+
+
+ while (true)
+ {
+ xfer += iprot->readFieldBegin(fname, ftype, fid);
+ if (ftype == ::apache::thrift::protocol::T_STOP) {
+ break;
+ }
+ switch (fid)
+ {
+ case 0:
+ if (ftype == ::apache::thrift::protocol::T_LIST) {
+ {
+ this->success.clear();
+ uint32_t _size0;
+ ::apache::thrift::protocol::TType _etype3;
+ xfer += iprot->readListBegin(_etype3, _size0);
+ this->success.resize(_size0);
+ uint32_t _i4;
+ for (_i4 = 0; _i4 < _size0; ++_i4)
+ {
+ xfer += iprot->readString(this->success[_i4]);
+ }
+ xfer += iprot->readListEnd();
+ }
+ this->__isset.success = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 1:
+ if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+ xfer += this->ire.read(iprot);
+ this->__isset.ire = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 2:
+ if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+ xfer += this->ace.read(iprot);
+ this->__isset.ace = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 3:
+ if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+ xfer += this->ase.read(iprot);
+ this->__isset.ase = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ default:
+ xfer += iprot->skip(ftype);
+ break;
+ }
+ xfer += iprot->readFieldEnd();
+ }
+
+ xfer += iprot->readStructEnd();
+
+ return xfer;
+}
+
+uint32_t ApplicationCatalogAPI_listComputeResourceDescriptions_result::write(::apache::thrift::protocol::TProtocol* oprot) const {
+
+ uint32_t xfer = 0;
+
+ xfer += oprot->writeStructBegin("ApplicationCatalogAPI_listComputeResourceDescriptions_result");
+
+ if (this->__isset.success) {
+ xfer += oprot->writeFieldBegin("success", ::apache::thrift::protocol::T_LIST, 0);
+ {
+ xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRING, static_cast<uint32_t>(this->success.size()));
+ std::vector<std::string> ::const_iterator _iter5;
+ for (_iter5 = this->success.begin(); _iter5 != this->success.end(); ++_iter5)
+ {
+ xfer += oprot->writeString((*_iter5));
+ }
+ xfer += oprot->writeListEnd();
+ }
+ xfer += oprot->writeFieldEnd();
+ } else if (this->__isset.ire) {
+ xfer += oprot->writeFieldBegin("ire", ::apache::thrift::protocol::T_STRUCT, 1);
+ xfer += this->ire.write(oprot);
+ xfer += oprot->writeFieldEnd();
+ } else if (this->__isset.ace) {
+ xfer += oprot->writeFieldBegin("ace", ::apache::thrift::protocol::T_STRUCT, 2);
+ xfer += this->ace.write(oprot);
+ xfer += oprot->writeFieldEnd();
+ } else if (this->__isset.ase) {
+ xfer += oprot->writeFieldBegin("ase", ::apache::thrift::protocol::T_STRUCT, 3);
+ xfer += this->ase.write(oprot);
+ xfer += oprot->writeFieldEnd();
+ }
+ xfer += oprot->writeFieldStop();
+ xfer += oprot->writeStructEnd();
+ return xfer;
+}
+
+uint32_t ApplicationCatalogAPI_listComputeResourceDescriptions_presult::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+ uint32_t xfer = 0;
+ std::string fname;
+ ::apache::thrift::protocol::TType ftype;
+ int16_t fid;
+
+ xfer += iprot->readStructBegin(fname);
+
+ using ::apache::thrift::protocol::TProtocolException;
+
+
+ while (true)
+ {
+ xfer += iprot->readFieldBegin(fname, ftype, fid);
+ if (ftype == ::apache::thrift::protocol::T_STOP) {
+ break;
+ }
+ switch (fid)
+ {
+ case 0:
+ if (ftype == ::apache::thrift::protocol::T_LIST) {
+ {
+ (*(this->success)).clear();
+ uint32_t _size6;
+ ::apache::thrift::protocol::TType _etype9;
+ xfer += iprot->readListBegin(_etype9, _size6);
+ (*(this->success)).resize(_size6);
+ uint32_t _i10;
+ for (_i10 = 0; _i10 < _size6; ++_i10)
+ {
+ xfer += iprot->readString((*(this->success))[_i10]);
+ }
+ xfer += iprot->readListEnd();
+ }
+ this->__isset.success = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 1:
+ if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+ xfer += this->ire.read(iprot);
+ this->__isset.ire = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 2:
+ if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+ xfer += this->ace.read(iprot);
+ this->__isset.ace = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 3:
+ if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+ xfer += this->ase.read(iprot);
+ this->__isset.ase = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ default:
+ xfer += iprot->skip(ftype);
+ break;
+ }
+ xfer += iprot->readFieldEnd();
+ }
+
+ xfer += iprot->readStructEnd();
+
+ return xfer;
+}
+
+uint32_t ApplicationCatalogAPI_getComputeResourceDescription_args::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+ uint32_t xfer = 0;
+ std::string fname;
+ ::apache::thrift::protocol::TType ftype;
+ int16_t fid;
+
+ xfer += iprot->readStructBegin(fname);
+
+ using ::apache::thrift::protocol::TProtocolException;
+
+ bool isset_computeResourceId = false;
+
+ while (true)
+ {
+ xfer += iprot->readFieldBegin(fname, ftype, fid);
+ if (ftype == ::apache::thrift::protocol::T_STOP) {
+ break;
+ }
+ switch (fid)
+ {
+ case 1:
+ if (ftype == ::apache::thrift::protocol::T_STRING) {
+ xfer += iprot->readString(this->computeResourceId);
+ isset_computeResourceId = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ default:
+ xfer += iprot->skip(ftype);
+ break;
+ }
+ xfer += iprot->readFieldEnd();
+ }
+
+ xfer += iprot->readStructEnd();
+
+ if (!isset_computeResourceId)
+ throw TProtocolException(TProtocolException::INVALID_DATA);
+ return xfer;
+}
+
+uint32_t ApplicationCatalogAPI_getComputeResourceDescription_args::write(::apache::thrift::protocol::TProtocol* oprot) const {
+ uint32_t xfer = 0;
+ xfer += oprot->writeStructBegin("ApplicationCatalogAPI_getComputeResourceDescription_args");
+
+ xfer += oprot->writeFieldBegin("computeResourceId", ::apache::thrift::protocol::T_STRING, 1);
+ xfer += oprot->writeString(this->computeResourceId);
+ xfer += oprot->writeFieldEnd();
+
+ xfer += oprot->writeFieldStop();
+ xfer += oprot->writeStructEnd();
+ return xfer;
+}
+
+uint32_t ApplicationCatalogAPI_getComputeResourceDescription_pargs::write(::apache::thrift::protocol::TProtocol* oprot) const {
+ uint32_t xfer = 0;
+ xfer += oprot->writeStructBegin("ApplicationCatalogAPI_getComputeResourceDescription_pargs");
+
+ xfer += oprot->writeFieldBegin("computeResourceId", ::apache::thrift::protocol::T_STRING, 1);
+ xfer += oprot->writeString((*(this->computeResourceId)));
+ xfer += oprot->writeFieldEnd();
+
+ xfer += oprot->writeFieldStop();
+ xfer += oprot->writeStructEnd();
+ return xfer;
+}
+
+uint32_t ApplicationCatalogAPI_getComputeResourceDescription_result::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+ uint32_t xfer = 0;
+ std::string fname;
+ ::apache::thrift::protocol::TType ftype;
+ int16_t fid;
+
+ xfer += iprot->readStructBegin(fname);
+
+ using ::apache::thrift::protocol::TProtocolException;
+
+
+ while (true)
+ {
+ xfer += iprot->readFieldBegin(fname, ftype, fid);
+ if (ftype == ::apache::thrift::protocol::T_STOP) {
+ break;
+ }
+ switch (fid)
+ {
+ case 0:
+ if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+ xfer += this->success.read(iprot);
+ this->__isset.success = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 1:
+ if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+ xfer += this->ire.read(iprot);
+ this->__isset.ire = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 2:
+ if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+ xfer += this->ace.read(iprot);
+ this->__isset.ace = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 3:
+ if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+ xfer += this->ase.read(iprot);
+ this->__isset.ase = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ default:
+ xfer += iprot->skip(ftype);
+ break;
+ }
+ xfer += iprot->readFieldEnd();
+ }
+
+ xfer += iprot->readStructEnd();
+
+ return xfer;
+}
+
+uint32_t ApplicationCatalogAPI_getComputeResourceDescription_result::write(::apache::thrift::protocol::TProtocol* oprot) const {
+
+ uint32_t xfer = 0;
+
+ xfer += oprot->writeStructBegin("ApplicationCatalogAPI_getComputeResourceDescription_result");
+
+ if (this->__isset.success) {
+ xfer += oprot->writeFieldBegin("success", ::apache::thrift::protocol::T_STRUCT, 0);
+ xfer += this->success.write(oprot);
+ xfer += oprot->writeFieldEnd();
+ } else if (this->__isset.ire) {
+ xfer += oprot->writeFieldBegin("ire", ::apache::thrift::protocol::T_STRUCT, 1);
+ xfer += this->ire.write(oprot);
+ xfer += oprot->writeFieldEnd();
+ } else if (this->__isset.ace) {
+ xfer += oprot->writeFieldBegin("ace", ::apache::thrift::protocol::T_STRUCT, 2);
+ xfer += this->ace.write(oprot);
+ xfer += oprot->writeFieldEnd();
+ } else if (this->__isset.ase) {
+ xfer += oprot->writeFieldBegin("ase", ::apache::thrift::protocol::T_STRUCT, 3);
+ xfer += this->ase.write(oprot);
+ xfer += oprot->writeFieldEnd();
+ }
+ xfer += oprot->writeFieldStop();
+ xfer += oprot->writeStructEnd();
+ return xfer;
+}
+
+uint32_t ApplicationCatalogAPI_getComputeResourceDescription_presult::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+ uint32_t xfer = 0;
+ std::string fname;
+ ::apache::thrift::protocol::TType ftype;
+ int16_t fid;
+
+ xfer += iprot->readStructBegin(fname);
+
+ using ::apache::thrift::protocol::TProtocolException;
+
+
+ while (true)
+ {
+ xfer += iprot->readFieldBegin(fname, ftype, fid);
+ if (ftype == ::apache::thrift::protocol::T_STOP) {
+ break;
+ }
+ switch (fid)
+ {
+ case 0:
+ if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+ xfer += (*(this->success)).read(iprot);
+ this->__isset.success = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 1:
+ if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+ xfer += this->ire.read(iprot);
+ this->__isset.ire = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 2:
+ if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+ xfer += this->ace.read(iprot);
+ this->__isset.ace = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 3:
+ if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+ xfer += this->ase.read(iprot);
+ this->__isset.ase = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ default:
+ xfer += iprot->skip(ftype);
+ break;
+ }
+ xfer += iprot->readFieldEnd();
+ }
+
+ xfer += iprot->readStructEnd();
+
+ return xfer;
+}
+
+uint32_t ApplicationCatalogAPI_getSSHJobSubmissionProtocol_args::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+ uint32_t xfer = 0;
+ std::string fname;
+ ::apache::thrift::protocol::TType ftype;
+ int16_t fid;
+
+ xfer += iprot->readStructBegin(fname);
+
+ using ::apache::thrift::protocol::TProtocolException;
+
+ bool isset_sshJobSubmissionProtocolResourceId = false;
+
+ while (true)
+ {
+ xfer += iprot->readFieldBegin(fname, ftype, fid);
+ if (ftype == ::apache::thrift::protocol::T_STOP) {
+ break;
+ }
+ switch (fid)
+ {
+ case 1:
+ if (ftype == ::apache::thrift::protocol::T_STRING) {
+ xfer += iprot->readString(this->sshJobSubmissionProtocolResourceId);
+ isset_sshJobSubmissionProtocolResourceId = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ default:
+ xfer += iprot->skip(ftype);
+ break;
+ }
+ xfer += iprot->readFieldEnd();
+ }
+
+ xfer += iprot->readStructEnd();
+
+ if (!isset_sshJobSubmissionProtocolResourceId)
+ throw TProtocolException(TProtocolException::INVALID_DATA);
+ return xfer;
+}
+
+uint32_t ApplicationCatalogAPI_getSSHJobSubmissionProtocol_args::write(::apache::thrift::protocol::TProtocol* oprot) const {
+ uint32_t xfer = 0;
+ xfer += oprot->writeStructBegin("ApplicationCatalogAPI_getSSHJobSubmissionProtocol_args");
+
+ xfer += oprot->writeFieldBegin("sshJobSubmissionProtocolResourceId", ::apache::thrift::protocol::T_STRING, 1);
+ xfer += oprot->writeString(this->sshJobSubmissionProtocolResourceId);
+ xfer += oprot->writeFieldEnd();
+
+ xfer += oprot->writeFieldStop();
+ xfer += oprot->writeStructEnd();
+ return xfer;
+}
+
+uint32_t ApplicationCatalogAPI_getSSHJobSubmissionProtocol_pargs::write(::apache::thrift::protocol::TProtocol* oprot) const {
+ uint32_t xfer = 0;
+ xfer += oprot->writeStructBegin("ApplicationCatalogAPI_getSSHJobSubmissionProtocol_pargs");
+
+ xfer += oprot->writeFieldBegin("sshJobSubmissionProtocolResourceId", ::apache::thrift::protocol::T_STRING, 1);
+ xfer += oprot->writeString((*(this->sshJobSubmissionProtocolResourceId)));
+ xfer += oprot->writeFieldEnd();
+
+ xfer += oprot->writeFieldStop();
+ xfer += oprot->writeStructEnd();
+ return xfer;
+}
+
+uint32_t ApplicationCatalogAPI_getSSHJobSubmissionProtocol_result::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+ uint32_t xfer = 0;
+ std::string fname;
+ ::apache::thrift::protocol::TType ftype;
+ int16_t fid;
+
+ xfer += iprot->readStructBegin(fname);
+
+ using ::apache::thrift::protocol::TProtocolException;
+
+
+ while (true)
+ {
+ xfer += iprot->readFieldBegin(fname, ftype, fid);
+ if (ftype == ::apache::thrift::protocol::T_STOP) {
+ break;
+ }
+ switch (fid)
+ {
+ case 0:
+ if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+ xfer += this->success.read(iprot);
+ this->__isset.success = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 1:
+ if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+ xfer += this->ire.read(iprot);
+ this->__isset.ire = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 2:
+ if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+ xfer += this->ace.read(iprot);
+ this->__isset.ace = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 3:
+ if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+ xfer += this->ase.read(iprot);
+ this->__isset.ase = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ default:
+ xfer += iprot->skip(ftype);
+ break;
+ }
+ xfer += iprot->readFieldEnd();
+ }
+
+ xfer += iprot->readStructEnd();
+
+ return xfer;
+}
+
+uint32_t ApplicationCatalogAPI_getSSHJobSubmissionProtocol_result::write(::apache::thrift::protocol::TProtocol* oprot) const {
+
+ uint32_t xfer = 0;
+
+ xfer += oprot->writeStructBegin("ApplicationCatalogAPI_getSSHJobSubmissionProtocol_result");
+
+ if (this->__isset.success) {
+ xfer += oprot->writeFieldBegin("success", ::apache::thrift::protocol::T_STRUCT, 0);
+ xfer += this->success.write(oprot);
+ xfer += oprot->writeFieldEnd();
+ } else if (this->__isset.ire) {
+ xfer += oprot->writeFieldBegin("ire", ::apache::thrift::protocol::T_STRUCT, 1);
+ xfer += this->ire.write(oprot);
+ xfer += oprot->writeFieldEnd();
+ } else if (this->__isset.ace) {
+ xfer += oprot->writeFieldBegin("ace", ::apache::thrift::protocol::T_STRUCT, 2);
+ xfer += this->ace.write(oprot);
+ xfer += oprot->writeFieldEnd();
+ } else if (this->__isset.ase) {
+ xfer += oprot->writeFieldBegin("ase", ::apache::thrift::protocol::T_STRUCT, 3);
+ xfer += this->ase.write(oprot);
+ xfer += oprot->writeFieldEnd();
+ }
+ xfer += oprot->writeFieldStop();
+ xfer += oprot->writeStructEnd();
+ return xfer;
+}
+
+uint32_t ApplicationCatalogAPI_getSSHJobSubmissionProtocol_presult::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+ uint32_t xfer = 0;
+ std::string fname;
+ ::apache::thrift::protocol::TType ftype;
+ int16_t fid;
+
+ xfer += iprot->readStructBegin(fname);
+
+ using ::apache::thrift::protocol::TProtocolException;
+
+
+ while (true)
+ {
+ xfer += iprot->readFieldBegin(fname, ftype, fid);
+ if (ftype == ::apache::thrift::protocol::T_STOP) {
+ break;
+ }
+ switch (fid)
+ {
+ case 0:
+ if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+ xfer += (*(this->success)).read(iprot);
+ this->__isset.success = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 1:
+ if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+ xfer += this->ire.read(iprot);
+ this->__isset.ire = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 2:
+ if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+ xfer += this->ace.read(iprot);
+ this->__isset.ace = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 3:
+ if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+ xfer += this->ase.read(iprot);
+ this->__isset.ase = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ default:
+ xfer += iprot->skip(ftype);
+ break;
+ }
+ xfer += iprot->readFieldEnd();
+ }
+
+ xfer += iprot->readStructEnd();
+
+ return xfer;
+}
+
+uint32_t ApplicationCatalogAPI_getGSISSHJobSubmissionProtocol_args::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+ uint32_t xfer = 0;
+ std::string fname;
+ ::apache::thrift::protocol::TType ftype;
+ int16_t fid;
+
+ xfer += iprot->readStructBegin(fname);
+
+ using ::apache::thrift::protocol::TProtocolException;
+
+ bool isset_gsisshJobSubmissionProtocolResourceId = false;
+
+ while (true)
+ {
+ xfer += iprot->readFieldBegin(fname, ftype, fid);
+ if (ftype == ::apache::thrift::protocol::T_STOP) {
+ break;
+ }
+ switch (fid)
+ {
+ case 1:
+ if (ftype == ::apache::thrift::protocol::T_STRING) {
+ xfer += iprot->readString(this->gsisshJobSubmissionProtocolResourceId);
+ isset_gsisshJobSubmissionProtocolResourceId = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ default:
+ xfer += iprot->skip(ftype);
+ break;
+ }
+ xfer += iprot->readFieldEnd();
+ }
+
+ xfer += iprot->readStructEnd();
+
+ if (!isset_gsisshJobSubmissionProtocolResourceId)
+ throw TProtocolException(TProtocolException::INVALID_DATA);
+ return xfer;
+}
+
+uint32_t ApplicationCatalogAPI_getGSISSHJobSubmissionProtocol_args::write(::apache::thrift::protocol::TProtocol* oprot) const {
+ uint32_t xfer = 0;
+ xfer += oprot->writeStructBegin("ApplicationCatalogAPI_getGSISSHJobSubmissionProtocol_args");
+
+ xfer += oprot->writeFieldBegin("gsisshJobSubmissionProtocolResourceId", ::apache::thrift::protocol::T_STRING, 1);
+ xfer += oprot->writeString(this->gsisshJobSubmissionProtocolResourceId);
+ xfer += oprot->writeFieldEnd();
+
+ xfer += oprot->writeFieldStop();
+ xfer += oprot->writeStructEnd();
+ return xfer;
+}
+
+uint32_t ApplicationCatalogAPI_getGSISSHJobSubmissionProtocol_pargs::write(::apache::thrift::protocol::TProtocol* oprot) const {
+ uint32_t xfer = 0;
+ xfer += oprot->writeStructBegin("ApplicationCatalogAPI_getGSISSHJobSubmissionProtocol_pargs");
+
+ xfer += oprot->writeFieldBegin("gsisshJobSubmissionProtocolResourceId", ::apache::thrift::protocol::T_STRING, 1);
+ xfer += oprot->writeString((*(this->gsisshJobSubmissionProtocolResourceId)));
+ xfer += oprot->writeFieldEnd();
+
+ xfer += oprot->writeFieldStop();
+ xfer += oprot->writeStructEnd();
+ return xfer;
+}
+
+uint32_t ApplicationCatalogAPI_getGSISSHJobSubmissionProtocol_result::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+ uint32_t xfer = 0;
+ std::string fname;
+ ::apache::thrift::protocol::TType ftype;
+ int16_t fid;
+
+ xfer += iprot->readStructBegin(fname);
+
+ using ::apache::thrift::protocol::TProtocolException;
+
+
+ while (true)
+ {
+ xfer += iprot->readFieldBegin(fname, ftype, fid);
+ if (ftype == ::apache::thrift::protocol::T_STOP) {
+ break;
+ }
+ switch (fid)
+ {
+ case 0:
+ if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+ xfer += this->success.read(iprot);
+ this->__isset.success = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 1:
+ if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+ xfer += this->ire.read(iprot);
+ this->__isset.ire = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 2:
+ if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+ xfer += this->ace.read(iprot);
+ this->__isset.ace = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 3:
+ if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+ xfer += this->ase.read(iprot);
+ this->__isset.ase = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ default:
+ xfer += iprot->skip(ftype);
+ break;
+ }
+ xfer += iprot->readFieldEnd();
+ }
+
+ xfer += iprot->readStructEnd();
+
+ return xfer;
+}
+
+uint32_t ApplicationCatalogAPI_getGSISSHJobSubmissionProtocol_result::write(::apache::thrift::protocol::TProtocol* oprot) const {
+
+ uint32_t xfer = 0;
+
+ xfer += oprot->writeStructBegin("ApplicationCatalogAPI_getGSISSHJobSubmissionProtocol_result");
+
+ if (this->__isset.success) {
+ xfer += oprot->writeFieldBegin("success", ::apache::thrift::protocol::T_STRUCT, 0);
+ xfer += this->success.write(oprot);
+ xfer += oprot->writeFieldEnd();
+ } else if (this->__isset.ire) {
+ xfer += oprot->writeFieldBegin("ire", ::apache::thrift::protocol::T_STRUCT, 1);
+ xfer += this->ire.write(oprot);
+ xfer += oprot->writeFieldEnd();
+ } else if (this->__isset.ace) {
+ xfer += oprot->writeFieldBegin("ace", ::apache::thrift::protocol::T_STRUCT, 2);
+ xfer += this->ace.write(oprot);
+ xfer += oprot->writeFieldEnd();
+ } else if (this->__isset.ase) {
+ xfer += oprot->writeFieldBegin("ase", ::apache::thrift::protocol::T_STRUCT, 3);
+ xfer += this->ase.write(oprot);
+ xfer += oprot->writeFieldEnd();
+ }
+ xfer += oprot->writeFieldStop();
+ xfer += oprot->writeStructEnd();
+ return xfer;
+}
+
+uint32_t ApplicationCatalogAPI_getGSISSHJobSubmissionProtocol_presult::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+ uint32_t xfer = 0;
+ std::string fname;
+ ::apache::thrift::protocol::TType ftype;
+ int16_t fid;
+
+ xfer += iprot->readStructBegin(fname);
+
+ using ::apache::thrift::protocol::TProtocolException;
+
+
+ while (true)
+ {
+ xfer += iprot->readFieldBegin(fname, ftype, fid);
+ if (ftype == ::apache::thrift::protocol::T_STOP) {
+ break;
+ }
+ switch (fid)
+ {
+ case 0:
+ if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+ xfer += (*(this->success)).read(iprot);
+ this->__isset.success = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 1:
+ if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+ xfer += this->ire.read(iprot);
+ this->__isset.ire = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 2:
+ if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+ xfer += this->ace.read(iprot);
+ this->__isset.ace = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 3:
+ if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+ xfer += this->ase.read(iprot);
+ this->__isset.ase = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ default:
+ xfer += iprot->skip(ftype);
+ break;
+ }
+ xfer += iprot->readFieldEnd();
+ }
+
+ xfer += iprot->readStructEnd();
+
+ return xfer;
+}
+
+uint32_t ApplicationCatalogAPI_getGlobusJobSubmissionProtocol_args::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+ uint32_t xfer = 0;
+ std::string fname;
+ ::apache::thrift::protocol::TType ftype;
+ int16_t fid;
+
+ xfer += iprot->readStructBegin(fname);
+
+ using ::apache::thrift::protocol::TProtocolException;
+
+ bool isset_globusJobSubmissionProtocolResourceId = false;
+
+ while (true)
+ {
+ xfer += iprot->readFieldBegin(fname, ftype, fid);
+ if (ftype == ::apache::thrift::protocol::T_STOP) {
+ break;
+ }
+ switch (fid)
+ {
+ case 1:
+ if (ftype == ::apache::thrift::protocol::T_STRING) {
+ xfer += iprot->readString(this->globusJobSubmissionProtocolResourceId);
+ isset_globusJobSubmissionProtocolResourceId = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ default:
+ xfer += iprot->skip(ftype);
+ break;
+ }
+ xfer += iprot->readFieldEnd();
+ }
+
+ xfer += iprot->readStructEnd();
+
+ if (!isset_globusJobSubmissionProtocolResourceId)
+ throw TProtocolException(TProtocolException::INVALID_DATA);
+ return xfer;
+}
+
+uint32_t ApplicationCatalogAPI_getGlobusJobSubmissionProtocol_args::write(::apache::thrift::protocol::TProtocol* oprot) const {
+ uint32_t xfer = 0;
+ xfer += oprot->writeStructBegin("ApplicationCatalogAPI_getGlobusJobSubmissionProtocol_args");
+
+ xfer += oprot->writeFieldBegin("globusJobSubmissionProtocolResourceId", ::apache::thrift::protocol::T_STRING, 1);
+ xfer += oprot->writeString(this->globusJobSubmissionProtocolResourceId);
+ xfer += oprot->writeFieldEnd();
+
+ xfer += oprot->writeFieldStop();
+ xfer += oprot->writeStructEnd();
+ return xfer;
+}
+
+uint32_t ApplicationCatalogAPI_getGlobusJobSubmissionProtocol_pargs::write(::apache::thrift::protocol::TProtocol* oprot) const {
+ uint32_t xfer = 0;
+ xfer += oprot->writeStructBegin("ApplicationCatalogAPI_getGlobusJobSubmissionProtocol_pargs");
+
+ xfer += oprot->writeFieldBegin("globusJobSubmissionProtocolResourceId", ::apache::thrift::protocol::T_STRING, 1);
+ xfer += oprot->writeString((*(this->globusJobSubmissionProtocolResourceId)));
+ xfer += oprot->writeFieldEnd();
+
+ xfer += oprot->writeFieldStop();
+ xfer += oprot->writeStructEnd();
+ return xfer;
+}
+
+uint32_t ApplicationCatalogAPI_getGlobusJobSubmissionProtocol_result::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+ uint32_t xfer = 0;
+ std::string fname;
+ ::apache::thrift::protocol::TType ftype;
+ int16_t fid;
+
+ xfer += iprot->readStructBegin(fname);
+
+ using ::apache::thrift::protocol::TProtocolException;
+
+
+ while (true)
+ {
+ xfer += iprot->readFieldBegin(fname, ftype, fid);
+ if (ftype == ::apache::thrift::protocol::T_STOP) {
+ break;
+ }
+ switch (fid)
+ {
+ case 0:
+ if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+ xfer += this->success.read(iprot);
+ this->__isset.success = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 1:
+ if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+ xfer += this->ire.read(iprot);
+ this->__isset.ire = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 2:
+ if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+ xfer += this->ace.read(iprot);
+ this->__isset.ace = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 3:
+ if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+ xfer += this->ase.read(iprot);
+ this->__isset.ase = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ default:
+ xfer += iprot->skip(ftype);
+ break;
+ }
+ xfer += iprot->readFieldEnd();
+ }
+
+ xfer += iprot->readStructEnd();
+
+ return xfer;
+}
+
+uint32_t ApplicationCatalogAPI_getGlobusJobSubmissionProtocol_result::write(::apache::thrift::protocol::TProtocol* oprot) const {
+
+ uint32_t xfer = 0;
+
+ xfer += oprot->writeStructBegin("ApplicationCatalogAPI_getGlobusJobSubmissionProtocol_result");
+
+ if (this->__isset.success) {
+ xfer += oprot->writeFieldBegin("success", ::apache::thrift::protocol::T_STRUCT, 0);
+ xfer += this->success.write(oprot);
+ xfer += oprot->writeFieldEnd();
+ } else if (this->__isset.ire) {
+ xfer += oprot->writeFieldBegin("ire", ::apache::thrift::protocol::T_STRUCT, 1);
+ xfer += this->ire.write(oprot);
+ xfer += oprot->writeFieldEnd();
+ } else if (this->__isset.ace) {
+ xfer += oprot->writeFieldBegin("ace", ::apache::thrift::protocol::T_STRUCT, 2);
+ xfer += this->ace.write(oprot);
+ xfer += oprot->writeFieldEnd();
+ } else if (this->__isset.ase) {
+ xfer += oprot->writeFieldBegin("ase", ::apache::thrift::protocol::T_STRUCT, 3);
+ xfer += this->ase.write(oprot);
+ xfer += oprot->writeFieldEnd();
+ }
+ xfer += oprot->writeFieldStop();
+ xfer += oprot->writeStructEnd();
+ return xfer;
+}
+
+uint32_t ApplicationCatalogAPI_getGlobusJobSubmissionProtocol_presult::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+ uint32_t xfer = 0;
+ std::string fname;
+ ::apache::thrift::protocol::TType ftype;
+ int16_t fid;
+
+ xfer += iprot->readStructBegin(fname);
+
+ using ::apache::thrift::protocol::TProtocolException;
+
+
+ while (true)
+ {
+ xfer += iprot->readFieldBegin(fname, ftype, fid);
+ if (ftype == ::apache::thrift::protocol::T_STOP) {
+ break;
+ }
+ switch (fid)
+ {
+ case 0:
+ if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+ xfer += (*(this->success)).read(iprot);
+ this->__isset.success = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 1:
+ if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+ xfer += this->ire.read(iprot);
+ this->__isset.ire = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 2:
+ if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+ xfer += this->ace.read(iprot);
+ this->__isset.ace = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 3:
+ if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+ xfer += this->ase.read(iprot);
+ this->__isset.ase = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ default:
+ xfer += iprot->skip(ftype);
+ break;
+ }
+ xfer += iprot->readFieldEnd();
+ }
+
+ xfer += iprot->readStructEnd();
+
+ return xfer;
+}
+
+uint32_t ApplicationCatalogAPI_getSCPDataMovementProtocol_args::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+ uint32_t xfer = 0;
+ std::string fname;
+ ::apache::thrift::protocol::TType ftype;
+ int16_t fid;
+
+ xfer += iprot->readStructBegin(fname);
+
+ using ::apache::thrift::protocol::TProtocolException;
+
+ bool isset_scpDataMovementResourceId = false;
+
+ while (true)
+ {
+ xfer += iprot->readFieldBegin(fname, ftype, fid);
+ if (ftype == ::apache::thrift::protocol::T_STOP) {
+ break;
+ }
+ switch (fid)
+ {
+ case 1:
+ if (ftype == ::apache::thrift::protocol::T_STRING) {
+ xfer += iprot->readString(this->scpDataMovementResourceId);
+ isset_scpDataMovementResourceId = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ default:
+ xfer += iprot->skip(ftype);
+ break;
+ }
+ xfer += iprot->readFieldEnd();
+ }
+
+ xfer += iprot->readStructEnd();
+
+ if (!isset_scpDataMovementResourceId)
+ throw TProtocolException(TProtocolException::INVALID_DATA);
+ return xfer;
+}
+
+uint32_t ApplicationCatalogAPI_getSCPDataMovementProtocol_args::write(::apache::thrift::protocol::TProtocol* oprot) const {
+ uint32_t xfer = 0;
+ xfer += oprot->writeStructBegin("ApplicationCatalogAPI_getSCPDataMovementProtocol_args");
+
+ xfer += oprot->writeFieldBegin("scpDataMovementResourceId", ::apache::thrift::protocol::T_STRING, 1);
+ xfer += oprot->writeString(this->scpDataMovementResourceId);
+ xfer += oprot->writeFieldEnd();
+
+ xfer += oprot->writeFieldStop();
+ xfer += oprot->writeStructEnd();
+ return xfer;
+}
+
+uint32_t ApplicationCatalogAPI_getSCPDataMovementProtocol_pargs::write(::apache::thrift::protocol::TProtocol* oprot) const {
+ uint32_t xfer = 0;
+ xfer += oprot->writeStructBegin("ApplicationCatalogAPI_getSCPDataMovementProtocol_pargs");
+
+ xfer += oprot->writeFieldBegin("scpDataMovementResourceId", ::apache::thrift::protocol::T_STRING, 1);
+ xfer += oprot->writeString((*(this->scpDataMovementResourceId)));
+ xfer += oprot->writeFieldEnd();
+
+ xfer += oprot->writeFieldStop();
+ xfer += oprot->writeStructEnd();
+ return xfer;
+}
+
+uint32_t ApplicationCatalogAPI_getSCPDataMovementProtocol_result::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+ uint32_t xfer = 0;
+ std::string fname;
+ ::apache::thrift::protocol::TType ftype;
+ int16_t fid;
+
+ xfer += iprot->readStructBegin(fname);
+
+ using ::apache::thrift::protocol::TProtocolException;
+
+
+ while (true)
+ {
+ xfer += iprot->readFieldBegin(fname, ftype, fid);
+ if (ftype == ::apache::thrift::protocol::T_STOP) {
+ break;
+ }
+ switch (fid)
+ {
+ case 0:
+ if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+ xfer += this->success.read(iprot);
+ this->__isset.success = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 1:
+ if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+ xfer += this->ire.read(iprot);
+ this->__isset.ire = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 2:
+ if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+ xfer += this->ace.read(iprot);
+ this->__isset.ace = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 3:
+ if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+ xfer += this->ase.read(iprot);
+ this->__isset.ase = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ default:
+ xfer += iprot->skip(ftype);
+ break;
+ }
+ xfer += iprot->readFieldEnd();
+ }
+
+ xfer += iprot->readStructEnd();
+
+ return xfer;
+}
+
+uint32_t ApplicationCatalogAPI_getSCPDataMovementProtocol_result::write(::apache::thrift::protocol::TProtocol* oprot) const {
+
+ uint32_t xfer = 0;
+
+ xfer += oprot->writeStructBegin("ApplicationCatalogAPI_getSCPDataMovementProtocol_result");
+
+ if (this->__isset.success) {
+ xfer += oprot->writeFieldBegin("success", ::apache::thrift::protocol::T_STRUCT, 0);
+ xfer += this->success.write(oprot);
+ xfer += oprot->writeFieldEnd();
+ } else if (this->__isset.ire) {
+ xfer += oprot->writeFieldBegin("ire", ::apache::thrift::protocol::T_STRUCT, 1);
+ xfer += this->ire.write(oprot);
+ xfer += oprot->writeFieldEnd();
+ } else if (this->__isset.ace) {
+ xfer += oprot->writeFieldBegin("ace", ::apache::thrift::protocol::T_STRUCT, 2);
+ xfer += this->ace.write(oprot);
+ xfer += oprot->writeFieldEnd();
+ } else if (this->__isset.ase) {
+ xfer += oprot->writeFieldBegin("ase", ::apache::thrift::protocol::T_STRUCT, 3);
+ xfer += this->ase.write(oprot);
+ xfer += oprot->writeFieldEnd();
+ }
+ xfer += oprot->writeFieldStop();
+ xfer += oprot->writeStructEnd();
+ return xfer;
+}
+
+uint32_t ApplicationCatalogAPI_getSCPDataMovementProtocol_presult::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+ uint32_t xfer = 0;
+ std::string fname;
+ ::apache::thrift::protocol::TType ftype;
+ int16_t fid;
+
+ xfer += iprot->readStructBegin(fname);
+
+ using ::apache::thrift::protocol::TProtocolException;
+
+
+ while (true)
+ {
+ xfer += iprot->readFieldBegin(fname, ftype, fid);
+ if (ftype == ::apache::thrift::protocol::T_STOP) {
+ break;
+ }
+ switch (fid)
+ {
+ case 0:
+ if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+ xfer += (*(this->success)).read(iprot);
+ this->__isset.success = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 1:
+ if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+ xfer += this->ire.read(iprot);
+ this->__isset.ire = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 2:
+ if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+ xfer += this->ace.read(iprot);
+ this->__isset.ace = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 3:
+ if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+ xfer += this->ase.read(iprot);
+ this->__isset.ase = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ default:
+ xfer += iprot->skip(ftype);
+ break;
+ }
+ xfer += iprot->readFieldEnd();
+ }
+
+ xfer += iprot->readStructEnd();
+
+ return xfer;
+}
+
+uint32_t ApplicationCatalogAPI_getGridFTPDataMovementProtocol_args::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+ uint32_t xfer = 0;
+ std::string fname;
+ ::apache::thrift::protocol::TType ftype;
+ int16_t fid;
+
+ xfer += iprot->readStructBegin(fname);
+
+ using ::apache::thrift::protocol::TProtocolException;
+
+ bool isset_gridFTPDataMovementResourceId = false;
+
+ while (true)
+ {
+ xfer += iprot->readFieldBegin(fname, ftype, fid);
+ if (ftype == ::apache::thrift::protocol::T_STOP) {
+ break;
+ }
+ switch (fid)
+ {
+ case 1:
+ if (ftype == ::apache::thrift::protocol::T_STRING) {
+ xfer += iprot->readString(this->gridFTPDataMovementResourceId);
+ isset_gridFTPDataMovementResourceId = true;
+ } else {
+ xfer += iprot->
<TRUNCATED>
[18/47] Added c++ client samples for integrattion of airavata with
any other application's c++ interface
Posted by sm...@apache.org.
http://git-wip-us.apache.org/repos/asf/airavata/blob/f891b7dc/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/applicationDeploymentModel_types.cpp
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/applicationDeploymentModel_types.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/applicationDeploymentModel_types.cpp
new file mode 100644
index 0000000..6eee268
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/applicationDeploymentModel_types.cpp
@@ -0,0 +1,497 @@
+/**
+ * Autogenerated by Thrift Compiler (0.9.1)
+ *
+ * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+ * @generated
+ */
+#include "applicationDeploymentModel_types.h"
+
+#include <algorithm>
+
+namespace apache { namespace airavata { namespace model { namespace appcatalog { namespace appdeployment {
+
+int _kApplicationParallelismTypeValues[] = {
+ ApplicationParallelismType::SERIAL,
+ ApplicationParallelismType::MPI,
+ ApplicationParallelismType::OPENMP,
+ ApplicationParallelismType::OPENMP_MPI
+};
+const char* _kApplicationParallelismTypeNames[] = {
+ "SERIAL",
+ "MPI",
+ "OPENMP",
+ "OPENMP_MPI"
+};
+const std::map<int, const char*> _ApplicationParallelismType_VALUES_TO_NAMES(::apache::thrift::TEnumIterator(4, _kApplicationParallelismTypeValues, _kApplicationParallelismTypeNames), ::apache::thrift::TEnumIterator(-1, NULL, NULL));
+
+const char* SetEnvPaths::ascii_fingerprint = "07A9615F837F7D0A952B595DD3020972";
+const uint8_t SetEnvPaths::binary_fingerprint[16] = {0x07,0xA9,0x61,0x5F,0x83,0x7F,0x7D,0x0A,0x95,0x2B,0x59,0x5D,0xD3,0x02,0x09,0x72};
+
+uint32_t SetEnvPaths::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+ uint32_t xfer = 0;
+ std::string fname;
+ ::apache::thrift::protocol::TType ftype;
+ int16_t fid;
+
+ xfer += iprot->readStructBegin(fname);
+
+ using ::apache::thrift::protocol::TProtocolException;
+
+ bool isset_name = false;
+ bool isset_value = false;
+
+ while (true)
+ {
+ xfer += iprot->readFieldBegin(fname, ftype, fid);
+ if (ftype == ::apache::thrift::protocol::T_STOP) {
+ break;
+ }
+ switch (fid)
+ {
+ case 1:
+ if (ftype == ::apache::thrift::protocol::T_STRING) {
+ xfer += iprot->readString(this->name);
+ isset_name = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 2:
+ if (ftype == ::apache::thrift::protocol::T_STRING) {
+ xfer += iprot->readString(this->value);
+ isset_value = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ default:
+ xfer += iprot->skip(ftype);
+ break;
+ }
+ xfer += iprot->readFieldEnd();
+ }
+
+ xfer += iprot->readStructEnd();
+
+ if (!isset_name)
+ throw TProtocolException(TProtocolException::INVALID_DATA);
+ if (!isset_value)
+ throw TProtocolException(TProtocolException::INVALID_DATA);
+ return xfer;
+}
+
+uint32_t SetEnvPaths::write(::apache::thrift::protocol::TProtocol* oprot) const {
+ uint32_t xfer = 0;
+ xfer += oprot->writeStructBegin("SetEnvPaths");
+
+ xfer += oprot->writeFieldBegin("name", ::apache::thrift::protocol::T_STRING, 1);
+ xfer += oprot->writeString(this->name);
+ xfer += oprot->writeFieldEnd();
+
+ xfer += oprot->writeFieldBegin("value", ::apache::thrift::protocol::T_STRING, 2);
+ xfer += oprot->writeString(this->value);
+ xfer += oprot->writeFieldEnd();
+
+ xfer += oprot->writeFieldStop();
+ xfer += oprot->writeStructEnd();
+ return xfer;
+}
+
+void swap(SetEnvPaths &a, SetEnvPaths &b) {
+ using ::std::swap;
+ swap(a.name, b.name);
+ swap(a.value, b.value);
+}
+
+const char* ApplicationModule::ascii_fingerprint = "FED0FBEAA0C90D1589E8B650561B7675";
+const uint8_t ApplicationModule::binary_fingerprint[16] = {0xFE,0xD0,0xFB,0xEA,0xA0,0xC9,0x0D,0x15,0x89,0xE8,0xB6,0x50,0x56,0x1B,0x76,0x75};
+
+uint32_t ApplicationModule::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+ uint32_t xfer = 0;
+ std::string fname;
+ ::apache::thrift::protocol::TType ftype;
+ int16_t fid;
+
+ xfer += iprot->readStructBegin(fname);
+
+ using ::apache::thrift::protocol::TProtocolException;
+
+ bool isset_appModuleId = false;
+ bool isset_appModuleName = false;
+
+ while (true)
+ {
+ xfer += iprot->readFieldBegin(fname, ftype, fid);
+ if (ftype == ::apache::thrift::protocol::T_STOP) {
+ break;
+ }
+ switch (fid)
+ {
+ case 1:
+ if (ftype == ::apache::thrift::protocol::T_STRING) {
+ xfer += iprot->readString(this->appModuleId);
+ isset_appModuleId = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 2:
+ if (ftype == ::apache::thrift::protocol::T_STRING) {
+ xfer += iprot->readString(this->appModuleName);
+ isset_appModuleName = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 3:
+ if (ftype == ::apache::thrift::protocol::T_STRING) {
+ xfer += iprot->readString(this->appModuleVersion);
+ this->__isset.appModuleVersion = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 4:
+ if (ftype == ::apache::thrift::protocol::T_STRING) {
+ xfer += iprot->readString(this->appModuleDescription);
+ this->__isset.appModuleDescription = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ default:
+ xfer += iprot->skip(ftype);
+ break;
+ }
+ xfer += iprot->readFieldEnd();
+ }
+
+ xfer += iprot->readStructEnd();
+
+ if (!isset_appModuleId)
+ throw TProtocolException(TProtocolException::INVALID_DATA);
+ if (!isset_appModuleName)
+ throw TProtocolException(TProtocolException::INVALID_DATA);
+ return xfer;
+}
+
+uint32_t ApplicationModule::write(::apache::thrift::protocol::TProtocol* oprot) const {
+ uint32_t xfer = 0;
+ xfer += oprot->writeStructBegin("ApplicationModule");
+
+ xfer += oprot->writeFieldBegin("appModuleId", ::apache::thrift::protocol::T_STRING, 1);
+ xfer += oprot->writeString(this->appModuleId);
+ xfer += oprot->writeFieldEnd();
+
+ xfer += oprot->writeFieldBegin("appModuleName", ::apache::thrift::protocol::T_STRING, 2);
+ xfer += oprot->writeString(this->appModuleName);
+ xfer += oprot->writeFieldEnd();
+
+ if (this->__isset.appModuleVersion) {
+ xfer += oprot->writeFieldBegin("appModuleVersion", ::apache::thrift::protocol::T_STRING, 3);
+ xfer += oprot->writeString(this->appModuleVersion);
+ xfer += oprot->writeFieldEnd();
+ }
+ if (this->__isset.appModuleDescription) {
+ xfer += oprot->writeFieldBegin("appModuleDescription", ::apache::thrift::protocol::T_STRING, 4);
+ xfer += oprot->writeString(this->appModuleDescription);
+ xfer += oprot->writeFieldEnd();
+ }
+ xfer += oprot->writeFieldStop();
+ xfer += oprot->writeStructEnd();
+ return xfer;
+}
+
+void swap(ApplicationModule &a, ApplicationModule &b) {
+ using ::std::swap;
+ swap(a.appModuleId, b.appModuleId);
+ swap(a.appModuleName, b.appModuleName);
+ swap(a.appModuleVersion, b.appModuleVersion);
+ swap(a.appModuleDescription, b.appModuleDescription);
+ swap(a.__isset, b.__isset);
+}
+
+const char* ApplicationDeploymentDescription::ascii_fingerprint = "179A145BD54BBE10649DEF31C71143C9";
+const uint8_t ApplicationDeploymentDescription::binary_fingerprint[16] = {0x17,0x9A,0x14,0x5B,0xD5,0x4B,0xBE,0x10,0x64,0x9D,0xEF,0x31,0xC7,0x11,0x43,0xC9};
+
+uint32_t ApplicationDeploymentDescription::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+ uint32_t xfer = 0;
+ std::string fname;
+ ::apache::thrift::protocol::TType ftype;
+ int16_t fid;
+
+ xfer += iprot->readStructBegin(fname);
+
+ using ::apache::thrift::protocol::TProtocolException;
+
+ bool isset_appDeploymentId = false;
+ bool isset_appModuleId = false;
+ bool isset_computeHostId = false;
+ bool isset_executablePath = false;
+ bool isset_parallelism = false;
+
+ while (true)
+ {
+ xfer += iprot->readFieldBegin(fname, ftype, fid);
+ if (ftype == ::apache::thrift::protocol::T_STOP) {
+ break;
+ }
+ switch (fid)
+ {
+ case 1:
+ if (ftype == ::apache::thrift::protocol::T_STRING) {
+ xfer += iprot->readString(this->appDeploymentId);
+ isset_appDeploymentId = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 2:
+ if (ftype == ::apache::thrift::protocol::T_STRING) {
+ xfer += iprot->readString(this->appModuleId);
+ isset_appModuleId = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 3:
+ if (ftype == ::apache::thrift::protocol::T_STRING) {
+ xfer += iprot->readString(this->computeHostId);
+ isset_computeHostId = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 4:
+ if (ftype == ::apache::thrift::protocol::T_STRING) {
+ xfer += iprot->readString(this->executablePath);
+ isset_executablePath = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 5:
+ if (ftype == ::apache::thrift::protocol::T_I32) {
+ int32_t ecast0;
+ xfer += iprot->readI32(ecast0);
+ this->parallelism = (ApplicationParallelismType::type)ecast0;
+ isset_parallelism = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 6:
+ if (ftype == ::apache::thrift::protocol::T_STRING) {
+ xfer += iprot->readString(this->appDeploymentDescription);
+ this->__isset.appDeploymentDescription = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 7:
+ if (ftype == ::apache::thrift::protocol::T_LIST) {
+ {
+ this->moduleLoadCmds.clear();
+ uint32_t _size1;
+ ::apache::thrift::protocol::TType _etype4;
+ xfer += iprot->readListBegin(_etype4, _size1);
+ this->moduleLoadCmds.resize(_size1);
+ uint32_t _i5;
+ for (_i5 = 0; _i5 < _size1; ++_i5)
+ {
+ xfer += iprot->readString(this->moduleLoadCmds[_i5]);
+ }
+ xfer += iprot->readListEnd();
+ }
+ this->__isset.moduleLoadCmds = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 8:
+ if (ftype == ::apache::thrift::protocol::T_LIST) {
+ {
+ this->libPrependPaths.clear();
+ uint32_t _size6;
+ ::apache::thrift::protocol::TType _etype9;
+ xfer += iprot->readListBegin(_etype9, _size6);
+ this->libPrependPaths.resize(_size6);
+ uint32_t _i10;
+ for (_i10 = 0; _i10 < _size6; ++_i10)
+ {
+ xfer += this->libPrependPaths[_i10].read(iprot);
+ }
+ xfer += iprot->readListEnd();
+ }
+ this->__isset.libPrependPaths = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 9:
+ if (ftype == ::apache::thrift::protocol::T_LIST) {
+ {
+ this->libAppendPaths.clear();
+ uint32_t _size11;
+ ::apache::thrift::protocol::TType _etype14;
+ xfer += iprot->readListBegin(_etype14, _size11);
+ this->libAppendPaths.resize(_size11);
+ uint32_t _i15;
+ for (_i15 = 0; _i15 < _size11; ++_i15)
+ {
+ xfer += this->libAppendPaths[_i15].read(iprot);
+ }
+ xfer += iprot->readListEnd();
+ }
+ this->__isset.libAppendPaths = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 10:
+ if (ftype == ::apache::thrift::protocol::T_LIST) {
+ {
+ this->setEnvironment.clear();
+ uint32_t _size16;
+ ::apache::thrift::protocol::TType _etype19;
+ xfer += iprot->readListBegin(_etype19, _size16);
+ this->setEnvironment.resize(_size16);
+ uint32_t _i20;
+ for (_i20 = 0; _i20 < _size16; ++_i20)
+ {
+ xfer += this->setEnvironment[_i20].read(iprot);
+ }
+ xfer += iprot->readListEnd();
+ }
+ this->__isset.setEnvironment = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ default:
+ xfer += iprot->skip(ftype);
+ break;
+ }
+ xfer += iprot->readFieldEnd();
+ }
+
+ xfer += iprot->readStructEnd();
+
+ if (!isset_appDeploymentId)
+ throw TProtocolException(TProtocolException::INVALID_DATA);
+ if (!isset_appModuleId)
+ throw TProtocolException(TProtocolException::INVALID_DATA);
+ if (!isset_computeHostId)
+ throw TProtocolException(TProtocolException::INVALID_DATA);
+ if (!isset_executablePath)
+ throw TProtocolException(TProtocolException::INVALID_DATA);
+ if (!isset_parallelism)
+ throw TProtocolException(TProtocolException::INVALID_DATA);
+ return xfer;
+}
+
+uint32_t ApplicationDeploymentDescription::write(::apache::thrift::protocol::TProtocol* oprot) const {
+ uint32_t xfer = 0;
+ xfer += oprot->writeStructBegin("ApplicationDeploymentDescription");
+
+ xfer += oprot->writeFieldBegin("appDeploymentId", ::apache::thrift::protocol::T_STRING, 1);
+ xfer += oprot->writeString(this->appDeploymentId);
+ xfer += oprot->writeFieldEnd();
+
+ xfer += oprot->writeFieldBegin("appModuleId", ::apache::thrift::protocol::T_STRING, 2);
+ xfer += oprot->writeString(this->appModuleId);
+ xfer += oprot->writeFieldEnd();
+
+ xfer += oprot->writeFieldBegin("computeHostId", ::apache::thrift::protocol::T_STRING, 3);
+ xfer += oprot->writeString(this->computeHostId);
+ xfer += oprot->writeFieldEnd();
+
+ xfer += oprot->writeFieldBegin("executablePath", ::apache::thrift::protocol::T_STRING, 4);
+ xfer += oprot->writeString(this->executablePath);
+ xfer += oprot->writeFieldEnd();
+
+ xfer += oprot->writeFieldBegin("parallelism", ::apache::thrift::protocol::T_I32, 5);
+ xfer += oprot->writeI32((int32_t)this->parallelism);
+ xfer += oprot->writeFieldEnd();
+
+ if (this->__isset.appDeploymentDescription) {
+ xfer += oprot->writeFieldBegin("appDeploymentDescription", ::apache::thrift::protocol::T_STRING, 6);
+ xfer += oprot->writeString(this->appDeploymentDescription);
+ xfer += oprot->writeFieldEnd();
+ }
+ if (this->__isset.moduleLoadCmds) {
+ xfer += oprot->writeFieldBegin("moduleLoadCmds", ::apache::thrift::protocol::T_LIST, 7);
+ {
+ xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRING, static_cast<uint32_t>(this->moduleLoadCmds.size()));
+ std::vector<std::string> ::const_iterator _iter21;
+ for (_iter21 = this->moduleLoadCmds.begin(); _iter21 != this->moduleLoadCmds.end(); ++_iter21)
+ {
+ xfer += oprot->writeString((*_iter21));
+ }
+ xfer += oprot->writeListEnd();
+ }
+ xfer += oprot->writeFieldEnd();
+ }
+ if (this->__isset.libPrependPaths) {
+ xfer += oprot->writeFieldBegin("libPrependPaths", ::apache::thrift::protocol::T_LIST, 8);
+ {
+ xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>(this->libPrependPaths.size()));
+ std::vector<SetEnvPaths> ::const_iterator _iter22;
+ for (_iter22 = this->libPrependPaths.begin(); _iter22 != this->libPrependPaths.end(); ++_iter22)
+ {
+ xfer += (*_iter22).write(oprot);
+ }
+ xfer += oprot->writeListEnd();
+ }
+ xfer += oprot->writeFieldEnd();
+ }
+ if (this->__isset.libAppendPaths) {
+ xfer += oprot->writeFieldBegin("libAppendPaths", ::apache::thrift::protocol::T_LIST, 9);
+ {
+ xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>(this->libAppendPaths.size()));
+ std::vector<SetEnvPaths> ::const_iterator _iter23;
+ for (_iter23 = this->libAppendPaths.begin(); _iter23 != this->libAppendPaths.end(); ++_iter23)
+ {
+ xfer += (*_iter23).write(oprot);
+ }
+ xfer += oprot->writeListEnd();
+ }
+ xfer += oprot->writeFieldEnd();
+ }
+ if (this->__isset.setEnvironment) {
+ xfer += oprot->writeFieldBegin("setEnvironment", ::apache::thrift::protocol::T_LIST, 10);
+ {
+ xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>(this->setEnvironment.size()));
+ std::vector<SetEnvPaths> ::const_iterator _iter24;
+ for (_iter24 = this->setEnvironment.begin(); _iter24 != this->setEnvironment.end(); ++_iter24)
+ {
+ xfer += (*_iter24).write(oprot);
+ }
+ xfer += oprot->writeListEnd();
+ }
+ xfer += oprot->writeFieldEnd();
+ }
+ xfer += oprot->writeFieldStop();
+ xfer += oprot->writeStructEnd();
+ return xfer;
+}
+
+void swap(ApplicationDeploymentDescription &a, ApplicationDeploymentDescription &b) {
+ using ::std::swap;
+ swap(a.appDeploymentId, b.appDeploymentId);
+ swap(a.appModuleId, b.appModuleId);
+ swap(a.computeHostId, b.computeHostId);
+ swap(a.executablePath, b.executablePath);
+ swap(a.parallelism, b.parallelism);
+ swap(a.appDeploymentDescription, b.appDeploymentDescription);
+ swap(a.moduleLoadCmds, b.moduleLoadCmds);
+ swap(a.libPrependPaths, b.libPrependPaths);
+ swap(a.libAppendPaths, b.libAppendPaths);
+ swap(a.setEnvironment, b.setEnvironment);
+ swap(a.__isset, b.__isset);
+}
+
+}}}}} // namespace
http://git-wip-us.apache.org/repos/asf/airavata/blob/f891b7dc/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/applicationDeploymentModel_types.h
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/applicationDeploymentModel_types.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/applicationDeploymentModel_types.h
new file mode 100644
index 0000000..62439bb
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/applicationDeploymentModel_types.h
@@ -0,0 +1,275 @@
+/**
+ * Autogenerated by Thrift Compiler (0.9.1)
+ *
+ * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+ * @generated
+ */
+#ifndef applicationDeploymentModel_TYPES_H
+#define applicationDeploymentModel_TYPES_H
+
+#include <thrift/Thrift.h>
+#include <thrift/TApplicationException.h>
+#include <thrift/protocol/TProtocol.h>
+#include <thrift/transport/TTransport.h>
+
+#include <thrift/cxxfunctional.h>
+
+
+namespace apache { namespace airavata { namespace model { namespace appcatalog { namespace appdeployment {
+
+struct ApplicationParallelismType {
+ enum type {
+ SERIAL = 0,
+ MPI = 1,
+ OPENMP = 2,
+ OPENMP_MPI = 3
+ };
+};
+
+extern const std::map<int, const char*> _ApplicationParallelismType_VALUES_TO_NAMES;
+
+
+class SetEnvPaths {
+ public:
+
+ static const char* ascii_fingerprint; // = "07A9615F837F7D0A952B595DD3020972";
+ static const uint8_t binary_fingerprint[16]; // = {0x07,0xA9,0x61,0x5F,0x83,0x7F,0x7D,0x0A,0x95,0x2B,0x59,0x5D,0xD3,0x02,0x09,0x72};
+
+ SetEnvPaths() : name(), value() {
+ }
+
+ virtual ~SetEnvPaths() throw() {}
+
+ std::string name;
+ std::string value;
+
+ void __set_name(const std::string& val) {
+ name = val;
+ }
+
+ void __set_value(const std::string& val) {
+ value = val;
+ }
+
+ bool operator == (const SetEnvPaths & rhs) const
+ {
+ if (!(name == rhs.name))
+ return false;
+ if (!(value == rhs.value))
+ return false;
+ return true;
+ }
+ bool operator != (const SetEnvPaths &rhs) const {
+ return !(*this == rhs);
+ }
+
+ bool operator < (const SetEnvPaths & ) const;
+
+ uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+ uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+void swap(SetEnvPaths &a, SetEnvPaths &b);
+
+typedef struct _ApplicationModule__isset {
+ _ApplicationModule__isset() : appModuleVersion(false), appModuleDescription(false) {}
+ bool appModuleVersion;
+ bool appModuleDescription;
+} _ApplicationModule__isset;
+
+class ApplicationModule {
+ public:
+
+ static const char* ascii_fingerprint; // = "FED0FBEAA0C90D1589E8B650561B7675";
+ static const uint8_t binary_fingerprint[16]; // = {0xFE,0xD0,0xFB,0xEA,0xA0,0xC9,0x0D,0x15,0x89,0xE8,0xB6,0x50,0x56,0x1B,0x76,0x75};
+
+ ApplicationModule() : appModuleId("DO_NOT_SET_AT_CLIENTS"), appModuleName(), appModuleVersion(), appModuleDescription() {
+ }
+
+ virtual ~ApplicationModule() throw() {}
+
+ std::string appModuleId;
+ std::string appModuleName;
+ std::string appModuleVersion;
+ std::string appModuleDescription;
+
+ _ApplicationModule__isset __isset;
+
+ void __set_appModuleId(const std::string& val) {
+ appModuleId = val;
+ }
+
+ void __set_appModuleName(const std::string& val) {
+ appModuleName = val;
+ }
+
+ void __set_appModuleVersion(const std::string& val) {
+ appModuleVersion = val;
+ __isset.appModuleVersion = true;
+ }
+
+ void __set_appModuleDescription(const std::string& val) {
+ appModuleDescription = val;
+ __isset.appModuleDescription = true;
+ }
+
+ bool operator == (const ApplicationModule & rhs) const
+ {
+ if (!(appModuleId == rhs.appModuleId))
+ return false;
+ if (!(appModuleName == rhs.appModuleName))
+ return false;
+ if (__isset.appModuleVersion != rhs.__isset.appModuleVersion)
+ return false;
+ else if (__isset.appModuleVersion && !(appModuleVersion == rhs.appModuleVersion))
+ return false;
+ if (__isset.appModuleDescription != rhs.__isset.appModuleDescription)
+ return false;
+ else if (__isset.appModuleDescription && !(appModuleDescription == rhs.appModuleDescription))
+ return false;
+ return true;
+ }
+ bool operator != (const ApplicationModule &rhs) const {
+ return !(*this == rhs);
+ }
+
+ bool operator < (const ApplicationModule & ) const;
+
+ uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+ uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+void swap(ApplicationModule &a, ApplicationModule &b);
+
+typedef struct _ApplicationDeploymentDescription__isset {
+ _ApplicationDeploymentDescription__isset() : appDeploymentDescription(false), moduleLoadCmds(false), libPrependPaths(false), libAppendPaths(false), setEnvironment(false) {}
+ bool appDeploymentDescription;
+ bool moduleLoadCmds;
+ bool libPrependPaths;
+ bool libAppendPaths;
+ bool setEnvironment;
+} _ApplicationDeploymentDescription__isset;
+
+class ApplicationDeploymentDescription {
+ public:
+
+ static const char* ascii_fingerprint; // = "179A145BD54BBE10649DEF31C71143C9";
+ static const uint8_t binary_fingerprint[16]; // = {0x17,0x9A,0x14,0x5B,0xD5,0x4B,0xBE,0x10,0x64,0x9D,0xEF,0x31,0xC7,0x11,0x43,0xC9};
+
+ ApplicationDeploymentDescription() : appDeploymentId("DO_NOT_SET_AT_CLIENTS"), appModuleId(), computeHostId(), executablePath(), parallelism((ApplicationParallelismType::type)0), appDeploymentDescription() {
+ parallelism = (ApplicationParallelismType::type)0;
+
+ }
+
+ virtual ~ApplicationDeploymentDescription() throw() {}
+
+ std::string appDeploymentId;
+ std::string appModuleId;
+ std::string computeHostId;
+ std::string executablePath;
+ ApplicationParallelismType::type parallelism;
+ std::string appDeploymentDescription;
+ std::vector<std::string> moduleLoadCmds;
+ std::vector<SetEnvPaths> libPrependPaths;
+ std::vector<SetEnvPaths> libAppendPaths;
+ std::vector<SetEnvPaths> setEnvironment;
+
+ _ApplicationDeploymentDescription__isset __isset;
+
+ void __set_appDeploymentId(const std::string& val) {
+ appDeploymentId = val;
+ }
+
+ void __set_appModuleId(const std::string& val) {
+ appModuleId = val;
+ }
+
+ void __set_computeHostId(const std::string& val) {
+ computeHostId = val;
+ }
+
+ void __set_executablePath(const std::string& val) {
+ executablePath = val;
+ }
+
+ void __set_parallelism(const ApplicationParallelismType::type val) {
+ parallelism = val;
+ }
+
+ void __set_appDeploymentDescription(const std::string& val) {
+ appDeploymentDescription = val;
+ __isset.appDeploymentDescription = true;
+ }
+
+ void __set_moduleLoadCmds(const std::vector<std::string> & val) {
+ moduleLoadCmds = val;
+ __isset.moduleLoadCmds = true;
+ }
+
+ void __set_libPrependPaths(const std::vector<SetEnvPaths> & val) {
+ libPrependPaths = val;
+ __isset.libPrependPaths = true;
+ }
+
+ void __set_libAppendPaths(const std::vector<SetEnvPaths> & val) {
+ libAppendPaths = val;
+ __isset.libAppendPaths = true;
+ }
+
+ void __set_setEnvironment(const std::vector<SetEnvPaths> & val) {
+ setEnvironment = val;
+ __isset.setEnvironment = true;
+ }
+
+ bool operator == (const ApplicationDeploymentDescription & rhs) const
+ {
+ if (!(appDeploymentId == rhs.appDeploymentId))
+ return false;
+ if (!(appModuleId == rhs.appModuleId))
+ return false;
+ if (!(computeHostId == rhs.computeHostId))
+ return false;
+ if (!(executablePath == rhs.executablePath))
+ return false;
+ if (!(parallelism == rhs.parallelism))
+ return false;
+ if (__isset.appDeploymentDescription != rhs.__isset.appDeploymentDescription)
+ return false;
+ else if (__isset.appDeploymentDescription && !(appDeploymentDescription == rhs.appDeploymentDescription))
+ return false;
+ if (__isset.moduleLoadCmds != rhs.__isset.moduleLoadCmds)
+ return false;
+ else if (__isset.moduleLoadCmds && !(moduleLoadCmds == rhs.moduleLoadCmds))
+ return false;
+ if (__isset.libPrependPaths != rhs.__isset.libPrependPaths)
+ return false;
+ else if (__isset.libPrependPaths && !(libPrependPaths == rhs.libPrependPaths))
+ return false;
+ if (__isset.libAppendPaths != rhs.__isset.libAppendPaths)
+ return false;
+ else if (__isset.libAppendPaths && !(libAppendPaths == rhs.libAppendPaths))
+ return false;
+ if (__isset.setEnvironment != rhs.__isset.setEnvironment)
+ return false;
+ else if (__isset.setEnvironment && !(setEnvironment == rhs.setEnvironment))
+ return false;
+ return true;
+ }
+ bool operator != (const ApplicationDeploymentDescription &rhs) const {
+ return !(*this == rhs);
+ }
+
+ bool operator < (const ApplicationDeploymentDescription & ) const;
+
+ uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+ uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+void swap(ApplicationDeploymentDescription &a, ApplicationDeploymentDescription &b);
+
+}}}}} // namespace
+
+#endif
http://git-wip-us.apache.org/repos/asf/airavata/blob/f891b7dc/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/applicationInterfaceModel_constants.cpp
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/applicationInterfaceModel_constants.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/applicationInterfaceModel_constants.cpp
new file mode 100644
index 0000000..da96617
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/applicationInterfaceModel_constants.cpp
@@ -0,0 +1,19 @@
+/**
+ * Autogenerated by Thrift Compiler (0.9.1)
+ *
+ * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+ * @generated
+ */
+#include "applicationInterfaceModel_constants.h"
+
+namespace apache { namespace airavata { namespace model { namespace appcatalog { namespace appinterface {
+
+const applicationInterfaceModelConstants g_applicationInterfaceModel_constants;
+
+applicationInterfaceModelConstants::applicationInterfaceModelConstants() {
+ DEFAULT_ID = "DO_NOT_SET_AT_CLIENTS";
+
+}
+
+}}}}} // namespace
+
http://git-wip-us.apache.org/repos/asf/airavata/blob/f891b7dc/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/applicationInterfaceModel_constants.h
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/applicationInterfaceModel_constants.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/applicationInterfaceModel_constants.h
new file mode 100644
index 0000000..cf2a471
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/applicationInterfaceModel_constants.h
@@ -0,0 +1,25 @@
+/**
+ * Autogenerated by Thrift Compiler (0.9.1)
+ *
+ * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+ * @generated
+ */
+#ifndef applicationInterfaceModel_CONSTANTS_H
+#define applicationInterfaceModel_CONSTANTS_H
+
+#include "applicationInterfaceModel_types.h"
+
+namespace apache { namespace airavata { namespace model { namespace appcatalog { namespace appinterface {
+
+class applicationInterfaceModelConstants {
+ public:
+ applicationInterfaceModelConstants();
+
+ std::string DEFAULT_ID;
+};
+
+extern const applicationInterfaceModelConstants g_applicationInterfaceModel_constants;
+
+}}}}} // namespace
+
+#endif
http://git-wip-us.apache.org/repos/asf/airavata/blob/f891b7dc/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/applicationInterfaceModel_types.cpp
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/applicationInterfaceModel_types.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/applicationInterfaceModel_types.cpp
new file mode 100644
index 0000000..7b0c4ba
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/applicationInterfaceModel_types.cpp
@@ -0,0 +1,470 @@
+/**
+ * Autogenerated by Thrift Compiler (0.9.1)
+ *
+ * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+ * @generated
+ */
+#include "applicationInterfaceModel_types.h"
+
+#include <algorithm>
+
+namespace apache { namespace airavata { namespace model { namespace appcatalog { namespace appinterface {
+
+int _kDataTypeValues[] = {
+ DataType::STRING,
+ DataType::INTEGER,
+ DataType::FLOAT,
+ DataType::URI
+};
+const char* _kDataTypeNames[] = {
+ "STRING",
+ "INTEGER",
+ "FLOAT",
+ "URI"
+};
+const std::map<int, const char*> _DataType_VALUES_TO_NAMES(::apache::thrift::TEnumIterator(4, _kDataTypeValues, _kDataTypeNames), ::apache::thrift::TEnumIterator(-1, NULL, NULL));
+
+const char* InputDataObjectType::ascii_fingerprint = "24F962C1CE4BE9FBD0F5D5EE9D1D5C00";
+const uint8_t InputDataObjectType::binary_fingerprint[16] = {0x24,0xF9,0x62,0xC1,0xCE,0x4B,0xE9,0xFB,0xD0,0xF5,0xD5,0xEE,0x9D,0x1D,0x5C,0x00};
+
+uint32_t InputDataObjectType::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+ uint32_t xfer = 0;
+ std::string fname;
+ ::apache::thrift::protocol::TType ftype;
+ int16_t fid;
+
+ xfer += iprot->readStructBegin(fname);
+
+ using ::apache::thrift::protocol::TProtocolException;
+
+ bool isset_name = false;
+
+ while (true)
+ {
+ xfer += iprot->readFieldBegin(fname, ftype, fid);
+ if (ftype == ::apache::thrift::protocol::T_STOP) {
+ break;
+ }
+ switch (fid)
+ {
+ case 1:
+ if (ftype == ::apache::thrift::protocol::T_STRING) {
+ xfer += iprot->readString(this->name);
+ isset_name = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 2:
+ if (ftype == ::apache::thrift::protocol::T_STRING) {
+ xfer += iprot->readString(this->value);
+ this->__isset.value = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 3:
+ if (ftype == ::apache::thrift::protocol::T_I32) {
+ int32_t ecast0;
+ xfer += iprot->readI32(ecast0);
+ this->type = (DataType::type)ecast0;
+ this->__isset.type = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 4:
+ if (ftype == ::apache::thrift::protocol::T_STRING) {
+ xfer += iprot->readString(this->applicationArgument);
+ this->__isset.applicationArgument = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 5:
+ if (ftype == ::apache::thrift::protocol::T_BOOL) {
+ xfer += iprot->readBool(this->standardInput);
+ this->__isset.standardInput = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 6:
+ if (ftype == ::apache::thrift::protocol::T_STRING) {
+ xfer += iprot->readString(this->userFriendlyDescription);
+ this->__isset.userFriendlyDescription = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 7:
+ if (ftype == ::apache::thrift::protocol::T_STRING) {
+ xfer += iprot->readString(this->metaData);
+ this->__isset.metaData = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ default:
+ xfer += iprot->skip(ftype);
+ break;
+ }
+ xfer += iprot->readFieldEnd();
+ }
+
+ xfer += iprot->readStructEnd();
+
+ if (!isset_name)
+ throw TProtocolException(TProtocolException::INVALID_DATA);
+ return xfer;
+}
+
+uint32_t InputDataObjectType::write(::apache::thrift::protocol::TProtocol* oprot) const {
+ uint32_t xfer = 0;
+ xfer += oprot->writeStructBegin("InputDataObjectType");
+
+ xfer += oprot->writeFieldBegin("name", ::apache::thrift::protocol::T_STRING, 1);
+ xfer += oprot->writeString(this->name);
+ xfer += oprot->writeFieldEnd();
+
+ if (this->__isset.value) {
+ xfer += oprot->writeFieldBegin("value", ::apache::thrift::protocol::T_STRING, 2);
+ xfer += oprot->writeString(this->value);
+ xfer += oprot->writeFieldEnd();
+ }
+ if (this->__isset.type) {
+ xfer += oprot->writeFieldBegin("type", ::apache::thrift::protocol::T_I32, 3);
+ xfer += oprot->writeI32((int32_t)this->type);
+ xfer += oprot->writeFieldEnd();
+ }
+ if (this->__isset.applicationArgument) {
+ xfer += oprot->writeFieldBegin("applicationArgument", ::apache::thrift::protocol::T_STRING, 4);
+ xfer += oprot->writeString(this->applicationArgument);
+ xfer += oprot->writeFieldEnd();
+ }
+ if (this->__isset.standardInput) {
+ xfer += oprot->writeFieldBegin("standardInput", ::apache::thrift::protocol::T_BOOL, 5);
+ xfer += oprot->writeBool(this->standardInput);
+ xfer += oprot->writeFieldEnd();
+ }
+ if (this->__isset.userFriendlyDescription) {
+ xfer += oprot->writeFieldBegin("userFriendlyDescription", ::apache::thrift::protocol::T_STRING, 6);
+ xfer += oprot->writeString(this->userFriendlyDescription);
+ xfer += oprot->writeFieldEnd();
+ }
+ if (this->__isset.metaData) {
+ xfer += oprot->writeFieldBegin("metaData", ::apache::thrift::protocol::T_STRING, 7);
+ xfer += oprot->writeString(this->metaData);
+ xfer += oprot->writeFieldEnd();
+ }
+ xfer += oprot->writeFieldStop();
+ xfer += oprot->writeStructEnd();
+ return xfer;
+}
+
+void swap(InputDataObjectType &a, InputDataObjectType &b) {
+ using ::std::swap;
+ swap(a.name, b.name);
+ swap(a.value, b.value);
+ swap(a.type, b.type);
+ swap(a.applicationArgument, b.applicationArgument);
+ swap(a.standardInput, b.standardInput);
+ swap(a.userFriendlyDescription, b.userFriendlyDescription);
+ swap(a.metaData, b.metaData);
+ swap(a.__isset, b.__isset);
+}
+
+const char* OutputDataObjectType::ascii_fingerprint = "B33AE596EF78C48424CF96BCA5D1DF99";
+const uint8_t OutputDataObjectType::binary_fingerprint[16] = {0xB3,0x3A,0xE5,0x96,0xEF,0x78,0xC4,0x84,0x24,0xCF,0x96,0xBC,0xA5,0xD1,0xDF,0x99};
+
+uint32_t OutputDataObjectType::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+ uint32_t xfer = 0;
+ std::string fname;
+ ::apache::thrift::protocol::TType ftype;
+ int16_t fid;
+
+ xfer += iprot->readStructBegin(fname);
+
+ using ::apache::thrift::protocol::TProtocolException;
+
+ bool isset_name = false;
+
+ while (true)
+ {
+ xfer += iprot->readFieldBegin(fname, ftype, fid);
+ if (ftype == ::apache::thrift::protocol::T_STOP) {
+ break;
+ }
+ switch (fid)
+ {
+ case 1:
+ if (ftype == ::apache::thrift::protocol::T_STRING) {
+ xfer += iprot->readString(this->name);
+ isset_name = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 2:
+ if (ftype == ::apache::thrift::protocol::T_STRING) {
+ xfer += iprot->readString(this->value);
+ this->__isset.value = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 3:
+ if (ftype == ::apache::thrift::protocol::T_I32) {
+ int32_t ecast1;
+ xfer += iprot->readI32(ecast1);
+ this->type = (DataType::type)ecast1;
+ this->__isset.type = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ default:
+ xfer += iprot->skip(ftype);
+ break;
+ }
+ xfer += iprot->readFieldEnd();
+ }
+
+ xfer += iprot->readStructEnd();
+
+ if (!isset_name)
+ throw TProtocolException(TProtocolException::INVALID_DATA);
+ return xfer;
+}
+
+uint32_t OutputDataObjectType::write(::apache::thrift::protocol::TProtocol* oprot) const {
+ uint32_t xfer = 0;
+ xfer += oprot->writeStructBegin("OutputDataObjectType");
+
+ xfer += oprot->writeFieldBegin("name", ::apache::thrift::protocol::T_STRING, 1);
+ xfer += oprot->writeString(this->name);
+ xfer += oprot->writeFieldEnd();
+
+ if (this->__isset.value) {
+ xfer += oprot->writeFieldBegin("value", ::apache::thrift::protocol::T_STRING, 2);
+ xfer += oprot->writeString(this->value);
+ xfer += oprot->writeFieldEnd();
+ }
+ if (this->__isset.type) {
+ xfer += oprot->writeFieldBegin("type", ::apache::thrift::protocol::T_I32, 3);
+ xfer += oprot->writeI32((int32_t)this->type);
+ xfer += oprot->writeFieldEnd();
+ }
+ xfer += oprot->writeFieldStop();
+ xfer += oprot->writeStructEnd();
+ return xfer;
+}
+
+void swap(OutputDataObjectType &a, OutputDataObjectType &b) {
+ using ::std::swap;
+ swap(a.name, b.name);
+ swap(a.value, b.value);
+ swap(a.type, b.type);
+ swap(a.__isset, b.__isset);
+}
+
+const char* ApplicationInterfaceDescription::ascii_fingerprint = "355A0972969341C2A113049339427849";
+const uint8_t ApplicationInterfaceDescription::binary_fingerprint[16] = {0x35,0x5A,0x09,0x72,0x96,0x93,0x41,0xC2,0xA1,0x13,0x04,0x93,0x39,0x42,0x78,0x49};
+
+uint32_t ApplicationInterfaceDescription::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+ uint32_t xfer = 0;
+ std::string fname;
+ ::apache::thrift::protocol::TType ftype;
+ int16_t fid;
+
+ xfer += iprot->readStructBegin(fname);
+
+ using ::apache::thrift::protocol::TProtocolException;
+
+ bool isset_applicationInterfaceId = false;
+ bool isset_applicationName = false;
+
+ while (true)
+ {
+ xfer += iprot->readFieldBegin(fname, ftype, fid);
+ if (ftype == ::apache::thrift::protocol::T_STOP) {
+ break;
+ }
+ switch (fid)
+ {
+ case 1:
+ if (ftype == ::apache::thrift::protocol::T_STRING) {
+ xfer += iprot->readString(this->applicationInterfaceId);
+ isset_applicationInterfaceId = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 2:
+ if (ftype == ::apache::thrift::protocol::T_STRING) {
+ xfer += iprot->readString(this->applicationName);
+ isset_applicationName = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 3:
+ if (ftype == ::apache::thrift::protocol::T_STRING) {
+ xfer += iprot->readString(this->applicationDesription);
+ this->__isset.applicationDesription = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 4:
+ if (ftype == ::apache::thrift::protocol::T_LIST) {
+ {
+ this->applicationModules.clear();
+ uint32_t _size2;
+ ::apache::thrift::protocol::TType _etype5;
+ xfer += iprot->readListBegin(_etype5, _size2);
+ this->applicationModules.resize(_size2);
+ uint32_t _i6;
+ for (_i6 = 0; _i6 < _size2; ++_i6)
+ {
+ xfer += iprot->readString(this->applicationModules[_i6]);
+ }
+ xfer += iprot->readListEnd();
+ }
+ this->__isset.applicationModules = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 5:
+ if (ftype == ::apache::thrift::protocol::T_LIST) {
+ {
+ this->applicationInputs.clear();
+ uint32_t _size7;
+ ::apache::thrift::protocol::TType _etype10;
+ xfer += iprot->readListBegin(_etype10, _size7);
+ this->applicationInputs.resize(_size7);
+ uint32_t _i11;
+ for (_i11 = 0; _i11 < _size7; ++_i11)
+ {
+ xfer += this->applicationInputs[_i11].read(iprot);
+ }
+ xfer += iprot->readListEnd();
+ }
+ this->__isset.applicationInputs = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 6:
+ if (ftype == ::apache::thrift::protocol::T_LIST) {
+ {
+ this->applicationOutputs.clear();
+ uint32_t _size12;
+ ::apache::thrift::protocol::TType _etype15;
+ xfer += iprot->readListBegin(_etype15, _size12);
+ this->applicationOutputs.resize(_size12);
+ uint32_t _i16;
+ for (_i16 = 0; _i16 < _size12; ++_i16)
+ {
+ xfer += this->applicationOutputs[_i16].read(iprot);
+ }
+ xfer += iprot->readListEnd();
+ }
+ this->__isset.applicationOutputs = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ default:
+ xfer += iprot->skip(ftype);
+ break;
+ }
+ xfer += iprot->readFieldEnd();
+ }
+
+ xfer += iprot->readStructEnd();
+
+ if (!isset_applicationInterfaceId)
+ throw TProtocolException(TProtocolException::INVALID_DATA);
+ if (!isset_applicationName)
+ throw TProtocolException(TProtocolException::INVALID_DATA);
+ return xfer;
+}
+
+uint32_t ApplicationInterfaceDescription::write(::apache::thrift::protocol::TProtocol* oprot) const {
+ uint32_t xfer = 0;
+ xfer += oprot->writeStructBegin("ApplicationInterfaceDescription");
+
+ xfer += oprot->writeFieldBegin("applicationInterfaceId", ::apache::thrift::protocol::T_STRING, 1);
+ xfer += oprot->writeString(this->applicationInterfaceId);
+ xfer += oprot->writeFieldEnd();
+
+ xfer += oprot->writeFieldBegin("applicationName", ::apache::thrift::protocol::T_STRING, 2);
+ xfer += oprot->writeString(this->applicationName);
+ xfer += oprot->writeFieldEnd();
+
+ if (this->__isset.applicationDesription) {
+ xfer += oprot->writeFieldBegin("applicationDesription", ::apache::thrift::protocol::T_STRING, 3);
+ xfer += oprot->writeString(this->applicationDesription);
+ xfer += oprot->writeFieldEnd();
+ }
+ if (this->__isset.applicationModules) {
+ xfer += oprot->writeFieldBegin("applicationModules", ::apache::thrift::protocol::T_LIST, 4);
+ {
+ xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRING, static_cast<uint32_t>(this->applicationModules.size()));
+ std::vector<std::string> ::const_iterator _iter17;
+ for (_iter17 = this->applicationModules.begin(); _iter17 != this->applicationModules.end(); ++_iter17)
+ {
+ xfer += oprot->writeString((*_iter17));
+ }
+ xfer += oprot->writeListEnd();
+ }
+ xfer += oprot->writeFieldEnd();
+ }
+ if (this->__isset.applicationInputs) {
+ xfer += oprot->writeFieldBegin("applicationInputs", ::apache::thrift::protocol::T_LIST, 5);
+ {
+ xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>(this->applicationInputs.size()));
+ std::vector<InputDataObjectType> ::const_iterator _iter18;
+ for (_iter18 = this->applicationInputs.begin(); _iter18 != this->applicationInputs.end(); ++_iter18)
+ {
+ xfer += (*_iter18).write(oprot);
+ }
+ xfer += oprot->writeListEnd();
+ }
+ xfer += oprot->writeFieldEnd();
+ }
+ if (this->__isset.applicationOutputs) {
+ xfer += oprot->writeFieldBegin("applicationOutputs", ::apache::thrift::protocol::T_LIST, 6);
+ {
+ xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>(this->applicationOutputs.size()));
+ std::vector<OutputDataObjectType> ::const_iterator _iter19;
+ for (_iter19 = this->applicationOutputs.begin(); _iter19 != this->applicationOutputs.end(); ++_iter19)
+ {
+ xfer += (*_iter19).write(oprot);
+ }
+ xfer += oprot->writeListEnd();
+ }
+ xfer += oprot->writeFieldEnd();
+ }
+ xfer += oprot->writeFieldStop();
+ xfer += oprot->writeStructEnd();
+ return xfer;
+}
+
+void swap(ApplicationInterfaceDescription &a, ApplicationInterfaceDescription &b) {
+ using ::std::swap;
+ swap(a.applicationInterfaceId, b.applicationInterfaceId);
+ swap(a.applicationName, b.applicationName);
+ swap(a.applicationDesription, b.applicationDesription);
+ swap(a.applicationModules, b.applicationModules);
+ swap(a.applicationInputs, b.applicationInputs);
+ swap(a.applicationOutputs, b.applicationOutputs);
+ swap(a.__isset, b.__isset);
+}
+
+}}}}} // namespace
http://git-wip-us.apache.org/repos/asf/airavata/blob/f891b7dc/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/applicationInterfaceModel_types.h
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/applicationInterfaceModel_types.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/applicationInterfaceModel_types.h
new file mode 100644
index 0000000..5627cfa
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/applicationInterfaceModel_types.h
@@ -0,0 +1,298 @@
+/**
+ * Autogenerated by Thrift Compiler (0.9.1)
+ *
+ * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+ * @generated
+ */
+#ifndef applicationInterfaceModel_TYPES_H
+#define applicationInterfaceModel_TYPES_H
+
+#include <thrift/Thrift.h>
+#include <thrift/TApplicationException.h>
+#include <thrift/protocol/TProtocol.h>
+#include <thrift/transport/TTransport.h>
+
+#include <thrift/cxxfunctional.h>
+
+
+namespace apache { namespace airavata { namespace model { namespace appcatalog { namespace appinterface {
+
+struct DataType {
+ enum type {
+ STRING = 0,
+ INTEGER = 1,
+ FLOAT = 2,
+ URI = 3
+ };
+};
+
+extern const std::map<int, const char*> _DataType_VALUES_TO_NAMES;
+
+typedef struct _InputDataObjectType__isset {
+ _InputDataObjectType__isset() : value(false), type(false), applicationArgument(false), standardInput(true), userFriendlyDescription(false), metaData(false) {}
+ bool value;
+ bool type;
+ bool applicationArgument;
+ bool standardInput;
+ bool userFriendlyDescription;
+ bool metaData;
+} _InputDataObjectType__isset;
+
+class InputDataObjectType {
+ public:
+
+ static const char* ascii_fingerprint; // = "24F962C1CE4BE9FBD0F5D5EE9D1D5C00";
+ static const uint8_t binary_fingerprint[16]; // = {0x24,0xF9,0x62,0xC1,0xCE,0x4B,0xE9,0xFB,0xD0,0xF5,0xD5,0xEE,0x9D,0x1D,0x5C,0x00};
+
+ InputDataObjectType() : name(), value(), type((DataType::type)0), applicationArgument(), standardInput(false), userFriendlyDescription(), metaData() {
+ }
+
+ virtual ~InputDataObjectType() throw() {}
+
+ std::string name;
+ std::string value;
+ DataType::type type;
+ std::string applicationArgument;
+ bool standardInput;
+ std::string userFriendlyDescription;
+ std::string metaData;
+
+ _InputDataObjectType__isset __isset;
+
+ void __set_name(const std::string& val) {
+ name = val;
+ }
+
+ void __set_value(const std::string& val) {
+ value = val;
+ __isset.value = true;
+ }
+
+ void __set_type(const DataType::type val) {
+ type = val;
+ __isset.type = true;
+ }
+
+ void __set_applicationArgument(const std::string& val) {
+ applicationArgument = val;
+ __isset.applicationArgument = true;
+ }
+
+ void __set_standardInput(const bool val) {
+ standardInput = val;
+ __isset.standardInput = true;
+ }
+
+ void __set_userFriendlyDescription(const std::string& val) {
+ userFriendlyDescription = val;
+ __isset.userFriendlyDescription = true;
+ }
+
+ void __set_metaData(const std::string& val) {
+ metaData = val;
+ __isset.metaData = true;
+ }
+
+ bool operator == (const InputDataObjectType & rhs) const
+ {
+ if (!(name == rhs.name))
+ return false;
+ if (__isset.value != rhs.__isset.value)
+ return false;
+ else if (__isset.value && !(value == rhs.value))
+ return false;
+ if (__isset.type != rhs.__isset.type)
+ return false;
+ else if (__isset.type && !(type == rhs.type))
+ return false;
+ if (__isset.applicationArgument != rhs.__isset.applicationArgument)
+ return false;
+ else if (__isset.applicationArgument && !(applicationArgument == rhs.applicationArgument))
+ return false;
+ if (__isset.standardInput != rhs.__isset.standardInput)
+ return false;
+ else if (__isset.standardInput && !(standardInput == rhs.standardInput))
+ return false;
+ if (__isset.userFriendlyDescription != rhs.__isset.userFriendlyDescription)
+ return false;
+ else if (__isset.userFriendlyDescription && !(userFriendlyDescription == rhs.userFriendlyDescription))
+ return false;
+ if (__isset.metaData != rhs.__isset.metaData)
+ return false;
+ else if (__isset.metaData && !(metaData == rhs.metaData))
+ return false;
+ return true;
+ }
+ bool operator != (const InputDataObjectType &rhs) const {
+ return !(*this == rhs);
+ }
+
+ bool operator < (const InputDataObjectType & ) const;
+
+ uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+ uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+void swap(InputDataObjectType &a, InputDataObjectType &b);
+
+typedef struct _OutputDataObjectType__isset {
+ _OutputDataObjectType__isset() : value(false), type(false) {}
+ bool value;
+ bool type;
+} _OutputDataObjectType__isset;
+
+class OutputDataObjectType {
+ public:
+
+ static const char* ascii_fingerprint; // = "B33AE596EF78C48424CF96BCA5D1DF99";
+ static const uint8_t binary_fingerprint[16]; // = {0xB3,0x3A,0xE5,0x96,0xEF,0x78,0xC4,0x84,0x24,0xCF,0x96,0xBC,0xA5,0xD1,0xDF,0x99};
+
+ OutputDataObjectType() : name(), value(), type((DataType::type)0) {
+ }
+
+ virtual ~OutputDataObjectType() throw() {}
+
+ std::string name;
+ std::string value;
+ DataType::type type;
+
+ _OutputDataObjectType__isset __isset;
+
+ void __set_name(const std::string& val) {
+ name = val;
+ }
+
+ void __set_value(const std::string& val) {
+ value = val;
+ __isset.value = true;
+ }
+
+ void __set_type(const DataType::type val) {
+ type = val;
+ __isset.type = true;
+ }
+
+ bool operator == (const OutputDataObjectType & rhs) const
+ {
+ if (!(name == rhs.name))
+ return false;
+ if (__isset.value != rhs.__isset.value)
+ return false;
+ else if (__isset.value && !(value == rhs.value))
+ return false;
+ if (__isset.type != rhs.__isset.type)
+ return false;
+ else if (__isset.type && !(type == rhs.type))
+ return false;
+ return true;
+ }
+ bool operator != (const OutputDataObjectType &rhs) const {
+ return !(*this == rhs);
+ }
+
+ bool operator < (const OutputDataObjectType & ) const;
+
+ uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+ uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+void swap(OutputDataObjectType &a, OutputDataObjectType &b);
+
+typedef struct _ApplicationInterfaceDescription__isset {
+ _ApplicationInterfaceDescription__isset() : applicationDesription(false), applicationModules(false), applicationInputs(false), applicationOutputs(false) {}
+ bool applicationDesription;
+ bool applicationModules;
+ bool applicationInputs;
+ bool applicationOutputs;
+} _ApplicationInterfaceDescription__isset;
+
+class ApplicationInterfaceDescription {
+ public:
+
+ static const char* ascii_fingerprint; // = "355A0972969341C2A113049339427849";
+ static const uint8_t binary_fingerprint[16]; // = {0x35,0x5A,0x09,0x72,0x96,0x93,0x41,0xC2,0xA1,0x13,0x04,0x93,0x39,0x42,0x78,0x49};
+
+ ApplicationInterfaceDescription() : applicationInterfaceId("DO_NOT_SET_AT_CLIENTS"), applicationName(), applicationDesription() {
+ }
+
+ virtual ~ApplicationInterfaceDescription() throw() {}
+
+ std::string applicationInterfaceId;
+ std::string applicationName;
+ std::string applicationDesription;
+ std::vector<std::string> applicationModules;
+ std::vector<InputDataObjectType> applicationInputs;
+ std::vector<OutputDataObjectType> applicationOutputs;
+
+ _ApplicationInterfaceDescription__isset __isset;
+
+ void __set_applicationInterfaceId(const std::string& val) {
+ applicationInterfaceId = val;
+ }
+
+ void __set_applicationName(const std::string& val) {
+ applicationName = val;
+ }
+
+ void __set_applicationDesription(const std::string& val) {
+ applicationDesription = val;
+ __isset.applicationDesription = true;
+ }
+
+ void __set_applicationModules(const std::vector<std::string> & val) {
+ applicationModules = val;
+ __isset.applicationModules = true;
+ }
+
+ void __set_applicationInputs(const std::vector<InputDataObjectType> & val) {
+ applicationInputs = val;
+ __isset.applicationInputs = true;
+ }
+
+ void __set_applicationOutputs(const std::vector<OutputDataObjectType> & val) {
+ applicationOutputs = val;
+ __isset.applicationOutputs = true;
+ }
+
+ bool operator == (const ApplicationInterfaceDescription & rhs) const
+ {
+ if (!(applicationInterfaceId == rhs.applicationInterfaceId))
+ return false;
+ if (!(applicationName == rhs.applicationName))
+ return false;
+ if (__isset.applicationDesription != rhs.__isset.applicationDesription)
+ return false;
+ else if (__isset.applicationDesription && !(applicationDesription == rhs.applicationDesription))
+ return false;
+ if (__isset.applicationModules != rhs.__isset.applicationModules)
+ return false;
+ else if (__isset.applicationModules && !(applicationModules == rhs.applicationModules))
+ return false;
+ if (__isset.applicationInputs != rhs.__isset.applicationInputs)
+ return false;
+ else if (__isset.applicationInputs && !(applicationInputs == rhs.applicationInputs))
+ return false;
+ if (__isset.applicationOutputs != rhs.__isset.applicationOutputs)
+ return false;
+ else if (__isset.applicationOutputs && !(applicationOutputs == rhs.applicationOutputs))
+ return false;
+ return true;
+ }
+ bool operator != (const ApplicationInterfaceDescription &rhs) const {
+ return !(*this == rhs);
+ }
+
+ bool operator < (const ApplicationInterfaceDescription & ) const;
+
+ uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+ uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+void swap(ApplicationInterfaceDescription &a, ApplicationInterfaceDescription &b);
+
+}}}}} // namespace
+
+#endif
http://git-wip-us.apache.org/repos/asf/airavata/blob/f891b7dc/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/computeResourceModel_constants.cpp
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/computeResourceModel_constants.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/computeResourceModel_constants.cpp
new file mode 100644
index 0000000..4ea6bcb
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/computeResourceModel_constants.cpp
@@ -0,0 +1,19 @@
+/**
+ * Autogenerated by Thrift Compiler (0.9.1)
+ *
+ * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+ * @generated
+ */
+#include "computeResourceModel_constants.h"
+
+namespace apache { namespace airavata { namespace model { namespace appcatalog { namespace computeresource {
+
+const computeResourceModelConstants g_computeResourceModel_constants;
+
+computeResourceModelConstants::computeResourceModelConstants() {
+ DEFAULT_ID = "DO_NOT_SET_AT_CLIENTS";
+
+}
+
+}}}}} // namespace
+
http://git-wip-us.apache.org/repos/asf/airavata/blob/f891b7dc/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/computeResourceModel_constants.h
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/computeResourceModel_constants.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/computeResourceModel_constants.h
new file mode 100644
index 0000000..abdab96
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/computeResourceModel_constants.h
@@ -0,0 +1,25 @@
+/**
+ * Autogenerated by Thrift Compiler (0.9.1)
+ *
+ * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+ * @generated
+ */
+#ifndef computeResourceModel_CONSTANTS_H
+#define computeResourceModel_CONSTANTS_H
+
+#include "computeResourceModel_types.h"
+
+namespace apache { namespace airavata { namespace model { namespace appcatalog { namespace computeresource {
+
+class computeResourceModelConstants {
+ public:
+ computeResourceModelConstants();
+
+ std::string DEFAULT_ID;
+};
+
+extern const computeResourceModelConstants g_computeResourceModel_constants;
+
+}}}}} // namespace
+
+#endif
[31/47] removed unnecessary files, updated ini file
Posted by sm...@apache.org.
http://git-wip-us.apache.org/repos/asf/airavata/blob/00b8aaf0/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/computeResourceModel_types.cpp
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/computeResourceModel_types.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/computeResourceModel_types.cpp
deleted file mode 100644
index 08eb394..0000000
--- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/computeResourceModel_types.cpp
+++ /dev/null
@@ -1,1515 +0,0 @@
-/**
- * Autogenerated by Thrift Compiler (0.9.1)
- *
- * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
- * @generated
- */
-#include "computeResourceModel_types.h"
-
-#include <algorithm>
-
-namespace apache { namespace airavata { namespace model { namespace appcatalog { namespace computeresource {
-
-int _kResourceJobManagerTypeValues[] = {
- ResourceJobManagerType::FORK,
- ResourceJobManagerType::PBS,
- ResourceJobManagerType::UGE,
- ResourceJobManagerType::SLURM
-};
-const char* _kResourceJobManagerTypeNames[] = {
- "FORK",
- "PBS",
- "UGE",
- "SLURM"
-};
-const std::map<int, const char*> _ResourceJobManagerType_VALUES_TO_NAMES(::apache::thrift::TEnumIterator(4, _kResourceJobManagerTypeValues, _kResourceJobManagerTypeNames), ::apache::thrift::TEnumIterator(-1, NULL, NULL));
-
-int _kJobManagerCommandValues[] = {
- JobManagerCommand::SUBMISSION,
- JobManagerCommand::JOB_MONITORING,
- JobManagerCommand::DELETION,
- JobManagerCommand::CHECK_JOB,
- JobManagerCommand::SHOW_QUEUE,
- JobManagerCommand::SHOW_RESERVATION,
- JobManagerCommand::SHOW_START
-};
-const char* _kJobManagerCommandNames[] = {
- "SUBMISSION",
- "JOB_MONITORING",
- "DELETION",
- "CHECK_JOB",
- "SHOW_QUEUE",
- "SHOW_RESERVATION",
- "SHOW_START"
-};
-const std::map<int, const char*> _JobManagerCommand_VALUES_TO_NAMES(::apache::thrift::TEnumIterator(7, _kJobManagerCommandValues, _kJobManagerCommandNames), ::apache::thrift::TEnumIterator(-1, NULL, NULL));
-
-int _kFileSystemsValues[] = {
- FileSystems::HOME,
- FileSystems::WORK,
- FileSystems::LOCALTMP,
- FileSystems::SCRATCH,
- FileSystems::ARCHIVE
-};
-const char* _kFileSystemsNames[] = {
- "HOME",
- "WORK",
- "LOCALTMP",
- "SCRATCH",
- "ARCHIVE"
-};
-const std::map<int, const char*> _FileSystems_VALUES_TO_NAMES(::apache::thrift::TEnumIterator(5, _kFileSystemsValues, _kFileSystemsNames), ::apache::thrift::TEnumIterator(-1, NULL, NULL));
-
-int _kSecurityProtocolValues[] = {
- SecurityProtocol::USERNAME_PASSWORD,
- SecurityProtocol::SSH_KEYS,
- SecurityProtocol::GSI,
- SecurityProtocol::KERBEROS,
- SecurityProtocol::OAUTH
-};
-const char* _kSecurityProtocolNames[] = {
- "USERNAME_PASSWORD",
- "SSH_KEYS",
- "GSI",
- "KERBEROS",
- "OAUTH"
-};
-const std::map<int, const char*> _SecurityProtocol_VALUES_TO_NAMES(::apache::thrift::TEnumIterator(5, _kSecurityProtocolValues, _kSecurityProtocolNames), ::apache::thrift::TEnumIterator(-1, NULL, NULL));
-
-int _kJobSubmissionProtocolValues[] = {
- JobSubmissionProtocol::LOCAL,
- JobSubmissionProtocol::SSH,
- JobSubmissionProtocol::GLOBUS,
- JobSubmissionProtocol::UNICORE
-};
-const char* _kJobSubmissionProtocolNames[] = {
- "LOCAL",
- "SSH",
- "GLOBUS",
- "UNICORE"
-};
-const std::map<int, const char*> _JobSubmissionProtocol_VALUES_TO_NAMES(::apache::thrift::TEnumIterator(4, _kJobSubmissionProtocolValues, _kJobSubmissionProtocolNames), ::apache::thrift::TEnumIterator(-1, NULL, NULL));
-
-int _kDataMovementProtocolValues[] = {
- DataMovementProtocol::LOCAL,
- DataMovementProtocol::SCP,
- DataMovementProtocol::SFTP,
- DataMovementProtocol::GridFTP,
- DataMovementProtocol::UNICORE_STORAGE_SERVICE
-};
-const char* _kDataMovementProtocolNames[] = {
- "LOCAL",
- "SCP",
- "SFTP",
- "GridFTP",
- "UNICORE_STORAGE_SERVICE"
-};
-const std::map<int, const char*> _DataMovementProtocol_VALUES_TO_NAMES(::apache::thrift::TEnumIterator(5, _kDataMovementProtocolValues, _kDataMovementProtocolNames), ::apache::thrift::TEnumIterator(-1, NULL, NULL));
-
-const char* ResourceJobManager::ascii_fingerprint = "F61CAF80247D0E44C8D52504F3A43BED";
-const uint8_t ResourceJobManager::binary_fingerprint[16] = {0xF6,0x1C,0xAF,0x80,0x24,0x7D,0x0E,0x44,0xC8,0xD5,0x25,0x04,0xF3,0xA4,0x3B,0xED};
-
-uint32_t ResourceJobManager::read(::apache::thrift::protocol::TProtocol* iprot) {
-
- uint32_t xfer = 0;
- std::string fname;
- ::apache::thrift::protocol::TType ftype;
- int16_t fid;
-
- xfer += iprot->readStructBegin(fname);
-
- using ::apache::thrift::protocol::TProtocolException;
-
- bool isset_resourceJobManagerId = false;
- bool isset_resourceJobManagerType = false;
-
- while (true)
- {
- xfer += iprot->readFieldBegin(fname, ftype, fid);
- if (ftype == ::apache::thrift::protocol::T_STOP) {
- break;
- }
- switch (fid)
- {
- case 1:
- if (ftype == ::apache::thrift::protocol::T_STRING) {
- xfer += iprot->readString(this->resourceJobManagerId);
- isset_resourceJobManagerId = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 2:
- if (ftype == ::apache::thrift::protocol::T_I32) {
- int32_t ecast0;
- xfer += iprot->readI32(ecast0);
- this->resourceJobManagerType = (ResourceJobManagerType::type)ecast0;
- isset_resourceJobManagerType = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 3:
- if (ftype == ::apache::thrift::protocol::T_STRING) {
- xfer += iprot->readString(this->pushMonitoringEndpoint);
- this->__isset.pushMonitoringEndpoint = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 4:
- if (ftype == ::apache::thrift::protocol::T_STRING) {
- xfer += iprot->readString(this->jobManagerBinPath);
- this->__isset.jobManagerBinPath = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 5:
- if (ftype == ::apache::thrift::protocol::T_MAP) {
- {
- this->jobManagerCommands.clear();
- uint32_t _size1;
- ::apache::thrift::protocol::TType _ktype2;
- ::apache::thrift::protocol::TType _vtype3;
- xfer += iprot->readMapBegin(_ktype2, _vtype3, _size1);
- uint32_t _i5;
- for (_i5 = 0; _i5 < _size1; ++_i5)
- {
- JobManagerCommand::type _key6;
- int32_t ecast8;
- xfer += iprot->readI32(ecast8);
- _key6 = (JobManagerCommand::type)ecast8;
- std::string& _val7 = this->jobManagerCommands[_key6];
- xfer += iprot->readString(_val7);
- }
- xfer += iprot->readMapEnd();
- }
- this->__isset.jobManagerCommands = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- default:
- xfer += iprot->skip(ftype);
- break;
- }
- xfer += iprot->readFieldEnd();
- }
-
- xfer += iprot->readStructEnd();
-
- if (!isset_resourceJobManagerId)
- throw TProtocolException(TProtocolException::INVALID_DATA);
- if (!isset_resourceJobManagerType)
- throw TProtocolException(TProtocolException::INVALID_DATA);
- return xfer;
-}
-
-uint32_t ResourceJobManager::write(::apache::thrift::protocol::TProtocol* oprot) const {
- uint32_t xfer = 0;
- xfer += oprot->writeStructBegin("ResourceJobManager");
-
- xfer += oprot->writeFieldBegin("resourceJobManagerId", ::apache::thrift::protocol::T_STRING, 1);
- xfer += oprot->writeString(this->resourceJobManagerId);
- xfer += oprot->writeFieldEnd();
-
- xfer += oprot->writeFieldBegin("resourceJobManagerType", ::apache::thrift::protocol::T_I32, 2);
- xfer += oprot->writeI32((int32_t)this->resourceJobManagerType);
- xfer += oprot->writeFieldEnd();
-
- if (this->__isset.pushMonitoringEndpoint) {
- xfer += oprot->writeFieldBegin("pushMonitoringEndpoint", ::apache::thrift::protocol::T_STRING, 3);
- xfer += oprot->writeString(this->pushMonitoringEndpoint);
- xfer += oprot->writeFieldEnd();
- }
- if (this->__isset.jobManagerBinPath) {
- xfer += oprot->writeFieldBegin("jobManagerBinPath", ::apache::thrift::protocol::T_STRING, 4);
- xfer += oprot->writeString(this->jobManagerBinPath);
- xfer += oprot->writeFieldEnd();
- }
- if (this->__isset.jobManagerCommands) {
- xfer += oprot->writeFieldBegin("jobManagerCommands", ::apache::thrift::protocol::T_MAP, 5);
- {
- xfer += oprot->writeMapBegin(::apache::thrift::protocol::T_I32, ::apache::thrift::protocol::T_STRING, static_cast<uint32_t>(this->jobManagerCommands.size()));
- std::map<JobManagerCommand::type, std::string> ::const_iterator _iter9;
- for (_iter9 = this->jobManagerCommands.begin(); _iter9 != this->jobManagerCommands.end(); ++_iter9)
- {
- xfer += oprot->writeI32((int32_t)_iter9->first);
- xfer += oprot->writeString(_iter9->second);
- }
- xfer += oprot->writeMapEnd();
- }
- xfer += oprot->writeFieldEnd();
- }
- xfer += oprot->writeFieldStop();
- xfer += oprot->writeStructEnd();
- return xfer;
-}
-
-void swap(ResourceJobManager &a, ResourceJobManager &b) {
- using ::std::swap;
- swap(a.resourceJobManagerId, b.resourceJobManagerId);
- swap(a.resourceJobManagerType, b.resourceJobManagerType);
- swap(a.pushMonitoringEndpoint, b.pushMonitoringEndpoint);
- swap(a.jobManagerBinPath, b.jobManagerBinPath);
- swap(a.jobManagerCommands, b.jobManagerCommands);
- swap(a.__isset, b.__isset);
-}
-
-const char* BatchQueue::ascii_fingerprint = "DA59FF8EE453E1822971C1CE1471EEA1";
-const uint8_t BatchQueue::binary_fingerprint[16] = {0xDA,0x59,0xFF,0x8E,0xE4,0x53,0xE1,0x82,0x29,0x71,0xC1,0xCE,0x14,0x71,0xEE,0xA1};
-
-uint32_t BatchQueue::read(::apache::thrift::protocol::TProtocol* iprot) {
-
- uint32_t xfer = 0;
- std::string fname;
- ::apache::thrift::protocol::TType ftype;
- int16_t fid;
-
- xfer += iprot->readStructBegin(fname);
-
- using ::apache::thrift::protocol::TProtocolException;
-
- bool isset_queueName = false;
-
- while (true)
- {
- xfer += iprot->readFieldBegin(fname, ftype, fid);
- if (ftype == ::apache::thrift::protocol::T_STOP) {
- break;
- }
- switch (fid)
- {
- case 1:
- if (ftype == ::apache::thrift::protocol::T_STRING) {
- xfer += iprot->readString(this->queueName);
- isset_queueName = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 2:
- if (ftype == ::apache::thrift::protocol::T_STRING) {
- xfer += iprot->readString(this->queueDescription);
- this->__isset.queueDescription = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 3:
- if (ftype == ::apache::thrift::protocol::T_I32) {
- xfer += iprot->readI32(this->maxRunTime);
- this->__isset.maxRunTime = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 4:
- if (ftype == ::apache::thrift::protocol::T_I32) {
- xfer += iprot->readI32(this->maxNodes);
- this->__isset.maxNodes = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 5:
- if (ftype == ::apache::thrift::protocol::T_I32) {
- xfer += iprot->readI32(this->maxProcessors);
- this->__isset.maxProcessors = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 6:
- if (ftype == ::apache::thrift::protocol::T_I32) {
- xfer += iprot->readI32(this->maxJobsInQueue);
- this->__isset.maxJobsInQueue = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- default:
- xfer += iprot->skip(ftype);
- break;
- }
- xfer += iprot->readFieldEnd();
- }
-
- xfer += iprot->readStructEnd();
-
- if (!isset_queueName)
- throw TProtocolException(TProtocolException::INVALID_DATA);
- return xfer;
-}
-
-uint32_t BatchQueue::write(::apache::thrift::protocol::TProtocol* oprot) const {
- uint32_t xfer = 0;
- xfer += oprot->writeStructBegin("BatchQueue");
-
- xfer += oprot->writeFieldBegin("queueName", ::apache::thrift::protocol::T_STRING, 1);
- xfer += oprot->writeString(this->queueName);
- xfer += oprot->writeFieldEnd();
-
- if (this->__isset.queueDescription) {
- xfer += oprot->writeFieldBegin("queueDescription", ::apache::thrift::protocol::T_STRING, 2);
- xfer += oprot->writeString(this->queueDescription);
- xfer += oprot->writeFieldEnd();
- }
- if (this->__isset.maxRunTime) {
- xfer += oprot->writeFieldBegin("maxRunTime", ::apache::thrift::protocol::T_I32, 3);
- xfer += oprot->writeI32(this->maxRunTime);
- xfer += oprot->writeFieldEnd();
- }
- if (this->__isset.maxNodes) {
- xfer += oprot->writeFieldBegin("maxNodes", ::apache::thrift::protocol::T_I32, 4);
- xfer += oprot->writeI32(this->maxNodes);
- xfer += oprot->writeFieldEnd();
- }
- if (this->__isset.maxProcessors) {
- xfer += oprot->writeFieldBegin("maxProcessors", ::apache::thrift::protocol::T_I32, 5);
- xfer += oprot->writeI32(this->maxProcessors);
- xfer += oprot->writeFieldEnd();
- }
- if (this->__isset.maxJobsInQueue) {
- xfer += oprot->writeFieldBegin("maxJobsInQueue", ::apache::thrift::protocol::T_I32, 6);
- xfer += oprot->writeI32(this->maxJobsInQueue);
- xfer += oprot->writeFieldEnd();
- }
- xfer += oprot->writeFieldStop();
- xfer += oprot->writeStructEnd();
- return xfer;
-}
-
-void swap(BatchQueue &a, BatchQueue &b) {
- using ::std::swap;
- swap(a.queueName, b.queueName);
- swap(a.queueDescription, b.queueDescription);
- swap(a.maxRunTime, b.maxRunTime);
- swap(a.maxNodes, b.maxNodes);
- swap(a.maxProcessors, b.maxProcessors);
- swap(a.maxJobsInQueue, b.maxJobsInQueue);
- swap(a.__isset, b.__isset);
-}
-
-const char* SCPDataMovement::ascii_fingerprint = "63CAE6EE336A7DBD91CCCD6E22628F4A";
-const uint8_t SCPDataMovement::binary_fingerprint[16] = {0x63,0xCA,0xE6,0xEE,0x33,0x6A,0x7D,0xBD,0x91,0xCC,0xCD,0x6E,0x22,0x62,0x8F,0x4A};
-
-uint32_t SCPDataMovement::read(::apache::thrift::protocol::TProtocol* iprot) {
-
- uint32_t xfer = 0;
- std::string fname;
- ::apache::thrift::protocol::TType ftype;
- int16_t fid;
-
- xfer += iprot->readStructBegin(fname);
-
- using ::apache::thrift::protocol::TProtocolException;
-
- bool isset_dataMovementInterfaceId = false;
- bool isset_securityProtocol = false;
-
- while (true)
- {
- xfer += iprot->readFieldBegin(fname, ftype, fid);
- if (ftype == ::apache::thrift::protocol::T_STOP) {
- break;
- }
- switch (fid)
- {
- case 1:
- if (ftype == ::apache::thrift::protocol::T_STRING) {
- xfer += iprot->readString(this->dataMovementInterfaceId);
- isset_dataMovementInterfaceId = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 2:
- if (ftype == ::apache::thrift::protocol::T_I32) {
- int32_t ecast10;
- xfer += iprot->readI32(ecast10);
- this->securityProtocol = (SecurityProtocol::type)ecast10;
- isset_securityProtocol = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 3:
- if (ftype == ::apache::thrift::protocol::T_STRING) {
- xfer += iprot->readString(this->alternativeSCPHostName);
- this->__isset.alternativeSCPHostName = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 4:
- if (ftype == ::apache::thrift::protocol::T_I32) {
- xfer += iprot->readI32(this->sshPort);
- this->__isset.sshPort = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- default:
- xfer += iprot->skip(ftype);
- break;
- }
- xfer += iprot->readFieldEnd();
- }
-
- xfer += iprot->readStructEnd();
-
- if (!isset_dataMovementInterfaceId)
- throw TProtocolException(TProtocolException::INVALID_DATA);
- if (!isset_securityProtocol)
- throw TProtocolException(TProtocolException::INVALID_DATA);
- return xfer;
-}
-
-uint32_t SCPDataMovement::write(::apache::thrift::protocol::TProtocol* oprot) const {
- uint32_t xfer = 0;
- xfer += oprot->writeStructBegin("SCPDataMovement");
-
- xfer += oprot->writeFieldBegin("dataMovementInterfaceId", ::apache::thrift::protocol::T_STRING, 1);
- xfer += oprot->writeString(this->dataMovementInterfaceId);
- xfer += oprot->writeFieldEnd();
-
- xfer += oprot->writeFieldBegin("securityProtocol", ::apache::thrift::protocol::T_I32, 2);
- xfer += oprot->writeI32((int32_t)this->securityProtocol);
- xfer += oprot->writeFieldEnd();
-
- if (this->__isset.alternativeSCPHostName) {
- xfer += oprot->writeFieldBegin("alternativeSCPHostName", ::apache::thrift::protocol::T_STRING, 3);
- xfer += oprot->writeString(this->alternativeSCPHostName);
- xfer += oprot->writeFieldEnd();
- }
- if (this->__isset.sshPort) {
- xfer += oprot->writeFieldBegin("sshPort", ::apache::thrift::protocol::T_I32, 4);
- xfer += oprot->writeI32(this->sshPort);
- xfer += oprot->writeFieldEnd();
- }
- xfer += oprot->writeFieldStop();
- xfer += oprot->writeStructEnd();
- return xfer;
-}
-
-void swap(SCPDataMovement &a, SCPDataMovement &b) {
- using ::std::swap;
- swap(a.dataMovementInterfaceId, b.dataMovementInterfaceId);
- swap(a.securityProtocol, b.securityProtocol);
- swap(a.alternativeSCPHostName, b.alternativeSCPHostName);
- swap(a.sshPort, b.sshPort);
- swap(a.__isset, b.__isset);
-}
-
-const char* GridFTPDataMovement::ascii_fingerprint = "790EE8B1D56A3B9B76C41DD063726E75";
-const uint8_t GridFTPDataMovement::binary_fingerprint[16] = {0x79,0x0E,0xE8,0xB1,0xD5,0x6A,0x3B,0x9B,0x76,0xC4,0x1D,0xD0,0x63,0x72,0x6E,0x75};
-
-uint32_t GridFTPDataMovement::read(::apache::thrift::protocol::TProtocol* iprot) {
-
- uint32_t xfer = 0;
- std::string fname;
- ::apache::thrift::protocol::TType ftype;
- int16_t fid;
-
- xfer += iprot->readStructBegin(fname);
-
- using ::apache::thrift::protocol::TProtocolException;
-
- bool isset_dataMovementInterfaceId = false;
- bool isset_securityProtocol = false;
- bool isset_gridFTPEndPoints = false;
-
- while (true)
- {
- xfer += iprot->readFieldBegin(fname, ftype, fid);
- if (ftype == ::apache::thrift::protocol::T_STOP) {
- break;
- }
- switch (fid)
- {
- case 1:
- if (ftype == ::apache::thrift::protocol::T_STRING) {
- xfer += iprot->readString(this->dataMovementInterfaceId);
- isset_dataMovementInterfaceId = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 2:
- if (ftype == ::apache::thrift::protocol::T_I32) {
- int32_t ecast11;
- xfer += iprot->readI32(ecast11);
- this->securityProtocol = (SecurityProtocol::type)ecast11;
- isset_securityProtocol = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 3:
- if (ftype == ::apache::thrift::protocol::T_LIST) {
- {
- this->gridFTPEndPoints.clear();
- uint32_t _size12;
- ::apache::thrift::protocol::TType _etype15;
- xfer += iprot->readListBegin(_etype15, _size12);
- this->gridFTPEndPoints.resize(_size12);
- uint32_t _i16;
- for (_i16 = 0; _i16 < _size12; ++_i16)
- {
- xfer += iprot->readString(this->gridFTPEndPoints[_i16]);
- }
- xfer += iprot->readListEnd();
- }
- isset_gridFTPEndPoints = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- default:
- xfer += iprot->skip(ftype);
- break;
- }
- xfer += iprot->readFieldEnd();
- }
-
- xfer += iprot->readStructEnd();
-
- if (!isset_dataMovementInterfaceId)
- throw TProtocolException(TProtocolException::INVALID_DATA);
- if (!isset_securityProtocol)
- throw TProtocolException(TProtocolException::INVALID_DATA);
- if (!isset_gridFTPEndPoints)
- throw TProtocolException(TProtocolException::INVALID_DATA);
- return xfer;
-}
-
-uint32_t GridFTPDataMovement::write(::apache::thrift::protocol::TProtocol* oprot) const {
- uint32_t xfer = 0;
- xfer += oprot->writeStructBegin("GridFTPDataMovement");
-
- xfer += oprot->writeFieldBegin("dataMovementInterfaceId", ::apache::thrift::protocol::T_STRING, 1);
- xfer += oprot->writeString(this->dataMovementInterfaceId);
- xfer += oprot->writeFieldEnd();
-
- xfer += oprot->writeFieldBegin("securityProtocol", ::apache::thrift::protocol::T_I32, 2);
- xfer += oprot->writeI32((int32_t)this->securityProtocol);
- xfer += oprot->writeFieldEnd();
-
- xfer += oprot->writeFieldBegin("gridFTPEndPoints", ::apache::thrift::protocol::T_LIST, 3);
- {
- xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRING, static_cast<uint32_t>(this->gridFTPEndPoints.size()));
- std::vector<std::string> ::const_iterator _iter17;
- for (_iter17 = this->gridFTPEndPoints.begin(); _iter17 != this->gridFTPEndPoints.end(); ++_iter17)
- {
- xfer += oprot->writeString((*_iter17));
- }
- xfer += oprot->writeListEnd();
- }
- xfer += oprot->writeFieldEnd();
-
- xfer += oprot->writeFieldStop();
- xfer += oprot->writeStructEnd();
- return xfer;
-}
-
-void swap(GridFTPDataMovement &a, GridFTPDataMovement &b) {
- using ::std::swap;
- swap(a.dataMovementInterfaceId, b.dataMovementInterfaceId);
- swap(a.securityProtocol, b.securityProtocol);
- swap(a.gridFTPEndPoints, b.gridFTPEndPoints);
-}
-
-const char* LOCALSubmission::ascii_fingerprint = "A5A35C842CBE1CA9D6A13C5974C6FB8F";
-const uint8_t LOCALSubmission::binary_fingerprint[16] = {0xA5,0xA3,0x5C,0x84,0x2C,0xBE,0x1C,0xA9,0xD6,0xA1,0x3C,0x59,0x74,0xC6,0xFB,0x8F};
-
-uint32_t LOCALSubmission::read(::apache::thrift::protocol::TProtocol* iprot) {
-
- uint32_t xfer = 0;
- std::string fname;
- ::apache::thrift::protocol::TType ftype;
- int16_t fid;
-
- xfer += iprot->readStructBegin(fname);
-
- using ::apache::thrift::protocol::TProtocolException;
-
- bool isset_jobSubmissionInterfaceId = false;
- bool isset_resourceJobManager = false;
-
- while (true)
- {
- xfer += iprot->readFieldBegin(fname, ftype, fid);
- if (ftype == ::apache::thrift::protocol::T_STOP) {
- break;
- }
- switch (fid)
- {
- case 1:
- if (ftype == ::apache::thrift::protocol::T_STRING) {
- xfer += iprot->readString(this->jobSubmissionInterfaceId);
- isset_jobSubmissionInterfaceId = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 2:
- if (ftype == ::apache::thrift::protocol::T_STRUCT) {
- xfer += this->resourceJobManager.read(iprot);
- isset_resourceJobManager = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- default:
- xfer += iprot->skip(ftype);
- break;
- }
- xfer += iprot->readFieldEnd();
- }
-
- xfer += iprot->readStructEnd();
-
- if (!isset_jobSubmissionInterfaceId)
- throw TProtocolException(TProtocolException::INVALID_DATA);
- if (!isset_resourceJobManager)
- throw TProtocolException(TProtocolException::INVALID_DATA);
- return xfer;
-}
-
-uint32_t LOCALSubmission::write(::apache::thrift::protocol::TProtocol* oprot) const {
- uint32_t xfer = 0;
- xfer += oprot->writeStructBegin("LOCALSubmission");
-
- xfer += oprot->writeFieldBegin("jobSubmissionInterfaceId", ::apache::thrift::protocol::T_STRING, 1);
- xfer += oprot->writeString(this->jobSubmissionInterfaceId);
- xfer += oprot->writeFieldEnd();
-
- xfer += oprot->writeFieldBegin("resourceJobManager", ::apache::thrift::protocol::T_STRUCT, 2);
- xfer += this->resourceJobManager.write(oprot);
- xfer += oprot->writeFieldEnd();
-
- xfer += oprot->writeFieldStop();
- xfer += oprot->writeStructEnd();
- return xfer;
-}
-
-void swap(LOCALSubmission &a, LOCALSubmission &b) {
- using ::std::swap;
- swap(a.jobSubmissionInterfaceId, b.jobSubmissionInterfaceId);
- swap(a.resourceJobManager, b.resourceJobManager);
-}
-
-const char* LOCALDataMovement::ascii_fingerprint = "EFB929595D312AC8F305D5A794CFEDA1";
-const uint8_t LOCALDataMovement::binary_fingerprint[16] = {0xEF,0xB9,0x29,0x59,0x5D,0x31,0x2A,0xC8,0xF3,0x05,0xD5,0xA7,0x94,0xCF,0xED,0xA1};
-
-uint32_t LOCALDataMovement::read(::apache::thrift::protocol::TProtocol* iprot) {
-
- uint32_t xfer = 0;
- std::string fname;
- ::apache::thrift::protocol::TType ftype;
- int16_t fid;
-
- xfer += iprot->readStructBegin(fname);
-
- using ::apache::thrift::protocol::TProtocolException;
-
- bool isset_dataMovementInterfaceId = false;
-
- while (true)
- {
- xfer += iprot->readFieldBegin(fname, ftype, fid);
- if (ftype == ::apache::thrift::protocol::T_STOP) {
- break;
- }
- switch (fid)
- {
- case 1:
- if (ftype == ::apache::thrift::protocol::T_STRING) {
- xfer += iprot->readString(this->dataMovementInterfaceId);
- isset_dataMovementInterfaceId = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- default:
- xfer += iprot->skip(ftype);
- break;
- }
- xfer += iprot->readFieldEnd();
- }
-
- xfer += iprot->readStructEnd();
-
- if (!isset_dataMovementInterfaceId)
- throw TProtocolException(TProtocolException::INVALID_DATA);
- return xfer;
-}
-
-uint32_t LOCALDataMovement::write(::apache::thrift::protocol::TProtocol* oprot) const {
- uint32_t xfer = 0;
- xfer += oprot->writeStructBegin("LOCALDataMovement");
-
- xfer += oprot->writeFieldBegin("dataMovementInterfaceId", ::apache::thrift::protocol::T_STRING, 1);
- xfer += oprot->writeString(this->dataMovementInterfaceId);
- xfer += oprot->writeFieldEnd();
-
- xfer += oprot->writeFieldStop();
- xfer += oprot->writeStructEnd();
- return xfer;
-}
-
-void swap(LOCALDataMovement &a, LOCALDataMovement &b) {
- using ::std::swap;
- swap(a.dataMovementInterfaceId, b.dataMovementInterfaceId);
-}
-
-const char* SSHJobSubmission::ascii_fingerprint = "8BC403A3B093DDB0CB8F04ED699DBA3D";
-const uint8_t SSHJobSubmission::binary_fingerprint[16] = {0x8B,0xC4,0x03,0xA3,0xB0,0x93,0xDD,0xB0,0xCB,0x8F,0x04,0xED,0x69,0x9D,0xBA,0x3D};
-
-uint32_t SSHJobSubmission::read(::apache::thrift::protocol::TProtocol* iprot) {
-
- uint32_t xfer = 0;
- std::string fname;
- ::apache::thrift::protocol::TType ftype;
- int16_t fid;
-
- xfer += iprot->readStructBegin(fname);
-
- using ::apache::thrift::protocol::TProtocolException;
-
- bool isset_jobSubmissionInterfaceId = false;
- bool isset_securityProtocol = false;
- bool isset_resourceJobManager = false;
-
- while (true)
- {
- xfer += iprot->readFieldBegin(fname, ftype, fid);
- if (ftype == ::apache::thrift::protocol::T_STOP) {
- break;
- }
- switch (fid)
- {
- case 1:
- if (ftype == ::apache::thrift::protocol::T_STRING) {
- xfer += iprot->readString(this->jobSubmissionInterfaceId);
- isset_jobSubmissionInterfaceId = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 2:
- if (ftype == ::apache::thrift::protocol::T_I32) {
- int32_t ecast18;
- xfer += iprot->readI32(ecast18);
- this->securityProtocol = (SecurityProtocol::type)ecast18;
- isset_securityProtocol = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 3:
- if (ftype == ::apache::thrift::protocol::T_STRUCT) {
- xfer += this->resourceJobManager.read(iprot);
- isset_resourceJobManager = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 4:
- if (ftype == ::apache::thrift::protocol::T_STRING) {
- xfer += iprot->readString(this->alternativeSSHHostName);
- this->__isset.alternativeSSHHostName = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 5:
- if (ftype == ::apache::thrift::protocol::T_I32) {
- xfer += iprot->readI32(this->sshPort);
- this->__isset.sshPort = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- default:
- xfer += iprot->skip(ftype);
- break;
- }
- xfer += iprot->readFieldEnd();
- }
-
- xfer += iprot->readStructEnd();
-
- if (!isset_jobSubmissionInterfaceId)
- throw TProtocolException(TProtocolException::INVALID_DATA);
- if (!isset_securityProtocol)
- throw TProtocolException(TProtocolException::INVALID_DATA);
- if (!isset_resourceJobManager)
- throw TProtocolException(TProtocolException::INVALID_DATA);
- return xfer;
-}
-
-uint32_t SSHJobSubmission::write(::apache::thrift::protocol::TProtocol* oprot) const {
- uint32_t xfer = 0;
- xfer += oprot->writeStructBegin("SSHJobSubmission");
-
- xfer += oprot->writeFieldBegin("jobSubmissionInterfaceId", ::apache::thrift::protocol::T_STRING, 1);
- xfer += oprot->writeString(this->jobSubmissionInterfaceId);
- xfer += oprot->writeFieldEnd();
-
- xfer += oprot->writeFieldBegin("securityProtocol", ::apache::thrift::protocol::T_I32, 2);
- xfer += oprot->writeI32((int32_t)this->securityProtocol);
- xfer += oprot->writeFieldEnd();
-
- xfer += oprot->writeFieldBegin("resourceJobManager", ::apache::thrift::protocol::T_STRUCT, 3);
- xfer += this->resourceJobManager.write(oprot);
- xfer += oprot->writeFieldEnd();
-
- if (this->__isset.alternativeSSHHostName) {
- xfer += oprot->writeFieldBegin("alternativeSSHHostName", ::apache::thrift::protocol::T_STRING, 4);
- xfer += oprot->writeString(this->alternativeSSHHostName);
- xfer += oprot->writeFieldEnd();
- }
- if (this->__isset.sshPort) {
- xfer += oprot->writeFieldBegin("sshPort", ::apache::thrift::protocol::T_I32, 5);
- xfer += oprot->writeI32(this->sshPort);
- xfer += oprot->writeFieldEnd();
- }
- xfer += oprot->writeFieldStop();
- xfer += oprot->writeStructEnd();
- return xfer;
-}
-
-void swap(SSHJobSubmission &a, SSHJobSubmission &b) {
- using ::std::swap;
- swap(a.jobSubmissionInterfaceId, b.jobSubmissionInterfaceId);
- swap(a.securityProtocol, b.securityProtocol);
- swap(a.resourceJobManager, b.resourceJobManager);
- swap(a.alternativeSSHHostName, b.alternativeSSHHostName);
- swap(a.sshPort, b.sshPort);
- swap(a.__isset, b.__isset);
-}
-
-const char* GlobusJobSubmission::ascii_fingerprint = "AF422FFD77BB68BA57079B8B33BC8CF7";
-const uint8_t GlobusJobSubmission::binary_fingerprint[16] = {0xAF,0x42,0x2F,0xFD,0x77,0xBB,0x68,0xBA,0x57,0x07,0x9B,0x8B,0x33,0xBC,0x8C,0xF7};
-
-uint32_t GlobusJobSubmission::read(::apache::thrift::protocol::TProtocol* iprot) {
-
- uint32_t xfer = 0;
- std::string fname;
- ::apache::thrift::protocol::TType ftype;
- int16_t fid;
-
- xfer += iprot->readStructBegin(fname);
-
- using ::apache::thrift::protocol::TProtocolException;
-
- bool isset_jobSubmissionInterfaceId = false;
- bool isset_securityProtocol = false;
-
- while (true)
- {
- xfer += iprot->readFieldBegin(fname, ftype, fid);
- if (ftype == ::apache::thrift::protocol::T_STOP) {
- break;
- }
- switch (fid)
- {
- case 1:
- if (ftype == ::apache::thrift::protocol::T_STRING) {
- xfer += iprot->readString(this->jobSubmissionInterfaceId);
- isset_jobSubmissionInterfaceId = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 2:
- if (ftype == ::apache::thrift::protocol::T_I32) {
- int32_t ecast19;
- xfer += iprot->readI32(ecast19);
- this->securityProtocol = (SecurityProtocol::type)ecast19;
- isset_securityProtocol = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 3:
- if (ftype == ::apache::thrift::protocol::T_LIST) {
- {
- this->globusGateKeeperEndPoint.clear();
- uint32_t _size20;
- ::apache::thrift::protocol::TType _etype23;
- xfer += iprot->readListBegin(_etype23, _size20);
- this->globusGateKeeperEndPoint.resize(_size20);
- uint32_t _i24;
- for (_i24 = 0; _i24 < _size20; ++_i24)
- {
- xfer += iprot->readString(this->globusGateKeeperEndPoint[_i24]);
- }
- xfer += iprot->readListEnd();
- }
- this->__isset.globusGateKeeperEndPoint = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- default:
- xfer += iprot->skip(ftype);
- break;
- }
- xfer += iprot->readFieldEnd();
- }
-
- xfer += iprot->readStructEnd();
-
- if (!isset_jobSubmissionInterfaceId)
- throw TProtocolException(TProtocolException::INVALID_DATA);
- if (!isset_securityProtocol)
- throw TProtocolException(TProtocolException::INVALID_DATA);
- return xfer;
-}
-
-uint32_t GlobusJobSubmission::write(::apache::thrift::protocol::TProtocol* oprot) const {
- uint32_t xfer = 0;
- xfer += oprot->writeStructBegin("GlobusJobSubmission");
-
- xfer += oprot->writeFieldBegin("jobSubmissionInterfaceId", ::apache::thrift::protocol::T_STRING, 1);
- xfer += oprot->writeString(this->jobSubmissionInterfaceId);
- xfer += oprot->writeFieldEnd();
-
- xfer += oprot->writeFieldBegin("securityProtocol", ::apache::thrift::protocol::T_I32, 2);
- xfer += oprot->writeI32((int32_t)this->securityProtocol);
- xfer += oprot->writeFieldEnd();
-
- if (this->__isset.globusGateKeeperEndPoint) {
- xfer += oprot->writeFieldBegin("globusGateKeeperEndPoint", ::apache::thrift::protocol::T_LIST, 3);
- {
- xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRING, static_cast<uint32_t>(this->globusGateKeeperEndPoint.size()));
- std::vector<std::string> ::const_iterator _iter25;
- for (_iter25 = this->globusGateKeeperEndPoint.begin(); _iter25 != this->globusGateKeeperEndPoint.end(); ++_iter25)
- {
- xfer += oprot->writeString((*_iter25));
- }
- xfer += oprot->writeListEnd();
- }
- xfer += oprot->writeFieldEnd();
- }
- xfer += oprot->writeFieldStop();
- xfer += oprot->writeStructEnd();
- return xfer;
-}
-
-void swap(GlobusJobSubmission &a, GlobusJobSubmission &b) {
- using ::std::swap;
- swap(a.jobSubmissionInterfaceId, b.jobSubmissionInterfaceId);
- swap(a.securityProtocol, b.securityProtocol);
- swap(a.globusGateKeeperEndPoint, b.globusGateKeeperEndPoint);
- swap(a.__isset, b.__isset);
-}
-
-const char* JobSubmissionInterface::ascii_fingerprint = "A0A4DD7B8243FB842E64EAC6E5DA6C7B";
-const uint8_t JobSubmissionInterface::binary_fingerprint[16] = {0xA0,0xA4,0xDD,0x7B,0x82,0x43,0xFB,0x84,0x2E,0x64,0xEA,0xC6,0xE5,0xDA,0x6C,0x7B};
-
-uint32_t JobSubmissionInterface::read(::apache::thrift::protocol::TProtocol* iprot) {
-
- uint32_t xfer = 0;
- std::string fname;
- ::apache::thrift::protocol::TType ftype;
- int16_t fid;
-
- xfer += iprot->readStructBegin(fname);
-
- using ::apache::thrift::protocol::TProtocolException;
-
- bool isset_jobSubmissionInterfaceId = false;
- bool isset_jobSubmissionProtocol = false;
- bool isset_priorityOrder = false;
-
- while (true)
- {
- xfer += iprot->readFieldBegin(fname, ftype, fid);
- if (ftype == ::apache::thrift::protocol::T_STOP) {
- break;
- }
- switch (fid)
- {
- case 1:
- if (ftype == ::apache::thrift::protocol::T_STRING) {
- xfer += iprot->readString(this->jobSubmissionInterfaceId);
- isset_jobSubmissionInterfaceId = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 2:
- if (ftype == ::apache::thrift::protocol::T_I32) {
- int32_t ecast26;
- xfer += iprot->readI32(ecast26);
- this->jobSubmissionProtocol = (JobSubmissionProtocol::type)ecast26;
- isset_jobSubmissionProtocol = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 3:
- if (ftype == ::apache::thrift::protocol::T_I32) {
- xfer += iprot->readI32(this->priorityOrder);
- isset_priorityOrder = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- default:
- xfer += iprot->skip(ftype);
- break;
- }
- xfer += iprot->readFieldEnd();
- }
-
- xfer += iprot->readStructEnd();
-
- if (!isset_jobSubmissionInterfaceId)
- throw TProtocolException(TProtocolException::INVALID_DATA);
- if (!isset_jobSubmissionProtocol)
- throw TProtocolException(TProtocolException::INVALID_DATA);
- if (!isset_priorityOrder)
- throw TProtocolException(TProtocolException::INVALID_DATA);
- return xfer;
-}
-
-uint32_t JobSubmissionInterface::write(::apache::thrift::protocol::TProtocol* oprot) const {
- uint32_t xfer = 0;
- xfer += oprot->writeStructBegin("JobSubmissionInterface");
-
- xfer += oprot->writeFieldBegin("jobSubmissionInterfaceId", ::apache::thrift::protocol::T_STRING, 1);
- xfer += oprot->writeString(this->jobSubmissionInterfaceId);
- xfer += oprot->writeFieldEnd();
-
- xfer += oprot->writeFieldBegin("jobSubmissionProtocol", ::apache::thrift::protocol::T_I32, 2);
- xfer += oprot->writeI32((int32_t)this->jobSubmissionProtocol);
- xfer += oprot->writeFieldEnd();
-
- xfer += oprot->writeFieldBegin("priorityOrder", ::apache::thrift::protocol::T_I32, 3);
- xfer += oprot->writeI32(this->priorityOrder);
- xfer += oprot->writeFieldEnd();
-
- xfer += oprot->writeFieldStop();
- xfer += oprot->writeStructEnd();
- return xfer;
-}
-
-void swap(JobSubmissionInterface &a, JobSubmissionInterface &b) {
- using ::std::swap;
- swap(a.jobSubmissionInterfaceId, b.jobSubmissionInterfaceId);
- swap(a.jobSubmissionProtocol, b.jobSubmissionProtocol);
- swap(a.priorityOrder, b.priorityOrder);
-}
-
-const char* DataMovementInterface::ascii_fingerprint = "A0A4DD7B8243FB842E64EAC6E5DA6C7B";
-const uint8_t DataMovementInterface::binary_fingerprint[16] = {0xA0,0xA4,0xDD,0x7B,0x82,0x43,0xFB,0x84,0x2E,0x64,0xEA,0xC6,0xE5,0xDA,0x6C,0x7B};
-
-uint32_t DataMovementInterface::read(::apache::thrift::protocol::TProtocol* iprot) {
-
- uint32_t xfer = 0;
- std::string fname;
- ::apache::thrift::protocol::TType ftype;
- int16_t fid;
-
- xfer += iprot->readStructBegin(fname);
-
- using ::apache::thrift::protocol::TProtocolException;
-
- bool isset_dataMovementInterfaceId = false;
- bool isset_dataMovementProtocol = false;
- bool isset_priorityOrder = false;
-
- while (true)
- {
- xfer += iprot->readFieldBegin(fname, ftype, fid);
- if (ftype == ::apache::thrift::protocol::T_STOP) {
- break;
- }
- switch (fid)
- {
- case 1:
- if (ftype == ::apache::thrift::protocol::T_STRING) {
- xfer += iprot->readString(this->dataMovementInterfaceId);
- isset_dataMovementInterfaceId = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 2:
- if (ftype == ::apache::thrift::protocol::T_I32) {
- int32_t ecast27;
- xfer += iprot->readI32(ecast27);
- this->dataMovementProtocol = (DataMovementProtocol::type)ecast27;
- isset_dataMovementProtocol = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 3:
- if (ftype == ::apache::thrift::protocol::T_I32) {
- xfer += iprot->readI32(this->priorityOrder);
- isset_priorityOrder = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- default:
- xfer += iprot->skip(ftype);
- break;
- }
- xfer += iprot->readFieldEnd();
- }
-
- xfer += iprot->readStructEnd();
-
- if (!isset_dataMovementInterfaceId)
- throw TProtocolException(TProtocolException::INVALID_DATA);
- if (!isset_dataMovementProtocol)
- throw TProtocolException(TProtocolException::INVALID_DATA);
- if (!isset_priorityOrder)
- throw TProtocolException(TProtocolException::INVALID_DATA);
- return xfer;
-}
-
-uint32_t DataMovementInterface::write(::apache::thrift::protocol::TProtocol* oprot) const {
- uint32_t xfer = 0;
- xfer += oprot->writeStructBegin("DataMovementInterface");
-
- xfer += oprot->writeFieldBegin("dataMovementInterfaceId", ::apache::thrift::protocol::T_STRING, 1);
- xfer += oprot->writeString(this->dataMovementInterfaceId);
- xfer += oprot->writeFieldEnd();
-
- xfer += oprot->writeFieldBegin("dataMovementProtocol", ::apache::thrift::protocol::T_I32, 2);
- xfer += oprot->writeI32((int32_t)this->dataMovementProtocol);
- xfer += oprot->writeFieldEnd();
-
- xfer += oprot->writeFieldBegin("priorityOrder", ::apache::thrift::protocol::T_I32, 3);
- xfer += oprot->writeI32(this->priorityOrder);
- xfer += oprot->writeFieldEnd();
-
- xfer += oprot->writeFieldStop();
- xfer += oprot->writeStructEnd();
- return xfer;
-}
-
-void swap(DataMovementInterface &a, DataMovementInterface &b) {
- using ::std::swap;
- swap(a.dataMovementInterfaceId, b.dataMovementInterfaceId);
- swap(a.dataMovementProtocol, b.dataMovementProtocol);
- swap(a.priorityOrder, b.priorityOrder);
-}
-
-const char* ComputeResourceDescription::ascii_fingerprint = "2CAAC3134218EFF83D46106C39BECE65";
-const uint8_t ComputeResourceDescription::binary_fingerprint[16] = {0x2C,0xAA,0xC3,0x13,0x42,0x18,0xEF,0xF8,0x3D,0x46,0x10,0x6C,0x39,0xBE,0xCE,0x65};
-
-uint32_t ComputeResourceDescription::read(::apache::thrift::protocol::TProtocol* iprot) {
-
- uint32_t xfer = 0;
- std::string fname;
- ::apache::thrift::protocol::TType ftype;
- int16_t fid;
-
- xfer += iprot->readStructBegin(fname);
-
- using ::apache::thrift::protocol::TProtocolException;
-
- bool isset_computeResourceId = false;
- bool isset_hostName = false;
-
- while (true)
- {
- xfer += iprot->readFieldBegin(fname, ftype, fid);
- if (ftype == ::apache::thrift::protocol::T_STOP) {
- break;
- }
- switch (fid)
- {
- case 1:
- if (ftype == ::apache::thrift::protocol::T_STRING) {
- xfer += iprot->readString(this->computeResourceId);
- isset_computeResourceId = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 2:
- if (ftype == ::apache::thrift::protocol::T_STRING) {
- xfer += iprot->readString(this->hostName);
- isset_hostName = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 3:
- if (ftype == ::apache::thrift::protocol::T_SET) {
- {
- this->hostAliases.clear();
- uint32_t _size28;
- ::apache::thrift::protocol::TType _etype31;
- xfer += iprot->readSetBegin(_etype31, _size28);
- uint32_t _i32;
- for (_i32 = 0; _i32 < _size28; ++_i32)
- {
- std::string _elem33;
- xfer += iprot->readString(_elem33);
- this->hostAliases.insert(_elem33);
- }
- xfer += iprot->readSetEnd();
- }
- this->__isset.hostAliases = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 4:
- if (ftype == ::apache::thrift::protocol::T_SET) {
- {
- this->ipAddresses.clear();
- uint32_t _size34;
- ::apache::thrift::protocol::TType _etype37;
- xfer += iprot->readSetBegin(_etype37, _size34);
- uint32_t _i38;
- for (_i38 = 0; _i38 < _size34; ++_i38)
- {
- std::string _elem39;
- xfer += iprot->readString(_elem39);
- this->ipAddresses.insert(_elem39);
- }
- xfer += iprot->readSetEnd();
- }
- this->__isset.ipAddresses = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 5:
- if (ftype == ::apache::thrift::protocol::T_STRING) {
- xfer += iprot->readString(this->resourceDescription);
- this->__isset.resourceDescription = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 6:
- if (ftype == ::apache::thrift::protocol::T_LIST) {
- {
- this->batchQueues.clear();
- uint32_t _size40;
- ::apache::thrift::protocol::TType _etype43;
- xfer += iprot->readListBegin(_etype43, _size40);
- this->batchQueues.resize(_size40);
- uint32_t _i44;
- for (_i44 = 0; _i44 < _size40; ++_i44)
- {
- xfer += this->batchQueues[_i44].read(iprot);
- }
- xfer += iprot->readListEnd();
- }
- this->__isset.batchQueues = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 7:
- if (ftype == ::apache::thrift::protocol::T_MAP) {
- {
- this->fileSystems.clear();
- uint32_t _size45;
- ::apache::thrift::protocol::TType _ktype46;
- ::apache::thrift::protocol::TType _vtype47;
- xfer += iprot->readMapBegin(_ktype46, _vtype47, _size45);
- uint32_t _i49;
- for (_i49 = 0; _i49 < _size45; ++_i49)
- {
- FileSystems::type _key50;
- int32_t ecast52;
- xfer += iprot->readI32(ecast52);
- _key50 = (FileSystems::type)ecast52;
- std::string& _val51 = this->fileSystems[_key50];
- xfer += iprot->readString(_val51);
- }
- xfer += iprot->readMapEnd();
- }
- this->__isset.fileSystems = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 8:
- if (ftype == ::apache::thrift::protocol::T_LIST) {
- {
- this->jobSubmissionInterfaces.clear();
- uint32_t _size53;
- ::apache::thrift::protocol::TType _etype56;
- xfer += iprot->readListBegin(_etype56, _size53);
- this->jobSubmissionInterfaces.resize(_size53);
- uint32_t _i57;
- for (_i57 = 0; _i57 < _size53; ++_i57)
- {
- xfer += this->jobSubmissionInterfaces[_i57].read(iprot);
- }
- xfer += iprot->readListEnd();
- }
- this->__isset.jobSubmissionInterfaces = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 9:
- if (ftype == ::apache::thrift::protocol::T_LIST) {
- {
- this->dataMovementInterfaces.clear();
- uint32_t _size58;
- ::apache::thrift::protocol::TType _etype61;
- xfer += iprot->readListBegin(_etype61, _size58);
- this->dataMovementInterfaces.resize(_size58);
- uint32_t _i62;
- for (_i62 = 0; _i62 < _size58; ++_i62)
- {
- xfer += this->dataMovementInterfaces[_i62].read(iprot);
- }
- xfer += iprot->readListEnd();
- }
- this->__isset.dataMovementInterfaces = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- default:
- xfer += iprot->skip(ftype);
- break;
- }
- xfer += iprot->readFieldEnd();
- }
-
- xfer += iprot->readStructEnd();
-
- if (!isset_computeResourceId)
- throw TProtocolException(TProtocolException::INVALID_DATA);
- if (!isset_hostName)
- throw TProtocolException(TProtocolException::INVALID_DATA);
- return xfer;
-}
-
-uint32_t ComputeResourceDescription::write(::apache::thrift::protocol::TProtocol* oprot) const {
- uint32_t xfer = 0;
- xfer += oprot->writeStructBegin("ComputeResourceDescription");
-
- xfer += oprot->writeFieldBegin("computeResourceId", ::apache::thrift::protocol::T_STRING, 1);
- xfer += oprot->writeString(this->computeResourceId);
- xfer += oprot->writeFieldEnd();
-
- xfer += oprot->writeFieldBegin("hostName", ::apache::thrift::protocol::T_STRING, 2);
- xfer += oprot->writeString(this->hostName);
- xfer += oprot->writeFieldEnd();
-
- if (this->__isset.hostAliases) {
- xfer += oprot->writeFieldBegin("hostAliases", ::apache::thrift::protocol::T_SET, 3);
- {
- xfer += oprot->writeSetBegin(::apache::thrift::protocol::T_STRING, static_cast<uint32_t>(this->hostAliases.size()));
- std::set<std::string> ::const_iterator _iter63;
- for (_iter63 = this->hostAliases.begin(); _iter63 != this->hostAliases.end(); ++_iter63)
- {
- xfer += oprot->writeString((*_iter63));
- }
- xfer += oprot->writeSetEnd();
- }
- xfer += oprot->writeFieldEnd();
- }
- if (this->__isset.ipAddresses) {
- xfer += oprot->writeFieldBegin("ipAddresses", ::apache::thrift::protocol::T_SET, 4);
- {
- xfer += oprot->writeSetBegin(::apache::thrift::protocol::T_STRING, static_cast<uint32_t>(this->ipAddresses.size()));
- std::set<std::string> ::const_iterator _iter64;
- for (_iter64 = this->ipAddresses.begin(); _iter64 != this->ipAddresses.end(); ++_iter64)
- {
- xfer += oprot->writeString((*_iter64));
- }
- xfer += oprot->writeSetEnd();
- }
- xfer += oprot->writeFieldEnd();
- }
- if (this->__isset.resourceDescription) {
- xfer += oprot->writeFieldBegin("resourceDescription", ::apache::thrift::protocol::T_STRING, 5);
- xfer += oprot->writeString(this->resourceDescription);
- xfer += oprot->writeFieldEnd();
- }
- if (this->__isset.batchQueues) {
- xfer += oprot->writeFieldBegin("batchQueues", ::apache::thrift::protocol::T_LIST, 6);
- {
- xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>(this->batchQueues.size()));
- std::vector<BatchQueue> ::const_iterator _iter65;
- for (_iter65 = this->batchQueues.begin(); _iter65 != this->batchQueues.end(); ++_iter65)
- {
- xfer += (*_iter65).write(oprot);
- }
- xfer += oprot->writeListEnd();
- }
- xfer += oprot->writeFieldEnd();
- }
- if (this->__isset.fileSystems) {
- xfer += oprot->writeFieldBegin("fileSystems", ::apache::thrift::protocol::T_MAP, 7);
- {
- xfer += oprot->writeMapBegin(::apache::thrift::protocol::T_I32, ::apache::thrift::protocol::T_STRING, static_cast<uint32_t>(this->fileSystems.size()));
- std::map<FileSystems::type, std::string> ::const_iterator _iter66;
- for (_iter66 = this->fileSystems.begin(); _iter66 != this->fileSystems.end(); ++_iter66)
- {
- xfer += oprot->writeI32((int32_t)_iter66->first);
- xfer += oprot->writeString(_iter66->second);
- }
- xfer += oprot->writeMapEnd();
- }
- xfer += oprot->writeFieldEnd();
- }
- if (this->__isset.jobSubmissionInterfaces) {
- xfer += oprot->writeFieldBegin("jobSubmissionInterfaces", ::apache::thrift::protocol::T_LIST, 8);
- {
- xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>(this->jobSubmissionInterfaces.size()));
- std::vector<JobSubmissionInterface> ::const_iterator _iter67;
- for (_iter67 = this->jobSubmissionInterfaces.begin(); _iter67 != this->jobSubmissionInterfaces.end(); ++_iter67)
- {
- xfer += (*_iter67).write(oprot);
- }
- xfer += oprot->writeListEnd();
- }
- xfer += oprot->writeFieldEnd();
- }
- if (this->__isset.dataMovementInterfaces) {
- xfer += oprot->writeFieldBegin("dataMovementInterfaces", ::apache::thrift::protocol::T_LIST, 9);
- {
- xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>(this->dataMovementInterfaces.size()));
- std::vector<DataMovementInterface> ::const_iterator _iter68;
- for (_iter68 = this->dataMovementInterfaces.begin(); _iter68 != this->dataMovementInterfaces.end(); ++_iter68)
- {
- xfer += (*_iter68).write(oprot);
- }
- xfer += oprot->writeListEnd();
- }
- xfer += oprot->writeFieldEnd();
- }
- xfer += oprot->writeFieldStop();
- xfer += oprot->writeStructEnd();
- return xfer;
-}
-
-void swap(ComputeResourceDescription &a, ComputeResourceDescription &b) {
- using ::std::swap;
- swap(a.computeResourceId, b.computeResourceId);
- swap(a.hostName, b.hostName);
- swap(a.hostAliases, b.hostAliases);
- swap(a.ipAddresses, b.ipAddresses);
- swap(a.resourceDescription, b.resourceDescription);
- swap(a.batchQueues, b.batchQueues);
- swap(a.fileSystems, b.fileSystems);
- swap(a.jobSubmissionInterfaces, b.jobSubmissionInterfaces);
- swap(a.dataMovementInterfaces, b.dataMovementInterfaces);
- swap(a.__isset, b.__isset);
-}
-
-}}}}} // namespace
http://git-wip-us.apache.org/repos/asf/airavata/blob/00b8aaf0/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/computeResourceModel_types.h
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/computeResourceModel_types.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/computeResourceModel_types.h
deleted file mode 100644
index d6675b6..0000000
--- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/computeResourceModel_types.h
+++ /dev/null
@@ -1,842 +0,0 @@
-/**
- * Autogenerated by Thrift Compiler (0.9.1)
- *
- * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
- * @generated
- */
-#ifndef computeResourceModel_TYPES_H
-#define computeResourceModel_TYPES_H
-
-#include <thrift/Thrift.h>
-#include <thrift/TApplicationException.h>
-#include <thrift/protocol/TProtocol.h>
-#include <thrift/transport/TTransport.h>
-
-#include <thrift/cxxfunctional.h>
-
-
-namespace apache { namespace airavata { namespace model { namespace appcatalog { namespace computeresource {
-
-struct ResourceJobManagerType {
- enum type {
- FORK = 0,
- PBS = 1,
- UGE = 2,
- SLURM = 3
- };
-};
-
-extern const std::map<int, const char*> _ResourceJobManagerType_VALUES_TO_NAMES;
-
-struct JobManagerCommand {
- enum type {
- SUBMISSION = 0,
- JOB_MONITORING = 1,
- DELETION = 2,
- CHECK_JOB = 3,
- SHOW_QUEUE = 4,
- SHOW_RESERVATION = 5,
- SHOW_START = 6
- };
-};
-
-extern const std::map<int, const char*> _JobManagerCommand_VALUES_TO_NAMES;
-
-struct FileSystems {
- enum type {
- HOME = 0,
- WORK = 1,
- LOCALTMP = 2,
- SCRATCH = 3,
- ARCHIVE = 4
- };
-};
-
-extern const std::map<int, const char*> _FileSystems_VALUES_TO_NAMES;
-
-struct SecurityProtocol {
- enum type {
- USERNAME_PASSWORD = 0,
- SSH_KEYS = 1,
- GSI = 2,
- KERBEROS = 3,
- OAUTH = 4
- };
-};
-
-extern const std::map<int, const char*> _SecurityProtocol_VALUES_TO_NAMES;
-
-struct JobSubmissionProtocol {
- enum type {
- LOCAL = 0,
- SSH = 1,
- GLOBUS = 2,
- UNICORE = 3
- };
-};
-
-extern const std::map<int, const char*> _JobSubmissionProtocol_VALUES_TO_NAMES;
-
-struct DataMovementProtocol {
- enum type {
- LOCAL = 0,
- SCP = 1,
- SFTP = 2,
- GridFTP = 3,
- UNICORE_STORAGE_SERVICE = 4
- };
-};
-
-extern const std::map<int, const char*> _DataMovementProtocol_VALUES_TO_NAMES;
-
-typedef struct _ResourceJobManager__isset {
- _ResourceJobManager__isset() : pushMonitoringEndpoint(false), jobManagerBinPath(false), jobManagerCommands(false) {}
- bool pushMonitoringEndpoint;
- bool jobManagerBinPath;
- bool jobManagerCommands;
-} _ResourceJobManager__isset;
-
-class ResourceJobManager {
- public:
-
- static const char* ascii_fingerprint; // = "F61CAF80247D0E44C8D52504F3A43BED";
- static const uint8_t binary_fingerprint[16]; // = {0xF6,0x1C,0xAF,0x80,0x24,0x7D,0x0E,0x44,0xC8,0xD5,0x25,0x04,0xF3,0xA4,0x3B,0xED};
-
- ResourceJobManager() : resourceJobManagerId("DO_NOT_SET_AT_CLIENTS"), resourceJobManagerType((ResourceJobManagerType::type)0), pushMonitoringEndpoint(), jobManagerBinPath() {
- }
-
- virtual ~ResourceJobManager() throw() {}
-
- std::string resourceJobManagerId;
- ResourceJobManagerType::type resourceJobManagerType;
- std::string pushMonitoringEndpoint;
- std::string jobManagerBinPath;
- std::map<JobManagerCommand::type, std::string> jobManagerCommands;
-
- _ResourceJobManager__isset __isset;
-
- void __set_resourceJobManagerId(const std::string& val) {
- resourceJobManagerId = val;
- }
-
- void __set_resourceJobManagerType(const ResourceJobManagerType::type val) {
- resourceJobManagerType = val;
- }
-
- void __set_pushMonitoringEndpoint(const std::string& val) {
- pushMonitoringEndpoint = val;
- __isset.pushMonitoringEndpoint = true;
- }
-
- void __set_jobManagerBinPath(const std::string& val) {
- jobManagerBinPath = val;
- __isset.jobManagerBinPath = true;
- }
-
- void __set_jobManagerCommands(const std::map<JobManagerCommand::type, std::string> & val) {
- jobManagerCommands = val;
- __isset.jobManagerCommands = true;
- }
-
- bool operator == (const ResourceJobManager & rhs) const
- {
- if (!(resourceJobManagerId == rhs.resourceJobManagerId))
- return false;
- if (!(resourceJobManagerType == rhs.resourceJobManagerType))
- return false;
- if (__isset.pushMonitoringEndpoint != rhs.__isset.pushMonitoringEndpoint)
- return false;
- else if (__isset.pushMonitoringEndpoint && !(pushMonitoringEndpoint == rhs.pushMonitoringEndpoint))
- return false;
- if (__isset.jobManagerBinPath != rhs.__isset.jobManagerBinPath)
- return false;
- else if (__isset.jobManagerBinPath && !(jobManagerBinPath == rhs.jobManagerBinPath))
- return false;
- if (__isset.jobManagerCommands != rhs.__isset.jobManagerCommands)
- return false;
- else if (__isset.jobManagerCommands && !(jobManagerCommands == rhs.jobManagerCommands))
- return false;
- return true;
- }
- bool operator != (const ResourceJobManager &rhs) const {
- return !(*this == rhs);
- }
-
- bool operator < (const ResourceJobManager & ) const;
-
- uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
- uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-};
-
-void swap(ResourceJobManager &a, ResourceJobManager &b);
-
-typedef struct _BatchQueue__isset {
- _BatchQueue__isset() : queueDescription(false), maxRunTime(false), maxNodes(false), maxProcessors(false), maxJobsInQueue(false) {}
- bool queueDescription;
- bool maxRunTime;
- bool maxNodes;
- bool maxProcessors;
- bool maxJobsInQueue;
-} _BatchQueue__isset;
-
-class BatchQueue {
- public:
-
- static const char* ascii_fingerprint; // = "DA59FF8EE453E1822971C1CE1471EEA1";
- static const uint8_t binary_fingerprint[16]; // = {0xDA,0x59,0xFF,0x8E,0xE4,0x53,0xE1,0x82,0x29,0x71,0xC1,0xCE,0x14,0x71,0xEE,0xA1};
-
- BatchQueue() : queueName(), queueDescription(), maxRunTime(0), maxNodes(0), maxProcessors(0), maxJobsInQueue(0) {
- }
-
- virtual ~BatchQueue() throw() {}
-
- std::string queueName;
- std::string queueDescription;
- int32_t maxRunTime;
- int32_t maxNodes;
- int32_t maxProcessors;
- int32_t maxJobsInQueue;
-
- _BatchQueue__isset __isset;
-
- void __set_queueName(const std::string& val) {
- queueName = val;
- }
-
- void __set_queueDescription(const std::string& val) {
- queueDescription = val;
- __isset.queueDescription = true;
- }
-
- void __set_maxRunTime(const int32_t val) {
- maxRunTime = val;
- __isset.maxRunTime = true;
- }
-
- void __set_maxNodes(const int32_t val) {
- maxNodes = val;
- __isset.maxNodes = true;
- }
-
- void __set_maxProcessors(const int32_t val) {
- maxProcessors = val;
- __isset.maxProcessors = true;
- }
-
- void __set_maxJobsInQueue(const int32_t val) {
- maxJobsInQueue = val;
- __isset.maxJobsInQueue = true;
- }
-
- bool operator == (const BatchQueue & rhs) const
- {
- if (!(queueName == rhs.queueName))
- return false;
- if (__isset.queueDescription != rhs.__isset.queueDescription)
- return false;
- else if (__isset.queueDescription && !(queueDescription == rhs.queueDescription))
- return false;
- if (__isset.maxRunTime != rhs.__isset.maxRunTime)
- return false;
- else if (__isset.maxRunTime && !(maxRunTime == rhs.maxRunTime))
- return false;
- if (__isset.maxNodes != rhs.__isset.maxNodes)
- return false;
- else if (__isset.maxNodes && !(maxNodes == rhs.maxNodes))
- return false;
- if (__isset.maxProcessors != rhs.__isset.maxProcessors)
- return false;
- else if (__isset.maxProcessors && !(maxProcessors == rhs.maxProcessors))
- return false;
- if (__isset.maxJobsInQueue != rhs.__isset.maxJobsInQueue)
- return false;
- else if (__isset.maxJobsInQueue && !(maxJobsInQueue == rhs.maxJobsInQueue))
- return false;
- return true;
- }
- bool operator != (const BatchQueue &rhs) const {
- return !(*this == rhs);
- }
-
- bool operator < (const BatchQueue & ) const;
-
- uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
- uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-};
-
-void swap(BatchQueue &a, BatchQueue &b);
-
-typedef struct _SCPDataMovement__isset {
- _SCPDataMovement__isset() : alternativeSCPHostName(false), sshPort(true) {}
- bool alternativeSCPHostName;
- bool sshPort;
-} _SCPDataMovement__isset;
-
-class SCPDataMovement {
- public:
-
- static const char* ascii_fingerprint; // = "63CAE6EE336A7DBD91CCCD6E22628F4A";
- static const uint8_t binary_fingerprint[16]; // = {0x63,0xCA,0xE6,0xEE,0x33,0x6A,0x7D,0xBD,0x91,0xCC,0xCD,0x6E,0x22,0x62,0x8F,0x4A};
-
- SCPDataMovement() : dataMovementInterfaceId("DO_NOT_SET_AT_CLIENTS"), securityProtocol((SecurityProtocol::type)0), alternativeSCPHostName(), sshPort(22) {
- }
-
- virtual ~SCPDataMovement() throw() {}
-
- std::string dataMovementInterfaceId;
- SecurityProtocol::type securityProtocol;
- std::string alternativeSCPHostName;
- int32_t sshPort;
-
- _SCPDataMovement__isset __isset;
-
- void __set_dataMovementInterfaceId(const std::string& val) {
- dataMovementInterfaceId = val;
- }
-
- void __set_securityProtocol(const SecurityProtocol::type val) {
- securityProtocol = val;
- }
-
- void __set_alternativeSCPHostName(const std::string& val) {
- alternativeSCPHostName = val;
- __isset.alternativeSCPHostName = true;
- }
-
- void __set_sshPort(const int32_t val) {
- sshPort = val;
- __isset.sshPort = true;
- }
-
- bool operator == (const SCPDataMovement & rhs) const
- {
- if (!(dataMovementInterfaceId == rhs.dataMovementInterfaceId))
- return false;
- if (!(securityProtocol == rhs.securityProtocol))
- return false;
- if (__isset.alternativeSCPHostName != rhs.__isset.alternativeSCPHostName)
- return false;
- else if (__isset.alternativeSCPHostName && !(alternativeSCPHostName == rhs.alternativeSCPHostName))
- return false;
- if (__isset.sshPort != rhs.__isset.sshPort)
- return false;
- else if (__isset.sshPort && !(sshPort == rhs.sshPort))
- return false;
- return true;
- }
- bool operator != (const SCPDataMovement &rhs) const {
- return !(*this == rhs);
- }
-
- bool operator < (const SCPDataMovement & ) const;
-
- uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
- uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-};
-
-void swap(SCPDataMovement &a, SCPDataMovement &b);
-
-
-class GridFTPDataMovement {
- public:
-
- static const char* ascii_fingerprint; // = "790EE8B1D56A3B9B76C41DD063726E75";
- static const uint8_t binary_fingerprint[16]; // = {0x79,0x0E,0xE8,0xB1,0xD5,0x6A,0x3B,0x9B,0x76,0xC4,0x1D,0xD0,0x63,0x72,0x6E,0x75};
-
- GridFTPDataMovement() : dataMovementInterfaceId("DO_NOT_SET_AT_CLIENTS"), securityProtocol((SecurityProtocol::type)0) {
- }
-
- virtual ~GridFTPDataMovement() throw() {}
-
- std::string dataMovementInterfaceId;
- SecurityProtocol::type securityProtocol;
- std::vector<std::string> gridFTPEndPoints;
-
- void __set_dataMovementInterfaceId(const std::string& val) {
- dataMovementInterfaceId = val;
- }
-
- void __set_securityProtocol(const SecurityProtocol::type val) {
- securityProtocol = val;
- }
-
- void __set_gridFTPEndPoints(const std::vector<std::string> & val) {
- gridFTPEndPoints = val;
- }
-
- bool operator == (const GridFTPDataMovement & rhs) const
- {
- if (!(dataMovementInterfaceId == rhs.dataMovementInterfaceId))
- return false;
- if (!(securityProtocol == rhs.securityProtocol))
- return false;
- if (!(gridFTPEndPoints == rhs.gridFTPEndPoints))
- return false;
- return true;
- }
- bool operator != (const GridFTPDataMovement &rhs) const {
- return !(*this == rhs);
- }
-
- bool operator < (const GridFTPDataMovement & ) const;
-
- uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
- uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-};
-
-void swap(GridFTPDataMovement &a, GridFTPDataMovement &b);
-
-
-class LOCALSubmission {
- public:
-
- static const char* ascii_fingerprint; // = "A5A35C842CBE1CA9D6A13C5974C6FB8F";
- static const uint8_t binary_fingerprint[16]; // = {0xA5,0xA3,0x5C,0x84,0x2C,0xBE,0x1C,0xA9,0xD6,0xA1,0x3C,0x59,0x74,0xC6,0xFB,0x8F};
-
- LOCALSubmission() : jobSubmissionInterfaceId("DO_NOT_SET_AT_CLIENTS") {
- }
-
- virtual ~LOCALSubmission() throw() {}
-
- std::string jobSubmissionInterfaceId;
- ResourceJobManager resourceJobManager;
-
- void __set_jobSubmissionInterfaceId(const std::string& val) {
- jobSubmissionInterfaceId = val;
- }
-
- void __set_resourceJobManager(const ResourceJobManager& val) {
- resourceJobManager = val;
- }
-
- bool operator == (const LOCALSubmission & rhs) const
- {
- if (!(jobSubmissionInterfaceId == rhs.jobSubmissionInterfaceId))
- return false;
- if (!(resourceJobManager == rhs.resourceJobManager))
- return false;
- return true;
- }
- bool operator != (const LOCALSubmission &rhs) const {
- return !(*this == rhs);
- }
-
- bool operator < (const LOCALSubmission & ) const;
-
- uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
- uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-};
-
-void swap(LOCALSubmission &a, LOCALSubmission &b);
-
-
-class LOCALDataMovement {
- public:
-
- static const char* ascii_fingerprint; // = "EFB929595D312AC8F305D5A794CFEDA1";
- static const uint8_t binary_fingerprint[16]; // = {0xEF,0xB9,0x29,0x59,0x5D,0x31,0x2A,0xC8,0xF3,0x05,0xD5,0xA7,0x94,0xCF,0xED,0xA1};
-
- LOCALDataMovement() : dataMovementInterfaceId("DO_NOT_SET_AT_CLIENTS") {
- }
-
- virtual ~LOCALDataMovement() throw() {}
-
- std::string dataMovementInterfaceId;
-
- void __set_dataMovementInterfaceId(const std::string& val) {
- dataMovementInterfaceId = val;
- }
-
- bool operator == (const LOCALDataMovement & rhs) const
- {
- if (!(dataMovementInterfaceId == rhs.dataMovementInterfaceId))
- return false;
- return true;
- }
- bool operator != (const LOCALDataMovement &rhs) const {
- return !(*this == rhs);
- }
-
- bool operator < (const LOCALDataMovement & ) const;
-
- uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
- uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-};
-
-void swap(LOCALDataMovement &a, LOCALDataMovement &b);
-
-typedef struct _SSHJobSubmission__isset {
- _SSHJobSubmission__isset() : alternativeSSHHostName(false), sshPort(true) {}
- bool alternativeSSHHostName;
- bool sshPort;
-} _SSHJobSubmission__isset;
-
-class SSHJobSubmission {
- public:
-
- static const char* ascii_fingerprint; // = "8BC403A3B093DDB0CB8F04ED699DBA3D";
- static const uint8_t binary_fingerprint[16]; // = {0x8B,0xC4,0x03,0xA3,0xB0,0x93,0xDD,0xB0,0xCB,0x8F,0x04,0xED,0x69,0x9D,0xBA,0x3D};
-
- SSHJobSubmission() : jobSubmissionInterfaceId("DO_NOT_SET_AT_CLIENTS"), securityProtocol((SecurityProtocol::type)0), alternativeSSHHostName(), sshPort(22) {
- }
-
- virtual ~SSHJobSubmission() throw() {}
-
- std::string jobSubmissionInterfaceId;
- SecurityProtocol::type securityProtocol;
- ResourceJobManager resourceJobManager;
- std::string alternativeSSHHostName;
- int32_t sshPort;
-
- _SSHJobSubmission__isset __isset;
-
- void __set_jobSubmissionInterfaceId(const std::string& val) {
- jobSubmissionInterfaceId = val;
- }
-
- void __set_securityProtocol(const SecurityProtocol::type val) {
- securityProtocol = val;
- }
-
- void __set_resourceJobManager(const ResourceJobManager& val) {
- resourceJobManager = val;
- }
-
- void __set_alternativeSSHHostName(const std::string& val) {
- alternativeSSHHostName = val;
- __isset.alternativeSSHHostName = true;
- }
-
- void __set_sshPort(const int32_t val) {
- sshPort = val;
- __isset.sshPort = true;
- }
-
- bool operator == (const SSHJobSubmission & rhs) const
- {
- if (!(jobSubmissionInterfaceId == rhs.jobSubmissionInterfaceId))
- return false;
- if (!(securityProtocol == rhs.securityProtocol))
- return false;
- if (!(resourceJobManager == rhs.resourceJobManager))
- return false;
- if (__isset.alternativeSSHHostName != rhs.__isset.alternativeSSHHostName)
- return false;
- else if (__isset.alternativeSSHHostName && !(alternativeSSHHostName == rhs.alternativeSSHHostName))
- return false;
- if (__isset.sshPort != rhs.__isset.sshPort)
- return false;
- else if (__isset.sshPort && !(sshPort == rhs.sshPort))
- return false;
- return true;
- }
- bool operator != (const SSHJobSubmission &rhs) const {
- return !(*this == rhs);
- }
-
- bool operator < (const SSHJobSubmission & ) const;
-
- uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
- uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-};
-
-void swap(SSHJobSubmission &a, SSHJobSubmission &b);
-
-typedef struct _GlobusJobSubmission__isset {
- _GlobusJobSubmission__isset() : globusGateKeeperEndPoint(false) {}
- bool globusGateKeeperEndPoint;
-} _GlobusJobSubmission__isset;
-
-class GlobusJobSubmission {
- public:
-
- static const char* ascii_fingerprint; // = "AF422FFD77BB68BA57079B8B33BC8CF7";
- static const uint8_t binary_fingerprint[16]; // = {0xAF,0x42,0x2F,0xFD,0x77,0xBB,0x68,0xBA,0x57,0x07,0x9B,0x8B,0x33,0xBC,0x8C,0xF7};
-
- GlobusJobSubmission() : jobSubmissionInterfaceId("DO_NOT_SET_AT_CLIENTS"), securityProtocol((SecurityProtocol::type)0) {
- }
-
- virtual ~GlobusJobSubmission() throw() {}
-
- std::string jobSubmissionInterfaceId;
- SecurityProtocol::type securityProtocol;
- std::vector<std::string> globusGateKeeperEndPoint;
-
- _GlobusJobSubmission__isset __isset;
-
- void __set_jobSubmissionInterfaceId(const std::string& val) {
- jobSubmissionInterfaceId = val;
- }
-
- void __set_securityProtocol(const SecurityProtocol::type val) {
- securityProtocol = val;
- }
-
- void __set_globusGateKeeperEndPoint(const std::vector<std::string> & val) {
- globusGateKeeperEndPoint = val;
- __isset.globusGateKeeperEndPoint = true;
- }
-
- bool operator == (const GlobusJobSubmission & rhs) const
- {
- if (!(jobSubmissionInterfaceId == rhs.jobSubmissionInterfaceId))
- return false;
- if (!(securityProtocol == rhs.securityProtocol))
- return false;
- if (__isset.globusGateKeeperEndPoint != rhs.__isset.globusGateKeeperEndPoint)
- return false;
- else if (__isset.globusGateKeeperEndPoint && !(globusGateKeeperEndPoint == rhs.globusGateKeeperEndPoint))
- return false;
- return true;
- }
- bool operator != (const GlobusJobSubmission &rhs) const {
- return !(*this == rhs);
- }
-
- bool operator < (const GlobusJobSubmission & ) const;
-
- uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
- uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-};
-
-void swap(GlobusJobSubmission &a, GlobusJobSubmission &b);
-
-
-class JobSubmissionInterface {
- public:
-
- static const char* ascii_fingerprint; // = "A0A4DD7B8243FB842E64EAC6E5DA6C7B";
- static const uint8_t binary_fingerprint[16]; // = {0xA0,0xA4,0xDD,0x7B,0x82,0x43,0xFB,0x84,0x2E,0x64,0xEA,0xC6,0xE5,0xDA,0x6C,0x7B};
-
- JobSubmissionInterface() : jobSubmissionInterfaceId(), jobSubmissionProtocol((JobSubmissionProtocol::type)0), priorityOrder(0) {
- }
-
- virtual ~JobSubmissionInterface() throw() {}
-
- std::string jobSubmissionInterfaceId;
- JobSubmissionProtocol::type jobSubmissionProtocol;
- int32_t priorityOrder;
-
- void __set_jobSubmissionInterfaceId(const std::string& val) {
- jobSubmissionInterfaceId = val;
- }
-
- void __set_jobSubmissionProtocol(const JobSubmissionProtocol::type val) {
- jobSubmissionProtocol = val;
- }
-
- void __set_priorityOrder(const int32_t val) {
- priorityOrder = val;
- }
-
- bool operator == (const JobSubmissionInterface & rhs) const
- {
- if (!(jobSubmissionInterfaceId == rhs.jobSubmissionInterfaceId))
- return false;
- if (!(jobSubmissionProtocol == rhs.jobSubmissionProtocol))
- return false;
- if (!(priorityOrder == rhs.priorityOrder))
- return false;
- return true;
- }
- bool operator != (const JobSubmissionInterface &rhs) const {
- return !(*this == rhs);
- }
-
- bool operator < (const JobSubmissionInterface & ) const;
-
- uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
- uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-};
-
-void swap(JobSubmissionInterface &a, JobSubmissionInterface &b);
-
-
-class DataMovementInterface {
- public:
-
- static const char* ascii_fingerprint; // = "A0A4DD7B8243FB842E64EAC6E5DA6C7B";
- static const uint8_t binary_fingerprint[16]; // = {0xA0,0xA4,0xDD,0x7B,0x82,0x43,0xFB,0x84,0x2E,0x64,0xEA,0xC6,0xE5,0xDA,0x6C,0x7B};
-
- DataMovementInterface() : dataMovementInterfaceId(), dataMovementProtocol((DataMovementProtocol::type)0), priorityOrder(0) {
- }
-
- virtual ~DataMovementInterface() throw() {}
-
- std::string dataMovementInterfaceId;
- DataMovementProtocol::type dataMovementProtocol;
- int32_t priorityOrder;
-
- void __set_dataMovementInterfaceId(const std::string& val) {
- dataMovementInterfaceId = val;
- }
-
- void __set_dataMovementProtocol(const DataMovementProtocol::type val) {
- dataMovementProtocol = val;
- }
-
- void __set_priorityOrder(const int32_t val) {
- priorityOrder = val;
- }
-
- bool operator == (const DataMovementInterface & rhs) const
- {
- if (!(dataMovementInterfaceId == rhs.dataMovementInterfaceId))
- return false;
- if (!(dataMovementProtocol == rhs.dataMovementProtocol))
- return false;
- if (!(priorityOrder == rhs.priorityOrder))
- return false;
- return true;
- }
- bool operator != (const DataMovementInterface &rhs) const {
- return !(*this == rhs);
- }
-
- bool operator < (const DataMovementInterface & ) const;
-
- uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
- uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-};
-
-void swap(DataMovementInterface &a, DataMovementInterface &b);
-
-typedef struct _ComputeResourceDescription__isset {
- _ComputeResourceDescription__isset() : hostAliases(false), ipAddresses(false), resourceDescription(false), batchQueues(false), fileSystems(false), jobSubmissionInterfaces(false), dataMovementInterfaces(false) {}
- bool hostAliases;
- bool ipAddresses;
- bool resourceDescription;
- bool batchQueues;
- bool fileSystems;
- bool jobSubmissionInterfaces;
- bool dataMovementInterfaces;
-} _ComputeResourceDescription__isset;
-
-class ComputeResourceDescription {
- public:
-
- static const char* ascii_fingerprint; // = "2CAAC3134218EFF83D46106C39BECE65";
- static const uint8_t binary_fingerprint[16]; // = {0x2C,0xAA,0xC3,0x13,0x42,0x18,0xEF,0xF8,0x3D,0x46,0x10,0x6C,0x39,0xBE,0xCE,0x65};
-
- ComputeResourceDescription() : computeResourceId("DO_NOT_SET_AT_CLIENTS"), hostName(), resourceDescription() {
- }
-
- virtual ~ComputeResourceDescription() throw() {}
-
- std::string computeResourceId;
- std::string hostName;
- std::set<std::string> hostAliases;
- std::set<std::string> ipAddresses;
- std::string resourceDescription;
- std::vector<BatchQueue> batchQueues;
- std::map<FileSystems::type, std::string> fileSystems;
- std::vector<JobSubmissionInterface> jobSubmissionInterfaces;
- std::vector<DataMovementInterface> dataMovementInterfaces;
-
- _ComputeResourceDescription__isset __isset;
-
- void __set_computeResourceId(const std::string& val) {
- computeResourceId = val;
- }
-
- void __set_hostName(const std::string& val) {
- hostName = val;
- }
-
- void __set_hostAliases(const std::set<std::string> & val) {
- hostAliases = val;
- __isset.hostAliases = true;
- }
-
- void __set_ipAddresses(const std::set<std::string> & val) {
- ipAddresses = val;
- __isset.ipAddresses = true;
- }
-
- void __set_resourceDescription(const std::string& val) {
- resourceDescription = val;
- __isset.resourceDescription = true;
- }
-
- void __set_batchQueues(const std::vector<BatchQueue> & val) {
- batchQueues = val;
- __isset.batchQueues = true;
- }
-
- void __set_fileSystems(const std::map<FileSystems::type, std::string> & val) {
- fileSystems = val;
- __isset.fileSystems = true;
- }
-
- void __set_jobSubmissionInterfaces(const std::vector<JobSubmissionInterface> & val) {
- jobSubmissionInterfaces = val;
- __isset.jobSubmissionInterfaces = true;
- }
-
- void __set_dataMovementInterfaces(const std::vector<DataMovementInterface> & val) {
- dataMovementInterfaces = val;
- __isset.dataMovementInterfaces = true;
- }
-
- bool operator == (const ComputeResourceDescription & rhs) const
- {
- if (!(computeResourceId == rhs.computeResourceId))
- return false;
- if (!(hostName == rhs.hostName))
- return false;
- if (__isset.hostAliases != rhs.__isset.hostAliases)
- return false;
- else if (__isset.hostAliases && !(hostAliases == rhs.hostAliases))
- return false;
- if (__isset.ipAddresses != rhs.__isset.ipAddresses)
- return false;
- else if (__isset.ipAddresses && !(ipAddresses == rhs.ipAddresses))
- return false;
- if (__isset.resourceDescription != rhs.__isset.resourceDescription)
- return false;
- else if (__isset.resourceDescription && !(resourceDescription == rhs.resourceDescription))
- return false;
- if (__isset.batchQueues != rhs.__isset.batchQueues)
- return false;
- else if (__isset.batchQueues && !(batchQueues == rhs.batchQueues))
- return false;
- if (__isset.fileSystems != rhs.__isset.fileSystems)
- return false;
- else if (__isset.fileSystems && !(fileSystems == rhs.fileSystems))
- return false;
- if (__isset.jobSubmissionInterfaces != rhs.__isset.jobSubmissionInterfaces)
- return false;
- else if (__isset.jobSubmissionInterfaces && !(jobSubmissionInterfaces == rhs.jobSubmissionInterfaces))
- return false;
- if (__isset.dataMovementInterfaces != rhs.__isset.dataMovementInterfaces)
- return false;
- else if (__isset.dataMovementInterfaces && !(dataMovementInterfaces == rhs.dataMovementInterfaces))
- return false;
- return true;
- }
- bool operator != (const ComputeResourceDescription &rhs) const {
- return !(*this == rhs);
- }
-
- bool operator < (const ComputeResourceDescription & ) const;
-
- uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
- uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-};
-
-void swap(ComputeResourceDescription &a, ComputeResourceDescription &b);
-
-}}}}} // namespace
-
-#endif
http://git-wip-us.apache.org/repos/asf/airavata/blob/00b8aaf0/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/experimentModel_constants.cpp
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/experimentModel_constants.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/experimentModel_constants.cpp
deleted file mode 100644
index 2536b3a..0000000
--- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/experimentModel_constants.cpp
+++ /dev/null
@@ -1,23 +0,0 @@
-/**
- * Autogenerated by Thrift Compiler (0.9.1)
- *
- * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
- * @generated
- */
-#include "experimentModel_constants.h"
-
-namespace apache { namespace airavata { namespace model { namespace workspace { namespace experiment {
-
-const experimentModelConstants g_experimentModel_constants;
-
-experimentModelConstants::experimentModelConstants() {
- DEFAULT_ID = "DO_NOT_SET_AT_CLIENTS";
-
- DEFAULT_PROJECT_NAME = "DEFAULT";
-
- SINGLE_APP_NODE_NAME = "SINGLE_APP_NODE";
-
-}
-
-}}}}} // namespace
-
http://git-wip-us.apache.org/repos/asf/airavata/blob/00b8aaf0/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/experimentModel_constants.h
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/experimentModel_constants.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/experimentModel_constants.h
deleted file mode 100644
index 907d112..0000000
--- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/experimentModel_constants.h
+++ /dev/null
@@ -1,27 +0,0 @@
-/**
- * Autogenerated by Thrift Compiler (0.9.1)
- *
- * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
- * @generated
- */
-#ifndef experimentModel_CONSTANTS_H
-#define experimentModel_CONSTANTS_H
-
-#include "experimentModel_types.h"
-
-namespace apache { namespace airavata { namespace model { namespace workspace { namespace experiment {
-
-class experimentModelConstants {
- public:
- experimentModelConstants();
-
- std::string DEFAULT_ID;
- std::string DEFAULT_PROJECT_NAME;
- std::string SINGLE_APP_NODE_NAME;
-};
-
-extern const experimentModelConstants g_experimentModel_constants;
-
-}}}}} // namespace
-
-#endif
[03/47] Added c++ client samples for integrattion of airavata with
any other application's c++ interface
Posted by sm...@apache.org.
http://git-wip-us.apache.org/repos/asf/airavata/blob/f891b7dc/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/transport/THttpServer.h
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/transport/THttpServer.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/transport/THttpServer.h
new file mode 100644
index 0000000..bf69dbe
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/transport/THttpServer.h
@@ -0,0 +1,64 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you 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 _THRIFT_TRANSPORT_THTTPSERVER_H_
+#define _THRIFT_TRANSPORT_THTTPSERVER_H_ 1
+
+#include <thrift/transport/THttpTransport.h>
+
+namespace apache { namespace thrift { namespace transport {
+
+class THttpServer : public THttpTransport {
+ public:
+ THttpServer(boost::shared_ptr<TTransport> transport);
+
+ virtual ~THttpServer();
+
+ virtual void flush();
+
+ protected:
+
+ void readHeaders();
+ virtual void parseHeader(char* header);
+ virtual bool parseStatusLine(char* status);
+ std::string getTimeRFC1123();
+
+};
+
+/**
+ * Wraps a transport into HTTP protocol
+ */
+class THttpServerTransportFactory : public TTransportFactory {
+ public:
+ THttpServerTransportFactory() {}
+
+ virtual ~THttpServerTransportFactory() {}
+
+ /**
+ * Wraps the transport into a buffered one.
+ */
+ virtual boost::shared_ptr<TTransport> getTransport(boost::shared_ptr<TTransport> trans) {
+ return boost::shared_ptr<TTransport>(new THttpServer(trans));
+ }
+
+};
+
+}}} // apache::thrift::transport
+
+#endif // #ifndef _THRIFT_TRANSPORT_THTTPSERVER_H_
http://git-wip-us.apache.org/repos/asf/airavata/blob/f891b7dc/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/transport/THttpTransport.cpp
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/transport/THttpTransport.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/transport/THttpTransport.cpp
new file mode 100644
index 0000000..c415ddb
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/transport/THttpTransport.cpp
@@ -0,0 +1,252 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you 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 <thrift/transport/THttpTransport.h>
+
+namespace apache { namespace thrift { namespace transport {
+
+using namespace std;
+
+// Yeah, yeah, hacky to put these here, I know.
+const char* THttpTransport::CRLF = "\r\n";
+const int THttpTransport::CRLF_LEN = 2;
+
+THttpTransport::THttpTransport(boost::shared_ptr<TTransport> transport) :
+ transport_(transport),
+ readHeaders_(true),
+ chunked_(false),
+ chunkedDone_(false),
+ chunkSize_(0),
+ contentLength_(0),
+ httpBuf_(NULL),
+ httpPos_(0),
+ httpBufLen_(0),
+ httpBufSize_(1024) {
+ init();
+}
+
+void THttpTransport::init() {
+ httpBuf_ = (char*)std::malloc(httpBufSize_+1);
+ if (httpBuf_ == NULL) {
+ throw std::bad_alloc();
+ }
+ httpBuf_[httpBufLen_] = '\0';
+}
+
+THttpTransport::~THttpTransport() {
+ if (httpBuf_ != NULL) {
+ std::free(httpBuf_);
+ }
+}
+
+uint32_t THttpTransport::read(uint8_t* buf, uint32_t len) {
+ if (readBuffer_.available_read() == 0) {
+ readBuffer_.resetBuffer();
+ uint32_t got = readMoreData();
+ if (got == 0) {
+ return 0;
+ }
+ }
+ return readBuffer_.read(buf, len);
+}
+
+uint32_t THttpTransport::readEnd() {
+ // Read any pending chunked data (footers etc.)
+ if (chunked_) {
+ while (!chunkedDone_) {
+ readChunked();
+ }
+ }
+ return 0;
+}
+
+uint32_t THttpTransport::readMoreData() {
+ uint32_t size;
+
+ // Get more data!
+ refill();
+
+ if (readHeaders_) {
+ readHeaders();
+ }
+
+ if (chunked_) {
+ size = readChunked();
+ } else {
+ size = readContent(contentLength_);
+ }
+ readHeaders_ = true;
+ return size;
+}
+
+uint32_t THttpTransport::readChunked() {
+ uint32_t length = 0;
+
+ char* line = readLine();
+ uint32_t chunkSize = parseChunkSize(line);
+ if (chunkSize == 0) {
+ readChunkedFooters();
+ } else {
+ // Read data content
+ length += readContent(chunkSize);
+ // Read trailing CRLF after content
+ readLine();
+ }
+ return length;
+}
+
+void THttpTransport::readChunkedFooters() {
+ // End of data, read footer lines until a blank one appears
+ while (true) {
+ char* line = readLine();
+ if (strlen(line) == 0) {
+ chunkedDone_ = true;
+ break;
+ }
+ }
+}
+
+uint32_t THttpTransport::parseChunkSize(char* line) {
+ char* semi = strchr(line, ';');
+ if (semi != NULL) {
+ *semi = '\0';
+ }
+ uint32_t size = 0;
+ sscanf(line, "%x", &size);
+ return size;
+}
+
+uint32_t THttpTransport::readContent(uint32_t size) {
+ uint32_t need = size;
+ while (need > 0) {
+ uint32_t avail = httpBufLen_ - httpPos_;
+ if (avail == 0) {
+ // We have given all the data, reset position to head of the buffer
+ httpPos_ = 0;
+ httpBufLen_ = 0;
+ refill();
+
+ // Now have available however much we read
+ avail = httpBufLen_;
+ }
+ uint32_t give = avail;
+ if (need < give) {
+ give = need;
+ }
+ readBuffer_.write((uint8_t*)(httpBuf_+httpPos_), give);
+ httpPos_ += give;
+ need -= give;
+ }
+ return size;
+}
+
+char* THttpTransport::readLine() {
+ while (true) {
+ char* eol = NULL;
+
+ eol = strstr(httpBuf_+httpPos_, CRLF);
+
+ // No CRLF yet?
+ if (eol == NULL) {
+ // Shift whatever we have now to front and refill
+ shift();
+ refill();
+ } else {
+ // Return pointer to next line
+ *eol = '\0';
+ char* line = httpBuf_+httpPos_;
+ httpPos_ = static_cast<uint32_t>((eol-httpBuf_) + CRLF_LEN);
+ return line;
+ }
+ }
+
+}
+
+void THttpTransport::shift() {
+ if (httpBufLen_ > httpPos_) {
+ // Shift down remaining data and read more
+ uint32_t length = httpBufLen_ - httpPos_;
+ memmove(httpBuf_, httpBuf_+httpPos_, length);
+ httpBufLen_ = length;
+ } else {
+ httpBufLen_ = 0;
+ }
+ httpPos_ = 0;
+ httpBuf_[httpBufLen_] = '\0';
+}
+
+void THttpTransport::refill() {
+ uint32_t avail = httpBufSize_ - httpBufLen_;
+ if (avail <= (httpBufSize_ / 4)) {
+ httpBufSize_ *= 2;
+ httpBuf_ = (char*)std::realloc(httpBuf_, httpBufSize_+1);
+ if (httpBuf_ == NULL) {
+ throw std::bad_alloc();
+ }
+ }
+
+ // Read more data
+ uint32_t got = transport_->read((uint8_t*)(httpBuf_+httpBufLen_), httpBufSize_-httpBufLen_);
+ httpBufLen_ += got;
+ httpBuf_[httpBufLen_] = '\0';
+
+ if (got == 0) {
+ throw TTransportException("Could not refill buffer");
+ }
+}
+
+void THttpTransport::readHeaders() {
+ // Initialize headers state variables
+ contentLength_ = 0;
+ chunked_ = false;
+ chunkedDone_ = false;
+ chunkSize_ = 0;
+
+ // Control state flow
+ bool statusLine = true;
+ bool finished = false;
+
+ // Loop until headers are finished
+ while (true) {
+ char* line = readLine();
+
+ if (strlen(line) == 0) {
+ if (finished) {
+ readHeaders_ = false;
+ return;
+ } else {
+ // Must have been an HTTP 100, keep going for another status line
+ statusLine = true;
+ }
+ } else {
+ if (statusLine) {
+ statusLine = false;
+ finished = parseStatusLine(line);
+ } else {
+ parseHeader(line);
+ }
+ }
+ }
+}
+
+void THttpTransport::write(const uint8_t* buf, uint32_t len) {
+ writeBuffer_.write(buf, len);
+}
+
+}}}
http://git-wip-us.apache.org/repos/asf/airavata/blob/f891b7dc/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/transport/THttpTransport.h
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/transport/THttpTransport.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/transport/THttpTransport.h
new file mode 100644
index 0000000..a2e8834
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/transport/THttpTransport.h
@@ -0,0 +1,107 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you 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 _THRIFT_TRANSPORT_THTTPTRANSPORT_H_
+#define _THRIFT_TRANSPORT_THTTPTRANSPORT_H_ 1
+
+#include <thrift/transport/TBufferTransports.h>
+#include <thrift/transport/TVirtualTransport.h>
+
+namespace apache { namespace thrift { namespace transport {
+
+/**
+ * HTTP implementation of the thrift transport. This was irritating
+ * to write, but the alternatives in C++ land are daunting. Linking CURL
+ * requires 23 dynamic libraries last time I checked (WTF?!?). All we have
+ * here is a VERY basic HTTP/1.1 client which supports HTTP 100 Continue,
+ * chunked transfer encoding, keepalive, etc. Tested against Apache.
+ */
+class THttpTransport : public TVirtualTransport<THttpTransport> {
+ public:
+ THttpTransport(boost::shared_ptr<TTransport> transport);
+
+ virtual ~THttpTransport();
+
+ void open() {
+ transport_->open();
+ }
+
+ bool isOpen() {
+ return transport_->isOpen();
+ }
+
+ bool peek() {
+ return transport_->peek();
+ }
+
+ void close() {
+ transport_->close();
+ }
+
+ uint32_t read(uint8_t* buf, uint32_t len);
+
+ uint32_t readEnd();
+
+ void write(const uint8_t* buf, uint32_t len);
+
+ virtual void flush() = 0;
+
+ protected:
+
+ boost::shared_ptr<TTransport> transport_;
+
+ TMemoryBuffer writeBuffer_;
+ TMemoryBuffer readBuffer_;
+
+ bool readHeaders_;
+ bool chunked_;
+ bool chunkedDone_;
+ uint32_t chunkSize_;
+ uint32_t contentLength_;
+
+ char* httpBuf_;
+ uint32_t httpPos_;
+ uint32_t httpBufLen_;
+ uint32_t httpBufSize_;
+
+ virtual void init();
+
+ uint32_t readMoreData();
+ char* readLine();
+
+ void readHeaders();
+ virtual void parseHeader(char* header) = 0;
+ virtual bool parseStatusLine(char* status) = 0;
+
+ uint32_t readChunked();
+ void readChunkedFooters();
+ uint32_t parseChunkSize(char* line);
+
+ uint32_t readContent(uint32_t size);
+
+ void refill();
+ void shift();
+
+ static const char* CRLF;
+ static const int CRLF_LEN;
+};
+
+}}} // apache::thrift::transport
+
+#endif // #ifndef _THRIFT_TRANSPORT_THTTPCLIENT_H_
http://git-wip-us.apache.org/repos/asf/airavata/blob/f891b7dc/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/transport/TPipe.cpp
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/transport/TPipe.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/transport/TPipe.cpp
new file mode 100644
index 0000000..92e2912
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/transport/TPipe.cpp
@@ -0,0 +1,217 @@
+/*
+* Licensed to the Apache Software Foundation (ASF) under one
+* or more contributor license agreements. See the NOTICE file
+* distributed with this work for additional information
+* regarding copyright ownership. The ASF licenses this file
+* to you 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 <thrift/transport/TTransportException.h>
+#include <thrift/transport/TPipe.h>
+
+namespace apache { namespace thrift { namespace transport {
+
+using namespace std;
+
+/**
+* TPipe implementation.
+*/
+
+#ifdef _WIN32
+//---- Constructors ----
+TPipe::TPipe(HANDLE Pipe) :
+ Pipe_(Pipe),
+ TimeoutSeconds_(3),
+ isAnonymous(false)
+{}
+
+TPipe::TPipe(const char *pipename) :
+ Pipe_(INVALID_HANDLE_VALUE),
+ TimeoutSeconds_(3),
+ isAnonymous(false)
+{
+ setPipename(pipename);
+}
+
+TPipe::TPipe(const std::string &pipename) :
+ Pipe_(INVALID_HANDLE_VALUE),
+ TimeoutSeconds_(3),
+ isAnonymous(false)
+{
+ setPipename(pipename);
+}
+
+TPipe::TPipe(HANDLE PipeRd, HANDLE PipeWrt) :
+ Pipe_(PipeRd),
+ PipeWrt_(PipeWrt),
+ TimeoutSeconds_(3),
+ isAnonymous(true)
+{}
+
+TPipe::TPipe() :
+ Pipe_(INVALID_HANDLE_VALUE),
+ TimeoutSeconds_(3)
+{}
+
+//---- Destructor ----
+TPipe::~TPipe() {
+ close();
+}
+
+
+//---------------------------------------------------------
+// Transport callbacks
+//---------------------------------------------------------
+
+bool TPipe::isOpen() {
+ return (Pipe_ != INVALID_HANDLE_VALUE);
+}
+
+bool TPipe::peek() {
+ if (!isOpen()) {
+ return false;
+ }
+ DWORD bytesavail = 0;
+ int PeekRet = 0;
+ PeekRet = PeekNamedPipe(Pipe_, NULL, 0, NULL, &bytesavail, NULL);
+ return (PeekRet != 0 && bytesavail > 0);
+}
+
+void TPipe::open() {
+ if (isOpen()) {
+ return;
+ }
+
+ int SleepInterval = 500; //ms
+ int retries = TimeoutSeconds_ * 1000 / SleepInterval;
+ HANDLE hPipe_;
+ for(int i=0; i<retries; i++)
+ {
+ hPipe_ = CreateFile(
+ pipename_.c_str(),
+ GENERIC_READ | GENERIC_WRITE,
+ 0, // no sharing
+ NULL, // default security attributes
+ OPEN_EXISTING, // opens existing pipe
+ 0, // default attributes
+ NULL); // no template file
+
+ if (hPipe_ == INVALID_HANDLE_VALUE)
+ ::Sleep(SleepInterval);
+ else
+ break;
+ }
+ if (hPipe_ == INVALID_HANDLE_VALUE)
+ throw TTransportException(TTransportException::NOT_OPEN, "Unable to open pipe");
+
+ // The pipe connected; change to message-read mode.
+ DWORD dwMode = PIPE_READMODE_MESSAGE;
+ int fSuccess = SetNamedPipeHandleState(
+ hPipe_, // pipe handle
+ &dwMode, // new pipe mode
+ NULL, // don't set maximum bytes
+ NULL); // don't set maximum time
+ if (fSuccess == 0)
+ {
+ throw TTransportException(TTransportException::NOT_OPEN, "SetNamedPipeHandleState failed");
+ close();
+ }
+ Pipe_ = hPipe_;
+}
+
+
+void TPipe::close() {
+ if (isOpen())
+ {
+ CloseHandle(Pipe_);
+ Pipe_ = INVALID_HANDLE_VALUE;
+ }
+}
+
+uint32_t TPipe::read(uint8_t* buf, uint32_t len) {
+ if (!isOpen())
+ throw TTransportException(TTransportException::NOT_OPEN, "Called read on non-open pipe");
+
+ DWORD cbRead;
+ int fSuccess = ReadFile(
+ Pipe_, // pipe handle
+ buf, // buffer to receive reply
+ len, // size of buffer
+ &cbRead, // number of bytes read
+ NULL); // not overlapped
+
+ if ( !fSuccess && GetLastError() != ERROR_MORE_DATA )
+ return 0; // No more data, possibly because client disconnected.
+
+ return cbRead;
+}
+
+void TPipe::write(const uint8_t* buf, uint32_t len) {
+ if (!isOpen())
+ throw TTransportException(TTransportException::NOT_OPEN, "Called write on non-open pipe");
+
+ HANDLE WritePipe = isAnonymous? PipeWrt_: Pipe_;
+ DWORD cbWritten;
+ int fSuccess = WriteFile(
+ WritePipe, // pipe handle
+ buf, // message
+ len, // message length
+ &cbWritten, // bytes written
+ NULL); // not overlapped
+
+ if ( !fSuccess)
+ throw TTransportException(TTransportException::NOT_OPEN, "Write to pipe failed");
+}
+
+//---------------------------------------------------------
+// Accessors
+//---------------------------------------------------------
+
+string TPipe::getPipename() {
+ return pipename_;
+}
+
+void TPipe::setPipename(const std::string &pipename) {
+ if(pipename.find("\\\\") == -1)
+ pipename_ = "\\\\.\\pipe\\" + pipename;
+ else
+ pipename_ = pipename;
+}
+
+HANDLE TPipe::getPipeHandle() {
+ return Pipe_;
+}
+
+void TPipe::setPipeHandle(HANDLE pipehandle) {
+ Pipe_ = pipehandle;
+}
+
+HANDLE TPipe::getWrtPipeHandle() {
+ return PipeWrt_;
+}
+
+void TPipe::setWrtPipeHandle(HANDLE pipehandle) {
+ PipeWrt_ = pipehandle;
+}
+
+long TPipe::getConnectTimeout() {
+ return TimeoutSeconds_;
+}
+
+void TPipe::setConnectTimeout(long seconds) {
+ TimeoutSeconds_ = seconds;
+}
+#endif //_WIN32
+
+}}} // apache::thrift::transport
http://git-wip-us.apache.org/repos/asf/airavata/blob/f891b7dc/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/transport/TPipe.h
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/transport/TPipe.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/transport/TPipe.h
new file mode 100644
index 0000000..3c1755b
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/transport/TPipe.h
@@ -0,0 +1,96 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you 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 _THRIFT_TRANSPORT_TPIPE_H_
+#define _THRIFT_TRANSPORT_TPIPE_H_ 1
+
+#include <thrift/transport/TTransport.h>
+#include <thrift/transport/TVirtualTransport.h>
+#ifndef _WIN32
+# include <thrift/transport/TSocket.h>
+#endif
+
+namespace apache { namespace thrift { namespace transport {
+
+/**
+ * Windows Pipes implementation of the TTransport interface.
+ *
+ */
+#ifdef _WIN32
+class TPipe : public TVirtualTransport<TPipe> {
+ public:
+
+ // Constructs a new pipe object.
+ TPipe();
+ // Named pipe constructors -
+ explicit TPipe(HANDLE Pipe); //HANDLE is a void*
+ //need a const char * overload so string literals don't go to the HANDLE overload
+ explicit TPipe(const char *pipename);
+ explicit TPipe(const std::string &pipename);
+ // Anonymous pipe -
+ TPipe(HANDLE PipeRd, HANDLE PipeWrt);
+
+ // Destroys the pipe object, closing it if necessary.
+ virtual ~TPipe();
+
+ // Returns whether the pipe is open & valid.
+ virtual bool isOpen();
+
+ // Checks whether more data is available in the pipe.
+ virtual bool peek();
+
+ // Creates and opens the named/anonymous pipe.
+ virtual void open();
+
+ // Shuts down communications on the pipe.
+ virtual void close();
+
+ // Reads from the pipe.
+ virtual uint32_t read(uint8_t* buf, uint32_t len);
+
+ // Writes to the pipe.
+ virtual void write(const uint8_t* buf, uint32_t len);
+
+
+ //Accessors
+ std::string getPipename();
+ void setPipename(const std::string &pipename);
+ HANDLE getPipeHandle(); //doubles as the read handle for anon pipe
+ void setPipeHandle(HANDLE pipehandle);
+ HANDLE getWrtPipeHandle();
+ void setWrtPipeHandle(HANDLE pipehandle);
+ long getConnectTimeout();
+ void setConnectTimeout(long seconds);
+
+ private:
+ std::string pipename_;
+
+ //Named pipe handles are R/W, while anonymous pipes are one or the other (half duplex).
+ HANDLE Pipe_, PipeWrt_;
+ long TimeoutSeconds_;
+ bool isAnonymous;
+};
+#else
+typedef TSocket TPipe;
+#endif
+
+}}} // apache::thrift::transport
+
+#endif // #ifndef _THRIFT_TRANSPORT_TPIPE_H_
+
http://git-wip-us.apache.org/repos/asf/airavata/blob/f891b7dc/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/transport/TPipeServer.cpp
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/transport/TPipeServer.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/transport/TPipeServer.cpp
new file mode 100644
index 0000000..10fc69b
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/transport/TPipeServer.cpp
@@ -0,0 +1,402 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you 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 <thrift/thrift-config.h>
+#include <cstring>
+
+#include <thrift/transport/TPipe.h>
+#include <thrift/transport/TPipeServer.h>
+#include <boost/shared_ptr.hpp>
+#ifdef _WIN32
+# include <AccCtrl.h>
+# include <Aclapi.h>
+#endif //_WIN32
+
+namespace apache { namespace thrift { namespace transport {
+
+#ifdef _WIN32
+
+using namespace std;
+using boost::shared_ptr;
+
+//---- Constructors ----
+TPipeServer::TPipeServer(const std::string &pipename, uint32_t bufsize) :
+ pipename_(pipename),
+ bufsize_(bufsize),
+ Pipe_(INVALID_HANDLE_VALUE),
+ wakeup(INVALID_HANDLE_VALUE),
+ maxconns_(TPIPE_SERVER_MAX_CONNS_DEFAULT),
+ isAnonymous(false),
+ stop_(false)
+ {
+ setPipename(pipename);
+ createWakeupEvent();
+ }
+
+TPipeServer::TPipeServer(const std::string &pipename, uint32_t bufsize, uint32_t maxconnections) :
+ pipename_(pipename),
+ bufsize_(bufsize),
+ Pipe_(INVALID_HANDLE_VALUE),
+ wakeup(INVALID_HANDLE_VALUE),
+ isAnonymous(false),
+ stop_(false)
+ { //Restrict maxconns_ to 1-PIPE_UNLIMITED_INSTANCES
+ if(maxconnections == 0)
+ maxconns_ = 1;
+ else if (maxconnections > PIPE_UNLIMITED_INSTANCES)
+ maxconns_ = PIPE_UNLIMITED_INSTANCES;
+ else
+ maxconns_ = maxconnections;
+
+ setPipename(pipename);
+ createWakeupEvent();
+ }
+
+TPipeServer::TPipeServer(const std::string &pipename) :
+ pipename_(pipename),
+ bufsize_(1024),
+ Pipe_(INVALID_HANDLE_VALUE),
+ wakeup(INVALID_HANDLE_VALUE),
+ maxconns_(TPIPE_SERVER_MAX_CONNS_DEFAULT),
+ isAnonymous(false),
+ stop_(false)
+ {
+ setPipename(pipename);
+ createWakeupEvent();
+ }
+
+TPipeServer::TPipeServer(int bufsize) :
+ pipename_(""),
+ bufsize_(bufsize),
+ Pipe_(INVALID_HANDLE_VALUE),
+ wakeup(INVALID_HANDLE_VALUE),
+ maxconns_(1),
+ isAnonymous(true),
+ stop_(false)
+ {
+ //The anonymous pipe needs to be created first so that the server can
+ //pass the handles on to the client before the serve (acceptImpl)
+ //blocking call.
+ if (!TCreateAnonPipe()) {
+ GlobalOutput.perror("TPipeServer Create(Anon)Pipe failed, GLE=", GetLastError());
+ throw TTransportException(TTransportException::NOT_OPEN, " TPipeServer Create(Anon)Pipe failed");
+ }
+ createWakeupEvent();
+}
+
+TPipeServer::TPipeServer() :
+ pipename_(""),
+ bufsize_(1024),
+ Pipe_(INVALID_HANDLE_VALUE),
+ wakeup(INVALID_HANDLE_VALUE),
+ maxconns_(1),
+ isAnonymous(true),
+ stop_(false)
+{
+ if (!TCreateAnonPipe()) {
+ GlobalOutput.perror("TPipeServer Create(Anon)Pipe failed, GLE=", GetLastError());
+ throw TTransportException(TTransportException::NOT_OPEN, " TPipeServer Create(Anon)Pipe failed");
+ }
+ createWakeupEvent();
+}
+
+//---- Destructor ----
+TPipeServer::~TPipeServer() {
+ close();
+ CloseHandle( wakeup);
+ wakeup = INVALID_HANDLE_VALUE;
+}
+
+//---------------------------------------------------------
+// Transport callbacks
+//---------------------------------------------------------
+
+shared_ptr<TTransport> TPipeServer::acceptImpl() {
+ shared_ptr<TPipe> client;
+
+ stop_ = FALSE;
+
+ if(isAnonymous)
+ { //Anonymous Pipe
+ //This 0-byte read serves merely as a blocking call.
+ byte buf;
+ DWORD br;
+ int fSuccess = ReadFile(
+ Pipe_, // pipe handle
+ &buf, // buffer to receive reply
+ 0, // size of buffer
+ &br, // number of bytes read
+ NULL); // not overlapped
+
+ if ( !fSuccess && GetLastError() != ERROR_MORE_DATA ) {
+ GlobalOutput.perror("TPipeServer unable to initiate pipe comms, GLE=", GetLastError());
+ throw TTransportException(TTransportException::NOT_OPEN, " TPipeServer unable to initiate pipe comms");
+ }
+ client.reset(new TPipe(Pipe_, PipeW_));
+ }
+ else
+ { //Named Pipe
+ if (!TCreateNamedPipe()) {
+ GlobalOutput.perror("TPipeServer CreateNamedPipe failed, GLE=", GetLastError());
+ throw TTransportException(TTransportException::NOT_OPEN, " TPipeServer CreateNamedPipe failed");
+ }
+
+ struct TEventCleaner {
+ HANDLE hEvent;
+ ~TEventCleaner() {CloseHandle(hEvent);}
+ };
+
+ OVERLAPPED overlapped;
+ memset( &overlapped, 0, sizeof(overlapped));
+ overlapped.hEvent = CreateEvent( NULL, TRUE, FALSE, NULL);
+ {
+ TEventCleaner cleaner = {overlapped.hEvent};
+ while( ! stop_)
+ {
+ // Wait for the client to connect; if it succeeds, the
+ // function returns a nonzero value. If the function returns
+ // zero, GetLastError should return ERROR_PIPE_CONNECTED.
+ if( ConnectNamedPipe(Pipe_, &overlapped))
+ {
+ GlobalOutput.printf("Client connected.");
+ client.reset(new TPipe(Pipe_));
+ return client;
+ }
+
+ DWORD dwErr = GetLastError();
+ HANDLE events[2] = {overlapped.hEvent, wakeup};
+ switch( dwErr)
+ {
+ case ERROR_PIPE_CONNECTED:
+ GlobalOutput.printf("Client connected.");
+ client.reset(new TPipe(Pipe_));
+ return client;
+
+ case ERROR_IO_PENDING:
+ DWORD dwWait, dwDummy;
+ dwWait = WaitForMultipleObjects( 2, events, FALSE, 3000);
+ switch(dwWait)
+ {
+ case WAIT_OBJECT_0:
+ if(GetOverlappedResult(Pipe_, &overlapped, &dwDummy, TRUE))
+ {
+ GlobalOutput.printf("Client connected.");
+ client.reset(new TPipe(Pipe_));
+ return client;
+ }
+ break;
+ case WAIT_OBJECT_0 + 1:
+ stop_ = TRUE;
+ break;
+ default:
+ break;
+ }
+ break;
+
+ default:
+ break;
+ }
+
+ CancelIo(Pipe_);
+ DisconnectNamedPipe(Pipe_);
+ }
+
+ close();
+ GlobalOutput.perror("TPipeServer ConnectNamedPipe GLE=", GetLastError());
+ throw TTransportException(TTransportException::NOT_OPEN, "TPipeServer: client connection failed");
+ }
+ }
+
+ return client;
+}
+
+void TPipeServer::interrupt() {
+ if(Pipe_ != INVALID_HANDLE_VALUE) {
+ stop_ = TRUE;
+ CancelIo(Pipe_);
+ SetEvent(wakeup);
+ }
+}
+
+void TPipeServer::close() {
+ if(!isAnonymous)
+ {
+ if(Pipe_ != INVALID_HANDLE_VALUE) {
+ DisconnectNamedPipe(Pipe_);
+ CloseHandle(Pipe_);
+ Pipe_ = INVALID_HANDLE_VALUE;
+ }
+ }
+ else
+ {
+ try {
+ CloseHandle(Pipe_);
+ CloseHandle(PipeW_);
+ CloseHandle(ClientAnonRead);
+ CloseHandle(ClientAnonWrite);
+ }
+ catch(...) {
+ GlobalOutput.perror("TPipeServer anon close GLE=", GetLastError());
+ }
+ }
+}
+
+
+bool TPipeServer::TCreateNamedPipe() {
+
+ //Windows - set security to allow non-elevated apps
+ //to access pipes created by elevated apps.
+ SID_IDENTIFIER_AUTHORITY SIDAuthWorld = SECURITY_WORLD_SID_AUTHORITY;
+ PSID everyone_sid = NULL;
+ AllocateAndInitializeSid(&SIDAuthWorld, 1, SECURITY_WORLD_RID, 0, 0, 0, 0, 0, 0, 0, &everyone_sid);
+
+ EXPLICIT_ACCESS ea;
+ ZeroMemory(&ea, sizeof(EXPLICIT_ACCESS));
+ ea.grfAccessPermissions = SPECIFIC_RIGHTS_ALL | STANDARD_RIGHTS_ALL;
+ ea.grfAccessMode = SET_ACCESS;
+ ea.grfInheritance = NO_INHERITANCE;
+ ea.Trustee.TrusteeForm = TRUSTEE_IS_SID;
+ ea.Trustee.TrusteeType = TRUSTEE_IS_WELL_KNOWN_GROUP;
+ ea.Trustee.ptstrName = (LPSTR)everyone_sid;
+
+ PACL acl = NULL;
+ SetEntriesInAcl(1, &ea, NULL, &acl);
+
+ PSECURITY_DESCRIPTOR sd = (PSECURITY_DESCRIPTOR)LocalAlloc(LPTR,SECURITY_DESCRIPTOR_MIN_LENGTH);
+ InitializeSecurityDescriptor(sd, SECURITY_DESCRIPTOR_REVISION);
+ SetSecurityDescriptorDacl(sd, TRUE, acl, FALSE);
+
+ SECURITY_ATTRIBUTES sa;
+ sa.nLength = sizeof(SECURITY_ATTRIBUTES);
+ sa.lpSecurityDescriptor = sd;
+ sa.bInheritHandle = FALSE;
+
+ // Create an instance of the named pipe
+ HANDLE hPipe_ = CreateNamedPipe(
+ pipename_.c_str(), // pipe name
+ PIPE_ACCESS_DUPLEX | // read/write access
+ FILE_FLAG_OVERLAPPED, // async mode
+ PIPE_TYPE_MESSAGE | // message type pipe
+ PIPE_READMODE_MESSAGE, // message-read mode
+ maxconns_, // max. instances
+ bufsize_, // output buffer size
+ bufsize_, // input buffer size
+ 0, // client time-out
+ &sa); // default security attribute
+
+ if(hPipe_ == INVALID_HANDLE_VALUE)
+ {
+ Pipe_ = INVALID_HANDLE_VALUE;
+ GlobalOutput.perror("TPipeServer::TCreateNamedPipe() GLE=", GetLastError());
+ throw TTransportException(TTransportException::NOT_OPEN, "TCreateNamedPipe() failed", GetLastError());
+ return false;
+ }
+
+ Pipe_ = hPipe_;
+ return true;
+}
+
+bool TPipeServer::TCreateAnonPipe() {
+ SECURITY_ATTRIBUTES sa;
+ SECURITY_DESCRIPTOR sd; //security information for pipes
+
+ InitializeSecurityDescriptor(&sd,SECURITY_DESCRIPTOR_REVISION);
+ SetSecurityDescriptorDacl(&sd, true, NULL, false);
+ sa.lpSecurityDescriptor = &sd;
+ sa.nLength = sizeof(SECURITY_ATTRIBUTES);
+ sa.bInheritHandle = true; //allow passing handle to child
+
+ HANDLE ClientAnonReadH, PipeW_H, ClientAnonWriteH, Pipe_H;
+ if (!CreatePipe(&ClientAnonReadH,&PipeW_H,&sa,0)) //create stdin pipe
+ {
+ GlobalOutput.perror("TPipeServer CreatePipe (anon) failed, GLE=", GetLastError());
+ return false;
+ }
+ if (!CreatePipe(&Pipe_H,&ClientAnonWriteH,&sa,0)) //create stdout pipe
+ {
+ GlobalOutput.perror("TPipeServer CreatePipe (anon) failed, GLE=", GetLastError());
+ CloseHandle(ClientAnonReadH);
+ CloseHandle(PipeW_H);
+ return false;
+ }
+ ClientAnonRead = ClientAnonReadH;
+ ClientAnonWrite = ClientAnonWriteH;
+ Pipe_ = Pipe_H;
+ PipeW_ = PipeW_H;
+
+ return true;
+}
+
+void TPipeServer::createWakeupEvent() {
+ wakeup = CreateEvent( NULL, TRUE, FALSE, NULL);
+}
+
+
+//---------------------------------------------------------
+// Accessors
+//---------------------------------------------------------
+
+string TPipeServer::getPipename() {
+ return pipename_;
+}
+
+void TPipeServer::setPipename(const std::string &pipename) {
+ if(pipename.find("\\\\") == -1)
+ pipename_ = "\\\\.\\pipe\\" + pipename;
+ else
+ pipename_ = pipename;
+}
+
+int TPipeServer::getBufferSize() {
+ return bufsize_;
+}
+
+void TPipeServer::setBufferSize(int bufsize) {
+ bufsize_ = bufsize;
+}
+
+HANDLE TPipeServer::getPipeHandle() {
+ return Pipe_;
+}
+
+HANDLE TPipeServer::getWrtPipeHandle()
+{
+ return PipeW_;
+}
+
+HANDLE TPipeServer::getClientRdPipeHandle()
+{
+ return ClientAnonRead;
+}
+
+HANDLE TPipeServer::getClientWrtPipeHandle()
+{
+ return ClientAnonWrite;
+}
+
+bool TPipeServer::getAnonymous() {
+ return isAnonymous;
+}
+
+void TPipeServer::setAnonymous(bool anon) {
+ isAnonymous = anon;
+}
+#endif //_WIN32
+
+}}} // apache::thrift::transport
http://git-wip-us.apache.org/repos/asf/airavata/blob/f891b7dc/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/transport/TPipeServer.h
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/transport/TPipeServer.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/transport/TPipeServer.h
new file mode 100755
index 0000000..88a8b6b
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/transport/TPipeServer.h
@@ -0,0 +1,93 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you 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 _THRIFT_TRANSPORT_TSERVERWINPIPES_H_
+#define _THRIFT_TRANSPORT_TSERVERWINPIPES_H_ 1
+
+#include <thrift/transport/TServerTransport.h>
+#include <boost/shared_ptr.hpp>
+#ifndef _WIN32
+# include "TServerSocket.h"
+#endif
+
+#define TPIPE_SERVER_MAX_CONNS_DEFAULT 10
+
+namespace apache { namespace thrift { namespace transport {
+
+/**
+ * Windows Pipes implementation of TServerTransport.
+ */
+#ifdef _WIN32
+class TPipeServer : public TServerTransport {
+ public:
+ //Constructors
+ // Named Pipe -
+ TPipeServer(const std::string &pipename, uint32_t bufsize);
+ TPipeServer(const std::string &pipename, uint32_t bufsize, uint32_t maxconnections);
+ TPipeServer(const std::string &pipename);
+ // Anonymous pipe -
+ TPipeServer(int bufsize);
+ TPipeServer();
+
+ //Destructor
+ ~TPipeServer();
+
+ //Standard transport callbacks
+ void interrupt();
+ void close();
+ protected:
+ boost::shared_ptr<TTransport> acceptImpl();
+
+ bool TCreateNamedPipe();
+ bool TCreateAnonPipe();
+ void createWakeupEvent();
+
+ public:
+ //Accessors
+ std::string getPipename();
+ void setPipename(const std::string &pipename);
+ int getBufferSize();
+ void setBufferSize(int bufsize);
+ HANDLE getPipeHandle(); //Named Pipe R/W -or- Anonymous pipe Read handle
+ HANDLE getWrtPipeHandle();
+ HANDLE getClientRdPipeHandle();
+ HANDLE getClientWrtPipeHandle();
+ bool getAnonymous();
+ void setAnonymous(bool anon);
+
+ private:
+ std::string pipename_;
+ uint32_t bufsize_;
+ HANDLE Pipe_; //Named Pipe (R/W) or Anonymous Pipe (R)
+ uint32_t maxconns_;
+ HANDLE PipeW_; //Anonymous Pipe (W)
+ HANDLE ClientAnonRead, ClientAnonWrite; //Client side anonymous pipe handles
+ HANDLE wakeup; // wake up event
+ //? Do we need duplicates to send to client?
+ bool isAnonymous;
+ bool stop_; // stop flag
+};
+#else //_WIN32
+//*NIX named pipe implementation uses domain socket
+typedef TServerSocket TPipeServer;
+#endif
+
+}}} // apache::thrift::transport
+
+#endif // #ifndef _THRIFT_TRANSPORT_TSERVERWINPIPES_H_
http://git-wip-us.apache.org/repos/asf/airavata/blob/f891b7dc/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/transport/TSSLServerSocket.cpp
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/transport/TSSLServerSocket.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/transport/TSSLServerSocket.cpp
new file mode 100644
index 0000000..4689e4a
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/transport/TSSLServerSocket.cpp
@@ -0,0 +1,47 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you 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 <thrift/transport/TSSLServerSocket.h>
+#include <thrift/transport/TSSLSocket.h>
+
+namespace apache { namespace thrift { namespace transport {
+
+using namespace boost;
+
+/**
+ * SSL server socket implementation.
+ */
+TSSLServerSocket::TSSLServerSocket(int port,
+ shared_ptr<TSSLSocketFactory> factory):
+ TServerSocket(port), factory_(factory) {
+ factory_->server(true);
+}
+
+TSSLServerSocket::TSSLServerSocket(int port, int sendTimeout, int recvTimeout,
+ shared_ptr<TSSLSocketFactory> factory):
+ TServerSocket(port, sendTimeout, recvTimeout),
+ factory_(factory) {
+ factory_->server(true);
+}
+
+shared_ptr<TSocket> TSSLServerSocket::createSocket(int client) {
+ return factory_->createSocket(client);
+}
+
+}}}
http://git-wip-us.apache.org/repos/asf/airavata/blob/f891b7dc/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/transport/TSSLServerSocket.h
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/transport/TSSLServerSocket.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/transport/TSSLServerSocket.h
new file mode 100644
index 0000000..6d8e657
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/transport/TSSLServerSocket.h
@@ -0,0 +1,59 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you 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 _THRIFT_TRANSPORT_TSSLSERVERSOCKET_H_
+#define _THRIFT_TRANSPORT_TSSLSERVERSOCKET_H_ 1
+
+#include <boost/shared_ptr.hpp>
+#include <thrift/transport/TServerSocket.h>
+
+namespace apache { namespace thrift { namespace transport {
+
+class TSSLSocketFactory;
+
+/**
+ * Server socket that accepts SSL connections.
+ */
+class TSSLServerSocket: public TServerSocket {
+ public:
+ /**
+ * Constructor.
+ *
+ * @param port Listening port
+ * @param factory SSL socket factory implementation
+ */
+ TSSLServerSocket(int port, boost::shared_ptr<TSSLSocketFactory> factory);
+ /**
+ * Constructor.
+ *
+ * @param port Listening port
+ * @param sendTimeout Socket send timeout
+ * @param recvTimeout Socket receive timeout
+ * @param factory SSL socket factory implementation
+ */
+ TSSLServerSocket(int port, int sendTimeout, int recvTimeout,
+ boost::shared_ptr<TSSLSocketFactory> factory);
+ protected:
+ boost::shared_ptr<TSocket> createSocket(int socket);
+ boost::shared_ptr<TSSLSocketFactory> factory_;
+};
+
+}}}
+
+#endif
http://git-wip-us.apache.org/repos/asf/airavata/blob/f891b7dc/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/transport/TSSLSocket.cpp
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/transport/TSSLSocket.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/transport/TSSLSocket.cpp
new file mode 100644
index 0000000..029c541
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/transport/TSSLSocket.cpp
@@ -0,0 +1,671 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you 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 <thrift/thrift-config.h>
+
+#include <errno.h>
+#include <string>
+#ifdef HAVE_ARPA_INET_H
+#include <arpa/inet.h>
+#endif
+#include <sys/types.h>
+#ifdef HAVE_SYS_SOCKET_H
+#include <sys/socket.h>
+#endif
+#include <boost/lexical_cast.hpp>
+#include <boost/shared_array.hpp>
+#include <openssl/err.h>
+#include <openssl/rand.h>
+#include <openssl/ssl.h>
+#include <openssl/x509v3.h>
+#include <thrift/concurrency/Mutex.h>
+#include <thrift/transport/TSSLSocket.h>
+#include <thrift/transport/PlatformSocket.h>
+
+#define OPENSSL_VERSION_NO_THREAD_ID 0x10000000L
+
+using namespace std;
+using namespace boost;
+using namespace apache::thrift::concurrency;
+
+struct CRYPTO_dynlock_value {
+ Mutex mutex;
+};
+
+namespace apache { namespace thrift { namespace transport {
+
+
+static void buildErrors(string& message, int error = 0);
+static bool matchName(const char* host, const char* pattern, int size);
+static char uppercase(char c);
+
+// SSLContext implementation
+SSLContext::SSLContext() {
+ ctx_ = SSL_CTX_new(TLSv1_method());
+ if (ctx_ == NULL) {
+ string errors;
+ buildErrors(errors);
+ throw TSSLException("SSL_CTX_new: " + errors);
+ }
+ SSL_CTX_set_mode(ctx_, SSL_MODE_AUTO_RETRY);
+}
+
+SSLContext::~SSLContext() {
+ if (ctx_ != NULL) {
+ SSL_CTX_free(ctx_);
+ ctx_ = NULL;
+ }
+}
+
+SSL* SSLContext::createSSL() {
+ SSL* ssl = SSL_new(ctx_);
+ if (ssl == NULL) {
+ string errors;
+ buildErrors(errors);
+ throw TSSLException("SSL_new: " + errors);
+ }
+ return ssl;
+}
+
+// TSSLSocket implementation
+TSSLSocket::TSSLSocket(boost::shared_ptr<SSLContext> ctx):
+ TSocket(), server_(false), ssl_(NULL), ctx_(ctx) {
+}
+
+TSSLSocket::TSSLSocket(boost::shared_ptr<SSLContext> ctx, int socket):
+ TSocket(socket), server_(false), ssl_(NULL), ctx_(ctx) {
+}
+
+TSSLSocket::TSSLSocket(boost::shared_ptr<SSLContext> ctx, string host, int port):
+ TSocket(host, port), server_(false), ssl_(NULL), ctx_(ctx) {
+}
+
+TSSLSocket::~TSSLSocket() {
+ close();
+}
+
+bool TSSLSocket::isOpen() {
+ if (ssl_ == NULL || !TSocket::isOpen()) {
+ return false;
+ }
+ int shutdown = SSL_get_shutdown(ssl_);
+ // "!!" is squelching C4800 "forcing bool -> true or false" perfomance warning
+ bool shutdownReceived = !!(shutdown & SSL_RECEIVED_SHUTDOWN);
+ bool shutdownSent = !!(shutdown & SSL_SENT_SHUTDOWN);
+ if (shutdownReceived && shutdownSent) {
+ return false;
+ }
+ return true;
+}
+
+bool TSSLSocket::peek() {
+ if (!isOpen()) {
+ return false;
+ }
+ checkHandshake();
+ int rc;
+ uint8_t byte;
+ rc = SSL_peek(ssl_, &byte, 1);
+ if (rc < 0) {
+ int errno_copy = THRIFT_GET_SOCKET_ERROR;
+ string errors;
+ buildErrors(errors, errno_copy);
+ throw TSSLException("SSL_peek: " + errors);
+ }
+ if (rc == 0) {
+ ERR_clear_error();
+ }
+ return (rc > 0);
+}
+
+void TSSLSocket::open() {
+ if (isOpen() || server()) {
+ throw TTransportException(TTransportException::BAD_ARGS);
+ }
+ TSocket::open();
+}
+
+void TSSLSocket::close() {
+ if (ssl_ != NULL) {
+ int rc = SSL_shutdown(ssl_);
+ if (rc == 0) {
+ rc = SSL_shutdown(ssl_);
+ }
+ if (rc < 0) {
+ int errno_copy = THRIFT_GET_SOCKET_ERROR;
+ string errors;
+ buildErrors(errors, errno_copy);
+ GlobalOutput(("SSL_shutdown: " + errors).c_str());
+ }
+ SSL_free(ssl_);
+ ssl_ = NULL;
+ ERR_remove_state(0);
+ }
+ TSocket::close();
+}
+
+uint32_t TSSLSocket::read(uint8_t* buf, uint32_t len) {
+ checkHandshake();
+ int32_t bytes = 0;
+ for (int32_t retries = 0; retries < maxRecvRetries_; retries++){
+ bytes = SSL_read(ssl_, buf, len);
+ if (bytes >= 0)
+ break;
+ int errno_copy = THRIFT_GET_SOCKET_ERROR;
+ if (SSL_get_error(ssl_, bytes) == SSL_ERROR_SYSCALL) {
+ if (ERR_get_error() == 0 && errno_copy == THRIFT_EINTR) {
+ continue;
+ }
+ }
+ string errors;
+ buildErrors(errors, errno_copy);
+ throw TSSLException("SSL_read: " + errors);
+ }
+ return bytes;
+}
+
+void TSSLSocket::write(const uint8_t* buf, uint32_t len) {
+ checkHandshake();
+ // loop in case SSL_MODE_ENABLE_PARTIAL_WRITE is set in SSL_CTX.
+ uint32_t written = 0;
+ while (written < len) {
+ int32_t bytes = SSL_write(ssl_, &buf[written], len - written);
+ if (bytes <= 0) {
+ int errno_copy = THRIFT_GET_SOCKET_ERROR;
+ string errors;
+ buildErrors(errors, errno_copy);
+ throw TSSLException("SSL_write: " + errors);
+ }
+ written += bytes;
+ }
+}
+
+void TSSLSocket::flush() {
+ // Don't throw exception if not open. Thrift servers close socket twice.
+ if (ssl_ == NULL) {
+ return;
+ }
+ checkHandshake();
+ BIO* bio = SSL_get_wbio(ssl_);
+ if (bio == NULL) {
+ throw TSSLException("SSL_get_wbio returns NULL");
+ }
+ if (BIO_flush(bio) != 1) {
+ int errno_copy = THRIFT_GET_SOCKET_ERROR;
+ string errors;
+ buildErrors(errors, errno_copy);
+ throw TSSLException("BIO_flush: " + errors);
+ }
+}
+
+void TSSLSocket::checkHandshake() {
+ if (!TSocket::isOpen()) {
+ throw TTransportException(TTransportException::NOT_OPEN);
+ }
+ if (ssl_ != NULL) {
+ return;
+ }
+ ssl_ = ctx_->createSSL();
+ SSL_set_fd(ssl_, socket_);
+ int rc;
+ if (server()) {
+ rc = SSL_accept(ssl_);
+ } else {
+ rc = SSL_connect(ssl_);
+ }
+ if (rc <= 0) {
+ int errno_copy = THRIFT_GET_SOCKET_ERROR;
+ string fname(server() ? "SSL_accept" : "SSL_connect");
+ string errors;
+ buildErrors(errors, errno_copy);
+ throw TSSLException(fname + ": " + errors);
+ }
+ authorize();
+}
+
+void TSSLSocket::authorize() {
+ int rc = SSL_get_verify_result(ssl_);
+ if (rc != X509_V_OK) { // verify authentication result
+ throw TSSLException(string("SSL_get_verify_result(), ") +
+ X509_verify_cert_error_string(rc));
+ }
+
+ X509* cert = SSL_get_peer_certificate(ssl_);
+ if (cert == NULL) {
+ // certificate is not present
+ if (SSL_get_verify_mode(ssl_) & SSL_VERIFY_FAIL_IF_NO_PEER_CERT) {
+ throw TSSLException("authorize: required certificate not present");
+ }
+ // certificate was optional: didn't intend to authorize remote
+ if (server() && access_ != NULL) {
+ throw TSSLException("authorize: certificate required for authorization");
+ }
+ return;
+ }
+ // certificate is present
+ if (access_ == NULL) {
+ X509_free(cert);
+ return;
+ }
+ // both certificate and access manager are present
+
+ string host;
+ sockaddr_storage sa;
+ socklen_t saLength = sizeof(sa);
+
+ if (getpeername(socket_, (sockaddr*)&sa, &saLength) != 0) {
+ sa.ss_family = AF_UNSPEC;
+ }
+
+ AccessManager::Decision decision = access_->verify(sa);
+
+ if (decision != AccessManager::SKIP) {
+ X509_free(cert);
+ if (decision != AccessManager::ALLOW) {
+ throw TSSLException("authorize: access denied based on remote IP");
+ }
+ return;
+ }
+
+ // extract subjectAlternativeName
+ STACK_OF(GENERAL_NAME)* alternatives = (STACK_OF(GENERAL_NAME)*)
+ X509_get_ext_d2i(cert, NID_subject_alt_name, NULL, NULL);
+ if (alternatives != NULL) {
+ const int count = sk_GENERAL_NAME_num(alternatives);
+ for (int i = 0; decision == AccessManager::SKIP && i < count; i++) {
+ const GENERAL_NAME* name = sk_GENERAL_NAME_value(alternatives, i);
+ if (name == NULL) {
+ continue;
+ }
+ char* data = (char*)ASN1_STRING_data(name->d.ia5);
+ int length = ASN1_STRING_length(name->d.ia5);
+ switch (name->type) {
+ case GEN_DNS:
+ if (host.empty()) {
+ host = (server() ? getPeerHost() : getHost());
+ }
+ decision = access_->verify(host, data, length);
+ break;
+ case GEN_IPADD:
+ decision = access_->verify(sa, data, length);
+ break;
+ }
+ }
+ sk_GENERAL_NAME_pop_free(alternatives, GENERAL_NAME_free);
+ }
+
+ if (decision != AccessManager::SKIP) {
+ X509_free(cert);
+ if (decision != AccessManager::ALLOW) {
+ throw TSSLException("authorize: access denied");
+ }
+ return;
+ }
+
+ // extract commonName
+ X509_NAME* name = X509_get_subject_name(cert);
+ if (name != NULL) {
+ X509_NAME_ENTRY* entry;
+ unsigned char* utf8;
+ int last = -1;
+ while (decision == AccessManager::SKIP) {
+ last = X509_NAME_get_index_by_NID(name, NID_commonName, last);
+ if (last == -1)
+ break;
+ entry = X509_NAME_get_entry(name, last);
+ if (entry == NULL)
+ continue;
+ ASN1_STRING* common = X509_NAME_ENTRY_get_data(entry);
+ int size = ASN1_STRING_to_UTF8(&utf8, common);
+ if (host.empty()) {
+ host = (server() ? getHost() : getHost());
+ }
+ decision = access_->verify(host, (char*)utf8, size);
+ OPENSSL_free(utf8);
+ }
+ }
+ X509_free(cert);
+ if (decision != AccessManager::ALLOW) {
+ throw TSSLException("authorize: cannot authorize peer");
+ }
+}
+
+// TSSLSocketFactory implementation
+bool TSSLSocketFactory::initialized = false;
+uint64_t TSSLSocketFactory::count_ = 0;
+Mutex TSSLSocketFactory::mutex_;
+
+TSSLSocketFactory::TSSLSocketFactory(): server_(false) {
+ Guard guard(mutex_);
+ if (count_ == 0) {
+ initializeOpenSSL();
+ randomize();
+ }
+ count_++;
+ ctx_ = boost::shared_ptr<SSLContext>(new SSLContext);
+}
+
+TSSLSocketFactory::~TSSLSocketFactory() {
+ Guard guard(mutex_);
+ count_--;
+ if (count_ == 0) {
+ cleanupOpenSSL();
+ }
+}
+
+boost::shared_ptr<TSSLSocket> TSSLSocketFactory::createSocket() {
+ boost::shared_ptr<TSSLSocket> ssl(new TSSLSocket(ctx_));
+ setup(ssl);
+ return ssl;
+}
+
+boost::shared_ptr<TSSLSocket> TSSLSocketFactory::createSocket(int socket) {
+ boost::shared_ptr<TSSLSocket> ssl(new TSSLSocket(ctx_, socket));
+ setup(ssl);
+ return ssl;
+}
+
+boost::shared_ptr<TSSLSocket> TSSLSocketFactory::createSocket(const string& host,
+ int port) {
+ boost::shared_ptr<TSSLSocket> ssl(new TSSLSocket(ctx_, host, port));
+ setup(ssl);
+ return ssl;
+}
+
+void TSSLSocketFactory::setup(boost::shared_ptr<TSSLSocket> ssl) {
+ ssl->server(server());
+ if (access_ == NULL && !server()) {
+ access_ = boost::shared_ptr<AccessManager>(new DefaultClientAccessManager);
+ }
+ if (access_ != NULL) {
+ ssl->access(access_);
+ }
+}
+
+void TSSLSocketFactory::ciphers(const string& enable) {
+ int rc = SSL_CTX_set_cipher_list(ctx_->get(), enable.c_str());
+ if (ERR_peek_error() != 0) {
+ string errors;
+ buildErrors(errors);
+ throw TSSLException("SSL_CTX_set_cipher_list: " + errors);
+ }
+ if (rc == 0) {
+ throw TSSLException("None of specified ciphers are supported");
+ }
+}
+
+void TSSLSocketFactory::authenticate(bool required) {
+ int mode;
+ if (required) {
+ mode = SSL_VERIFY_PEER | SSL_VERIFY_FAIL_IF_NO_PEER_CERT | SSL_VERIFY_CLIENT_ONCE;
+ } else {
+ mode = SSL_VERIFY_NONE;
+ }
+ SSL_CTX_set_verify(ctx_->get(), mode, NULL);
+}
+
+void TSSLSocketFactory::loadCertificate(const char* path, const char* format) {
+ if (path == NULL || format == NULL) {
+ throw TTransportException(TTransportException::BAD_ARGS,
+ "loadCertificateChain: either <path> or <format> is NULL");
+ }
+ if (strcmp(format, "PEM") == 0) {
+ if (SSL_CTX_use_certificate_chain_file(ctx_->get(), path) == 0) {
+ int errno_copy = THRIFT_GET_SOCKET_ERROR;
+ string errors;
+ buildErrors(errors, errno_copy);
+ throw TSSLException("SSL_CTX_use_certificate_chain_file: " + errors);
+ }
+ } else {
+ throw TSSLException("Unsupported certificate format: " + string(format));
+ }
+}
+
+void TSSLSocketFactory::loadPrivateKey(const char* path, const char* format) {
+ if (path == NULL || format == NULL) {
+ throw TTransportException(TTransportException::BAD_ARGS,
+ "loadPrivateKey: either <path> or <format> is NULL");
+ }
+ if (strcmp(format, "PEM") == 0) {
+ if (SSL_CTX_use_PrivateKey_file(ctx_->get(), path, SSL_FILETYPE_PEM) == 0) {
+ int errno_copy = THRIFT_GET_SOCKET_ERROR;
+ string errors;
+ buildErrors(errors, errno_copy);
+ throw TSSLException("SSL_CTX_use_PrivateKey_file: " + errors);
+ }
+ }
+}
+
+void TSSLSocketFactory::loadTrustedCertificates(const char* path) {
+ if (path == NULL) {
+ throw TTransportException(TTransportException::BAD_ARGS,
+ "loadTrustedCertificates: <path> is NULL");
+ }
+ if (SSL_CTX_load_verify_locations(ctx_->get(), path, NULL) == 0) {
+ int errno_copy = THRIFT_GET_SOCKET_ERROR;
+ string errors;
+ buildErrors(errors, errno_copy);
+ throw TSSLException("SSL_CTX_load_verify_locations: " + errors);
+ }
+}
+
+void TSSLSocketFactory::randomize() {
+ RAND_poll();
+}
+
+void TSSLSocketFactory::overrideDefaultPasswordCallback() {
+ SSL_CTX_set_default_passwd_cb(ctx_->get(), passwordCallback);
+ SSL_CTX_set_default_passwd_cb_userdata(ctx_->get(), this);
+}
+
+int TSSLSocketFactory::passwordCallback(char* password,
+ int size,
+ int,
+ void* data) {
+ TSSLSocketFactory* factory = (TSSLSocketFactory*)data;
+ string userPassword;
+ factory->getPassword(userPassword, size);
+ int length = userPassword.size();
+ if (length > size) {
+ length = size;
+ }
+ strncpy(password, userPassword.c_str(), length);
+ return length;
+}
+
+static shared_array<Mutex> mutexes;
+
+static void callbackLocking(int mode, int n, const char*, int) {
+ if (mode & CRYPTO_LOCK) {
+ mutexes[n].lock();
+ } else {
+ mutexes[n].unlock();
+ }
+}
+
+#if (OPENSSL_VERSION_NUMBER < OPENSSL_VERSION_NO_THREAD_ID)
+static unsigned long callbackThreadID() {
+ return (unsigned long) pthread_self();
+}
+#endif
+
+static CRYPTO_dynlock_value* dyn_create(const char*, int) {
+ return new CRYPTO_dynlock_value;
+}
+
+static void dyn_lock(int mode,
+ struct CRYPTO_dynlock_value* lock,
+ const char*, int) {
+ if (lock != NULL) {
+ if (mode & CRYPTO_LOCK) {
+ lock->mutex.lock();
+ } else {
+ lock->mutex.unlock();
+ }
+ }
+}
+
+static void dyn_destroy(struct CRYPTO_dynlock_value* lock, const char*, int) {
+ delete lock;
+}
+
+void TSSLSocketFactory::initializeOpenSSL() {
+ if (initialized) {
+ return;
+ }
+ initialized = true;
+ SSL_library_init();
+ SSL_load_error_strings();
+ // static locking
+ mutexes = shared_array<Mutex>(new Mutex[::CRYPTO_num_locks()]);
+ if (mutexes == NULL) {
+ throw TTransportException(TTransportException::INTERNAL_ERROR,
+ "initializeOpenSSL() failed, "
+ "out of memory while creating mutex array");
+ }
+#if (OPENSSL_VERSION_NUMBER < OPENSSL_VERSION_NO_THREAD_ID)
+ CRYPTO_set_id_callback(callbackThreadID);
+#endif
+ CRYPTO_set_locking_callback(callbackLocking);
+ // dynamic locking
+ CRYPTO_set_dynlock_create_callback(dyn_create);
+ CRYPTO_set_dynlock_lock_callback(dyn_lock);
+ CRYPTO_set_dynlock_destroy_callback(dyn_destroy);
+}
+
+void TSSLSocketFactory::cleanupOpenSSL() {
+ if (!initialized) {
+ return;
+ }
+ initialized = false;
+#if (OPENSSL_VERSION_NUMBER < OPENSSL_VERSION_NO_THREAD_ID)
+ CRYPTO_set_id_callback(NULL);
+#endif
+ CRYPTO_set_locking_callback(NULL);
+ CRYPTO_set_dynlock_create_callback(NULL);
+ CRYPTO_set_dynlock_lock_callback(NULL);
+ CRYPTO_set_dynlock_destroy_callback(NULL);
+ CRYPTO_cleanup_all_ex_data();
+ ERR_free_strings();
+ EVP_cleanup();
+ ERR_remove_state(0);
+ mutexes.reset();
+}
+
+// extract error messages from error queue
+void buildErrors(string& errors, int errno_copy) {
+ unsigned long errorCode;
+ char message[256];
+
+ errors.reserve(512);
+ while ((errorCode = ERR_get_error()) != 0) {
+ if (!errors.empty()) {
+ errors += "; ";
+ }
+ const char* reason = ERR_reason_error_string(errorCode);
+ if (reason == NULL) {
+ THRIFT_SNPRINTF(message, sizeof(message) - 1, "SSL error # %lu", errorCode);
+ reason = message;
+ }
+ errors += reason;
+ }
+ if (errors.empty()) {
+ if (errno_copy != 0) {
+ errors += TOutput::strerror_s(errno_copy);
+ }
+ }
+ if (errors.empty()) {
+ errors = "error code: " + lexical_cast<string>(errno_copy);
+ }
+}
+
+/**
+ * Default implementation of AccessManager
+ */
+Decision DefaultClientAccessManager::verify(const sockaddr_storage& sa)
+ throw() {
+ (void) sa;
+ return SKIP;
+}
+
+Decision DefaultClientAccessManager::verify(const string& host,
+ const char* name,
+ int size) throw() {
+ if (host.empty() || name == NULL || size <= 0) {
+ return SKIP;
+ }
+ return (matchName(host.c_str(), name, size) ? ALLOW : SKIP);
+}
+
+Decision DefaultClientAccessManager::verify(const sockaddr_storage& sa,
+ const char* data,
+ int size) throw() {
+ bool match = false;
+ if (sa.ss_family == AF_INET && size == sizeof(in_addr)) {
+ match = (memcmp(&((sockaddr_in*)&sa)->sin_addr, data, size) == 0);
+ } else if (sa.ss_family == AF_INET6 && size == sizeof(in6_addr)) {
+ match = (memcmp(&((sockaddr_in6*)&sa)->sin6_addr, data, size) == 0);
+ }
+ return (match ? ALLOW : SKIP);
+}
+
+/**
+ * Match a name with a pattern. The pattern may include wildcard. A single
+ * wildcard "*" can match up to one component in the domain name.
+ *
+ * @param host Host name, typically the name of the remote host
+ * @param pattern Name retrieved from certificate
+ * @param size Size of "pattern"
+ * @return True, if "host" matches "pattern". False otherwise.
+ */
+bool matchName(const char* host, const char* pattern, int size) {
+ bool match = false;
+ int i = 0, j = 0;
+ while (i < size && host[j] != '\0') {
+ if (uppercase(pattern[i]) == uppercase(host[j])) {
+ i++;
+ j++;
+ continue;
+ }
+ if (pattern[i] == '*') {
+ while (host[j] != '.' && host[j] != '\0') {
+ j++;
+ }
+ i++;
+ continue;
+ }
+ break;
+ }
+ if (i == size && host[j] == '\0') {
+ match = true;
+ }
+ return match;
+
+}
+
+// This is to work around the Turkish locale issue, i.e.,
+// toupper('i') != toupper('I') if locale is "tr_TR"
+char uppercase (char c) {
+ if ('a' <= c && c <= 'z') {
+ return c + ('A' - 'a');
+ }
+ return c;
+}
+
+}}}
http://git-wip-us.apache.org/repos/asf/airavata/blob/f891b7dc/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/transport/TSSLSocket.h
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/transport/TSSLSocket.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/transport/TSSLSocket.h
new file mode 100644
index 0000000..82a2e91
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/transport/TSSLSocket.h
@@ -0,0 +1,315 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you 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 _THRIFT_TRANSPORT_TSSLSOCKET_H_
+#define _THRIFT_TRANSPORT_TSSLSOCKET_H_ 1
+
+#include <string>
+#include <boost/shared_ptr.hpp>
+#include <openssl/ssl.h>
+#include <thrift/concurrency/Mutex.h>
+#include <thrift/transport/TSocket.h>
+
+namespace apache { namespace thrift { namespace transport {
+
+class AccessManager;
+class SSLContext;
+
+/**
+ * OpenSSL implementation for SSL socket interface.
+ */
+class TSSLSocket: public TSocket {
+ public:
+ ~TSSLSocket();
+ /**
+ * TTransport interface.
+ */
+ bool isOpen();
+ bool peek();
+ void open();
+ void close();
+ uint32_t read(uint8_t* buf, uint32_t len);
+ void write(const uint8_t* buf, uint32_t len);
+ void flush();
+ /**
+ * Set whether to use client or server side SSL handshake protocol.
+ *
+ * @param flag Use server side handshake protocol if true.
+ */
+ void server(bool flag) { server_ = flag; }
+ /**
+ * Determine whether the SSL socket is server or client mode.
+ */
+ bool server() const { return server_; }
+ /**
+ * Set AccessManager.
+ *
+ * @param manager Instance of AccessManager
+ */
+ virtual void access(boost::shared_ptr<AccessManager> manager) {
+ access_ = manager;
+ }
+protected:
+ /**
+ * Constructor.
+ */
+ TSSLSocket(boost::shared_ptr<SSLContext> ctx);
+ /**
+ * Constructor, create an instance of TSSLSocket given an existing socket.
+ *
+ * @param socket An existing socket
+ */
+ TSSLSocket(boost::shared_ptr<SSLContext> ctx, int socket);
+ /**
+ * Constructor.
+ *
+ * @param host Remote host name
+ * @param port Remote port number
+ */
+ TSSLSocket(boost::shared_ptr<SSLContext> ctx,
+ std::string host,
+ int port);
+ /**
+ * Authorize peer access after SSL handshake completes.
+ */
+ virtual void authorize();
+ /**
+ * Initiate SSL handshake if not already initiated.
+ */
+ void checkHandshake();
+
+ bool server_;
+ SSL* ssl_;
+ boost::shared_ptr<SSLContext> ctx_;
+ boost::shared_ptr<AccessManager> access_;
+ friend class TSSLSocketFactory;
+};
+
+/**
+ * SSL socket factory. SSL sockets should be created via SSL factory.
+ */
+class TSSLSocketFactory {
+ public:
+ /**
+ * Constructor/Destructor
+ */
+ TSSLSocketFactory();
+ virtual ~TSSLSocketFactory();
+ /**
+ * Create an instance of TSSLSocket with a fresh new socket.
+ */
+ virtual boost::shared_ptr<TSSLSocket> createSocket();
+ /**
+ * Create an instance of TSSLSocket with the given socket.
+ *
+ * @param socket An existing socket.
+ */
+ virtual boost::shared_ptr<TSSLSocket> createSocket(int socket);
+ /**
+ * Create an instance of TSSLSocket.
+ *
+ * @param host Remote host to be connected to
+ * @param port Remote port to be connected to
+ */
+ virtual boost::shared_ptr<TSSLSocket> createSocket(const std::string& host,
+ int port);
+ /**
+ * Set ciphers to be used in SSL handshake process.
+ *
+ * @param ciphers A list of ciphers
+ */
+ virtual void ciphers(const std::string& enable);
+ /**
+ * Enable/Disable authentication.
+ *
+ * @param required Require peer to present valid certificate if true
+ */
+ virtual void authenticate(bool required);
+ /**
+ * Load server certificate.
+ *
+ * @param path Path to the certificate file
+ * @param format Certificate file format
+ */
+ virtual void loadCertificate(const char* path, const char* format = "PEM");
+ /**
+ * Load private key.
+ *
+ * @param path Path to the private key file
+ * @param format Private key file format
+ */
+ virtual void loadPrivateKey(const char* path, const char* format = "PEM");
+ /**
+ * Load trusted certificates from specified file.
+ *
+ * @param path Path to trusted certificate file
+ */
+ virtual void loadTrustedCertificates(const char* path);
+ /**
+ * Default randomize method.
+ */
+ virtual void randomize();
+ /**
+ * Override default OpenSSL password callback with getPassword().
+ */
+ void overrideDefaultPasswordCallback();
+ /**
+ * Set/Unset server mode.
+ *
+ * @param flag Server mode if true
+ */
+ virtual void server(bool flag) { server_ = flag; }
+ /**
+ * Determine whether the socket is in server or client mode.
+ *
+ * @return true, if server mode, or, false, if client mode
+ */
+ virtual bool server() const { return server_; }
+ /**
+ * Set AccessManager.
+ *
+ * @param manager The AccessManager instance
+ */
+ virtual void access(boost::shared_ptr<AccessManager> manager) {
+ access_ = manager;
+ }
+ protected:
+ boost::shared_ptr<SSLContext> ctx_;
+
+ static void initializeOpenSSL();
+ static void cleanupOpenSSL();
+ /**
+ * Override this method for custom password callback. It may be called
+ * multiple times at any time during a session as necessary.
+ *
+ * @param password Pass collected password to OpenSSL
+ * @param size Maximum length of password including NULL character
+ */
+ virtual void getPassword(std::string& /* password */, int /* size */) {}
+ private:
+ bool server_;
+ boost::shared_ptr<AccessManager> access_;
+ static bool initialized;
+ static concurrency::Mutex mutex_;
+ static uint64_t count_;
+ void setup(boost::shared_ptr<TSSLSocket> ssl);
+ static int passwordCallback(char* password, int size, int, void* data);
+};
+
+/**
+ * SSL exception.
+ */
+class TSSLException: public TTransportException {
+ public:
+ TSSLException(const std::string& message):
+ TTransportException(TTransportException::INTERNAL_ERROR, message) {}
+
+ virtual const char* what() const throw() {
+ if (message_.empty()) {
+ return "TSSLException";
+ } else {
+ return message_.c_str();
+ }
+ }
+};
+
+/**
+ * Wrap OpenSSL SSL_CTX into a class.
+ */
+class SSLContext {
+ public:
+ SSLContext();
+ virtual ~SSLContext();
+ SSL* createSSL();
+ SSL_CTX* get() { return ctx_; }
+ private:
+ SSL_CTX* ctx_;
+};
+
+/**
+ * Callback interface for access control. It's meant to verify the remote host.
+ * It's constructed when application starts and set to TSSLSocketFactory
+ * instance. It's passed onto all TSSLSocket instances created by this factory
+ * object.
+ */
+class AccessManager {
+ public:
+ enum Decision {
+ DENY = -1, // deny access
+ SKIP = 0, // cannot make decision, move on to next (if any)
+ ALLOW = 1 // allow access
+ };
+ /**
+ * Destructor
+ */
+ virtual ~AccessManager() {}
+ /**
+ * Determine whether the peer should be granted access or not. It's called
+ * once after the SSL handshake completes successfully, before peer certificate
+ * is examined.
+ *
+ * If a valid decision (ALLOW or DENY) is returned, the peer certificate is
+ * not to be verified.
+ *
+ * @param sa Peer IP address
+ * @return True if the peer is trusted, false otherwise
+ */
+ virtual Decision verify(const sockaddr_storage& /* sa */ ) throw() { return DENY; }
+ /**
+ * Determine whether the peer should be granted access or not. It's called
+ * every time a DNS subjectAltName/common name is extracted from peer's
+ * certificate.
+ *
+ * @param host Client mode: host name returned by TSocket::getHost()
+ * Server mode: host name returned by TSocket::getPeerHost()
+ * @param name SubjectAltName or common name extracted from peer certificate
+ * @param size Length of name
+ * @return True if the peer is trusted, false otherwise
+ *
+ * Note: The "name" parameter may be UTF8 encoded.
+ */
+ virtual Decision verify(const std::string& /* host */, const char* /* name */, int /* size */)
+ throw() { return DENY; }
+ /**
+ * Determine whether the peer should be granted access or not. It's called
+ * every time an IP subjectAltName is extracted from peer's certificate.
+ *
+ * @param sa Peer IP address retrieved from the underlying socket
+ * @param data IP address extracted from certificate
+ * @param size Length of the IP address
+ * @return True if the peer is trusted, false otherwise
+ */
+ virtual Decision verify(const sockaddr_storage& /* sa */, const char* /* data */, int /* size */)
+ throw() { return DENY; }
+};
+
+typedef AccessManager::Decision Decision;
+
+class DefaultClientAccessManager: public AccessManager {
+ public:
+ // AccessManager interface
+ Decision verify(const sockaddr_storage& sa) throw();
+ Decision verify(const std::string& host, const char* name, int size) throw();
+ Decision verify(const sockaddr_storage& sa, const char* data, int size) throw();
+};
+
+
+}}}
+
+#endif
[46/47] git commit: removed old directory client samples
Posted by sm...@apache.org.
removed old directory client samples
Project: http://git-wip-us.apache.org/repos/asf/airavata/repo
Commit: http://git-wip-us.apache.org/repos/asf/airavata/commit/c9af2836
Tree: http://git-wip-us.apache.org/repos/asf/airavata/tree/c9af2836
Diff: http://git-wip-us.apache.org/repos/asf/airavata/diff/c9af2836
Branch: refs/heads/master
Commit: c9af2836772da59ce8fe78fba56a4c46fd126118
Parents: f0486a2
Author: ixxi-2013 <na...@gmail.com>
Authored: Sat Jul 12 04:52:23 2014 +0200
Committer: ixxi-2013 <na...@gmail.com>
Committed: Sat Jul 12 04:52:23 2014 +0200
----------------------------------------------------------------------
.../airavata-client-properties.ini | 4 -
.../main/resources/client samples/compile.sh | 5 -
.../client samples/createExperiment.cpp | 157 -------------------
.../resources/client samples/createProject.cpp | 100 ------------
.../client samples/getExperimentOutputs.cpp | 104 ------------
.../client samples/getExperimentStatus.cpp | 101 ------------
.../client samples/launchExperiment.cpp | 99 ------------
7 files changed, 570 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/airavata/blob/c9af2836/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client samples/airavata-client-properties.ini
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client samples/airavata-client-properties.ini b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client samples/airavata-client-properties.ini
deleted file mode 100644
index b0335fd..0000000
--- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client samples/airavata-client-properties.ini
+++ /dev/null
@@ -1,4 +0,0 @@
-[airavata]
-AIRAVATA_SERVER = "localhost"
-AIRAVATA_PORT = 9930
-AIRAVATA_TIMEOUT = 5000
http://git-wip-us.apache.org/repos/asf/airavata/blob/c9af2836/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client samples/compile.sh
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client samples/compile.sh b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client samples/compile.sh
deleted file mode 100755
index 5d3bf8f..0000000
--- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client samples/compile.sh
+++ /dev/null
@@ -1,5 +0,0 @@
-g++ -Wall -I/home/ixxi-2013/Desktop/airavata-trunk/airavata/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/ -L/usr/local/lib -w -Wno-write-strings -DHAVE_INTTYPES_H -DHAVE_NETINET_IN_H `pkg-config --cflags glib-2.0` createProject.cpp `pkg-config --libs glib-2.0` -lthrift -o createProject
-g++ -Wall -I/home/ixxi-2013/Desktop/airavata-trunk/airavata/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/ -L/usr/local/lib -w -Wno-write-strings -DHAVE_INTTYPES_H -DHAVE_NETINET_IN_H `pkg-config --cflags glib-2.0` createExperiment.cpp `pkg-config --libs glib-2.0` -lthrift -o createExperiment
-g++ -Wall -I/home/ixxi-2013/Desktop/airavata-trunk/airavata/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/ -L/usr/local/lib -w -Wno-write-strings -DHAVE_INTTYPES_H -DHAVE_NETINET_IN_H `pkg-config --cflags glib-2.0` launchExperiment.cpp `pkg-config --libs glib-2.0` -lthrift -o launchExperiment
-g++ -Wall -I/home/ixxi-2013/Desktop/airavata-trunk/airavata/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/ -L/usr/local/lib -w -Wno-write-strings -DHAVE_INTTYPES_H -DHAVE_NETINET_IN_H `pkg-config --cflags glib-2.0` getExperimentStatus.cpp `pkg-config --libs glib-2.0` -lthrift -o getExperimentStatus
-g++ -Wall -I/home/ixxi-2013/Desktop/airavata-trunk/airavata/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/ -L/usr/local/lib -w -Wno-write-strings -DHAVE_INTTYPES_H -DHAVE_NETINET_IN_H `pkg-config --cflags glib-2.0` getExperimentOutputs.cpp `pkg-config --libs glib-2.0` -lthrift -o getExperimentOutputs
http://git-wip-us.apache.org/repos/asf/airavata/blob/c9af2836/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client samples/createExperiment.cpp
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client samples/createExperiment.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client samples/createExperiment.cpp
deleted file mode 100644
index 8d43ddc..0000000
--- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client samples/createExperiment.cpp
+++ /dev/null
@@ -1,157 +0,0 @@
-#include <glib.h>
-#include <iostream>
-#include <stdint.h>
-#include <sys/time.h>
-
-#define _WIN32_WINNT 0x501
-
-#include <thrift/transport/TTransport.h>
-#include <thrift/transport/TBufferTransports.cpp>
-#include <thrift/transport/TSocket.cpp>
-#include <thrift/protocol/TProtocol.h>
-#include <thrift/protocol/TBinaryProtocol.h>
-#include <thrift/protocol/TBinaryProtocol.tcc>
-#include <thrift/TApplicationException.cpp>
-#include <thrift/transport/TTransportException.cpp>
-#include <thrift/protocol/TProtocolException.h>
-#include "../lib/airavata/Airavata.h"
-#include "../lib/airavata/Airavata.cpp"
-#include "../lib/airavata/airavataDataModel_types.h"
-#include "../lib/airavata/airavataDataModel_types.cpp"
-#include "../lib/airavata/airavataErrors_types.h"
-#include "../lib/airavata/airavataErrors_types.cpp"
-#include "../lib/airavata/experimentModel_types.h"
-#include "../lib/airavata/experimentModel_types.cpp"
-#include "../lib/airavata/workspaceModel_types.h"
-#include "../lib/airavata/workspaceModel_types.cpp"
-#include "../lib/airavata/airavataAPI_types.h"
-#include "../lib/airavata/airavataAPI_types.cpp"
-#include "../lib/airavata/applicationDeploymentModel_types.h"
-#include "../lib/airavata/applicationDeploymentModel_types.cpp"
-#include "../lib/airavata/applicationInterfaceModel_types.h"
-#include "../lib/airavata/applicationInterfaceModel_types.cpp"
-#include "../lib/airavata/gatewayResourceProfileModel_types.h"
-#include "../lib/airavata/gatewayResourceProfileModel_types.cpp"
-#include "../lib/airavata/computeResourceModel_types.h"
-#include "../lib/airavata/computeResourceModel_types.cpp"
-
-
-typedef struct {
- gchar *airavata_server;
- gint airavata_port, airavata_timeout;
-} Settings;
-
-using namespace std;
-using namespace apache::thrift;
-using namespace apache::thrift::protocol;
-using namespace apache::thrift::transport;
-using namespace apache::airavata::api;
-using namespace apache::airavata::model::workspace::experiment;
-
-void readConfigFile(char* cfgfile, string& airavata_server, int& airavata_port, int& airavata_timeout) {
-
- Settings *conf;
- GKeyFile *keyfile;
- GKeyFileFlags flags;
- GError *error = NULL;
- keyfile = g_key_file_new ();
- if (!g_key_file_load_from_file (keyfile, cfgfile, flags, &error)) {
- g_error (error->message);
- } else {
- conf = g_slice_new (Settings);
- conf->airavata_server = g_key_file_get_string(keyfile, "airavata", "AIRAVATA_SERVER", NULL);
- airavata_server = conf->airavata_server;
- conf->airavata_port = g_key_file_get_integer(keyfile, "airavata", "AIRAVATA_PORT", NULL);
- airavata_port = conf->airavata_port;
- conf->airavata_timeout = g_key_file_get_integer(keyfile, "airavata", "AIRAVATA_TIMEOUT", NULL);
- airavata_timeout = conf->airavata_timeout;
- }
-
-}
-
-
-int main(int argc, char **argv)
-{
-
- int airavata_port, airavata_timeout;
- string airavata_server;
- char* cfgfile;
- cfgfile = "./airavata-client-properties.ini";
- readConfigFile(cfgfile, airavata_server, airavata_port, airavata_timeout);
- airavata_server.erase(0,1);
- airavata_server.erase(airavata_server.length()-1,1);
- boost::shared_ptr<TSocket> socket(new TSocket(airavata_server, airavata_port));
- socket->setSendTimeout(airavata_timeout);
- boost::shared_ptr<TTransport> transport(new TBufferedTransport(socket));
- boost::shared_ptr<TProtocol> protocol(new TBinaryProtocol(transport));
- AiravataClient airavataclient(protocol);
- transport->open();
-
- if(argc !=4){
- cout << "Usage: ./createExperiment <username> <experiment_name> <project_ID>";
- return 0;
- }
- /* ComputationalResourceScheduling data for Trestles*/
- ComputationalResourceScheduling cmRST;
- cmRST.__set_resourceHostId("trestles.sdsc.edu");
- cmRST.__set_computationalProjectAccount("sds128");
- cmRST.__set_totalCPUCount(1);
- cmRST.__set_nodeCount(1);
- cmRST.__set_numberOfThreads(0);
- cmRST.__set_queueName("normal");
- cmRST.__set_wallTimeLimit(15);
- cmRST.__set_jobStartTime(0);
- cmRST.__set_totalPhysicalMemory(0);
-
-
- UserConfigurationData userConfigurationData;
- userConfigurationData.__set_airavataAutoSchedule(0);
- userConfigurationData.__set_overrideManualScheduledParams(0);
- userConfigurationData.__set_computationalResourceScheduling(cmRST);
-
-
- /*Application ID for Trestles */
- char* appId = "SimpleEcho2";
-
- /* Experiment input and output data. */
- DataObjectType input;
- input.__set_key("echo_input");
- input.__set_value("echo_output=Hello World");
- input.__set_type(DataType::STRING);
- std::vector<DataObjectType> exInputs;
- exInputs.push_back(input);
- DataObjectType output;
- output.__set_key("echo_output");
- output.__set_value("");
- output.__set_type(DataType::STRING);
- std::vector<DataObjectType> exOutputs;
- exOutputs.push_back(output);
-
-
- char* user = argv[1];
- char* exp_name = argv[2];
- char* proj = argv[3];
-
- Experiment experiment;
- experiment.__set_projectID(proj);
- experiment.__set_userName(user);
- experiment.__set_name(exp_name);
- experiment.__set_applicationId(appId);
- experiment.__set_userConfigurationData(userConfigurationData);
- experiment.__set_experimentInputs(exInputs);
- experiment.__set_experimentOutputs(exOutputs);
-
- string _return = "";
- airavataclient.createExperiment(_return, experiment);
-
- if (_return!="")
- {
-
- cout << "Experiment " << _return <<" created! \n ";
- }
- else
- {
- cout << "Failed to create experiment. \n";
- }
- transport->close();
-}
http://git-wip-us.apache.org/repos/asf/airavata/blob/c9af2836/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client samples/createProject.cpp
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client samples/createProject.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client samples/createProject.cpp
deleted file mode 100644
index b259f58..0000000
--- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client samples/createProject.cpp
+++ /dev/null
@@ -1,100 +0,0 @@
-#include <glib.h>
-#include <iostream>
-#include <stdint.h>
-#include <sys/time.h>
-
-#define _WIN32_WINNT 0x501
-
-#include <thrift/transport/TTransport.h>
-#include <thrift/transport/TBufferTransports.cpp>
-#include <thrift/transport/TSocket.cpp>
-#include <thrift/protocol/TProtocol.h>
-#include <thrift/protocol/TBinaryProtocol.h>
-#include <thrift/protocol/TBinaryProtocol.tcc>
-#include <thrift/TApplicationException.cpp>
-#include <thrift/transport/TTransportException.cpp>
-#include <thrift/protocol/TProtocolException.h>
-#include "../lib/airavata/Airavata.h"
-#include "../lib/airavata/Airavata.cpp"
-#include "../lib/airavata/airavataDataModel_types.h"
-#include "../lib/airavata/airavataDataModel_types.cpp"
-#include "../lib/airavata/airavataErrors_types.h"
-#include "../lib/airavata/airavataErrors_types.cpp"
-#include "../lib/airavata/experimentModel_types.h"
-#include "../lib/airavata/experimentModel_types.cpp"
-#include "../lib/airavata/workspaceModel_types.h"
-#include "../lib/airavata/workspaceModel_types.cpp"
-#include "../lib/airavata/airavataAPI_types.h"
-#include "../lib/airavata/airavataAPI_types.cpp"
-#include "../lib/airavata/applicationDeploymentModel_types.h"
-#include "../lib/airavata/applicationDeploymentModel_types.cpp"
-#include "../lib/airavata/applicationInterfaceModel_types.h"
-#include "../lib/airavata/applicationInterfaceModel_types.cpp"
-#include "../lib/airavata/gatewayResourceProfileModel_types.h"
-#include "../lib/airavata/gatewayResourceProfileModel_types.cpp"
-#include "../lib/airavata/computeResourceModel_types.h"
-#include "../lib/airavata/computeResourceModel_types.cpp"
-
-
-typedef struct {
- gchar *airavata_server, *app_catalog_server;
- gint airavata_port, app_catalog_port, airavata_timeout;
-} Settings;
-
-using namespace std;
-using namespace apache::thrift;
-using namespace apache::thrift::protocol;
-using namespace apache::thrift::transport;
-using namespace apache::airavata::api;
-
-void readConfigFile(char* cfgfile, string& airavata_server, int& airavata_port, int& airavata_timeout) {
-
- Settings *conf;
- GKeyFile *keyfile;
- GKeyFileFlags flags;
- GError *error = NULL;
- keyfile = g_key_file_new ();
- if (!g_key_file_load_from_file (keyfile, cfgfile, flags, &error)) {
- g_error (error->message);
- } else {
- conf = g_slice_new (Settings);
- conf->airavata_server = g_key_file_get_string(keyfile, "airavata", "AIRAVATA_SERVER", NULL);
- airavata_server = conf->airavata_server;
- conf->airavata_port = g_key_file_get_integer(keyfile, "airavata", "AIRAVATA_PORT", NULL);
- airavata_port = conf->airavata_port;
- conf->airavata_timeout = g_key_file_get_integer(keyfile, "airavata", "AIRAVATA_TIMEOUT", NULL);
- airavata_timeout = conf->airavata_timeout;
- }
-
-}
-
-
-int main(int argc, char **argv)
-{
-
- int airavata_port, airavata_timeout;
- string airavata_server;
- char* cfgfile;
- cfgfile = "./airavata-client-properties.ini";
- readConfigFile(cfgfile, airavata_server, airavata_port, airavata_timeout);
- airavata_server.erase(0,1);
- airavata_server.erase(airavata_server.length()-1,1);
- boost::shared_ptr<TSocket> socket(new TSocket(airavata_server, airavata_port));
- socket->setSendTimeout(airavata_timeout);
- boost::shared_ptr<TTransport> transport(new TBufferedTransport(socket));
- boost::shared_ptr<TProtocol> protocol(new TBinaryProtocol(transport));
- AiravataClient airavataclient(protocol);
- transport->open();
-
- apache::airavata::model::workspace::Project project;
- if(argc !=3){
- cout << "Usage: ./createProject <owner> <projectName>";
- return 0;
- }
- project.owner=argv[1];
- project.name=argv[2];
- std::string _return;
- airavataclient.createProject(_return,project);
- cout << _return << "\n";
- transport->close();
-}
http://git-wip-us.apache.org/repos/asf/airavata/blob/c9af2836/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client samples/getExperimentOutputs.cpp
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client samples/getExperimentOutputs.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client samples/getExperimentOutputs.cpp
deleted file mode 100644
index 9a279ec..0000000
--- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client samples/getExperimentOutputs.cpp
+++ /dev/null
@@ -1,104 +0,0 @@
-#include <glib.h>
-#include <iostream>
-#include <stdint.h>
-#include <sys/time.h>
-
-#define _WIN32_WINNT 0x501
-
-#include <thrift/transport/TTransport.h>
-#include <thrift/transport/TBufferTransports.cpp>
-#include <thrift/transport/TSocket.cpp>
-#include <thrift/protocol/TProtocol.h>
-#include <thrift/protocol/TBinaryProtocol.h>
-#include <thrift/protocol/TBinaryProtocol.tcc>
-#include <thrift/TApplicationException.cpp>
-#include <thrift/transport/TTransportException.cpp>
-#include <thrift/protocol/TProtocolException.h>
-#include "../lib/airavata/Airavata.h"
-#include "../lib/airavata/Airavata.cpp"
-#include "../lib/airavata/airavataDataModel_types.h"
-#include "../lib/airavata/airavataDataModel_types.cpp"
-#include "../lib/airavata/airavataErrors_types.h"
-#include "../lib/airavata/airavataErrors_types.cpp"
-#include "../lib/airavata/experimentModel_types.h"
-#include "../lib/airavata/experimentModel_types.cpp"
-#include "../lib/airavata/workspaceModel_types.h"
-#include "../lib/airavata/workspaceModel_types.cpp"
-#include "../lib/airavata/airavataAPI_types.h"
-#include "../lib/airavata/airavataAPI_types.cpp"
-#include "../lib/airavata/applicationDeploymentModel_types.h"
-#include "../lib/airavata/applicationDeploymentModel_types.cpp"
-#include "../lib/airavata/applicationInterfaceModel_types.h"
-#include "../lib/airavata/applicationInterfaceModel_types.cpp"
-#include "../lib/airavata/gatewayResourceProfileModel_types.h"
-#include "../lib/airavata/gatewayResourceProfileModel_types.cpp"
-#include "../lib/airavata/computeResourceModel_types.h"
-#include "../lib/airavata/computeResourceModel_types.cpp"
-
-
-typedef struct {
- gchar *airavata_server, *app_catalog_server;
- gint airavata_port, app_catalog_port, airavata_timeout;
-} Settings;
-
-using namespace std;
-using namespace apache::thrift;
-using namespace apache::thrift::protocol;
-using namespace apache::thrift::transport;
-using namespace apache::airavata::api;
-using namespace apache::airavata::model::workspace::experiment;
-
-void readConfigFile(char* cfgfile, string& airavata_server, int& airavata_port, int& airavata_timeout) {
-
- Settings *conf;
- GKeyFile *keyfile;
- GKeyFileFlags flags;
- GError *error = NULL;
- keyfile = g_key_file_new ();
- if (!g_key_file_load_from_file (keyfile, cfgfile, flags, &error)) {
- g_error (error->message);
- } else {
- conf = g_slice_new (Settings);
- conf->airavata_server = g_key_file_get_string(keyfile, "airavata", "AIRAVATA_SERVER", NULL);
- airavata_server = conf->airavata_server;
- conf->airavata_port = g_key_file_get_integer(keyfile, "airavata", "AIRAVATA_PORT", NULL);
- airavata_port = conf->airavata_port;
- conf->airavata_timeout = g_key_file_get_integer(keyfile, "airavata", "AIRAVATA_TIMEOUT", NULL);
- airavata_timeout = conf->airavata_timeout;
- }
-
-}
-
-
-int main(int argc, char **argv)
-{
-
- int airavata_port, airavata_timeout;
- string airavata_server;
- char* cfgfile;
- cfgfile = "./airavata-client-properties.ini";
- readConfigFile(cfgfile, airavata_server, airavata_port, airavata_timeout);
- airavata_server.erase(0,1);
- airavata_server.erase(airavata_server.length()-1,1);
- boost::shared_ptr<TSocket> socket(new TSocket(airavata_server, airavata_port));
- socket->setSendTimeout(airavata_timeout);
- boost::shared_ptr<TTransport> transport(new TBufferedTransport(socket));
- boost::shared_ptr<TProtocol> protocol(new TBinaryProtocol(transport));
- AiravataClient airavataclient(protocol);
- transport->open();
-
-
- if(argc !=2){
- cout << "Usage: ./getExperimentOutputs <experimentID>";
- return 0;
- }
- char* expId = argv[1];
- std::vector<DataObjectType> _return;
- airavataclient.getExperimentOutputs(_return, expId);
- int i;
- for(i=0; i<_return.size();i++){
- cout << _return[i].value <<"\n";
- }
- transport->close();
-
-}
http://git-wip-us.apache.org/repos/asf/airavata/blob/c9af2836/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client samples/getExperimentStatus.cpp
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client samples/getExperimentStatus.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client samples/getExperimentStatus.cpp
deleted file mode 100644
index 611ddac..0000000
--- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client samples/getExperimentStatus.cpp
+++ /dev/null
@@ -1,101 +0,0 @@
-#include <glib.h>
-#include <iostream>
-#include <stdint.h>
-#include <sys/time.h>
-
-#define _WIN32_WINNT 0x501
-
-#include <thrift/transport/TTransport.h>
-#include <thrift/transport/TBufferTransports.cpp>
-#include <thrift/transport/TSocket.cpp>
-#include <thrift/protocol/TProtocol.h>
-#include <thrift/protocol/TBinaryProtocol.h>
-#include <thrift/protocol/TBinaryProtocol.tcc>
-#include <thrift/TApplicationException.cpp>
-#include <thrift/transport/TTransportException.cpp>
-#include <thrift/protocol/TProtocolException.h>
-#include "../lib/airavata/Airavata.h"
-#include "../lib/airavata/Airavata.cpp"
-#include "../lib/airavata/airavataDataModel_types.h"
-#include "../lib/airavata/airavataDataModel_types.cpp"
-#include "../lib/airavata/airavataErrors_types.h"
-#include "../lib/airavata/airavataErrors_types.cpp"
-#include "../lib/airavata/experimentModel_types.h"
-#include "../lib/airavata/experimentModel_types.cpp"
-#include "../lib/airavata/workspaceModel_types.h"
-#include "../lib/airavata/workspaceModel_types.cpp"
-#include "../lib/airavata/airavataAPI_types.h"
-#include "../lib/airavata/airavataAPI_types.cpp"
-#include "../lib/airavata/applicationDeploymentModel_types.h"
-#include "../lib/airavata/applicationDeploymentModel_types.cpp"
-#include "../lib/airavata/applicationInterfaceModel_types.h"
-#include "../lib/airavata/applicationInterfaceModel_types.cpp"
-#include "../lib/airavata/gatewayResourceProfileModel_types.h"
-#include "../lib/airavata/gatewayResourceProfileModel_types.cpp"
-#include "../lib/airavata/computeResourceModel_types.h"
-#include "../lib/airavata/computeResourceModel_types.cpp"
-
-
-typedef struct {
- gchar *airavata_server, *app_catalog_server;
- gint airavata_port, app_catalog_port, airavata_timeout;
-} Settings;
-
-using namespace std;
-using namespace apache::thrift;
-using namespace apache::thrift::protocol;
-using namespace apache::thrift::transport;
-using namespace apache::airavata::api;
-using namespace apache::airavata::model::workspace::experiment;
-
-void readConfigFile(char* cfgfile, string& airavata_server, int& airavata_port, int& airavata_timeout) {
-
- Settings *conf;
- GKeyFile *keyfile;
- GKeyFileFlags flags;
- GError *error = NULL;
- keyfile = g_key_file_new ();
- if (!g_key_file_load_from_file (keyfile, cfgfile, flags, &error)) {
- g_error (error->message);
- } else {
- conf = g_slice_new (Settings);
- conf->airavata_server = g_key_file_get_string(keyfile, "airavata", "AIRAVATA_SERVER", NULL);
- airavata_server = conf->airavata_server;
- conf->airavata_port = g_key_file_get_integer(keyfile, "airavata", "AIRAVATA_PORT", NULL);
- airavata_port = conf->airavata_port;
- conf->airavata_timeout = g_key_file_get_integer(keyfile, "airavata", "AIRAVATA_TIMEOUT", NULL);
- airavata_timeout = conf->airavata_timeout;
- }
-
-}
-
-
-int main(int argc, char **argv)
-{
-
- int airavata_port, airavata_timeout;
- string airavata_server;
- char* cfgfile;
- cfgfile = "./airavata-client-properties.ini";
- readConfigFile(cfgfile, airavata_server, airavata_port, airavata_timeout);
- airavata_server.erase(0,1);
- airavata_server.erase(airavata_server.length()-1,1);
- boost::shared_ptr<TSocket> socket(new TSocket(airavata_server, airavata_port));
- socket->setSendTimeout(airavata_timeout);
- boost::shared_ptr<TTransport> transport(new TBufferedTransport(socket));
- boost::shared_ptr<TProtocol> protocol(new TBinaryProtocol(transport));
- AiravataClient airavataclient(protocol);
- transport->open();
-
-
- if(argc !=2){
- cout << "Usage: ./getExperimentStatus <experimentID>";
- return 0;
- }
- char* expId = argv[1];
- ExperimentStatus _return;
- airavataclient.getExperimentStatus(_return, expId);
- cout << _return.experimentState <<"\n";
- transport->close();
-
-}
http://git-wip-us.apache.org/repos/asf/airavata/blob/c9af2836/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client samples/launchExperiment.cpp
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client samples/launchExperiment.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client samples/launchExperiment.cpp
deleted file mode 100644
index 8c26881..0000000
--- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client samples/launchExperiment.cpp
+++ /dev/null
@@ -1,99 +0,0 @@
-#include <glib.h>
-#include <iostream>
-#include <stdint.h>
-#include <sys/time.h>
-
-#define _WIN32_WINNT 0x501
-
-#include <thrift/transport/TTransport.h>
-#include <thrift/transport/TBufferTransports.cpp>
-#include <thrift/transport/TSocket.cpp>
-#include <thrift/protocol/TProtocol.h>
-#include <thrift/protocol/TBinaryProtocol.h>
-#include <thrift/protocol/TBinaryProtocol.tcc>
-#include <thrift/TApplicationException.cpp>
-#include <thrift/transport/TTransportException.cpp>
-#include <thrift/protocol/TProtocolException.h>
-#include "../lib/airavata/Airavata.h"
-#include "../lib/airavata/Airavata.cpp"
-#include "../lib/airavata/airavataDataModel_types.h"
-#include "../lib/airavata/airavataDataModel_types.cpp"
-#include "../lib/airavata/airavataErrors_types.h"
-#include "../lib/airavata/airavataErrors_types.cpp"
-#include "../lib/airavata/experimentModel_types.h"
-#include "../lib/airavata/experimentModel_types.cpp"
-#include "../lib/airavata/workspaceModel_types.h"
-#include "../lib/airavata/workspaceModel_types.cpp"
-#include "../lib/airavata/airavataAPI_types.h"
-#include "../lib/airavata/airavataAPI_types.cpp"
-#include "../lib/airavata/applicationDeploymentModel_types.h"
-#include "../lib/airavata/applicationDeploymentModel_types.cpp"
-#include "../lib/airavata/applicationInterfaceModel_types.h"
-#include "../lib/airavata/applicationInterfaceModel_types.cpp"
-#include "../lib/airavata/gatewayResourceProfileModel_types.h"
-#include "../lib/airavata/gatewayResourceProfileModel_types.cpp"
-#include "../lib/airavata/computeResourceModel_types.h"
-#include "../lib/airavata/computeResourceModel_types.cpp"
-
-
-typedef struct {
- gchar *airavata_server, *app_catalog_server;
- gint airavata_port, app_catalog_port, airavata_timeout;
-} Settings;
-
-using namespace std;
-using namespace apache::thrift;
-using namespace apache::thrift::protocol;
-using namespace apache::thrift::transport;
-using namespace apache::airavata::api;
-
-void readConfigFile(char* cfgfile, string& airavata_server, int& airavata_port, int& airavata_timeout) {
-
- Settings *conf;
- GKeyFile *keyfile;
- GKeyFileFlags flags;
- GError *error = NULL;
- keyfile = g_key_file_new ();
- if (!g_key_file_load_from_file (keyfile, cfgfile, flags, &error)) {
- g_error (error->message);
- } else {
- conf = g_slice_new (Settings);
- conf->airavata_server = g_key_file_get_string(keyfile, "airavata", "AIRAVATA_SERVER", NULL);
- airavata_server = conf->airavata_server;
- conf->airavata_port = g_key_file_get_integer(keyfile, "airavata", "AIRAVATA_PORT", NULL);
- airavata_port = conf->airavata_port;
- conf->airavata_timeout = g_key_file_get_integer(keyfile, "airavata", "AIRAVATA_TIMEOUT", NULL);
- airavata_timeout = conf->airavata_timeout;
- }
-
-}
-
-
-int main(int argc, char **argv)
-{
-
- int airavata_port, airavata_timeout;
- string airavata_server;
- char* cfgfile;
- cfgfile = "./airavata-client-properties.ini";
- readConfigFile(cfgfile, airavata_server, airavata_port, airavata_timeout);
- airavata_server.erase(0,1);
- airavata_server.erase(airavata_server.length()-1,1);
- boost::shared_ptr<TSocket> socket(new TSocket(airavata_server, airavata_port));
- socket->setSendTimeout(airavata_timeout);
- boost::shared_ptr<TTransport> transport(new TBufferedTransport(socket));
- boost::shared_ptr<TProtocol> protocol(new TBinaryProtocol(transport));
- AiravataClient airavataclient(protocol);
- transport->open();
-
-
- if(argc !=2){
- cout << "Usage: ./launchExperiment <experimentID>";
- return 0;
- }
- char* expId = argv[1];
- airavataclient.launchExperiment(expId, "airavataToken");
- cout << "Experiment " << expId << " is launched.\n";
- transport->close();
-
-}
[35/47] removed unnecessary files, updated ini file
Posted by sm...@apache.org.
http://git-wip-us.apache.org/repos/asf/airavata/blob/00b8aaf0/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/ApplicationCatalogAPI_server.skeleton.cpp
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/ApplicationCatalogAPI_server.skeleton.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/ApplicationCatalogAPI_server.skeleton.cpp
deleted file mode 100644
index ae4afe6..0000000
--- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/ApplicationCatalogAPI_server.skeleton.cpp
+++ /dev/null
@@ -1,169 +0,0 @@
-// This autogenerated skeleton file illustrates how to build a server.
-// You should copy it to another filename to avoid overwriting it.
-
-#include "ApplicationCatalogAPI.h"
-#include <thrift/protocol/TBinaryProtocol.h>
-#include <thrift/server/TSimpleServer.h>
-#include <thrift/transport/TServerSocket.h>
-#include <thrift/transport/TBufferTransports.h>
-
-using namespace ::apache::thrift;
-using namespace ::apache::thrift::protocol;
-using namespace ::apache::thrift::transport;
-using namespace ::apache::thrift::server;
-
-using boost::shared_ptr;
-
-using namespace ::airavata::api::appcatalog;
-
-class ApplicationCatalogAPIHandler : virtual public ApplicationCatalogAPIIf {
- public:
- ApplicationCatalogAPIHandler() {
- // Your initialization goes here
- }
-
- void GetAPIVersion(std::string& _return) {
- // Your implementation goes here
- printf("GetAPIVersion\n");
- }
-
- void addComputeResourceDescription(std::string& _return, const ::ComputeResourceDescription& computeResourceDescription) {
- // Your implementation goes here
- printf("addComputeResourceDescription\n");
- }
-
- void addSSHJobSubmissionProtocol(std::string& _return, const std::string& computeResourceId, const ::SSHJobSubmission& jobSubmission) {
- // Your implementation goes here
- printf("addSSHJobSubmissionProtocol\n");
- }
-
- void addGSISSHJobSubmissionProtocol(std::string& _return, const std::string& computeResourceId, const ::GSISSHJobSubmission& jobSubmission) {
- // Your implementation goes here
- printf("addGSISSHJobSubmissionProtocol\n");
- }
-
- void addGlobusJobSubmissionProtocol(std::string& _return, const std::string& computeResourceId, const ::GlobusJobSubmission& jobSubmission) {
- // Your implementation goes here
- printf("addGlobusJobSubmissionProtocol\n");
- }
-
- void addSCPDataMovementProtocol(std::string& _return, const std::string& computeResourceId, const ::SCPDataMovement& dataMovement) {
- // Your implementation goes here
- printf("addSCPDataMovementProtocol\n");
- }
-
- void addGridFTPDataMovementProtocol(std::string& _return, const std::string& computeResourceId, const ::GridFTPDataMovement& dataMovement) {
- // Your implementation goes here
- printf("addGridFTPDataMovementProtocol\n");
- }
-
- void listComputeResourceDescriptions(std::vector<std::string> & _return) {
- // Your implementation goes here
- printf("listComputeResourceDescriptions\n");
- }
-
- void getComputeResourceDescription( ::ComputeResourceDescription& _return, const std::string& computeResourceId) {
- // Your implementation goes here
- printf("getComputeResourceDescription\n");
- }
-
- void getSSHJobSubmissionProtocol( ::SSHJobSubmission& _return, const std::string& sshJobSubmissionProtocolResourceId) {
- // Your implementation goes here
- printf("getSSHJobSubmissionProtocol\n");
- }
-
- void getGSISSHJobSubmissionProtocol( ::GSISSHJobSubmission& _return, const std::string& gsisshJobSubmissionProtocolResourceId) {
- // Your implementation goes here
- printf("getGSISSHJobSubmissionProtocol\n");
- }
-
- void getGlobusJobSubmissionProtocol( ::GlobusJobSubmission& _return, const std::string& globusJobSubmissionProtocolResourceId) {
- // Your implementation goes here
- printf("getGlobusJobSubmissionProtocol\n");
- }
-
- void getSCPDataMovementProtocol( ::SCPDataMovement& _return, const std::string& scpDataMovementResourceId) {
- // Your implementation goes here
- printf("getSCPDataMovementProtocol\n");
- }
-
- void getGridFTPDataMovementProtocol( ::GridFTPDataMovement& _return, const std::string& gridFTPDataMovementResourceId) {
- // Your implementation goes here
- printf("getGridFTPDataMovementProtocol\n");
- }
-
- bool isComputeResourceDescriptionRegistered(const std::string& hostName) {
- // Your implementation goes here
- printf("isComputeResourceDescriptionRegistered\n");
- }
-
- void getComputeResourceDescriptionFromHostName( ::ComputeResourceDescription& _return, const std::string& hostName) {
- // Your implementation goes here
- printf("getComputeResourceDescriptionFromHostName\n");
- }
-
- void addApplicationInterface(std::string& _return, const ::ApplicationInterfaceDescription& applicationInterface) {
- // Your implementation goes here
- printf("addApplicationInterface\n");
- }
-
- void listApplicationInterfaceIds(std::vector<std::string> & _return) {
- // Your implementation goes here
- printf("listApplicationInterfaceIds\n");
- }
-
- void getApplicationInterface( ::ApplicationInterfaceDescription& _return, const std::string& applicationInterfaceId) {
- // Your implementation goes here
- printf("getApplicationInterface\n");
- }
-
- void registerAppicationModule(std::string& _return, const ::ApplicationModule& applicationModule, const bool publish) {
- // Your implementation goes here
- printf("registerAppicationModule\n");
- }
-
- void getAppicationModule( ::ApplicationModule& _return, const std::string& appModuleId) {
- // Your implementation goes here
- printf("getAppicationModule\n");
- }
-
- bool updateAppicationModule(const std::string& appModuleId, const ::ApplicationModule& applicationModule) {
- // Your implementation goes here
- printf("updateAppicationModule\n");
- }
-
- bool deleteAppicationModule(const std::string& appModuleId) {
- // Your implementation goes here
- printf("deleteAppicationModule\n");
- }
-
- void addApplicationDeployment(std::string& _return, const std::string& applicationInterfaceId, const ::ApplicationDeploymentDescription& applicationDeployment) {
- // Your implementation goes here
- printf("addApplicationDeployment\n");
- }
-
- void listApplicationDeploymentIds(std::vector<std::string> & _return, const std::string& applicationInterfaceId) {
- // Your implementation goes here
- printf("listApplicationDeploymentIds\n");
- }
-
- void getApplicationDeployment( ::ApplicationDeploymentDescription& _return, const std::string& applicationInterfaceId, const std::string& applicationDeploymentId) {
- // Your implementation goes here
- printf("getApplicationDeployment\n");
- }
-
-};
-
-int main(int argc, char **argv) {
- int port = 9090;
- shared_ptr<ApplicationCatalogAPIHandler> handler(new ApplicationCatalogAPIHandler());
- shared_ptr<TProcessor> processor(new ApplicationCatalogAPIProcessor(handler));
- shared_ptr<TServerTransport> serverTransport(new TServerSocket(port));
- shared_ptr<TTransportFactory> transportFactory(new TBufferedTransportFactory());
- shared_ptr<TProtocolFactory> protocolFactory(new TBinaryProtocolFactory());
-
- TSimpleServer server(processor, serverTransport, transportFactory, protocolFactory);
- server.serve();
- return 0;
-}
-
http://git-wip-us.apache.org/repos/asf/airavata/blob/00b8aaf0/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/Workflow.cpp
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/Workflow.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/Workflow.cpp
deleted file mode 100644
index 7453c90..0000000
--- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/Workflow.cpp
+++ /dev/null
@@ -1,2497 +0,0 @@
-/**
- * Autogenerated by Thrift Compiler (0.9.1)
- *
- * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
- * @generated
- */
-#include "Workflow.h"
-
-namespace airavata { namespace api { namespace workflow {
-
-uint32_t Workflow_getAllWorkflows_args::read(::apache::thrift::protocol::TProtocol* iprot) {
-
- uint32_t xfer = 0;
- std::string fname;
- ::apache::thrift::protocol::TType ftype;
- int16_t fid;
-
- xfer += iprot->readStructBegin(fname);
-
- using ::apache::thrift::protocol::TProtocolException;
-
-
- while (true)
- {
- xfer += iprot->readFieldBegin(fname, ftype, fid);
- if (ftype == ::apache::thrift::protocol::T_STOP) {
- break;
- }
- xfer += iprot->skip(ftype);
- xfer += iprot->readFieldEnd();
- }
-
- xfer += iprot->readStructEnd();
-
- return xfer;
-}
-
-uint32_t Workflow_getAllWorkflows_args::write(::apache::thrift::protocol::TProtocol* oprot) const {
- uint32_t xfer = 0;
- xfer += oprot->writeStructBegin("Workflow_getAllWorkflows_args");
-
- xfer += oprot->writeFieldStop();
- xfer += oprot->writeStructEnd();
- return xfer;
-}
-
-uint32_t Workflow_getAllWorkflows_pargs::write(::apache::thrift::protocol::TProtocol* oprot) const {
- uint32_t xfer = 0;
- xfer += oprot->writeStructBegin("Workflow_getAllWorkflows_pargs");
-
- xfer += oprot->writeFieldStop();
- xfer += oprot->writeStructEnd();
- return xfer;
-}
-
-uint32_t Workflow_getAllWorkflows_result::read(::apache::thrift::protocol::TProtocol* iprot) {
-
- uint32_t xfer = 0;
- std::string fname;
- ::apache::thrift::protocol::TType ftype;
- int16_t fid;
-
- xfer += iprot->readStructBegin(fname);
-
- using ::apache::thrift::protocol::TProtocolException;
-
-
- while (true)
- {
- xfer += iprot->readFieldBegin(fname, ftype, fid);
- if (ftype == ::apache::thrift::protocol::T_STOP) {
- break;
- }
- switch (fid)
- {
- case 0:
- if (ftype == ::apache::thrift::protocol::T_LIST) {
- {
- this->success.clear();
- uint32_t _size0;
- ::apache::thrift::protocol::TType _etype3;
- xfer += iprot->readListBegin(_etype3, _size0);
- this->success.resize(_size0);
- uint32_t _i4;
- for (_i4 = 0; _i4 < _size0; ++_i4)
- {
- xfer += iprot->readString(this->success[_i4]);
- }
- xfer += iprot->readListEnd();
- }
- this->__isset.success = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 1:
- if (ftype == ::apache::thrift::protocol::T_STRUCT) {
- xfer += this->ire.read(iprot);
- this->__isset.ire = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 2:
- if (ftype == ::apache::thrift::protocol::T_STRUCT) {
- xfer += this->ace.read(iprot);
- this->__isset.ace = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 3:
- if (ftype == ::apache::thrift::protocol::T_STRUCT) {
- xfer += this->ase.read(iprot);
- this->__isset.ase = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- default:
- xfer += iprot->skip(ftype);
- break;
- }
- xfer += iprot->readFieldEnd();
- }
-
- xfer += iprot->readStructEnd();
-
- return xfer;
-}
-
-uint32_t Workflow_getAllWorkflows_result::write(::apache::thrift::protocol::TProtocol* oprot) const {
-
- uint32_t xfer = 0;
-
- xfer += oprot->writeStructBegin("Workflow_getAllWorkflows_result");
-
- if (this->__isset.success) {
- xfer += oprot->writeFieldBegin("success", ::apache::thrift::protocol::T_LIST, 0);
- {
- xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRING, static_cast<uint32_t>(this->success.size()));
- std::vector<std::string> ::const_iterator _iter5;
- for (_iter5 = this->success.begin(); _iter5 != this->success.end(); ++_iter5)
- {
- xfer += oprot->writeString((*_iter5));
- }
- xfer += oprot->writeListEnd();
- }
- xfer += oprot->writeFieldEnd();
- } else if (this->__isset.ire) {
- xfer += oprot->writeFieldBegin("ire", ::apache::thrift::protocol::T_STRUCT, 1);
- xfer += this->ire.write(oprot);
- xfer += oprot->writeFieldEnd();
- } else if (this->__isset.ace) {
- xfer += oprot->writeFieldBegin("ace", ::apache::thrift::protocol::T_STRUCT, 2);
- xfer += this->ace.write(oprot);
- xfer += oprot->writeFieldEnd();
- } else if (this->__isset.ase) {
- xfer += oprot->writeFieldBegin("ase", ::apache::thrift::protocol::T_STRUCT, 3);
- xfer += this->ase.write(oprot);
- xfer += oprot->writeFieldEnd();
- }
- xfer += oprot->writeFieldStop();
- xfer += oprot->writeStructEnd();
- return xfer;
-}
-
-uint32_t Workflow_getAllWorkflows_presult::read(::apache::thrift::protocol::TProtocol* iprot) {
-
- uint32_t xfer = 0;
- std::string fname;
- ::apache::thrift::protocol::TType ftype;
- int16_t fid;
-
- xfer += iprot->readStructBegin(fname);
-
- using ::apache::thrift::protocol::TProtocolException;
-
-
- while (true)
- {
- xfer += iprot->readFieldBegin(fname, ftype, fid);
- if (ftype == ::apache::thrift::protocol::T_STOP) {
- break;
- }
- switch (fid)
- {
- case 0:
- if (ftype == ::apache::thrift::protocol::T_LIST) {
- {
- (*(this->success)).clear();
- uint32_t _size6;
- ::apache::thrift::protocol::TType _etype9;
- xfer += iprot->readListBegin(_etype9, _size6);
- (*(this->success)).resize(_size6);
- uint32_t _i10;
- for (_i10 = 0; _i10 < _size6; ++_i10)
- {
- xfer += iprot->readString((*(this->success))[_i10]);
- }
- xfer += iprot->readListEnd();
- }
- this->__isset.success = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 1:
- if (ftype == ::apache::thrift::protocol::T_STRUCT) {
- xfer += this->ire.read(iprot);
- this->__isset.ire = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 2:
- if (ftype == ::apache::thrift::protocol::T_STRUCT) {
- xfer += this->ace.read(iprot);
- this->__isset.ace = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 3:
- if (ftype == ::apache::thrift::protocol::T_STRUCT) {
- xfer += this->ase.read(iprot);
- this->__isset.ase = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- default:
- xfer += iprot->skip(ftype);
- break;
- }
- xfer += iprot->readFieldEnd();
- }
-
- xfer += iprot->readStructEnd();
-
- return xfer;
-}
-
-uint32_t Workflow_getWorkflow_args::read(::apache::thrift::protocol::TProtocol* iprot) {
-
- uint32_t xfer = 0;
- std::string fname;
- ::apache::thrift::protocol::TType ftype;
- int16_t fid;
-
- xfer += iprot->readStructBegin(fname);
-
- using ::apache::thrift::protocol::TProtocolException;
-
- bool isset_workflowTemplateId = false;
-
- while (true)
- {
- xfer += iprot->readFieldBegin(fname, ftype, fid);
- if (ftype == ::apache::thrift::protocol::T_STOP) {
- break;
- }
- switch (fid)
- {
- case 1:
- if (ftype == ::apache::thrift::protocol::T_STRING) {
- xfer += iprot->readString(this->workflowTemplateId);
- isset_workflowTemplateId = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- default:
- xfer += iprot->skip(ftype);
- break;
- }
- xfer += iprot->readFieldEnd();
- }
-
- xfer += iprot->readStructEnd();
-
- if (!isset_workflowTemplateId)
- throw TProtocolException(TProtocolException::INVALID_DATA);
- return xfer;
-}
-
-uint32_t Workflow_getWorkflow_args::write(::apache::thrift::protocol::TProtocol* oprot) const {
- uint32_t xfer = 0;
- xfer += oprot->writeStructBegin("Workflow_getWorkflow_args");
-
- xfer += oprot->writeFieldBegin("workflowTemplateId", ::apache::thrift::protocol::T_STRING, 1);
- xfer += oprot->writeString(this->workflowTemplateId);
- xfer += oprot->writeFieldEnd();
-
- xfer += oprot->writeFieldStop();
- xfer += oprot->writeStructEnd();
- return xfer;
-}
-
-uint32_t Workflow_getWorkflow_pargs::write(::apache::thrift::protocol::TProtocol* oprot) const {
- uint32_t xfer = 0;
- xfer += oprot->writeStructBegin("Workflow_getWorkflow_pargs");
-
- xfer += oprot->writeFieldBegin("workflowTemplateId", ::apache::thrift::protocol::T_STRING, 1);
- xfer += oprot->writeString((*(this->workflowTemplateId)));
- xfer += oprot->writeFieldEnd();
-
- xfer += oprot->writeFieldStop();
- xfer += oprot->writeStructEnd();
- return xfer;
-}
-
-uint32_t Workflow_getWorkflow_result::read(::apache::thrift::protocol::TProtocol* iprot) {
-
- uint32_t xfer = 0;
- std::string fname;
- ::apache::thrift::protocol::TType ftype;
- int16_t fid;
-
- xfer += iprot->readStructBegin(fname);
-
- using ::apache::thrift::protocol::TProtocolException;
-
-
- while (true)
- {
- xfer += iprot->readFieldBegin(fname, ftype, fid);
- if (ftype == ::apache::thrift::protocol::T_STOP) {
- break;
- }
- switch (fid)
- {
- case 0:
- if (ftype == ::apache::thrift::protocol::T_STRUCT) {
- xfer += this->success.read(iprot);
- this->__isset.success = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 1:
- if (ftype == ::apache::thrift::protocol::T_STRUCT) {
- xfer += this->ire.read(iprot);
- this->__isset.ire = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 2:
- if (ftype == ::apache::thrift::protocol::T_STRUCT) {
- xfer += this->ace.read(iprot);
- this->__isset.ace = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 3:
- if (ftype == ::apache::thrift::protocol::T_STRUCT) {
- xfer += this->ase.read(iprot);
- this->__isset.ase = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- default:
- xfer += iprot->skip(ftype);
- break;
- }
- xfer += iprot->readFieldEnd();
- }
-
- xfer += iprot->readStructEnd();
-
- return xfer;
-}
-
-uint32_t Workflow_getWorkflow_result::write(::apache::thrift::protocol::TProtocol* oprot) const {
-
- uint32_t xfer = 0;
-
- xfer += oprot->writeStructBegin("Workflow_getWorkflow_result");
-
- if (this->__isset.success) {
- xfer += oprot->writeFieldBegin("success", ::apache::thrift::protocol::T_STRUCT, 0);
- xfer += this->success.write(oprot);
- xfer += oprot->writeFieldEnd();
- } else if (this->__isset.ire) {
- xfer += oprot->writeFieldBegin("ire", ::apache::thrift::protocol::T_STRUCT, 1);
- xfer += this->ire.write(oprot);
- xfer += oprot->writeFieldEnd();
- } else if (this->__isset.ace) {
- xfer += oprot->writeFieldBegin("ace", ::apache::thrift::protocol::T_STRUCT, 2);
- xfer += this->ace.write(oprot);
- xfer += oprot->writeFieldEnd();
- } else if (this->__isset.ase) {
- xfer += oprot->writeFieldBegin("ase", ::apache::thrift::protocol::T_STRUCT, 3);
- xfer += this->ase.write(oprot);
- xfer += oprot->writeFieldEnd();
- }
- xfer += oprot->writeFieldStop();
- xfer += oprot->writeStructEnd();
- return xfer;
-}
-
-uint32_t Workflow_getWorkflow_presult::read(::apache::thrift::protocol::TProtocol* iprot) {
-
- uint32_t xfer = 0;
- std::string fname;
- ::apache::thrift::protocol::TType ftype;
- int16_t fid;
-
- xfer += iprot->readStructBegin(fname);
-
- using ::apache::thrift::protocol::TProtocolException;
-
-
- while (true)
- {
- xfer += iprot->readFieldBegin(fname, ftype, fid);
- if (ftype == ::apache::thrift::protocol::T_STOP) {
- break;
- }
- switch (fid)
- {
- case 0:
- if (ftype == ::apache::thrift::protocol::T_STRUCT) {
- xfer += (*(this->success)).read(iprot);
- this->__isset.success = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 1:
- if (ftype == ::apache::thrift::protocol::T_STRUCT) {
- xfer += this->ire.read(iprot);
- this->__isset.ire = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 2:
- if (ftype == ::apache::thrift::protocol::T_STRUCT) {
- xfer += this->ace.read(iprot);
- this->__isset.ace = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 3:
- if (ftype == ::apache::thrift::protocol::T_STRUCT) {
- xfer += this->ase.read(iprot);
- this->__isset.ase = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- default:
- xfer += iprot->skip(ftype);
- break;
- }
- xfer += iprot->readFieldEnd();
- }
-
- xfer += iprot->readStructEnd();
-
- return xfer;
-}
-
-uint32_t Workflow_deleteWorkflow_args::read(::apache::thrift::protocol::TProtocol* iprot) {
-
- uint32_t xfer = 0;
- std::string fname;
- ::apache::thrift::protocol::TType ftype;
- int16_t fid;
-
- xfer += iprot->readStructBegin(fname);
-
- using ::apache::thrift::protocol::TProtocolException;
-
- bool isset_workflowTemplateId = false;
-
- while (true)
- {
- xfer += iprot->readFieldBegin(fname, ftype, fid);
- if (ftype == ::apache::thrift::protocol::T_STOP) {
- break;
- }
- switch (fid)
- {
- case 1:
- if (ftype == ::apache::thrift::protocol::T_STRING) {
- xfer += iprot->readString(this->workflowTemplateId);
- isset_workflowTemplateId = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- default:
- xfer += iprot->skip(ftype);
- break;
- }
- xfer += iprot->readFieldEnd();
- }
-
- xfer += iprot->readStructEnd();
-
- if (!isset_workflowTemplateId)
- throw TProtocolException(TProtocolException::INVALID_DATA);
- return xfer;
-}
-
-uint32_t Workflow_deleteWorkflow_args::write(::apache::thrift::protocol::TProtocol* oprot) const {
- uint32_t xfer = 0;
- xfer += oprot->writeStructBegin("Workflow_deleteWorkflow_args");
-
- xfer += oprot->writeFieldBegin("workflowTemplateId", ::apache::thrift::protocol::T_STRING, 1);
- xfer += oprot->writeString(this->workflowTemplateId);
- xfer += oprot->writeFieldEnd();
-
- xfer += oprot->writeFieldStop();
- xfer += oprot->writeStructEnd();
- return xfer;
-}
-
-uint32_t Workflow_deleteWorkflow_pargs::write(::apache::thrift::protocol::TProtocol* oprot) const {
- uint32_t xfer = 0;
- xfer += oprot->writeStructBegin("Workflow_deleteWorkflow_pargs");
-
- xfer += oprot->writeFieldBegin("workflowTemplateId", ::apache::thrift::protocol::T_STRING, 1);
- xfer += oprot->writeString((*(this->workflowTemplateId)));
- xfer += oprot->writeFieldEnd();
-
- xfer += oprot->writeFieldStop();
- xfer += oprot->writeStructEnd();
- return xfer;
-}
-
-uint32_t Workflow_deleteWorkflow_result::read(::apache::thrift::protocol::TProtocol* iprot) {
-
- uint32_t xfer = 0;
- std::string fname;
- ::apache::thrift::protocol::TType ftype;
- int16_t fid;
-
- xfer += iprot->readStructBegin(fname);
-
- using ::apache::thrift::protocol::TProtocolException;
-
-
- while (true)
- {
- xfer += iprot->readFieldBegin(fname, ftype, fid);
- if (ftype == ::apache::thrift::protocol::T_STOP) {
- break;
- }
- switch (fid)
- {
- case 1:
- if (ftype == ::apache::thrift::protocol::T_STRUCT) {
- xfer += this->ire.read(iprot);
- this->__isset.ire = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 2:
- if (ftype == ::apache::thrift::protocol::T_STRUCT) {
- xfer += this->ace.read(iprot);
- this->__isset.ace = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 3:
- if (ftype == ::apache::thrift::protocol::T_STRUCT) {
- xfer += this->ase.read(iprot);
- this->__isset.ase = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- default:
- xfer += iprot->skip(ftype);
- break;
- }
- xfer += iprot->readFieldEnd();
- }
-
- xfer += iprot->readStructEnd();
-
- return xfer;
-}
-
-uint32_t Workflow_deleteWorkflow_result::write(::apache::thrift::protocol::TProtocol* oprot) const {
-
- uint32_t xfer = 0;
-
- xfer += oprot->writeStructBegin("Workflow_deleteWorkflow_result");
-
- if (this->__isset.ire) {
- xfer += oprot->writeFieldBegin("ire", ::apache::thrift::protocol::T_STRUCT, 1);
- xfer += this->ire.write(oprot);
- xfer += oprot->writeFieldEnd();
- } else if (this->__isset.ace) {
- xfer += oprot->writeFieldBegin("ace", ::apache::thrift::protocol::T_STRUCT, 2);
- xfer += this->ace.write(oprot);
- xfer += oprot->writeFieldEnd();
- } else if (this->__isset.ase) {
- xfer += oprot->writeFieldBegin("ase", ::apache::thrift::protocol::T_STRUCT, 3);
- xfer += this->ase.write(oprot);
- xfer += oprot->writeFieldEnd();
- }
- xfer += oprot->writeFieldStop();
- xfer += oprot->writeStructEnd();
- return xfer;
-}
-
-uint32_t Workflow_deleteWorkflow_presult::read(::apache::thrift::protocol::TProtocol* iprot) {
-
- uint32_t xfer = 0;
- std::string fname;
- ::apache::thrift::protocol::TType ftype;
- int16_t fid;
-
- xfer += iprot->readStructBegin(fname);
-
- using ::apache::thrift::protocol::TProtocolException;
-
-
- while (true)
- {
- xfer += iprot->readFieldBegin(fname, ftype, fid);
- if (ftype == ::apache::thrift::protocol::T_STOP) {
- break;
- }
- switch (fid)
- {
- case 1:
- if (ftype == ::apache::thrift::protocol::T_STRUCT) {
- xfer += this->ire.read(iprot);
- this->__isset.ire = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 2:
- if (ftype == ::apache::thrift::protocol::T_STRUCT) {
- xfer += this->ace.read(iprot);
- this->__isset.ace = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 3:
- if (ftype == ::apache::thrift::protocol::T_STRUCT) {
- xfer += this->ase.read(iprot);
- this->__isset.ase = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- default:
- xfer += iprot->skip(ftype);
- break;
- }
- xfer += iprot->readFieldEnd();
- }
-
- xfer += iprot->readStructEnd();
-
- return xfer;
-}
-
-uint32_t Workflow_registerWorkflow_args::read(::apache::thrift::protocol::TProtocol* iprot) {
-
- uint32_t xfer = 0;
- std::string fname;
- ::apache::thrift::protocol::TType ftype;
- int16_t fid;
-
- xfer += iprot->readStructBegin(fname);
-
- using ::apache::thrift::protocol::TProtocolException;
-
- bool isset_workflow = false;
-
- while (true)
- {
- xfer += iprot->readFieldBegin(fname, ftype, fid);
- if (ftype == ::apache::thrift::protocol::T_STOP) {
- break;
- }
- switch (fid)
- {
- case 1:
- if (ftype == ::apache::thrift::protocol::T_STRUCT) {
- xfer += this->workflow.read(iprot);
- isset_workflow = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- default:
- xfer += iprot->skip(ftype);
- break;
- }
- xfer += iprot->readFieldEnd();
- }
-
- xfer += iprot->readStructEnd();
-
- if (!isset_workflow)
- throw TProtocolException(TProtocolException::INVALID_DATA);
- return xfer;
-}
-
-uint32_t Workflow_registerWorkflow_args::write(::apache::thrift::protocol::TProtocol* oprot) const {
- uint32_t xfer = 0;
- xfer += oprot->writeStructBegin("Workflow_registerWorkflow_args");
-
- xfer += oprot->writeFieldBegin("workflow", ::apache::thrift::protocol::T_STRUCT, 1);
- xfer += this->workflow.write(oprot);
- xfer += oprot->writeFieldEnd();
-
- xfer += oprot->writeFieldStop();
- xfer += oprot->writeStructEnd();
- return xfer;
-}
-
-uint32_t Workflow_registerWorkflow_pargs::write(::apache::thrift::protocol::TProtocol* oprot) const {
- uint32_t xfer = 0;
- xfer += oprot->writeStructBegin("Workflow_registerWorkflow_pargs");
-
- xfer += oprot->writeFieldBegin("workflow", ::apache::thrift::protocol::T_STRUCT, 1);
- xfer += (*(this->workflow)).write(oprot);
- xfer += oprot->writeFieldEnd();
-
- xfer += oprot->writeFieldStop();
- xfer += oprot->writeStructEnd();
- return xfer;
-}
-
-uint32_t Workflow_registerWorkflow_result::read(::apache::thrift::protocol::TProtocol* iprot) {
-
- uint32_t xfer = 0;
- std::string fname;
- ::apache::thrift::protocol::TType ftype;
- int16_t fid;
-
- xfer += iprot->readStructBegin(fname);
-
- using ::apache::thrift::protocol::TProtocolException;
-
-
- while (true)
- {
- xfer += iprot->readFieldBegin(fname, ftype, fid);
- if (ftype == ::apache::thrift::protocol::T_STOP) {
- break;
- }
- switch (fid)
- {
- case 0:
- if (ftype == ::apache::thrift::protocol::T_STRING) {
- xfer += iprot->readString(this->success);
- this->__isset.success = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 1:
- if (ftype == ::apache::thrift::protocol::T_STRUCT) {
- xfer += this->ire.read(iprot);
- this->__isset.ire = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 2:
- if (ftype == ::apache::thrift::protocol::T_STRUCT) {
- xfer += this->ace.read(iprot);
- this->__isset.ace = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 3:
- if (ftype == ::apache::thrift::protocol::T_STRUCT) {
- xfer += this->ase.read(iprot);
- this->__isset.ase = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- default:
- xfer += iprot->skip(ftype);
- break;
- }
- xfer += iprot->readFieldEnd();
- }
-
- xfer += iprot->readStructEnd();
-
- return xfer;
-}
-
-uint32_t Workflow_registerWorkflow_result::write(::apache::thrift::protocol::TProtocol* oprot) const {
-
- uint32_t xfer = 0;
-
- xfer += oprot->writeStructBegin("Workflow_registerWorkflow_result");
-
- if (this->__isset.success) {
- xfer += oprot->writeFieldBegin("success", ::apache::thrift::protocol::T_STRING, 0);
- xfer += oprot->writeString(this->success);
- xfer += oprot->writeFieldEnd();
- } else if (this->__isset.ire) {
- xfer += oprot->writeFieldBegin("ire", ::apache::thrift::protocol::T_STRUCT, 1);
- xfer += this->ire.write(oprot);
- xfer += oprot->writeFieldEnd();
- } else if (this->__isset.ace) {
- xfer += oprot->writeFieldBegin("ace", ::apache::thrift::protocol::T_STRUCT, 2);
- xfer += this->ace.write(oprot);
- xfer += oprot->writeFieldEnd();
- } else if (this->__isset.ase) {
- xfer += oprot->writeFieldBegin("ase", ::apache::thrift::protocol::T_STRUCT, 3);
- xfer += this->ase.write(oprot);
- xfer += oprot->writeFieldEnd();
- }
- xfer += oprot->writeFieldStop();
- xfer += oprot->writeStructEnd();
- return xfer;
-}
-
-uint32_t Workflow_registerWorkflow_presult::read(::apache::thrift::protocol::TProtocol* iprot) {
-
- uint32_t xfer = 0;
- std::string fname;
- ::apache::thrift::protocol::TType ftype;
- int16_t fid;
-
- xfer += iprot->readStructBegin(fname);
-
- using ::apache::thrift::protocol::TProtocolException;
-
-
- while (true)
- {
- xfer += iprot->readFieldBegin(fname, ftype, fid);
- if (ftype == ::apache::thrift::protocol::T_STOP) {
- break;
- }
- switch (fid)
- {
- case 0:
- if (ftype == ::apache::thrift::protocol::T_STRING) {
- xfer += iprot->readString((*(this->success)));
- this->__isset.success = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 1:
- if (ftype == ::apache::thrift::protocol::T_STRUCT) {
- xfer += this->ire.read(iprot);
- this->__isset.ire = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 2:
- if (ftype == ::apache::thrift::protocol::T_STRUCT) {
- xfer += this->ace.read(iprot);
- this->__isset.ace = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 3:
- if (ftype == ::apache::thrift::protocol::T_STRUCT) {
- xfer += this->ase.read(iprot);
- this->__isset.ase = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- default:
- xfer += iprot->skip(ftype);
- break;
- }
- xfer += iprot->readFieldEnd();
- }
-
- xfer += iprot->readStructEnd();
-
- return xfer;
-}
-
-uint32_t Workflow_updateWorkflow_args::read(::apache::thrift::protocol::TProtocol* iprot) {
-
- uint32_t xfer = 0;
- std::string fname;
- ::apache::thrift::protocol::TType ftype;
- int16_t fid;
-
- xfer += iprot->readStructBegin(fname);
-
- using ::apache::thrift::protocol::TProtocolException;
-
- bool isset_workflowTemplateId = false;
- bool isset_workflow = false;
-
- while (true)
- {
- xfer += iprot->readFieldBegin(fname, ftype, fid);
- if (ftype == ::apache::thrift::protocol::T_STOP) {
- break;
- }
- switch (fid)
- {
- case 1:
- if (ftype == ::apache::thrift::protocol::T_STRING) {
- xfer += iprot->readString(this->workflowTemplateId);
- isset_workflowTemplateId = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 2:
- if (ftype == ::apache::thrift::protocol::T_STRUCT) {
- xfer += this->workflow.read(iprot);
- isset_workflow = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- default:
- xfer += iprot->skip(ftype);
- break;
- }
- xfer += iprot->readFieldEnd();
- }
-
- xfer += iprot->readStructEnd();
-
- if (!isset_workflowTemplateId)
- throw TProtocolException(TProtocolException::INVALID_DATA);
- if (!isset_workflow)
- throw TProtocolException(TProtocolException::INVALID_DATA);
- return xfer;
-}
-
-uint32_t Workflow_updateWorkflow_args::write(::apache::thrift::protocol::TProtocol* oprot) const {
- uint32_t xfer = 0;
- xfer += oprot->writeStructBegin("Workflow_updateWorkflow_args");
-
- xfer += oprot->writeFieldBegin("workflowTemplateId", ::apache::thrift::protocol::T_STRING, 1);
- xfer += oprot->writeString(this->workflowTemplateId);
- xfer += oprot->writeFieldEnd();
-
- xfer += oprot->writeFieldBegin("workflow", ::apache::thrift::protocol::T_STRUCT, 2);
- xfer += this->workflow.write(oprot);
- xfer += oprot->writeFieldEnd();
-
- xfer += oprot->writeFieldStop();
- xfer += oprot->writeStructEnd();
- return xfer;
-}
-
-uint32_t Workflow_updateWorkflow_pargs::write(::apache::thrift::protocol::TProtocol* oprot) const {
- uint32_t xfer = 0;
- xfer += oprot->writeStructBegin("Workflow_updateWorkflow_pargs");
-
- xfer += oprot->writeFieldBegin("workflowTemplateId", ::apache::thrift::protocol::T_STRING, 1);
- xfer += oprot->writeString((*(this->workflowTemplateId)));
- xfer += oprot->writeFieldEnd();
-
- xfer += oprot->writeFieldBegin("workflow", ::apache::thrift::protocol::T_STRUCT, 2);
- xfer += (*(this->workflow)).write(oprot);
- xfer += oprot->writeFieldEnd();
-
- xfer += oprot->writeFieldStop();
- xfer += oprot->writeStructEnd();
- return xfer;
-}
-
-uint32_t Workflow_updateWorkflow_result::read(::apache::thrift::protocol::TProtocol* iprot) {
-
- uint32_t xfer = 0;
- std::string fname;
- ::apache::thrift::protocol::TType ftype;
- int16_t fid;
-
- xfer += iprot->readStructBegin(fname);
-
- using ::apache::thrift::protocol::TProtocolException;
-
-
- while (true)
- {
- xfer += iprot->readFieldBegin(fname, ftype, fid);
- if (ftype == ::apache::thrift::protocol::T_STOP) {
- break;
- }
- switch (fid)
- {
- case 1:
- if (ftype == ::apache::thrift::protocol::T_STRUCT) {
- xfer += this->ire.read(iprot);
- this->__isset.ire = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 2:
- if (ftype == ::apache::thrift::protocol::T_STRUCT) {
- xfer += this->ace.read(iprot);
- this->__isset.ace = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 3:
- if (ftype == ::apache::thrift::protocol::T_STRUCT) {
- xfer += this->ase.read(iprot);
- this->__isset.ase = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- default:
- xfer += iprot->skip(ftype);
- break;
- }
- xfer += iprot->readFieldEnd();
- }
-
- xfer += iprot->readStructEnd();
-
- return xfer;
-}
-
-uint32_t Workflow_updateWorkflow_result::write(::apache::thrift::protocol::TProtocol* oprot) const {
-
- uint32_t xfer = 0;
-
- xfer += oprot->writeStructBegin("Workflow_updateWorkflow_result");
-
- if (this->__isset.ire) {
- xfer += oprot->writeFieldBegin("ire", ::apache::thrift::protocol::T_STRUCT, 1);
- xfer += this->ire.write(oprot);
- xfer += oprot->writeFieldEnd();
- } else if (this->__isset.ace) {
- xfer += oprot->writeFieldBegin("ace", ::apache::thrift::protocol::T_STRUCT, 2);
- xfer += this->ace.write(oprot);
- xfer += oprot->writeFieldEnd();
- } else if (this->__isset.ase) {
- xfer += oprot->writeFieldBegin("ase", ::apache::thrift::protocol::T_STRUCT, 3);
- xfer += this->ase.write(oprot);
- xfer += oprot->writeFieldEnd();
- }
- xfer += oprot->writeFieldStop();
- xfer += oprot->writeStructEnd();
- return xfer;
-}
-
-uint32_t Workflow_updateWorkflow_presult::read(::apache::thrift::protocol::TProtocol* iprot) {
-
- uint32_t xfer = 0;
- std::string fname;
- ::apache::thrift::protocol::TType ftype;
- int16_t fid;
-
- xfer += iprot->readStructBegin(fname);
-
- using ::apache::thrift::protocol::TProtocolException;
-
-
- while (true)
- {
- xfer += iprot->readFieldBegin(fname, ftype, fid);
- if (ftype == ::apache::thrift::protocol::T_STOP) {
- break;
- }
- switch (fid)
- {
- case 1:
- if (ftype == ::apache::thrift::protocol::T_STRUCT) {
- xfer += this->ire.read(iprot);
- this->__isset.ire = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 2:
- if (ftype == ::apache::thrift::protocol::T_STRUCT) {
- xfer += this->ace.read(iprot);
- this->__isset.ace = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 3:
- if (ftype == ::apache::thrift::protocol::T_STRUCT) {
- xfer += this->ase.read(iprot);
- this->__isset.ase = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- default:
- xfer += iprot->skip(ftype);
- break;
- }
- xfer += iprot->readFieldEnd();
- }
-
- xfer += iprot->readStructEnd();
-
- return xfer;
-}
-
-uint32_t Workflow_getWorkflowTemplateId_args::read(::apache::thrift::protocol::TProtocol* iprot) {
-
- uint32_t xfer = 0;
- std::string fname;
- ::apache::thrift::protocol::TType ftype;
- int16_t fid;
-
- xfer += iprot->readStructBegin(fname);
-
- using ::apache::thrift::protocol::TProtocolException;
-
- bool isset_workflowName = false;
-
- while (true)
- {
- xfer += iprot->readFieldBegin(fname, ftype, fid);
- if (ftype == ::apache::thrift::protocol::T_STOP) {
- break;
- }
- switch (fid)
- {
- case 1:
- if (ftype == ::apache::thrift::protocol::T_STRING) {
- xfer += iprot->readString(this->workflowName);
- isset_workflowName = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- default:
- xfer += iprot->skip(ftype);
- break;
- }
- xfer += iprot->readFieldEnd();
- }
-
- xfer += iprot->readStructEnd();
-
- if (!isset_workflowName)
- throw TProtocolException(TProtocolException::INVALID_DATA);
- return xfer;
-}
-
-uint32_t Workflow_getWorkflowTemplateId_args::write(::apache::thrift::protocol::TProtocol* oprot) const {
- uint32_t xfer = 0;
- xfer += oprot->writeStructBegin("Workflow_getWorkflowTemplateId_args");
-
- xfer += oprot->writeFieldBegin("workflowName", ::apache::thrift::protocol::T_STRING, 1);
- xfer += oprot->writeString(this->workflowName);
- xfer += oprot->writeFieldEnd();
-
- xfer += oprot->writeFieldStop();
- xfer += oprot->writeStructEnd();
- return xfer;
-}
-
-uint32_t Workflow_getWorkflowTemplateId_pargs::write(::apache::thrift::protocol::TProtocol* oprot) const {
- uint32_t xfer = 0;
- xfer += oprot->writeStructBegin("Workflow_getWorkflowTemplateId_pargs");
-
- xfer += oprot->writeFieldBegin("workflowName", ::apache::thrift::protocol::T_STRING, 1);
- xfer += oprot->writeString((*(this->workflowName)));
- xfer += oprot->writeFieldEnd();
-
- xfer += oprot->writeFieldStop();
- xfer += oprot->writeStructEnd();
- return xfer;
-}
-
-uint32_t Workflow_getWorkflowTemplateId_result::read(::apache::thrift::protocol::TProtocol* iprot) {
-
- uint32_t xfer = 0;
- std::string fname;
- ::apache::thrift::protocol::TType ftype;
- int16_t fid;
-
- xfer += iprot->readStructBegin(fname);
-
- using ::apache::thrift::protocol::TProtocolException;
-
-
- while (true)
- {
- xfer += iprot->readFieldBegin(fname, ftype, fid);
- if (ftype == ::apache::thrift::protocol::T_STOP) {
- break;
- }
- switch (fid)
- {
- case 0:
- if (ftype == ::apache::thrift::protocol::T_STRING) {
- xfer += iprot->readString(this->success);
- this->__isset.success = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 1:
- if (ftype == ::apache::thrift::protocol::T_STRUCT) {
- xfer += this->ire.read(iprot);
- this->__isset.ire = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 2:
- if (ftype == ::apache::thrift::protocol::T_STRUCT) {
- xfer += this->ace.read(iprot);
- this->__isset.ace = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 3:
- if (ftype == ::apache::thrift::protocol::T_STRUCT) {
- xfer += this->ase.read(iprot);
- this->__isset.ase = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- default:
- xfer += iprot->skip(ftype);
- break;
- }
- xfer += iprot->readFieldEnd();
- }
-
- xfer += iprot->readStructEnd();
-
- return xfer;
-}
-
-uint32_t Workflow_getWorkflowTemplateId_result::write(::apache::thrift::protocol::TProtocol* oprot) const {
-
- uint32_t xfer = 0;
-
- xfer += oprot->writeStructBegin("Workflow_getWorkflowTemplateId_result");
-
- if (this->__isset.success) {
- xfer += oprot->writeFieldBegin("success", ::apache::thrift::protocol::T_STRING, 0);
- xfer += oprot->writeString(this->success);
- xfer += oprot->writeFieldEnd();
- } else if (this->__isset.ire) {
- xfer += oprot->writeFieldBegin("ire", ::apache::thrift::protocol::T_STRUCT, 1);
- xfer += this->ire.write(oprot);
- xfer += oprot->writeFieldEnd();
- } else if (this->__isset.ace) {
- xfer += oprot->writeFieldBegin("ace", ::apache::thrift::protocol::T_STRUCT, 2);
- xfer += this->ace.write(oprot);
- xfer += oprot->writeFieldEnd();
- } else if (this->__isset.ase) {
- xfer += oprot->writeFieldBegin("ase", ::apache::thrift::protocol::T_STRUCT, 3);
- xfer += this->ase.write(oprot);
- xfer += oprot->writeFieldEnd();
- }
- xfer += oprot->writeFieldStop();
- xfer += oprot->writeStructEnd();
- return xfer;
-}
-
-uint32_t Workflow_getWorkflowTemplateId_presult::read(::apache::thrift::protocol::TProtocol* iprot) {
-
- uint32_t xfer = 0;
- std::string fname;
- ::apache::thrift::protocol::TType ftype;
- int16_t fid;
-
- xfer += iprot->readStructBegin(fname);
-
- using ::apache::thrift::protocol::TProtocolException;
-
-
- while (true)
- {
- xfer += iprot->readFieldBegin(fname, ftype, fid);
- if (ftype == ::apache::thrift::protocol::T_STOP) {
- break;
- }
- switch (fid)
- {
- case 0:
- if (ftype == ::apache::thrift::protocol::T_STRING) {
- xfer += iprot->readString((*(this->success)));
- this->__isset.success = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 1:
- if (ftype == ::apache::thrift::protocol::T_STRUCT) {
- xfer += this->ire.read(iprot);
- this->__isset.ire = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 2:
- if (ftype == ::apache::thrift::protocol::T_STRUCT) {
- xfer += this->ace.read(iprot);
- this->__isset.ace = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 3:
- if (ftype == ::apache::thrift::protocol::T_STRUCT) {
- xfer += this->ase.read(iprot);
- this->__isset.ase = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- default:
- xfer += iprot->skip(ftype);
- break;
- }
- xfer += iprot->readFieldEnd();
- }
-
- xfer += iprot->readStructEnd();
-
- return xfer;
-}
-
-uint32_t Workflow_isWorkflowExistWithName_args::read(::apache::thrift::protocol::TProtocol* iprot) {
-
- uint32_t xfer = 0;
- std::string fname;
- ::apache::thrift::protocol::TType ftype;
- int16_t fid;
-
- xfer += iprot->readStructBegin(fname);
-
- using ::apache::thrift::protocol::TProtocolException;
-
- bool isset_workflowName = false;
-
- while (true)
- {
- xfer += iprot->readFieldBegin(fname, ftype, fid);
- if (ftype == ::apache::thrift::protocol::T_STOP) {
- break;
- }
- switch (fid)
- {
- case 1:
- if (ftype == ::apache::thrift::protocol::T_STRING) {
- xfer += iprot->readString(this->workflowName);
- isset_workflowName = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- default:
- xfer += iprot->skip(ftype);
- break;
- }
- xfer += iprot->readFieldEnd();
- }
-
- xfer += iprot->readStructEnd();
-
- if (!isset_workflowName)
- throw TProtocolException(TProtocolException::INVALID_DATA);
- return xfer;
-}
-
-uint32_t Workflow_isWorkflowExistWithName_args::write(::apache::thrift::protocol::TProtocol* oprot) const {
- uint32_t xfer = 0;
- xfer += oprot->writeStructBegin("Workflow_isWorkflowExistWithName_args");
-
- xfer += oprot->writeFieldBegin("workflowName", ::apache::thrift::protocol::T_STRING, 1);
- xfer += oprot->writeString(this->workflowName);
- xfer += oprot->writeFieldEnd();
-
- xfer += oprot->writeFieldStop();
- xfer += oprot->writeStructEnd();
- return xfer;
-}
-
-uint32_t Workflow_isWorkflowExistWithName_pargs::write(::apache::thrift::protocol::TProtocol* oprot) const {
- uint32_t xfer = 0;
- xfer += oprot->writeStructBegin("Workflow_isWorkflowExistWithName_pargs");
-
- xfer += oprot->writeFieldBegin("workflowName", ::apache::thrift::protocol::T_STRING, 1);
- xfer += oprot->writeString((*(this->workflowName)));
- xfer += oprot->writeFieldEnd();
-
- xfer += oprot->writeFieldStop();
- xfer += oprot->writeStructEnd();
- return xfer;
-}
-
-uint32_t Workflow_isWorkflowExistWithName_result::read(::apache::thrift::protocol::TProtocol* iprot) {
-
- uint32_t xfer = 0;
- std::string fname;
- ::apache::thrift::protocol::TType ftype;
- int16_t fid;
-
- xfer += iprot->readStructBegin(fname);
-
- using ::apache::thrift::protocol::TProtocolException;
-
-
- while (true)
- {
- xfer += iprot->readFieldBegin(fname, ftype, fid);
- if (ftype == ::apache::thrift::protocol::T_STOP) {
- break;
- }
- switch (fid)
- {
- case 0:
- if (ftype == ::apache::thrift::protocol::T_BOOL) {
- xfer += iprot->readBool(this->success);
- this->__isset.success = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 1:
- if (ftype == ::apache::thrift::protocol::T_STRUCT) {
- xfer += this->ire.read(iprot);
- this->__isset.ire = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 2:
- if (ftype == ::apache::thrift::protocol::T_STRUCT) {
- xfer += this->ace.read(iprot);
- this->__isset.ace = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 3:
- if (ftype == ::apache::thrift::protocol::T_STRUCT) {
- xfer += this->ase.read(iprot);
- this->__isset.ase = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- default:
- xfer += iprot->skip(ftype);
- break;
- }
- xfer += iprot->readFieldEnd();
- }
-
- xfer += iprot->readStructEnd();
-
- return xfer;
-}
-
-uint32_t Workflow_isWorkflowExistWithName_result::write(::apache::thrift::protocol::TProtocol* oprot) const {
-
- uint32_t xfer = 0;
-
- xfer += oprot->writeStructBegin("Workflow_isWorkflowExistWithName_result");
-
- if (this->__isset.success) {
- xfer += oprot->writeFieldBegin("success", ::apache::thrift::protocol::T_BOOL, 0);
- xfer += oprot->writeBool(this->success);
- xfer += oprot->writeFieldEnd();
- } else if (this->__isset.ire) {
- xfer += oprot->writeFieldBegin("ire", ::apache::thrift::protocol::T_STRUCT, 1);
- xfer += this->ire.write(oprot);
- xfer += oprot->writeFieldEnd();
- } else if (this->__isset.ace) {
- xfer += oprot->writeFieldBegin("ace", ::apache::thrift::protocol::T_STRUCT, 2);
- xfer += this->ace.write(oprot);
- xfer += oprot->writeFieldEnd();
- } else if (this->__isset.ase) {
- xfer += oprot->writeFieldBegin("ase", ::apache::thrift::protocol::T_STRUCT, 3);
- xfer += this->ase.write(oprot);
- xfer += oprot->writeFieldEnd();
- }
- xfer += oprot->writeFieldStop();
- xfer += oprot->writeStructEnd();
- return xfer;
-}
-
-uint32_t Workflow_isWorkflowExistWithName_presult::read(::apache::thrift::protocol::TProtocol* iprot) {
-
- uint32_t xfer = 0;
- std::string fname;
- ::apache::thrift::protocol::TType ftype;
- int16_t fid;
-
- xfer += iprot->readStructBegin(fname);
-
- using ::apache::thrift::protocol::TProtocolException;
-
-
- while (true)
- {
- xfer += iprot->readFieldBegin(fname, ftype, fid);
- if (ftype == ::apache::thrift::protocol::T_STOP) {
- break;
- }
- switch (fid)
- {
- case 0:
- if (ftype == ::apache::thrift::protocol::T_BOOL) {
- xfer += iprot->readBool((*(this->success)));
- this->__isset.success = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 1:
- if (ftype == ::apache::thrift::protocol::T_STRUCT) {
- xfer += this->ire.read(iprot);
- this->__isset.ire = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 2:
- if (ftype == ::apache::thrift::protocol::T_STRUCT) {
- xfer += this->ace.read(iprot);
- this->__isset.ace = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 3:
- if (ftype == ::apache::thrift::protocol::T_STRUCT) {
- xfer += this->ase.read(iprot);
- this->__isset.ase = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- default:
- xfer += iprot->skip(ftype);
- break;
- }
- xfer += iprot->readFieldEnd();
- }
-
- xfer += iprot->readStructEnd();
-
- return xfer;
-}
-
-void WorkflowClient::getAllWorkflows(std::vector<std::string> & _return)
-{
- send_getAllWorkflows();
- recv_getAllWorkflows(_return);
-}
-
-void WorkflowClient::send_getAllWorkflows()
-{
- int32_t cseqid = 0;
- oprot_->writeMessageBegin("getAllWorkflows", ::apache::thrift::protocol::T_CALL, cseqid);
-
- Workflow_getAllWorkflows_pargs args;
- args.write(oprot_);
-
- oprot_->writeMessageEnd();
- oprot_->getTransport()->writeEnd();
- oprot_->getTransport()->flush();
-}
-
-void WorkflowClient::recv_getAllWorkflows(std::vector<std::string> & _return)
-{
-
- int32_t rseqid = 0;
- std::string fname;
- ::apache::thrift::protocol::TMessageType mtype;
-
- iprot_->readMessageBegin(fname, mtype, rseqid);
- if (mtype == ::apache::thrift::protocol::T_EXCEPTION) {
- ::apache::thrift::TApplicationException x;
- x.read(iprot_);
- iprot_->readMessageEnd();
- iprot_->getTransport()->readEnd();
- throw x;
- }
- if (mtype != ::apache::thrift::protocol::T_REPLY) {
- iprot_->skip(::apache::thrift::protocol::T_STRUCT);
- iprot_->readMessageEnd();
- iprot_->getTransport()->readEnd();
- }
- if (fname.compare("getAllWorkflows") != 0) {
- iprot_->skip(::apache::thrift::protocol::T_STRUCT);
- iprot_->readMessageEnd();
- iprot_->getTransport()->readEnd();
- }
- Workflow_getAllWorkflows_presult result;
- result.success = &_return;
- result.read(iprot_);
- iprot_->readMessageEnd();
- iprot_->getTransport()->readEnd();
-
- if (result.__isset.success) {
- // _return pointer has now been filled
- return;
- }
- if (result.__isset.ire) {
- throw result.ire;
- }
- if (result.__isset.ace) {
- throw result.ace;
- }
- if (result.__isset.ase) {
- throw result.ase;
- }
- throw ::apache::thrift::TApplicationException(::apache::thrift::TApplicationException::MISSING_RESULT, "getAllWorkflows failed: unknown result");
-}
-
-void WorkflowClient::getWorkflow( ::Workflow& _return, const std::string& workflowTemplateId)
-{
- send_getWorkflow(workflowTemplateId);
- recv_getWorkflow(_return);
-}
-
-void WorkflowClient::send_getWorkflow(const std::string& workflowTemplateId)
-{
- int32_t cseqid = 0;
- oprot_->writeMessageBegin("getWorkflow", ::apache::thrift::protocol::T_CALL, cseqid);
-
- Workflow_getWorkflow_pargs args;
- args.workflowTemplateId = &workflowTemplateId;
- args.write(oprot_);
-
- oprot_->writeMessageEnd();
- oprot_->getTransport()->writeEnd();
- oprot_->getTransport()->flush();
-}
-
-void WorkflowClient::recv_getWorkflow( ::Workflow& _return)
-{
-
- int32_t rseqid = 0;
- std::string fname;
- ::apache::thrift::protocol::TMessageType mtype;
-
- iprot_->readMessageBegin(fname, mtype, rseqid);
- if (mtype == ::apache::thrift::protocol::T_EXCEPTION) {
- ::apache::thrift::TApplicationException x;
- x.read(iprot_);
- iprot_->readMessageEnd();
- iprot_->getTransport()->readEnd();
- throw x;
- }
- if (mtype != ::apache::thrift::protocol::T_REPLY) {
- iprot_->skip(::apache::thrift::protocol::T_STRUCT);
- iprot_->readMessageEnd();
- iprot_->getTransport()->readEnd();
- }
- if (fname.compare("getWorkflow") != 0) {
- iprot_->skip(::apache::thrift::protocol::T_STRUCT);
- iprot_->readMessageEnd();
- iprot_->getTransport()->readEnd();
- }
- Workflow_getWorkflow_presult result;
- result.success = &_return;
- result.read(iprot_);
- iprot_->readMessageEnd();
- iprot_->getTransport()->readEnd();
-
- if (result.__isset.success) {
- // _return pointer has now been filled
- return;
- }
- if (result.__isset.ire) {
- throw result.ire;
- }
- if (result.__isset.ace) {
- throw result.ace;
- }
- if (result.__isset.ase) {
- throw result.ase;
- }
- throw ::apache::thrift::TApplicationException(::apache::thrift::TApplicationException::MISSING_RESULT, "getWorkflow failed: unknown result");
-}
-
-void WorkflowClient::deleteWorkflow(const std::string& workflowTemplateId)
-{
- send_deleteWorkflow(workflowTemplateId);
- recv_deleteWorkflow();
-}
-
-void WorkflowClient::send_deleteWorkflow(const std::string& workflowTemplateId)
-{
- int32_t cseqid = 0;
- oprot_->writeMessageBegin("deleteWorkflow", ::apache::thrift::protocol::T_CALL, cseqid);
-
- Workflow_deleteWorkflow_pargs args;
- args.workflowTemplateId = &workflowTemplateId;
- args.write(oprot_);
-
- oprot_->writeMessageEnd();
- oprot_->getTransport()->writeEnd();
- oprot_->getTransport()->flush();
-}
-
-void WorkflowClient::recv_deleteWorkflow()
-{
-
- int32_t rseqid = 0;
- std::string fname;
- ::apache::thrift::protocol::TMessageType mtype;
-
- iprot_->readMessageBegin(fname, mtype, rseqid);
- if (mtype == ::apache::thrift::protocol::T_EXCEPTION) {
- ::apache::thrift::TApplicationException x;
- x.read(iprot_);
- iprot_->readMessageEnd();
- iprot_->getTransport()->readEnd();
- throw x;
- }
- if (mtype != ::apache::thrift::protocol::T_REPLY) {
- iprot_->skip(::apache::thrift::protocol::T_STRUCT);
- iprot_->readMessageEnd();
- iprot_->getTransport()->readEnd();
- }
- if (fname.compare("deleteWorkflow") != 0) {
- iprot_->skip(::apache::thrift::protocol::T_STRUCT);
- iprot_->readMessageEnd();
- iprot_->getTransport()->readEnd();
- }
- Workflow_deleteWorkflow_presult result;
- result.read(iprot_);
- iprot_->readMessageEnd();
- iprot_->getTransport()->readEnd();
-
- if (result.__isset.ire) {
- throw result.ire;
- }
- if (result.__isset.ace) {
- throw result.ace;
- }
- if (result.__isset.ase) {
- throw result.ase;
- }
- return;
-}
-
-void WorkflowClient::registerWorkflow(std::string& _return, const ::Workflow& workflow)
-{
- send_registerWorkflow(workflow);
- recv_registerWorkflow(_return);
-}
-
-void WorkflowClient::send_registerWorkflow(const ::Workflow& workflow)
-{
- int32_t cseqid = 0;
- oprot_->writeMessageBegin("registerWorkflow", ::apache::thrift::protocol::T_CALL, cseqid);
-
- Workflow_registerWorkflow_pargs args;
- args.workflow = &workflow;
- args.write(oprot_);
-
- oprot_->writeMessageEnd();
- oprot_->getTransport()->writeEnd();
- oprot_->getTransport()->flush();
-}
-
-void WorkflowClient::recv_registerWorkflow(std::string& _return)
-{
-
- int32_t rseqid = 0;
- std::string fname;
- ::apache::thrift::protocol::TMessageType mtype;
-
- iprot_->readMessageBegin(fname, mtype, rseqid);
- if (mtype == ::apache::thrift::protocol::T_EXCEPTION) {
- ::apache::thrift::TApplicationException x;
- x.read(iprot_);
- iprot_->readMessageEnd();
- iprot_->getTransport()->readEnd();
- throw x;
- }
- if (mtype != ::apache::thrift::protocol::T_REPLY) {
- iprot_->skip(::apache::thrift::protocol::T_STRUCT);
- iprot_->readMessageEnd();
- iprot_->getTransport()->readEnd();
- }
- if (fname.compare("registerWorkflow") != 0) {
- iprot_->skip(::apache::thrift::protocol::T_STRUCT);
- iprot_->readMessageEnd();
- iprot_->getTransport()->readEnd();
- }
- Workflow_registerWorkflow_presult result;
- result.success = &_return;
- result.read(iprot_);
- iprot_->readMessageEnd();
- iprot_->getTransport()->readEnd();
-
- if (result.__isset.success) {
- // _return pointer has now been filled
- return;
- }
- if (result.__isset.ire) {
- throw result.ire;
- }
- if (result.__isset.ace) {
- throw result.ace;
- }
- if (result.__isset.ase) {
- throw result.ase;
- }
- throw ::apache::thrift::TApplicationException(::apache::thrift::TApplicationException::MISSING_RESULT, "registerWorkflow failed: unknown result");
-}
-
-void WorkflowClient::updateWorkflow(const std::string& workflowTemplateId, const ::Workflow& workflow)
-{
- send_updateWorkflow(workflowTemplateId, workflow);
- recv_updateWorkflow();
-}
-
-void WorkflowClient::send_updateWorkflow(const std::string& workflowTemplateId, const ::Workflow& workflow)
-{
- int32_t cseqid = 0;
- oprot_->writeMessageBegin("updateWorkflow", ::apache::thrift::protocol::T_CALL, cseqid);
-
- Workflow_updateWorkflow_pargs args;
- args.workflowTemplateId = &workflowTemplateId;
- args.workflow = &workflow;
- args.write(oprot_);
-
- oprot_->writeMessageEnd();
- oprot_->getTransport()->writeEnd();
- oprot_->getTransport()->flush();
-}
-
-void WorkflowClient::recv_updateWorkflow()
-{
-
- int32_t rseqid = 0;
- std::string fname;
- ::apache::thrift::protocol::TMessageType mtype;
-
- iprot_->readMessageBegin(fname, mtype, rseqid);
- if (mtype == ::apache::thrift::protocol::T_EXCEPTION) {
- ::apache::thrift::TApplicationException x;
- x.read(iprot_);
- iprot_->readMessageEnd();
- iprot_->getTransport()->readEnd();
- throw x;
- }
- if (mtype != ::apache::thrift::protocol::T_REPLY) {
- iprot_->skip(::apache::thrift::protocol::T_STRUCT);
- iprot_->readMessageEnd();
- iprot_->getTransport()->readEnd();
- }
- if (fname.compare("updateWorkflow") != 0) {
- iprot_->skip(::apache::thrift::protocol::T_STRUCT);
- iprot_->readMessageEnd();
- iprot_->getTransport()->readEnd();
- }
- Workflow_updateWorkflow_presult result;
- result.read(iprot_);
- iprot_->readMessageEnd();
- iprot_->getTransport()->readEnd();
-
- if (result.__isset.ire) {
- throw result.ire;
- }
- if (result.__isset.ace) {
- throw result.ace;
- }
- if (result.__isset.ase) {
- throw result.ase;
- }
- return;
-}
-
-void WorkflowClient::getWorkflowTemplateId(std::string& _return, const std::string& workflowName)
-{
- send_getWorkflowTemplateId(workflowName);
- recv_getWorkflowTemplateId(_return);
-}
-
-void WorkflowClient::send_getWorkflowTemplateId(const std::string& workflowName)
-{
- int32_t cseqid = 0;
- oprot_->writeMessageBegin("getWorkflowTemplateId", ::apache::thrift::protocol::T_CALL, cseqid);
-
- Workflow_getWorkflowTemplateId_pargs args;
- args.workflowName = &workflowName;
- args.write(oprot_);
-
- oprot_->writeMessageEnd();
- oprot_->getTransport()->writeEnd();
- oprot_->getTransport()->flush();
-}
-
-void WorkflowClient::recv_getWorkflowTemplateId(std::string& _return)
-{
-
- int32_t rseqid = 0;
- std::string fname;
- ::apache::thrift::protocol::TMessageType mtype;
-
- iprot_->readMessageBegin(fname, mtype, rseqid);
- if (mtype == ::apache::thrift::protocol::T_EXCEPTION) {
- ::apache::thrift::TApplicationException x;
- x.read(iprot_);
- iprot_->readMessageEnd();
- iprot_->getTransport()->readEnd();
- throw x;
- }
- if (mtype != ::apache::thrift::protocol::T_REPLY) {
- iprot_->skip(::apache::thrift::protocol::T_STRUCT);
- iprot_->readMessageEnd();
- iprot_->getTransport()->readEnd();
- }
- if (fname.compare("getWorkflowTemplateId") != 0) {
- iprot_->skip(::apache::thrift::protocol::T_STRUCT);
- iprot_->readMessageEnd();
- iprot_->getTransport()->readEnd();
- }
- Workflow_getWorkflowTemplateId_presult result;
- result.success = &_return;
- result.read(iprot_);
- iprot_->readMessageEnd();
- iprot_->getTransport()->readEnd();
-
- if (result.__isset.success) {
- // _return pointer has now been filled
- return;
- }
- if (result.__isset.ire) {
- throw result.ire;
- }
- if (result.__isset.ace) {
- throw result.ace;
- }
- if (result.__isset.ase) {
- throw result.ase;
- }
- throw ::apache::thrift::TApplicationException(::apache::thrift::TApplicationException::MISSING_RESULT, "getWorkflowTemplateId failed: unknown result");
-}
-
-bool WorkflowClient::isWorkflowExistWithName(const std::string& workflowName)
-{
- send_isWorkflowExistWithName(workflowName);
- return recv_isWorkflowExistWithName();
-}
-
-void WorkflowClient::send_isWorkflowExistWithName(const std::string& workflowName)
-{
- int32_t cseqid = 0;
- oprot_->writeMessageBegin("isWorkflowExistWithName", ::apache::thrift::protocol::T_CALL, cseqid);
-
- Workflow_isWorkflowExistWithName_pargs args;
- args.workflowName = &workflowName;
- args.write(oprot_);
-
- oprot_->writeMessageEnd();
- oprot_->getTransport()->writeEnd();
- oprot_->getTransport()->flush();
-}
-
-bool WorkflowClient::recv_isWorkflowExistWithName()
-{
-
- int32_t rseqid = 0;
- std::string fname;
- ::apache::thrift::protocol::TMessageType mtype;
-
- iprot_->readMessageBegin(fname, mtype, rseqid);
- if (mtype == ::apache::thrift::protocol::T_EXCEPTION) {
- ::apache::thrift::TApplicationException x;
- x.read(iprot_);
- iprot_->readMessageEnd();
- iprot_->getTransport()->readEnd();
- throw x;
- }
- if (mtype != ::apache::thrift::protocol::T_REPLY) {
- iprot_->skip(::apache::thrift::protocol::T_STRUCT);
- iprot_->readMessageEnd();
- iprot_->getTransport()->readEnd();
- }
- if (fname.compare("isWorkflowExistWithName") != 0) {
- iprot_->skip(::apache::thrift::protocol::T_STRUCT);
- iprot_->readMessageEnd();
- iprot_->getTransport()->readEnd();
- }
- bool _return;
- Workflow_isWorkflowExistWithName_presult result;
- result.success = &_return;
- result.read(iprot_);
- iprot_->readMessageEnd();
- iprot_->getTransport()->readEnd();
-
- if (result.__isset.success) {
- return _return;
- }
- if (result.__isset.ire) {
- throw result.ire;
- }
- if (result.__isset.ace) {
- throw result.ace;
- }
- if (result.__isset.ase) {
- throw result.ase;
- }
- throw ::apache::thrift::TApplicationException(::apache::thrift::TApplicationException::MISSING_RESULT, "isWorkflowExistWithName failed: unknown result");
-}
-
-bool WorkflowProcessor::dispatchCall(::apache::thrift::protocol::TProtocol* iprot, ::apache::thrift::protocol::TProtocol* oprot, const std::string& fname, int32_t seqid, void* callContext) {
- ProcessMap::iterator pfn;
- pfn = processMap_.find(fname);
- if (pfn == processMap_.end()) {
- iprot->skip(::apache::thrift::protocol::T_STRUCT);
- iprot->readMessageEnd();
- iprot->getTransport()->readEnd();
- ::apache::thrift::TApplicationException x(::apache::thrift::TApplicationException::UNKNOWN_METHOD, "Invalid method name: '"+fname+"'");
- oprot->writeMessageBegin(fname, ::apache::thrift::protocol::T_EXCEPTION, seqid);
- x.write(oprot);
- oprot->writeMessageEnd();
- oprot->getTransport()->writeEnd();
- oprot->getTransport()->flush();
- return true;
- }
- (this->*(pfn->second))(seqid, iprot, oprot, callContext);
- return true;
-}
-
-void WorkflowProcessor::process_getAllWorkflows(int32_t seqid, ::apache::thrift::protocol::TProtocol* iprot, ::apache::thrift::protocol::TProtocol* oprot, void* callContext)
-{
- void* ctx = NULL;
- if (this->eventHandler_.get() != NULL) {
- ctx = this->eventHandler_->getContext("Workflow.getAllWorkflows", callContext);
- }
- ::apache::thrift::TProcessorContextFreer freer(this->eventHandler_.get(), ctx, "Workflow.getAllWorkflows");
-
- if (this->eventHandler_.get() != NULL) {
- this->eventHandler_->preRead(ctx, "Workflow.getAllWorkflows");
- }
-
- Workflow_getAllWorkflows_args args;
- args.read(iprot);
- iprot->readMessageEnd();
- uint32_t bytes = iprot->getTransport()->readEnd();
-
- if (this->eventHandler_.get() != NULL) {
- this->eventHandler_->postRead(ctx, "Workflow.getAllWorkflows", bytes);
- }
-
- Workflow_getAllWorkflows_result result;
- try {
- iface_->getAllWorkflows(result.success);
- result.__isset.success = true;
- } catch ( ::apache::airavata::api::error::InvalidRequestException &ire) {
- result.ire = ire;
- result.__isset.ire = true;
- } catch ( ::apache::airavata::api::error::AiravataClientException &ace) {
- result.ace = ace;
- result.__isset.ace = true;
- } catch ( ::apache::airavata::api::error::AiravataSystemException &ase) {
- result.ase = ase;
- result.__isset.ase = true;
- } catch (const std::exception& e) {
- if (this->eventHandler_.get() != NULL) {
- this->eventHandler_->handlerError(ctx, "Workflow.getAllWorkflows");
- }
-
- ::apache::thrift::TApplicationException x(e.what());
- oprot->writeMessageBegin("getAllWorkflows", ::apache::thrift::protocol::T_EXCEPTION, seqid);
- x.write(oprot);
- oprot->writeMessageEnd();
- oprot->getTransport()->writeEnd();
- oprot->getTransport()->flush();
- return;
- }
-
- if (this->eventHandler_.get() != NULL) {
- this->eventHandler_->preWrite(ctx, "Workflow.getAllWorkflows");
- }
-
- oprot->writeMessageBegin("getAllWorkflows", ::apache::thrift::protocol::T_REPLY, seqid);
- result.write(oprot);
- oprot->writeMessageEnd();
- bytes = oprot->getTransport()->writeEnd();
- oprot->getTransport()->flush();
-
- if (this->eventHandler_.get() != NULL) {
- this->eventHandler_->postWrite(ctx, "Workflow.getAllWorkflows", bytes);
- }
-}
-
-void WorkflowProcessor::process_getWorkflow(int32_t seqid, ::apache::thrift::protocol::TProtocol* iprot, ::apache::thrift::protocol::TProtocol* oprot, void* callContext)
-{
- void* ctx = NULL;
- if (this->eventHandler_.get() != NULL) {
- ctx = this->eventHandler_->getContext("Workflow.getWorkflow", callContext);
- }
- ::apache::thrift::TProcessorContextFreer freer(this->eventHandler_.get(), ctx, "Workflow.getWorkflow");
-
- if (this->eventHandler_.get() != NULL) {
- this->eventHandler_->preRead(ctx, "Workflow.getWorkflow");
- }
-
- Workflow_getWorkflow_args args;
- args.read(iprot);
- iprot->readMessageEnd();
- uint32_t bytes = iprot->getTransport()->readEnd();
-
- if (this->eventHandler_.get() != NULL) {
- this->eventHandler_->postRead(ctx, "Workflow.getWorkflow", bytes);
- }
-
- Workflow_getWorkflow_result result;
- try {
- iface_->getWorkflow(result.success, args.workflowTemplateId);
- result.__isset.success = true;
- } catch ( ::apache::airavata::api::error::InvalidRequestException &ire) {
- result.ire = ire;
- result.__isset.ire = true;
- } catch ( ::apache::airavata::api::error::AiravataClientException &ace) {
- result.ace = ace;
- result.__isset.ace = true;
- } catch ( ::apache::airavata::api::error::AiravataSystemException &ase) {
- result.ase = ase;
- result.__isset.ase = true;
- } catch (const std::exception& e) {
- if (this->eventHandler_.get() != NULL) {
- this->eventHandler_->handlerError(ctx, "Workflow.getWorkflow");
- }
-
- ::apache::thrift::TApplicationException x(e.what());
- oprot->writeMessageBegin("getWorkflow", ::apache::thrift::protocol::T_EXCEPTION, seqid);
- x.write(oprot);
- oprot->writeMessageEnd();
- oprot->getTransport()->writeEnd();
- oprot->getTransport()->flush();
- return;
- }
-
- if (this->eventHandler_.get() != NULL) {
- this->eventHandler_->preWrite(ctx, "Workflow.getWorkflow");
- }
-
- oprot->writeMessageBegin("getWorkflow", ::apache::thrift::protocol::T_REPLY, seqid);
- result.write(oprot);
- oprot->writeMessageEnd();
- bytes = oprot->getTransport()->writeEnd();
- oprot->getTransport()->flush();
-
- if (this->eventHandler_.get() != NULL) {
- this->eventHandler_->postWrite(ctx, "Workflow.getWorkflow", bytes);
- }
-}
-
-void WorkflowProcessor::process_deleteWorkflow(int32_t seqid, ::apache::thrift::protocol::TProtocol* iprot, ::apache::thrift::protocol::TProtocol* oprot, void* callContext)
-{
- void* ctx = NULL;
- if (this->eventHandler_.get() != NULL) {
- ctx = this->eventHandler_->getContext("Workflow.deleteWorkflow", callContext);
- }
- ::apache::thrift::TProcessorContextFreer freer(this->eventHandler_.get(), ctx, "Workflow.deleteWorkflow");
-
- if (this->eventHandler_.get() != NULL) {
- this->eventHandler_->preRead(ctx, "Workflow.deleteWorkflow");
- }
-
- Workflow_deleteWorkflow_args args;
- args.read(iprot);
- iprot->readMessageEnd();
- uint32_t bytes = iprot->getTransport()->readEnd();
-
- if (this->eventHandler_.get() != NULL) {
- this->eventHandler_->postRead(ctx, "Workflow.deleteWorkflow", bytes);
- }
-
- Workflow_deleteWorkflow_result result;
- try {
- iface_->deleteWorkflow(args.workflowTemplateId);
- } catch ( ::apache::airavata::api::error::InvalidRequestException &ire) {
- result.ire = ire;
- result.__isset.ire = true;
- } catch ( ::apache::airavata::api::error::AiravataClientException &ace) {
- result.ace = ace;
- result.__isset.ace = true;
- } catch ( ::apache::airavata::api::error::AiravataSystemException &ase) {
- result.ase = ase;
- result.__isset.ase = true;
- } catch (const std::exception& e) {
- if (this->eventHandler_.get() != NULL) {
- this->eventHandler_->handlerError(ctx, "Workflow.deleteWorkflow");
- }
-
- ::apache::thrift::TApplicationException x(e.what());
- oprot->writeMessageBegin("deleteWorkflow", ::apache::thrift::protocol::T_EXCEPTION, seqid);
- x.write(oprot);
- oprot->writeMessageEnd();
- oprot->getTransport()->writeEnd();
- oprot->getTransport()->flush();
- return;
- }
-
- if (this->eventHandler_.get() != NULL) {
- this->eventHandler_->preWrite(ctx, "Workflow.deleteWorkflow");
- }
-
- oprot->writeMessageBegin("deleteWorkflow", ::apache::thrift::protocol::T_REPLY, seqid);
- result.write(oprot);
- oprot->writeMessageEnd();
- bytes = oprot->getTransport()->writeEnd();
- oprot->getTransport()->flush();
-
- if (this->eventHandler_.get() != NULL) {
- this->eventHandler_->postWrite(ctx, "Workflow.deleteWorkflow", bytes);
- }
-}
-
-void WorkflowProcessor::process_registerWorkflow(int32_t seqid, ::apache::thrift::protocol::TProtocol* iprot, ::apache::thrift::protocol::TProtocol* oprot, void* callContext)
-{
- void* ctx = NULL;
- if (this->eventHandler_.get() != NULL) {
- ctx = this->eventHandler_->getContext("Workflow.registerWorkflow", callContext);
- }
- ::apache::thrift::TProcessorContextFreer freer(this->eventHandler_.get(), ctx, "Workflow.registerWorkflow");
-
- if (this->eventHandler_.get() != NULL) {
- this->eventHandler_->preRead(ctx, "Workflow.registerWorkflow");
- }
-
- Workflow_registerWorkflow_args args;
- args.read(iprot);
- iprot->readMessageEnd();
- uint32_t bytes = iprot->getTransport()->readEnd();
-
- if (this->eventHandler_.get() != NULL) {
- this->eventHandler_->postRead(ctx, "Workflow.registerWorkflow", bytes);
- }
-
- Workflow_registerWorkflow_result result;
- try {
- iface_->registerWorkflow(result.success, args.workflow);
- result.__isset.success = true;
- } catch ( ::apache::airavata::api::error::InvalidRequestException &ire) {
- result.ire = ire;
- result.__isset.ire = true;
- } catch ( ::apache::airavata::api::error::AiravataClientException &ace) {
- result.ace = ace;
- result.__isset.ace = true;
- } catch ( ::apache::airavata::api::error::AiravataSystemException &ase) {
- result.ase = ase;
- result.__isset.ase = true;
- } catch (const std::exception& e) {
- if (this->eventHandler_.get() != NULL) {
- this->eventHandler_->handlerError(ctx, "Workflow.registerWorkflow");
- }
-
- ::apache::thrift::TApplicationException x(e.what());
- oprot->writeMessageBegin("registerWorkflow", ::apache::thrift::protocol::T_EXCEPTION, seqid);
- x.write(oprot);
- oprot->writeMessageEnd();
- oprot->getTransport()->writeEnd();
- oprot->getTransport()->flush();
- return;
- }
-
- if (this->eventHandler_.get() != NULL) {
- this->eventHandler_->preWrite(ctx, "Workflow.registerWorkflow");
- }
-
- oprot->writeMessageBegin("registerWorkflow", ::apache::thrift::protocol::T_REPLY, seqid);
- result.write(oprot);
- oprot->writeMessageEnd();
- bytes = oprot->getTransport()->writeEnd();
- oprot->getTransport()->flush();
-
- if (this->eventHandler_.get() != NULL) {
- this->eventHandler_->postWrite(ctx, "Workflow.registerWorkflow", bytes);
- }
-}
-
-void WorkflowProcessor::process_updateWorkflow(int32_t seqid, ::apache::thrift::protocol::TProtocol* iprot, ::apache::thrift::protocol::TProtocol* oprot, void* callContext)
-{
- void* ctx = NULL;
- if (this->eventHandler_.get() != NULL) {
- ctx = this->eventHandler_->getContext("Workflow.updateWorkflow", callContext);
- }
- ::apache::thrift::TProcessorContextFreer freer(this->eventHandler_.get(), ctx, "Workflow.updateWorkflow");
-
- if (this->eventHandler_.get() != NULL) {
- this->eventHandler_->preRead(ctx, "Workflow.updateWorkflow");
- }
-
- Workflow_updateWorkflow_args args;
- args.read(iprot);
- iprot->readMessageEnd();
- uint32_t bytes = iprot->getTransport()->readEnd();
-
- if (this->eventHandler_.get() != NULL) {
- this->eventHandler_->postRead(ctx, "Workflow.updateWorkflow", bytes);
- }
-
- Workflow_updateWorkflow_result result;
- try {
- iface_->updateWorkflow(args.workflowTemplateId, args.workflow);
- } catch ( ::apache::airavata::api::error::InvalidRequestException &ire) {
- result.ire = ire;
- result.__isset.ire = true;
- } catch ( ::apache::airavata::api::error::AiravataClientException &ace) {
- result.ace = ace;
- result.__isset.ace = true;
- } catch ( ::apache::airavata::api::error::AiravataSystemException &ase) {
- result.ase = ase;
- result.__isset.ase = true;
- } catch (const std::exception& e) {
- if (this->eventHandler_.get() != NULL) {
- this->eventHandler_->handlerError(ctx, "Workflow.updateWorkflow");
- }
-
- ::apache::thrift::TApplicationException x(e.what());
- oprot->writeMessageBegin("updateWorkflow", ::apache::thrift::protocol::T_EXCEPTION, seqid);
- x.write(oprot);
- oprot->writeMessageEnd();
- oprot->getTransport()->writeEnd();
- oprot->getTransport()->flush();
- return;
- }
-
- if (this->eventHandler_.get() != NULL) {
- this->eventHandler_->preWrite(ctx, "Workflow.updateWorkflow");
- }
-
- oprot->writeMessageBegin("updateWorkflow", ::apache::thrift::protocol::T_REPLY, seqid);
- result.write(oprot);
- oprot->writeMessageEnd();
- bytes = oprot->getTransport()->writeEnd();
- oprot->getTransport()->flush();
-
- if (this->eventHandler_.get() != NULL) {
- this->eventHandler_->postWrite(ctx, "Workflow.updateWorkflow", bytes);
- }
-}
-
-void WorkflowProcessor::process_getWorkflowTemplateId(int32_t seqid, ::apache::thrift::protocol::TProtocol* iprot, ::apache::thrift::protocol::TProtocol* oprot, void* callContext)
-{
- void* ctx = NULL;
- if (this->eventHandler_.get() != NULL) {
- ctx = this->eventHandler_->getContext("Workflow.getWorkflowTemplateId", callContext);
- }
- ::apache::thrift::TProcessorContextFreer freer(this->eventHandler_.get(), ctx, "Workflow.getWorkflowTemplateId");
-
- if (this->eventHandler_.get() != NULL) {
- this->eventHandler_->preRead(ctx, "Workflow.getWorkflowTemplateId");
- }
-
- Workflow_getWorkflowTemplateId_args args;
- args.read(iprot);
- iprot->readMessageEnd();
- uint32_t bytes = iprot->getTransport()->readEnd();
-
- if (this->eventHandler_.get() != NULL) {
- this->eventHandler_->postRead(ctx, "Workflow.getWorkflowTemplateId", bytes);
- }
-
- Workflow_getWorkflowTemplateId_result result;
- try {
- iface_->getWorkflowTemplateId(result.success, args.workflowName);
- result.__isset.success = true;
- } catch ( ::apache::airavata::api::error::InvalidRequestException &ire) {
- result.ire = ire;
- result.__isset.ire = true;
- } catch ( ::apache::airavata::api::error::AiravataClientException &ace) {
- result.ace = ace;
- result.__isset.ace = true;
- } catch ( ::apache::airavata::api::error::AiravataSystemException &ase) {
- result.ase = ase;
- result.__isset.ase = true;
- } catch (const std::exception& e) {
- if (this->eventHandler_.get() != NULL) {
- this->eventHandler_->handlerError(ctx, "Workflow.getWorkflowTemplateId");
- }
-
- ::apache::thrift::TApplicationException x(e.what());
- oprot->writeMessageBegin("getWorkflowTemplateId", ::apache::thrift::protocol::T_EXCEPTION, seqid);
- x.write(oprot);
- oprot->writeMessageEnd();
- oprot->getTransport()->writeEnd();
- oprot->getTransport()->flush();
- return;
- }
-
- if (this->eventHandler_.get() != NULL) {
- this->eventHandler_->preWrite(ctx, "Workflow.getWorkflowTemplateId");
- }
-
- oprot->writeMessageBegin("getWorkflowTemplateId", ::apache::thrift::protocol::T_REPLY, seqid);
- result.write(oprot);
- oprot->writeMessageEnd();
- bytes = oprot->getTransport()->writeEnd();
- oprot->getTransport()->flush();
-
- if (this->eventHandler_.get() != NULL) {
- this->eventHandler_->postWrite(ctx, "Workflow.getWorkflowTemplateId", bytes);
- }
-}
-
-void WorkflowProcessor::process_isWorkflowExistWithName(int32_t seqid, ::apache::thrift::protocol::TProtocol* iprot, ::apache::thrift::protocol::TProtocol* oprot, void* callContext)
-{
- void* ctx = NULL;
- if (this->eventHandler_.get() != NULL) {
- ctx = this->eventHandler_->getContext("Workflow.isWorkflowExistWithName", callContext);
- }
- ::apache::thrift::TProcessorContextFreer freer(this->eventHandler_.get(), ctx, "Workflow.isWorkflowExistWithName");
-
- if (this->eventHandler_.get() != NULL) {
- this->eventHandler_->preRead(ctx, "Workflow.isWorkflowExistWithName");
- }
-
- Workflow_isWorkflowExistWithName_args args;
- args.read(iprot);
- iprot->readMessageEnd();
- uint32_t bytes = iprot->getTransport()->readEnd();
-
- if (this->eventHandler_.get() != NULL) {
- this->eventHandler_->postRead(ctx, "Workflow.isWorkflowExistWithName", bytes);
- }
-
- Workflow_isWorkflowExistWithName_result result;
- try {
- result.success = iface_->isWorkflowExistWithName(args.workflowName);
- result.__isset.success = true;
- } catch ( ::apache::airavata::api::error::InvalidRequestException &ire) {
- result.ire = ire;
- result.__isset.ire = true;
- } catch ( ::apache::airavata::api::error::AiravataClientException &ace) {
- result.ace = ace;
- result.__isset.ace = true;
- } catch ( ::apache::airavata::api::error::AiravataSystemException &ase) {
- result.ase = ase;
- result.__isset.ase = true;
- } catch (const std::exception& e) {
- if (this->eventHandler_.get() != NULL) {
- this->eventHandler_->handlerError(ctx, "Workflow.isWorkflowExistWithName");
- }
-
- ::apache::thrift::TApplicationException x(e.what());
- oprot->writeMessageBegin("isWorkflowExistWithName", ::apache::thrift::protocol::T_EXCEPTION, seqid);
- x.write(oprot);
- oprot->writeMessageEnd();
- oprot->getTransport()->writeEnd();
- oprot->getTransport()->flush();
- return;
- }
-
- if (this->eventHandler_.get() != NULL) {
- this->eventHandler_->preWrite(ctx, "Workflow.isWorkflowExistWithName");
- }
-
- oprot->writeMessageBegin("isWorkflowExistWithName", ::apache::thrift::protocol::T_REPLY, seqid);
- result.write(oprot);
- oprot->writeMessageEnd();
- bytes = oprot->getTransport()->writeEnd();
- oprot->getTransport()->flush();
-
- if (this->eventHandler_.get() != NULL) {
- this->eventHandler_->postWrite(ctx, "Workflow.isWorkflowExistWithName", bytes);
- }
-}
-
-::boost::shared_ptr< ::apache::thrift::TProcessor > WorkflowProcessorFactory::getProcessor(const ::apache::thrift::TConnectionInfo& connInfo) {
- ::apache::thrift::ReleaseHandler< WorkflowIfFactory > cleanup(handlerFactory_);
- ::boost::shared_ptr< WorkflowIf > handler(handlerFactory_->getHandler(connInfo), cleanup);
- ::boost::shared_ptr< ::apache::thrift::TProcessor > processor(new WorkflowProcessor(handler));
- return processor;
-}
-}}} // namespace
-
[16/47] Added c++ client samples for integrattion of airavata with
any other application's c++ interface
Posted by sm...@apache.org.
http://git-wip-us.apache.org/repos/asf/airavata/blob/f891b7dc/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/experimentModel_types.cpp
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/experimentModel_types.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/experimentModel_types.cpp
new file mode 100644
index 0000000..08010d0
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/experimentModel_types.cpp
@@ -0,0 +1,3339 @@
+/**
+ * Autogenerated by Thrift Compiler (0.9.1)
+ *
+ * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+ * @generated
+ */
+#include "experimentModel_types.h"
+
+#include <algorithm>
+
+namespace apache { namespace airavata { namespace model { namespace workspace { namespace experiment {
+
+int _kExperimentStateValues[] = {
+ ExperimentState::CREATED,
+ ExperimentState::VALIDATED,
+ ExperimentState::SCHEDULED,
+ ExperimentState::LAUNCHED,
+ ExperimentState::EXECUTING,
+ ExperimentState::CANCELING,
+ ExperimentState::CANCELED,
+ ExperimentState::SUSPENDED,
+ ExperimentState::COMPLETED,
+ ExperimentState::FAILED,
+ ExperimentState::UNKNOWN
+};
+const char* _kExperimentStateNames[] = {
+ "CREATED",
+ "VALIDATED",
+ "SCHEDULED",
+ "LAUNCHED",
+ "EXECUTING",
+ "CANCELING",
+ "CANCELED",
+ "SUSPENDED",
+ "COMPLETED",
+ "FAILED",
+ "UNKNOWN"
+};
+const std::map<int, const char*> _ExperimentState_VALUES_TO_NAMES(::apache::thrift::TEnumIterator(11, _kExperimentStateValues, _kExperimentStateNames), ::apache::thrift::TEnumIterator(-1, NULL, NULL));
+
+int _kWorkflowNodeStateValues[] = {
+ WorkflowNodeState::INVOKED,
+ WorkflowNodeState::EXECUTING,
+ WorkflowNodeState::CANCELING,
+ WorkflowNodeState::CANCELED,
+ WorkflowNodeState::SUSPENDED,
+ WorkflowNodeState::COMPLETED,
+ WorkflowNodeState::FAILED,
+ WorkflowNodeState::UNKNOWN
+};
+const char* _kWorkflowNodeStateNames[] = {
+ "INVOKED",
+ "EXECUTING",
+ "CANCELING",
+ "CANCELED",
+ "SUSPENDED",
+ "COMPLETED",
+ "FAILED",
+ "UNKNOWN"
+};
+const std::map<int, const char*> _WorkflowNodeState_VALUES_TO_NAMES(::apache::thrift::TEnumIterator(8, _kWorkflowNodeStateValues, _kWorkflowNodeStateNames), ::apache::thrift::TEnumIterator(-1, NULL, NULL));
+
+int _kTaskStateValues[] = {
+ TaskState::WAITING,
+ TaskState::STARTED,
+ TaskState::PRE_PROCESSING,
+ TaskState::CONFIGURING_WORKSPACE,
+ TaskState::INPUT_DATA_STAGING,
+ TaskState::OUTPUT_DATA_STAGING,
+ TaskState::POST_PROCESSING,
+ TaskState::EXECUTING,
+ TaskState::CANCELING,
+ TaskState::CANCELED,
+ TaskState::COMPLETED,
+ TaskState::FAILED,
+ TaskState::UNKNOWN
+};
+const char* _kTaskStateNames[] = {
+ "WAITING",
+ "STARTED",
+ "PRE_PROCESSING",
+ "CONFIGURING_WORKSPACE",
+ "INPUT_DATA_STAGING",
+ "OUTPUT_DATA_STAGING",
+ "POST_PROCESSING",
+ "EXECUTING",
+ "CANCELING",
+ "CANCELED",
+ "COMPLETED",
+ "FAILED",
+ "UNKNOWN"
+};
+const std::map<int, const char*> _TaskState_VALUES_TO_NAMES(::apache::thrift::TEnumIterator(13, _kTaskStateValues, _kTaskStateNames), ::apache::thrift::TEnumIterator(-1, NULL, NULL));
+
+int _kJobStateValues[] = {
+ JobState::SUBMITTED,
+ JobState::UN_SUBMITTED,
+ JobState::SETUP,
+ JobState::QUEUED,
+ JobState::ACTIVE,
+ JobState::COMPLETE,
+ JobState::CANCELING,
+ JobState::CANCELED,
+ JobState::FAILED,
+ JobState::HELD,
+ JobState::SUSPENDED,
+ JobState::UNKNOWN
+};
+const char* _kJobStateNames[] = {
+ "SUBMITTED",
+ "UN_SUBMITTED",
+ "SETUP",
+ "QUEUED",
+ "ACTIVE",
+ "COMPLETE",
+ "CANCELING",
+ "CANCELED",
+ "FAILED",
+ "HELD",
+ "SUSPENDED",
+ "UNKNOWN"
+};
+const std::map<int, const char*> _JobState_VALUES_TO_NAMES(::apache::thrift::TEnumIterator(12, _kJobStateValues, _kJobStateNames), ::apache::thrift::TEnumIterator(-1, NULL, NULL));
+
+int _kTransferStateValues[] = {
+ TransferState::DIRECTORY_SETUP,
+ TransferState::UPLOAD,
+ TransferState::DOWNLOAD,
+ TransferState::ACTIVE,
+ TransferState::COMPLETE,
+ TransferState::STDOUT_DOWNLOAD,
+ TransferState::STDERROR_DOWNLOAD,
+ TransferState::CANCELING,
+ TransferState::CANCELED,
+ TransferState::FAILED,
+ TransferState::HELD,
+ TransferState::SUSPENDED,
+ TransferState::UNKNOWN
+};
+const char* _kTransferStateNames[] = {
+ "DIRECTORY_SETUP",
+ "UPLOAD",
+ "DOWNLOAD",
+ "ACTIVE",
+ "COMPLETE",
+ "STDOUT_DOWNLOAD",
+ "STDERROR_DOWNLOAD",
+ "CANCELING",
+ "CANCELED",
+ "FAILED",
+ "HELD",
+ "SUSPENDED",
+ "UNKNOWN"
+};
+const std::map<int, const char*> _TransferState_VALUES_TO_NAMES(::apache::thrift::TEnumIterator(13, _kTransferStateValues, _kTransferStateNames), ::apache::thrift::TEnumIterator(-1, NULL, NULL));
+
+int _kActionableGroupValues[] = {
+ ActionableGroup::RESOURCE_ADMINS,
+ ActionableGroup::AIRAVATA_ADMINS,
+ ActionableGroup::GATEWAYS_ADMINS,
+ ActionableGroup::USER,
+ ActionableGroup::CANNOT_BE_DETERMINED
+};
+const char* _kActionableGroupNames[] = {
+ "RESOURCE_ADMINS",
+ "AIRAVATA_ADMINS",
+ "GATEWAYS_ADMINS",
+ "USER",
+ "CANNOT_BE_DETERMINED"
+};
+const std::map<int, const char*> _ActionableGroup_VALUES_TO_NAMES(::apache::thrift::TEnumIterator(5, _kActionableGroupValues, _kActionableGroupNames), ::apache::thrift::TEnumIterator(-1, NULL, NULL));
+
+int _kErrorCategoryValues[] = {
+ ErrorCategory::FILE_SYSTEM_FAILURE,
+ ErrorCategory::APPLICATION_FAILURE,
+ ErrorCategory::RESOURCE_NODE_FAILURE,
+ ErrorCategory::DISK_FULL,
+ ErrorCategory::INSUFFICIENT_ALLOCATION,
+ ErrorCategory::SYSTEM_MAINTENANCE,
+ ErrorCategory::AIRAVATA_INTERNAL_ERROR,
+ ErrorCategory::CANNOT_BE_DETERMINED
+};
+const char* _kErrorCategoryNames[] = {
+ "FILE_SYSTEM_FAILURE",
+ "APPLICATION_FAILURE",
+ "RESOURCE_NODE_FAILURE",
+ "DISK_FULL",
+ "INSUFFICIENT_ALLOCATION",
+ "SYSTEM_MAINTENANCE",
+ "AIRAVATA_INTERNAL_ERROR",
+ "CANNOT_BE_DETERMINED"
+};
+const std::map<int, const char*> _ErrorCategory_VALUES_TO_NAMES(::apache::thrift::TEnumIterator(8, _kErrorCategoryValues, _kErrorCategoryNames), ::apache::thrift::TEnumIterator(-1, NULL, NULL));
+
+int _kCorrectiveActionValues[] = {
+ CorrectiveAction::RETRY_SUBMISSION,
+ CorrectiveAction::CONTACT_SUPPORT,
+ CorrectiveAction::CANNOT_BE_DETERMINED
+};
+const char* _kCorrectiveActionNames[] = {
+ "RETRY_SUBMISSION",
+ "CONTACT_SUPPORT",
+ "CANNOT_BE_DETERMINED"
+};
+const std::map<int, const char*> _CorrectiveAction_VALUES_TO_NAMES(::apache::thrift::TEnumIterator(3, _kCorrectiveActionValues, _kCorrectiveActionNames), ::apache::thrift::TEnumIterator(-1, NULL, NULL));
+
+int _kDataTypeValues[] = {
+ DataType::STRING,
+ DataType::INTEGER,
+ DataType::URI,
+ DataType::STDOUT,
+ DataType::STDERR
+};
+const char* _kDataTypeNames[] = {
+ "STRING",
+ "INTEGER",
+ "URI",
+ "STDOUT",
+ "STDERR"
+};
+const std::map<int, const char*> _DataType_VALUES_TO_NAMES(::apache::thrift::TEnumIterator(5, _kDataTypeValues, _kDataTypeNames), ::apache::thrift::TEnumIterator(-1, NULL, NULL));
+
+int _kExecutionUnitValues[] = {
+ ExecutionUnit::INPUT,
+ ExecutionUnit::APPLICATION,
+ ExecutionUnit::OUTPUT
+};
+const char* _kExecutionUnitNames[] = {
+ "INPUT",
+ "APPLICATION",
+ "OUTPUT"
+};
+const std::map<int, const char*> _ExecutionUnit_VALUES_TO_NAMES(::apache::thrift::TEnumIterator(3, _kExecutionUnitValues, _kExecutionUnitNames), ::apache::thrift::TEnumIterator(-1, NULL, NULL));
+
+const char* ExperimentStatus::ascii_fingerprint = "1662AAADFABAB647546029B578B3B69B";
+const uint8_t ExperimentStatus::binary_fingerprint[16] = {0x16,0x62,0xAA,0xAD,0xFA,0xBA,0xB6,0x47,0x54,0x60,0x29,0xB5,0x78,0xB3,0xB6,0x9B};
+
+uint32_t ExperimentStatus::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+ uint32_t xfer = 0;
+ std::string fname;
+ ::apache::thrift::protocol::TType ftype;
+ int16_t fid;
+
+ xfer += iprot->readStructBegin(fname);
+
+ using ::apache::thrift::protocol::TProtocolException;
+
+ bool isset_experimentState = false;
+
+ while (true)
+ {
+ xfer += iprot->readFieldBegin(fname, ftype, fid);
+ if (ftype == ::apache::thrift::protocol::T_STOP) {
+ break;
+ }
+ switch (fid)
+ {
+ case 1:
+ if (ftype == ::apache::thrift::protocol::T_I32) {
+ int32_t ecast0;
+ xfer += iprot->readI32(ecast0);
+ this->experimentState = (ExperimentState::type)ecast0;
+ isset_experimentState = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 2:
+ if (ftype == ::apache::thrift::protocol::T_I64) {
+ xfer += iprot->readI64(this->timeOfStateChange);
+ this->__isset.timeOfStateChange = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ default:
+ xfer += iprot->skip(ftype);
+ break;
+ }
+ xfer += iprot->readFieldEnd();
+ }
+
+ xfer += iprot->readStructEnd();
+
+ if (!isset_experimentState)
+ throw TProtocolException(TProtocolException::INVALID_DATA);
+ return xfer;
+}
+
+uint32_t ExperimentStatus::write(::apache::thrift::protocol::TProtocol* oprot) const {
+ uint32_t xfer = 0;
+ xfer += oprot->writeStructBegin("ExperimentStatus");
+
+ xfer += oprot->writeFieldBegin("experimentState", ::apache::thrift::protocol::T_I32, 1);
+ xfer += oprot->writeI32((int32_t)this->experimentState);
+ xfer += oprot->writeFieldEnd();
+
+ if (this->__isset.timeOfStateChange) {
+ xfer += oprot->writeFieldBegin("timeOfStateChange", ::apache::thrift::protocol::T_I64, 2);
+ xfer += oprot->writeI64(this->timeOfStateChange);
+ xfer += oprot->writeFieldEnd();
+ }
+ xfer += oprot->writeFieldStop();
+ xfer += oprot->writeStructEnd();
+ return xfer;
+}
+
+void swap(ExperimentStatus &a, ExperimentStatus &b) {
+ using ::std::swap;
+ swap(a.experimentState, b.experimentState);
+ swap(a.timeOfStateChange, b.timeOfStateChange);
+ swap(a.__isset, b.__isset);
+}
+
+const char* WorkflowNodeStatus::ascii_fingerprint = "1662AAADFABAB647546029B578B3B69B";
+const uint8_t WorkflowNodeStatus::binary_fingerprint[16] = {0x16,0x62,0xAA,0xAD,0xFA,0xBA,0xB6,0x47,0x54,0x60,0x29,0xB5,0x78,0xB3,0xB6,0x9B};
+
+uint32_t WorkflowNodeStatus::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+ uint32_t xfer = 0;
+ std::string fname;
+ ::apache::thrift::protocol::TType ftype;
+ int16_t fid;
+
+ xfer += iprot->readStructBegin(fname);
+
+ using ::apache::thrift::protocol::TProtocolException;
+
+ bool isset_workflowNodeState = false;
+
+ while (true)
+ {
+ xfer += iprot->readFieldBegin(fname, ftype, fid);
+ if (ftype == ::apache::thrift::protocol::T_STOP) {
+ break;
+ }
+ switch (fid)
+ {
+ case 1:
+ if (ftype == ::apache::thrift::protocol::T_I32) {
+ int32_t ecast1;
+ xfer += iprot->readI32(ecast1);
+ this->workflowNodeState = (WorkflowNodeState::type)ecast1;
+ isset_workflowNodeState = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 2:
+ if (ftype == ::apache::thrift::protocol::T_I64) {
+ xfer += iprot->readI64(this->timeOfStateChange);
+ this->__isset.timeOfStateChange = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ default:
+ xfer += iprot->skip(ftype);
+ break;
+ }
+ xfer += iprot->readFieldEnd();
+ }
+
+ xfer += iprot->readStructEnd();
+
+ if (!isset_workflowNodeState)
+ throw TProtocolException(TProtocolException::INVALID_DATA);
+ return xfer;
+}
+
+uint32_t WorkflowNodeStatus::write(::apache::thrift::protocol::TProtocol* oprot) const {
+ uint32_t xfer = 0;
+ xfer += oprot->writeStructBegin("WorkflowNodeStatus");
+
+ xfer += oprot->writeFieldBegin("workflowNodeState", ::apache::thrift::protocol::T_I32, 1);
+ xfer += oprot->writeI32((int32_t)this->workflowNodeState);
+ xfer += oprot->writeFieldEnd();
+
+ if (this->__isset.timeOfStateChange) {
+ xfer += oprot->writeFieldBegin("timeOfStateChange", ::apache::thrift::protocol::T_I64, 2);
+ xfer += oprot->writeI64(this->timeOfStateChange);
+ xfer += oprot->writeFieldEnd();
+ }
+ xfer += oprot->writeFieldStop();
+ xfer += oprot->writeStructEnd();
+ return xfer;
+}
+
+void swap(WorkflowNodeStatus &a, WorkflowNodeStatus &b) {
+ using ::std::swap;
+ swap(a.workflowNodeState, b.workflowNodeState);
+ swap(a.timeOfStateChange, b.timeOfStateChange);
+ swap(a.__isset, b.__isset);
+}
+
+const char* TaskStatus::ascii_fingerprint = "1662AAADFABAB647546029B578B3B69B";
+const uint8_t TaskStatus::binary_fingerprint[16] = {0x16,0x62,0xAA,0xAD,0xFA,0xBA,0xB6,0x47,0x54,0x60,0x29,0xB5,0x78,0xB3,0xB6,0x9B};
+
+uint32_t TaskStatus::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+ uint32_t xfer = 0;
+ std::string fname;
+ ::apache::thrift::protocol::TType ftype;
+ int16_t fid;
+
+ xfer += iprot->readStructBegin(fname);
+
+ using ::apache::thrift::protocol::TProtocolException;
+
+ bool isset_executionState = false;
+
+ while (true)
+ {
+ xfer += iprot->readFieldBegin(fname, ftype, fid);
+ if (ftype == ::apache::thrift::protocol::T_STOP) {
+ break;
+ }
+ switch (fid)
+ {
+ case 1:
+ if (ftype == ::apache::thrift::protocol::T_I32) {
+ int32_t ecast2;
+ xfer += iprot->readI32(ecast2);
+ this->executionState = (TaskState::type)ecast2;
+ isset_executionState = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 2:
+ if (ftype == ::apache::thrift::protocol::T_I64) {
+ xfer += iprot->readI64(this->timeOfStateChange);
+ this->__isset.timeOfStateChange = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ default:
+ xfer += iprot->skip(ftype);
+ break;
+ }
+ xfer += iprot->readFieldEnd();
+ }
+
+ xfer += iprot->readStructEnd();
+
+ if (!isset_executionState)
+ throw TProtocolException(TProtocolException::INVALID_DATA);
+ return xfer;
+}
+
+uint32_t TaskStatus::write(::apache::thrift::protocol::TProtocol* oprot) const {
+ uint32_t xfer = 0;
+ xfer += oprot->writeStructBegin("TaskStatus");
+
+ xfer += oprot->writeFieldBegin("executionState", ::apache::thrift::protocol::T_I32, 1);
+ xfer += oprot->writeI32((int32_t)this->executionState);
+ xfer += oprot->writeFieldEnd();
+
+ if (this->__isset.timeOfStateChange) {
+ xfer += oprot->writeFieldBegin("timeOfStateChange", ::apache::thrift::protocol::T_I64, 2);
+ xfer += oprot->writeI64(this->timeOfStateChange);
+ xfer += oprot->writeFieldEnd();
+ }
+ xfer += oprot->writeFieldStop();
+ xfer += oprot->writeStructEnd();
+ return xfer;
+}
+
+void swap(TaskStatus &a, TaskStatus &b) {
+ using ::std::swap;
+ swap(a.executionState, b.executionState);
+ swap(a.timeOfStateChange, b.timeOfStateChange);
+ swap(a.__isset, b.__isset);
+}
+
+const char* JobStatus::ascii_fingerprint = "1662AAADFABAB647546029B578B3B69B";
+const uint8_t JobStatus::binary_fingerprint[16] = {0x16,0x62,0xAA,0xAD,0xFA,0xBA,0xB6,0x47,0x54,0x60,0x29,0xB5,0x78,0xB3,0xB6,0x9B};
+
+uint32_t JobStatus::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+ uint32_t xfer = 0;
+ std::string fname;
+ ::apache::thrift::protocol::TType ftype;
+ int16_t fid;
+
+ xfer += iprot->readStructBegin(fname);
+
+ using ::apache::thrift::protocol::TProtocolException;
+
+ bool isset_jobState = false;
+
+ while (true)
+ {
+ xfer += iprot->readFieldBegin(fname, ftype, fid);
+ if (ftype == ::apache::thrift::protocol::T_STOP) {
+ break;
+ }
+ switch (fid)
+ {
+ case 1:
+ if (ftype == ::apache::thrift::protocol::T_I32) {
+ int32_t ecast3;
+ xfer += iprot->readI32(ecast3);
+ this->jobState = (JobState::type)ecast3;
+ isset_jobState = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 2:
+ if (ftype == ::apache::thrift::protocol::T_I64) {
+ xfer += iprot->readI64(this->timeOfStateChange);
+ this->__isset.timeOfStateChange = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ default:
+ xfer += iprot->skip(ftype);
+ break;
+ }
+ xfer += iprot->readFieldEnd();
+ }
+
+ xfer += iprot->readStructEnd();
+
+ if (!isset_jobState)
+ throw TProtocolException(TProtocolException::INVALID_DATA);
+ return xfer;
+}
+
+uint32_t JobStatus::write(::apache::thrift::protocol::TProtocol* oprot) const {
+ uint32_t xfer = 0;
+ xfer += oprot->writeStructBegin("JobStatus");
+
+ xfer += oprot->writeFieldBegin("jobState", ::apache::thrift::protocol::T_I32, 1);
+ xfer += oprot->writeI32((int32_t)this->jobState);
+ xfer += oprot->writeFieldEnd();
+
+ if (this->__isset.timeOfStateChange) {
+ xfer += oprot->writeFieldBegin("timeOfStateChange", ::apache::thrift::protocol::T_I64, 2);
+ xfer += oprot->writeI64(this->timeOfStateChange);
+ xfer += oprot->writeFieldEnd();
+ }
+ xfer += oprot->writeFieldStop();
+ xfer += oprot->writeStructEnd();
+ return xfer;
+}
+
+void swap(JobStatus &a, JobStatus &b) {
+ using ::std::swap;
+ swap(a.jobState, b.jobState);
+ swap(a.timeOfStateChange, b.timeOfStateChange);
+ swap(a.__isset, b.__isset);
+}
+
+const char* TransferStatus::ascii_fingerprint = "1662AAADFABAB647546029B578B3B69B";
+const uint8_t TransferStatus::binary_fingerprint[16] = {0x16,0x62,0xAA,0xAD,0xFA,0xBA,0xB6,0x47,0x54,0x60,0x29,0xB5,0x78,0xB3,0xB6,0x9B};
+
+uint32_t TransferStatus::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+ uint32_t xfer = 0;
+ std::string fname;
+ ::apache::thrift::protocol::TType ftype;
+ int16_t fid;
+
+ xfer += iprot->readStructBegin(fname);
+
+ using ::apache::thrift::protocol::TProtocolException;
+
+ bool isset_transferState = false;
+
+ while (true)
+ {
+ xfer += iprot->readFieldBegin(fname, ftype, fid);
+ if (ftype == ::apache::thrift::protocol::T_STOP) {
+ break;
+ }
+ switch (fid)
+ {
+ case 1:
+ if (ftype == ::apache::thrift::protocol::T_I32) {
+ int32_t ecast4;
+ xfer += iprot->readI32(ecast4);
+ this->transferState = (TransferState::type)ecast4;
+ isset_transferState = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 2:
+ if (ftype == ::apache::thrift::protocol::T_I64) {
+ xfer += iprot->readI64(this->timeOfStateChange);
+ this->__isset.timeOfStateChange = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ default:
+ xfer += iprot->skip(ftype);
+ break;
+ }
+ xfer += iprot->readFieldEnd();
+ }
+
+ xfer += iprot->readStructEnd();
+
+ if (!isset_transferState)
+ throw TProtocolException(TProtocolException::INVALID_DATA);
+ return xfer;
+}
+
+uint32_t TransferStatus::write(::apache::thrift::protocol::TProtocol* oprot) const {
+ uint32_t xfer = 0;
+ xfer += oprot->writeStructBegin("TransferStatus");
+
+ xfer += oprot->writeFieldBegin("transferState", ::apache::thrift::protocol::T_I32, 1);
+ xfer += oprot->writeI32((int32_t)this->transferState);
+ xfer += oprot->writeFieldEnd();
+
+ if (this->__isset.timeOfStateChange) {
+ xfer += oprot->writeFieldBegin("timeOfStateChange", ::apache::thrift::protocol::T_I64, 2);
+ xfer += oprot->writeI64(this->timeOfStateChange);
+ xfer += oprot->writeFieldEnd();
+ }
+ xfer += oprot->writeFieldStop();
+ xfer += oprot->writeStructEnd();
+ return xfer;
+}
+
+void swap(TransferStatus &a, TransferStatus &b) {
+ using ::std::swap;
+ swap(a.transferState, b.transferState);
+ swap(a.timeOfStateChange, b.timeOfStateChange);
+ swap(a.__isset, b.__isset);
+}
+
+const char* ApplicationStatus::ascii_fingerprint = "E17E126D15049701494262EE3246F603";
+const uint8_t ApplicationStatus::binary_fingerprint[16] = {0xE1,0x7E,0x12,0x6D,0x15,0x04,0x97,0x01,0x49,0x42,0x62,0xEE,0x32,0x46,0xF6,0x03};
+
+uint32_t ApplicationStatus::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+ uint32_t xfer = 0;
+ std::string fname;
+ ::apache::thrift::protocol::TType ftype;
+ int16_t fid;
+
+ xfer += iprot->readStructBegin(fname);
+
+ using ::apache::thrift::protocol::TProtocolException;
+
+ bool isset_applicationState = false;
+
+ while (true)
+ {
+ xfer += iprot->readFieldBegin(fname, ftype, fid);
+ if (ftype == ::apache::thrift::protocol::T_STOP) {
+ break;
+ }
+ switch (fid)
+ {
+ case 1:
+ if (ftype == ::apache::thrift::protocol::T_STRING) {
+ xfer += iprot->readString(this->applicationState);
+ isset_applicationState = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 2:
+ if (ftype == ::apache::thrift::protocol::T_I64) {
+ xfer += iprot->readI64(this->timeOfStateChange);
+ this->__isset.timeOfStateChange = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ default:
+ xfer += iprot->skip(ftype);
+ break;
+ }
+ xfer += iprot->readFieldEnd();
+ }
+
+ xfer += iprot->readStructEnd();
+
+ if (!isset_applicationState)
+ throw TProtocolException(TProtocolException::INVALID_DATA);
+ return xfer;
+}
+
+uint32_t ApplicationStatus::write(::apache::thrift::protocol::TProtocol* oprot) const {
+ uint32_t xfer = 0;
+ xfer += oprot->writeStructBegin("ApplicationStatus");
+
+ xfer += oprot->writeFieldBegin("applicationState", ::apache::thrift::protocol::T_STRING, 1);
+ xfer += oprot->writeString(this->applicationState);
+ xfer += oprot->writeFieldEnd();
+
+ if (this->__isset.timeOfStateChange) {
+ xfer += oprot->writeFieldBegin("timeOfStateChange", ::apache::thrift::protocol::T_I64, 2);
+ xfer += oprot->writeI64(this->timeOfStateChange);
+ xfer += oprot->writeFieldEnd();
+ }
+ xfer += oprot->writeFieldStop();
+ xfer += oprot->writeStructEnd();
+ return xfer;
+}
+
+void swap(ApplicationStatus &a, ApplicationStatus &b) {
+ using ::std::swap;
+ swap(a.applicationState, b.applicationState);
+ swap(a.timeOfStateChange, b.timeOfStateChange);
+ swap(a.__isset, b.__isset);
+}
+
+const char* DataObjectType::ascii_fingerprint = "544FBB8031AE070AEEB7AC0E4A90E43C";
+const uint8_t DataObjectType::binary_fingerprint[16] = {0x54,0x4F,0xBB,0x80,0x31,0xAE,0x07,0x0A,0xEE,0xB7,0xAC,0x0E,0x4A,0x90,0xE4,0x3C};
+
+uint32_t DataObjectType::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+ uint32_t xfer = 0;
+ std::string fname;
+ ::apache::thrift::protocol::TType ftype;
+ int16_t fid;
+
+ xfer += iprot->readStructBegin(fname);
+
+ using ::apache::thrift::protocol::TProtocolException;
+
+ bool isset_key = false;
+
+ while (true)
+ {
+ xfer += iprot->readFieldBegin(fname, ftype, fid);
+ if (ftype == ::apache::thrift::protocol::T_STOP) {
+ break;
+ }
+ switch (fid)
+ {
+ case 1:
+ if (ftype == ::apache::thrift::protocol::T_STRING) {
+ xfer += iprot->readString(this->key);
+ isset_key = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 2:
+ if (ftype == ::apache::thrift::protocol::T_STRING) {
+ xfer += iprot->readString(this->value);
+ this->__isset.value = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 3:
+ if (ftype == ::apache::thrift::protocol::T_I32) {
+ int32_t ecast5;
+ xfer += iprot->readI32(ecast5);
+ this->type = (DataType::type)ecast5;
+ this->__isset.type = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 4:
+ if (ftype == ::apache::thrift::protocol::T_STRING) {
+ xfer += iprot->readString(this->metaData);
+ this->__isset.metaData = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ default:
+ xfer += iprot->skip(ftype);
+ break;
+ }
+ xfer += iprot->readFieldEnd();
+ }
+
+ xfer += iprot->readStructEnd();
+
+ if (!isset_key)
+ throw TProtocolException(TProtocolException::INVALID_DATA);
+ return xfer;
+}
+
+uint32_t DataObjectType::write(::apache::thrift::protocol::TProtocol* oprot) const {
+ uint32_t xfer = 0;
+ xfer += oprot->writeStructBegin("DataObjectType");
+
+ xfer += oprot->writeFieldBegin("key", ::apache::thrift::protocol::T_STRING, 1);
+ xfer += oprot->writeString(this->key);
+ xfer += oprot->writeFieldEnd();
+
+ if (this->__isset.value) {
+ xfer += oprot->writeFieldBegin("value", ::apache::thrift::protocol::T_STRING, 2);
+ xfer += oprot->writeString(this->value);
+ xfer += oprot->writeFieldEnd();
+ }
+ if (this->__isset.type) {
+ xfer += oprot->writeFieldBegin("type", ::apache::thrift::protocol::T_I32, 3);
+ xfer += oprot->writeI32((int32_t)this->type);
+ xfer += oprot->writeFieldEnd();
+ }
+ if (this->__isset.metaData) {
+ xfer += oprot->writeFieldBegin("metaData", ::apache::thrift::protocol::T_STRING, 4);
+ xfer += oprot->writeString(this->metaData);
+ xfer += oprot->writeFieldEnd();
+ }
+ xfer += oprot->writeFieldStop();
+ xfer += oprot->writeStructEnd();
+ return xfer;
+}
+
+void swap(DataObjectType &a, DataObjectType &b) {
+ using ::std::swap;
+ swap(a.key, b.key);
+ swap(a.value, b.value);
+ swap(a.type, b.type);
+ swap(a.metaData, b.metaData);
+ swap(a.__isset, b.__isset);
+}
+
+const char* ComputationalResourceScheduling::ascii_fingerprint = "32AC7AC41AD3753A7224A32FD6EB4B5D";
+const uint8_t ComputationalResourceScheduling::binary_fingerprint[16] = {0x32,0xAC,0x7A,0xC4,0x1A,0xD3,0x75,0x3A,0x72,0x24,0xA3,0x2F,0xD6,0xEB,0x4B,0x5D};
+
+uint32_t ComputationalResourceScheduling::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+ uint32_t xfer = 0;
+ std::string fname;
+ ::apache::thrift::protocol::TType ftype;
+ int16_t fid;
+
+ xfer += iprot->readStructBegin(fname);
+
+ using ::apache::thrift::protocol::TProtocolException;
+
+
+ while (true)
+ {
+ xfer += iprot->readFieldBegin(fname, ftype, fid);
+ if (ftype == ::apache::thrift::protocol::T_STOP) {
+ break;
+ }
+ switch (fid)
+ {
+ case 1:
+ if (ftype == ::apache::thrift::protocol::T_STRING) {
+ xfer += iprot->readString(this->resourceHostId);
+ this->__isset.resourceHostId = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 2:
+ if (ftype == ::apache::thrift::protocol::T_I32) {
+ xfer += iprot->readI32(this->totalCPUCount);
+ this->__isset.totalCPUCount = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 3:
+ if (ftype == ::apache::thrift::protocol::T_I32) {
+ xfer += iprot->readI32(this->nodeCount);
+ this->__isset.nodeCount = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 4:
+ if (ftype == ::apache::thrift::protocol::T_I32) {
+ xfer += iprot->readI32(this->numberOfThreads);
+ this->__isset.numberOfThreads = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 5:
+ if (ftype == ::apache::thrift::protocol::T_STRING) {
+ xfer += iprot->readString(this->queueName);
+ this->__isset.queueName = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 6:
+ if (ftype == ::apache::thrift::protocol::T_I32) {
+ xfer += iprot->readI32(this->wallTimeLimit);
+ this->__isset.wallTimeLimit = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 7:
+ if (ftype == ::apache::thrift::protocol::T_I32) {
+ xfer += iprot->readI32(this->jobStartTime);
+ this->__isset.jobStartTime = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 8:
+ if (ftype == ::apache::thrift::protocol::T_I32) {
+ xfer += iprot->readI32(this->totalPhysicalMemory);
+ this->__isset.totalPhysicalMemory = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 9:
+ if (ftype == ::apache::thrift::protocol::T_STRING) {
+ xfer += iprot->readString(this->computationalProjectAccount);
+ this->__isset.computationalProjectAccount = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ default:
+ xfer += iprot->skip(ftype);
+ break;
+ }
+ xfer += iprot->readFieldEnd();
+ }
+
+ xfer += iprot->readStructEnd();
+
+ return xfer;
+}
+
+uint32_t ComputationalResourceScheduling::write(::apache::thrift::protocol::TProtocol* oprot) const {
+ uint32_t xfer = 0;
+ xfer += oprot->writeStructBegin("ComputationalResourceScheduling");
+
+ if (this->__isset.resourceHostId) {
+ xfer += oprot->writeFieldBegin("resourceHostId", ::apache::thrift::protocol::T_STRING, 1);
+ xfer += oprot->writeString(this->resourceHostId);
+ xfer += oprot->writeFieldEnd();
+ }
+ if (this->__isset.totalCPUCount) {
+ xfer += oprot->writeFieldBegin("totalCPUCount", ::apache::thrift::protocol::T_I32, 2);
+ xfer += oprot->writeI32(this->totalCPUCount);
+ xfer += oprot->writeFieldEnd();
+ }
+ if (this->__isset.nodeCount) {
+ xfer += oprot->writeFieldBegin("nodeCount", ::apache::thrift::protocol::T_I32, 3);
+ xfer += oprot->writeI32(this->nodeCount);
+ xfer += oprot->writeFieldEnd();
+ }
+ if (this->__isset.numberOfThreads) {
+ xfer += oprot->writeFieldBegin("numberOfThreads", ::apache::thrift::protocol::T_I32, 4);
+ xfer += oprot->writeI32(this->numberOfThreads);
+ xfer += oprot->writeFieldEnd();
+ }
+ if (this->__isset.queueName) {
+ xfer += oprot->writeFieldBegin("queueName", ::apache::thrift::protocol::T_STRING, 5);
+ xfer += oprot->writeString(this->queueName);
+ xfer += oprot->writeFieldEnd();
+ }
+ if (this->__isset.wallTimeLimit) {
+ xfer += oprot->writeFieldBegin("wallTimeLimit", ::apache::thrift::protocol::T_I32, 6);
+ xfer += oprot->writeI32(this->wallTimeLimit);
+ xfer += oprot->writeFieldEnd();
+ }
+ if (this->__isset.jobStartTime) {
+ xfer += oprot->writeFieldBegin("jobStartTime", ::apache::thrift::protocol::T_I32, 7);
+ xfer += oprot->writeI32(this->jobStartTime);
+ xfer += oprot->writeFieldEnd();
+ }
+ if (this->__isset.totalPhysicalMemory) {
+ xfer += oprot->writeFieldBegin("totalPhysicalMemory", ::apache::thrift::protocol::T_I32, 8);
+ xfer += oprot->writeI32(this->totalPhysicalMemory);
+ xfer += oprot->writeFieldEnd();
+ }
+ if (this->__isset.computationalProjectAccount) {
+ xfer += oprot->writeFieldBegin("computationalProjectAccount", ::apache::thrift::protocol::T_STRING, 9);
+ xfer += oprot->writeString(this->computationalProjectAccount);
+ xfer += oprot->writeFieldEnd();
+ }
+ xfer += oprot->writeFieldStop();
+ xfer += oprot->writeStructEnd();
+ return xfer;
+}
+
+void swap(ComputationalResourceScheduling &a, ComputationalResourceScheduling &b) {
+ using ::std::swap;
+ swap(a.resourceHostId, b.resourceHostId);
+ swap(a.totalCPUCount, b.totalCPUCount);
+ swap(a.nodeCount, b.nodeCount);
+ swap(a.numberOfThreads, b.numberOfThreads);
+ swap(a.queueName, b.queueName);
+ swap(a.wallTimeLimit, b.wallTimeLimit);
+ swap(a.jobStartTime, b.jobStartTime);
+ swap(a.totalPhysicalMemory, b.totalPhysicalMemory);
+ swap(a.computationalProjectAccount, b.computationalProjectAccount);
+ swap(a.__isset, b.__isset);
+}
+
+const char* AdvancedInputDataHandling::ascii_fingerprint = "6139039875942E8B25C483838DD664B7";
+const uint8_t AdvancedInputDataHandling::binary_fingerprint[16] = {0x61,0x39,0x03,0x98,0x75,0x94,0x2E,0x8B,0x25,0xC4,0x83,0x83,0x8D,0xD6,0x64,0xB7};
+
+uint32_t AdvancedInputDataHandling::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+ uint32_t xfer = 0;
+ std::string fname;
+ ::apache::thrift::protocol::TType ftype;
+ int16_t fid;
+
+ xfer += iprot->readStructBegin(fname);
+
+ using ::apache::thrift::protocol::TProtocolException;
+
+
+ while (true)
+ {
+ xfer += iprot->readFieldBegin(fname, ftype, fid);
+ if (ftype == ::apache::thrift::protocol::T_STOP) {
+ break;
+ }
+ switch (fid)
+ {
+ case 1:
+ if (ftype == ::apache::thrift::protocol::T_BOOL) {
+ xfer += iprot->readBool(this->stageInputFilesToWorkingDir);
+ this->__isset.stageInputFilesToWorkingDir = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 2:
+ if (ftype == ::apache::thrift::protocol::T_STRING) {
+ xfer += iprot->readString(this->parentWorkingDirectory);
+ this->__isset.parentWorkingDirectory = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 3:
+ if (ftype == ::apache::thrift::protocol::T_STRING) {
+ xfer += iprot->readString(this->uniqueWorkingDirectory);
+ this->__isset.uniqueWorkingDirectory = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 4:
+ if (ftype == ::apache::thrift::protocol::T_BOOL) {
+ xfer += iprot->readBool(this->cleanUpWorkingDirAfterJob);
+ this->__isset.cleanUpWorkingDirAfterJob = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ default:
+ xfer += iprot->skip(ftype);
+ break;
+ }
+ xfer += iprot->readFieldEnd();
+ }
+
+ xfer += iprot->readStructEnd();
+
+ return xfer;
+}
+
+uint32_t AdvancedInputDataHandling::write(::apache::thrift::protocol::TProtocol* oprot) const {
+ uint32_t xfer = 0;
+ xfer += oprot->writeStructBegin("AdvancedInputDataHandling");
+
+ if (this->__isset.stageInputFilesToWorkingDir) {
+ xfer += oprot->writeFieldBegin("stageInputFilesToWorkingDir", ::apache::thrift::protocol::T_BOOL, 1);
+ xfer += oprot->writeBool(this->stageInputFilesToWorkingDir);
+ xfer += oprot->writeFieldEnd();
+ }
+ if (this->__isset.parentWorkingDirectory) {
+ xfer += oprot->writeFieldBegin("parentWorkingDirectory", ::apache::thrift::protocol::T_STRING, 2);
+ xfer += oprot->writeString(this->parentWorkingDirectory);
+ xfer += oprot->writeFieldEnd();
+ }
+ if (this->__isset.uniqueWorkingDirectory) {
+ xfer += oprot->writeFieldBegin("uniqueWorkingDirectory", ::apache::thrift::protocol::T_STRING, 3);
+ xfer += oprot->writeString(this->uniqueWorkingDirectory);
+ xfer += oprot->writeFieldEnd();
+ }
+ if (this->__isset.cleanUpWorkingDirAfterJob) {
+ xfer += oprot->writeFieldBegin("cleanUpWorkingDirAfterJob", ::apache::thrift::protocol::T_BOOL, 4);
+ xfer += oprot->writeBool(this->cleanUpWorkingDirAfterJob);
+ xfer += oprot->writeFieldEnd();
+ }
+ xfer += oprot->writeFieldStop();
+ xfer += oprot->writeStructEnd();
+ return xfer;
+}
+
+void swap(AdvancedInputDataHandling &a, AdvancedInputDataHandling &b) {
+ using ::std::swap;
+ swap(a.stageInputFilesToWorkingDir, b.stageInputFilesToWorkingDir);
+ swap(a.parentWorkingDirectory, b.parentWorkingDirectory);
+ swap(a.uniqueWorkingDirectory, b.uniqueWorkingDirectory);
+ swap(a.cleanUpWorkingDirAfterJob, b.cleanUpWorkingDirAfterJob);
+ swap(a.__isset, b.__isset);
+}
+
+const char* AdvancedOutputDataHandling::ascii_fingerprint = "6EC898D3B5ECFF21200795BD22F73CD2";
+const uint8_t AdvancedOutputDataHandling::binary_fingerprint[16] = {0x6E,0xC8,0x98,0xD3,0xB5,0xEC,0xFF,0x21,0x20,0x07,0x95,0xBD,0x22,0xF7,0x3C,0xD2};
+
+uint32_t AdvancedOutputDataHandling::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+ uint32_t xfer = 0;
+ std::string fname;
+ ::apache::thrift::protocol::TType ftype;
+ int16_t fid;
+
+ xfer += iprot->readStructBegin(fname);
+
+ using ::apache::thrift::protocol::TProtocolException;
+
+
+ while (true)
+ {
+ xfer += iprot->readFieldBegin(fname, ftype, fid);
+ if (ftype == ::apache::thrift::protocol::T_STOP) {
+ break;
+ }
+ switch (fid)
+ {
+ case 2:
+ if (ftype == ::apache::thrift::protocol::T_STRING) {
+ xfer += iprot->readString(this->outputDataDir);
+ this->__isset.outputDataDir = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 3:
+ if (ftype == ::apache::thrift::protocol::T_STRING) {
+ xfer += iprot->readString(this->dataRegistryURL);
+ this->__isset.dataRegistryURL = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 4:
+ if (ftype == ::apache::thrift::protocol::T_BOOL) {
+ xfer += iprot->readBool(this->persistOutputData);
+ this->__isset.persistOutputData = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ default:
+ xfer += iprot->skip(ftype);
+ break;
+ }
+ xfer += iprot->readFieldEnd();
+ }
+
+ xfer += iprot->readStructEnd();
+
+ return xfer;
+}
+
+uint32_t AdvancedOutputDataHandling::write(::apache::thrift::protocol::TProtocol* oprot) const {
+ uint32_t xfer = 0;
+ xfer += oprot->writeStructBegin("AdvancedOutputDataHandling");
+
+ if (this->__isset.outputDataDir) {
+ xfer += oprot->writeFieldBegin("outputDataDir", ::apache::thrift::protocol::T_STRING, 2);
+ xfer += oprot->writeString(this->outputDataDir);
+ xfer += oprot->writeFieldEnd();
+ }
+ if (this->__isset.dataRegistryURL) {
+ xfer += oprot->writeFieldBegin("dataRegistryURL", ::apache::thrift::protocol::T_STRING, 3);
+ xfer += oprot->writeString(this->dataRegistryURL);
+ xfer += oprot->writeFieldEnd();
+ }
+ if (this->__isset.persistOutputData) {
+ xfer += oprot->writeFieldBegin("persistOutputData", ::apache::thrift::protocol::T_BOOL, 4);
+ xfer += oprot->writeBool(this->persistOutputData);
+ xfer += oprot->writeFieldEnd();
+ }
+ xfer += oprot->writeFieldStop();
+ xfer += oprot->writeStructEnd();
+ return xfer;
+}
+
+void swap(AdvancedOutputDataHandling &a, AdvancedOutputDataHandling &b) {
+ using ::std::swap;
+ swap(a.outputDataDir, b.outputDataDir);
+ swap(a.dataRegistryURL, b.dataRegistryURL);
+ swap(a.persistOutputData, b.persistOutputData);
+ swap(a.__isset, b.__isset);
+}
+
+const char* QualityOfServiceParams::ascii_fingerprint = "35985D966603A273E8D7132543B44873";
+const uint8_t QualityOfServiceParams::binary_fingerprint[16] = {0x35,0x98,0x5D,0x96,0x66,0x03,0xA2,0x73,0xE8,0xD7,0x13,0x25,0x43,0xB4,0x48,0x73};
+
+uint32_t QualityOfServiceParams::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+ uint32_t xfer = 0;
+ std::string fname;
+ ::apache::thrift::protocol::TType ftype;
+ int16_t fid;
+
+ xfer += iprot->readStructBegin(fname);
+
+ using ::apache::thrift::protocol::TProtocolException;
+
+
+ while (true)
+ {
+ xfer += iprot->readFieldBegin(fname, ftype, fid);
+ if (ftype == ::apache::thrift::protocol::T_STOP) {
+ break;
+ }
+ switch (fid)
+ {
+ case 1:
+ if (ftype == ::apache::thrift::protocol::T_STRING) {
+ xfer += iprot->readString(this->startExecutionAt);
+ this->__isset.startExecutionAt = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 2:
+ if (ftype == ::apache::thrift::protocol::T_STRING) {
+ xfer += iprot->readString(this->executeBefore);
+ this->__isset.executeBefore = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 3:
+ if (ftype == ::apache::thrift::protocol::T_I32) {
+ xfer += iprot->readI32(this->numberofRetries);
+ this->__isset.numberofRetries = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ default:
+ xfer += iprot->skip(ftype);
+ break;
+ }
+ xfer += iprot->readFieldEnd();
+ }
+
+ xfer += iprot->readStructEnd();
+
+ return xfer;
+}
+
+uint32_t QualityOfServiceParams::write(::apache::thrift::protocol::TProtocol* oprot) const {
+ uint32_t xfer = 0;
+ xfer += oprot->writeStructBegin("QualityOfServiceParams");
+
+ if (this->__isset.startExecutionAt) {
+ xfer += oprot->writeFieldBegin("startExecutionAt", ::apache::thrift::protocol::T_STRING, 1);
+ xfer += oprot->writeString(this->startExecutionAt);
+ xfer += oprot->writeFieldEnd();
+ }
+ if (this->__isset.executeBefore) {
+ xfer += oprot->writeFieldBegin("executeBefore", ::apache::thrift::protocol::T_STRING, 2);
+ xfer += oprot->writeString(this->executeBefore);
+ xfer += oprot->writeFieldEnd();
+ }
+ if (this->__isset.numberofRetries) {
+ xfer += oprot->writeFieldBegin("numberofRetries", ::apache::thrift::protocol::T_I32, 3);
+ xfer += oprot->writeI32(this->numberofRetries);
+ xfer += oprot->writeFieldEnd();
+ }
+ xfer += oprot->writeFieldStop();
+ xfer += oprot->writeStructEnd();
+ return xfer;
+}
+
+void swap(QualityOfServiceParams &a, QualityOfServiceParams &b) {
+ using ::std::swap;
+ swap(a.startExecutionAt, b.startExecutionAt);
+ swap(a.executeBefore, b.executeBefore);
+ swap(a.numberofRetries, b.numberofRetries);
+ swap(a.__isset, b.__isset);
+}
+
+const char* UserConfigurationData::ascii_fingerprint = "889486266D7ADC041ED1C586A2468611";
+const uint8_t UserConfigurationData::binary_fingerprint[16] = {0x88,0x94,0x86,0x26,0x6D,0x7A,0xDC,0x04,0x1E,0xD1,0xC5,0x86,0xA2,0x46,0x86,0x11};
+
+uint32_t UserConfigurationData::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+ uint32_t xfer = 0;
+ std::string fname;
+ ::apache::thrift::protocol::TType ftype;
+ int16_t fid;
+
+ xfer += iprot->readStructBegin(fname);
+
+ using ::apache::thrift::protocol::TProtocolException;
+
+ bool isset_airavataAutoSchedule = false;
+ bool isset_overrideManualScheduledParams = false;
+
+ while (true)
+ {
+ xfer += iprot->readFieldBegin(fname, ftype, fid);
+ if (ftype == ::apache::thrift::protocol::T_STOP) {
+ break;
+ }
+ switch (fid)
+ {
+ case 1:
+ if (ftype == ::apache::thrift::protocol::T_BOOL) {
+ xfer += iprot->readBool(this->airavataAutoSchedule);
+ isset_airavataAutoSchedule = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 2:
+ if (ftype == ::apache::thrift::protocol::T_BOOL) {
+ xfer += iprot->readBool(this->overrideManualScheduledParams);
+ isset_overrideManualScheduledParams = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 3:
+ if (ftype == ::apache::thrift::protocol::T_BOOL) {
+ xfer += iprot->readBool(this->shareExperimentPublicly);
+ this->__isset.shareExperimentPublicly = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 4:
+ if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+ xfer += this->computationalResourceScheduling.read(iprot);
+ this->__isset.computationalResourceScheduling = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 5:
+ if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+ xfer += this->advanceInputDataHandling.read(iprot);
+ this->__isset.advanceInputDataHandling = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 6:
+ if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+ xfer += this->advanceOutputDataHandling.read(iprot);
+ this->__isset.advanceOutputDataHandling = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 7:
+ if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+ xfer += this->qosParams.read(iprot);
+ this->__isset.qosParams = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ default:
+ xfer += iprot->skip(ftype);
+ break;
+ }
+ xfer += iprot->readFieldEnd();
+ }
+
+ xfer += iprot->readStructEnd();
+
+ if (!isset_airavataAutoSchedule)
+ throw TProtocolException(TProtocolException::INVALID_DATA);
+ if (!isset_overrideManualScheduledParams)
+ throw TProtocolException(TProtocolException::INVALID_DATA);
+ return xfer;
+}
+
+uint32_t UserConfigurationData::write(::apache::thrift::protocol::TProtocol* oprot) const {
+ uint32_t xfer = 0;
+ xfer += oprot->writeStructBegin("UserConfigurationData");
+
+ xfer += oprot->writeFieldBegin("airavataAutoSchedule", ::apache::thrift::protocol::T_BOOL, 1);
+ xfer += oprot->writeBool(this->airavataAutoSchedule);
+ xfer += oprot->writeFieldEnd();
+
+ xfer += oprot->writeFieldBegin("overrideManualScheduledParams", ::apache::thrift::protocol::T_BOOL, 2);
+ xfer += oprot->writeBool(this->overrideManualScheduledParams);
+ xfer += oprot->writeFieldEnd();
+
+ if (this->__isset.shareExperimentPublicly) {
+ xfer += oprot->writeFieldBegin("shareExperimentPublicly", ::apache::thrift::protocol::T_BOOL, 3);
+ xfer += oprot->writeBool(this->shareExperimentPublicly);
+ xfer += oprot->writeFieldEnd();
+ }
+ if (this->__isset.computationalResourceScheduling) {
+ xfer += oprot->writeFieldBegin("computationalResourceScheduling", ::apache::thrift::protocol::T_STRUCT, 4);
+ xfer += this->computationalResourceScheduling.write(oprot);
+ xfer += oprot->writeFieldEnd();
+ }
+ if (this->__isset.advanceInputDataHandling) {
+ xfer += oprot->writeFieldBegin("advanceInputDataHandling", ::apache::thrift::protocol::T_STRUCT, 5);
+ xfer += this->advanceInputDataHandling.write(oprot);
+ xfer += oprot->writeFieldEnd();
+ }
+ if (this->__isset.advanceOutputDataHandling) {
+ xfer += oprot->writeFieldBegin("advanceOutputDataHandling", ::apache::thrift::protocol::T_STRUCT, 6);
+ xfer += this->advanceOutputDataHandling.write(oprot);
+ xfer += oprot->writeFieldEnd();
+ }
+ if (this->__isset.qosParams) {
+ xfer += oprot->writeFieldBegin("qosParams", ::apache::thrift::protocol::T_STRUCT, 7);
+ xfer += this->qosParams.write(oprot);
+ xfer += oprot->writeFieldEnd();
+ }
+ xfer += oprot->writeFieldStop();
+ xfer += oprot->writeStructEnd();
+ return xfer;
+}
+
+void swap(UserConfigurationData &a, UserConfigurationData &b) {
+ using ::std::swap;
+ swap(a.airavataAutoSchedule, b.airavataAutoSchedule);
+ swap(a.overrideManualScheduledParams, b.overrideManualScheduledParams);
+ swap(a.shareExperimentPublicly, b.shareExperimentPublicly);
+ swap(a.computationalResourceScheduling, b.computationalResourceScheduling);
+ swap(a.advanceInputDataHandling, b.advanceInputDataHandling);
+ swap(a.advanceOutputDataHandling, b.advanceOutputDataHandling);
+ swap(a.qosParams, b.qosParams);
+ swap(a.__isset, b.__isset);
+}
+
+const char* ErrorDetails::ascii_fingerprint = "170CA6E79EB283F31417B9D68071DA33";
+const uint8_t ErrorDetails::binary_fingerprint[16] = {0x17,0x0C,0xA6,0xE7,0x9E,0xB2,0x83,0xF3,0x14,0x17,0xB9,0xD6,0x80,0x71,0xDA,0x33};
+
+uint32_t ErrorDetails::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+ uint32_t xfer = 0;
+ std::string fname;
+ ::apache::thrift::protocol::TType ftype;
+ int16_t fid;
+
+ xfer += iprot->readStructBegin(fname);
+
+ using ::apache::thrift::protocol::TProtocolException;
+
+ bool isset_errorID = false;
+
+ while (true)
+ {
+ xfer += iprot->readFieldBegin(fname, ftype, fid);
+ if (ftype == ::apache::thrift::protocol::T_STOP) {
+ break;
+ }
+ switch (fid)
+ {
+ case 1:
+ if (ftype == ::apache::thrift::protocol::T_STRING) {
+ xfer += iprot->readString(this->errorID);
+ isset_errorID = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 2:
+ if (ftype == ::apache::thrift::protocol::T_I64) {
+ xfer += iprot->readI64(this->creationTime);
+ this->__isset.creationTime = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 3:
+ if (ftype == ::apache::thrift::protocol::T_STRING) {
+ xfer += iprot->readString(this->actualErrorMessage);
+ this->__isset.actualErrorMessage = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 4:
+ if (ftype == ::apache::thrift::protocol::T_STRING) {
+ xfer += iprot->readString(this->userFriendlyMessage);
+ this->__isset.userFriendlyMessage = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 5:
+ if (ftype == ::apache::thrift::protocol::T_I32) {
+ int32_t ecast6;
+ xfer += iprot->readI32(ecast6);
+ this->errorCategory = (ErrorCategory::type)ecast6;
+ this->__isset.errorCategory = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 6:
+ if (ftype == ::apache::thrift::protocol::T_BOOL) {
+ xfer += iprot->readBool(this->transientOrPersistent);
+ this->__isset.transientOrPersistent = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 7:
+ if (ftype == ::apache::thrift::protocol::T_I32) {
+ int32_t ecast7;
+ xfer += iprot->readI32(ecast7);
+ this->correctiveAction = (CorrectiveAction::type)ecast7;
+ this->__isset.correctiveAction = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 8:
+ if (ftype == ::apache::thrift::protocol::T_I32) {
+ int32_t ecast8;
+ xfer += iprot->readI32(ecast8);
+ this->actionableGroup = (ActionableGroup::type)ecast8;
+ this->__isset.actionableGroup = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 9:
+ if (ftype == ::apache::thrift::protocol::T_LIST) {
+ {
+ this->rootCauseErrorIdList.clear();
+ uint32_t _size9;
+ ::apache::thrift::protocol::TType _etype12;
+ xfer += iprot->readListBegin(_etype12, _size9);
+ this->rootCauseErrorIdList.resize(_size9);
+ uint32_t _i13;
+ for (_i13 = 0; _i13 < _size9; ++_i13)
+ {
+ xfer += iprot->readString(this->rootCauseErrorIdList[_i13]);
+ }
+ xfer += iprot->readListEnd();
+ }
+ this->__isset.rootCauseErrorIdList = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ default:
+ xfer += iprot->skip(ftype);
+ break;
+ }
+ xfer += iprot->readFieldEnd();
+ }
+
+ xfer += iprot->readStructEnd();
+
+ if (!isset_errorID)
+ throw TProtocolException(TProtocolException::INVALID_DATA);
+ return xfer;
+}
+
+uint32_t ErrorDetails::write(::apache::thrift::protocol::TProtocol* oprot) const {
+ uint32_t xfer = 0;
+ xfer += oprot->writeStructBegin("ErrorDetails");
+
+ xfer += oprot->writeFieldBegin("errorID", ::apache::thrift::protocol::T_STRING, 1);
+ xfer += oprot->writeString(this->errorID);
+ xfer += oprot->writeFieldEnd();
+
+ if (this->__isset.creationTime) {
+ xfer += oprot->writeFieldBegin("creationTime", ::apache::thrift::protocol::T_I64, 2);
+ xfer += oprot->writeI64(this->creationTime);
+ xfer += oprot->writeFieldEnd();
+ }
+ if (this->__isset.actualErrorMessage) {
+ xfer += oprot->writeFieldBegin("actualErrorMessage", ::apache::thrift::protocol::T_STRING, 3);
+ xfer += oprot->writeString(this->actualErrorMessage);
+ xfer += oprot->writeFieldEnd();
+ }
+ if (this->__isset.userFriendlyMessage) {
+ xfer += oprot->writeFieldBegin("userFriendlyMessage", ::apache::thrift::protocol::T_STRING, 4);
+ xfer += oprot->writeString(this->userFriendlyMessage);
+ xfer += oprot->writeFieldEnd();
+ }
+ if (this->__isset.errorCategory) {
+ xfer += oprot->writeFieldBegin("errorCategory", ::apache::thrift::protocol::T_I32, 5);
+ xfer += oprot->writeI32((int32_t)this->errorCategory);
+ xfer += oprot->writeFieldEnd();
+ }
+ if (this->__isset.transientOrPersistent) {
+ xfer += oprot->writeFieldBegin("transientOrPersistent", ::apache::thrift::protocol::T_BOOL, 6);
+ xfer += oprot->writeBool(this->transientOrPersistent);
+ xfer += oprot->writeFieldEnd();
+ }
+ if (this->__isset.correctiveAction) {
+ xfer += oprot->writeFieldBegin("correctiveAction", ::apache::thrift::protocol::T_I32, 7);
+ xfer += oprot->writeI32((int32_t)this->correctiveAction);
+ xfer += oprot->writeFieldEnd();
+ }
+ if (this->__isset.actionableGroup) {
+ xfer += oprot->writeFieldBegin("actionableGroup", ::apache::thrift::protocol::T_I32, 8);
+ xfer += oprot->writeI32((int32_t)this->actionableGroup);
+ xfer += oprot->writeFieldEnd();
+ }
+ if (this->__isset.rootCauseErrorIdList) {
+ xfer += oprot->writeFieldBegin("rootCauseErrorIdList", ::apache::thrift::protocol::T_LIST, 9);
+ {
+ xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRING, static_cast<uint32_t>(this->rootCauseErrorIdList.size()));
+ std::vector<std::string> ::const_iterator _iter14;
+ for (_iter14 = this->rootCauseErrorIdList.begin(); _iter14 != this->rootCauseErrorIdList.end(); ++_iter14)
+ {
+ xfer += oprot->writeString((*_iter14));
+ }
+ xfer += oprot->writeListEnd();
+ }
+ xfer += oprot->writeFieldEnd();
+ }
+ xfer += oprot->writeFieldStop();
+ xfer += oprot->writeStructEnd();
+ return xfer;
+}
+
+void swap(ErrorDetails &a, ErrorDetails &b) {
+ using ::std::swap;
+ swap(a.errorID, b.errorID);
+ swap(a.creationTime, b.creationTime);
+ swap(a.actualErrorMessage, b.actualErrorMessage);
+ swap(a.userFriendlyMessage, b.userFriendlyMessage);
+ swap(a.errorCategory, b.errorCategory);
+ swap(a.transientOrPersistent, b.transientOrPersistent);
+ swap(a.correctiveAction, b.correctiveAction);
+ swap(a.actionableGroup, b.actionableGroup);
+ swap(a.rootCauseErrorIdList, b.rootCauseErrorIdList);
+ swap(a.__isset, b.__isset);
+}
+
+const char* JobDetails::ascii_fingerprint = "5946807521C11BC65075D497F8568057";
+const uint8_t JobDetails::binary_fingerprint[16] = {0x59,0x46,0x80,0x75,0x21,0xC1,0x1B,0xC6,0x50,0x75,0xD4,0x97,0xF8,0x56,0x80,0x57};
+
+uint32_t JobDetails::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+ uint32_t xfer = 0;
+ std::string fname;
+ ::apache::thrift::protocol::TType ftype;
+ int16_t fid;
+
+ xfer += iprot->readStructBegin(fname);
+
+ using ::apache::thrift::protocol::TProtocolException;
+
+ bool isset_jobID = false;
+ bool isset_jobDescription = false;
+
+ while (true)
+ {
+ xfer += iprot->readFieldBegin(fname, ftype, fid);
+ if (ftype == ::apache::thrift::protocol::T_STOP) {
+ break;
+ }
+ switch (fid)
+ {
+ case 1:
+ if (ftype == ::apache::thrift::protocol::T_STRING) {
+ xfer += iprot->readString(this->jobID);
+ isset_jobID = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 2:
+ if (ftype == ::apache::thrift::protocol::T_STRING) {
+ xfer += iprot->readString(this->jobDescription);
+ isset_jobDescription = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 3:
+ if (ftype == ::apache::thrift::protocol::T_I64) {
+ xfer += iprot->readI64(this->creationTime);
+ this->__isset.creationTime = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 4:
+ if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+ xfer += this->jobStatus.read(iprot);
+ this->__isset.jobStatus = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 5:
+ if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+ xfer += this->applicationStatus.read(iprot);
+ this->__isset.applicationStatus = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 6:
+ if (ftype == ::apache::thrift::protocol::T_LIST) {
+ {
+ this->errors.clear();
+ uint32_t _size15;
+ ::apache::thrift::protocol::TType _etype18;
+ xfer += iprot->readListBegin(_etype18, _size15);
+ this->errors.resize(_size15);
+ uint32_t _i19;
+ for (_i19 = 0; _i19 < _size15; ++_i19)
+ {
+ xfer += this->errors[_i19].read(iprot);
+ }
+ xfer += iprot->readListEnd();
+ }
+ this->__isset.errors = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 7:
+ if (ftype == ::apache::thrift::protocol::T_STRING) {
+ xfer += iprot->readString(this->computeResourceConsumed);
+ this->__isset.computeResourceConsumed = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ default:
+ xfer += iprot->skip(ftype);
+ break;
+ }
+ xfer += iprot->readFieldEnd();
+ }
+
+ xfer += iprot->readStructEnd();
+
+ if (!isset_jobID)
+ throw TProtocolException(TProtocolException::INVALID_DATA);
+ if (!isset_jobDescription)
+ throw TProtocolException(TProtocolException::INVALID_DATA);
+ return xfer;
+}
+
+uint32_t JobDetails::write(::apache::thrift::protocol::TProtocol* oprot) const {
+ uint32_t xfer = 0;
+ xfer += oprot->writeStructBegin("JobDetails");
+
+ xfer += oprot->writeFieldBegin("jobID", ::apache::thrift::protocol::T_STRING, 1);
+ xfer += oprot->writeString(this->jobID);
+ xfer += oprot->writeFieldEnd();
+
+ xfer += oprot->writeFieldBegin("jobDescription", ::apache::thrift::protocol::T_STRING, 2);
+ xfer += oprot->writeString(this->jobDescription);
+ xfer += oprot->writeFieldEnd();
+
+ if (this->__isset.creationTime) {
+ xfer += oprot->writeFieldBegin("creationTime", ::apache::thrift::protocol::T_I64, 3);
+ xfer += oprot->writeI64(this->creationTime);
+ xfer += oprot->writeFieldEnd();
+ }
+ if (this->__isset.jobStatus) {
+ xfer += oprot->writeFieldBegin("jobStatus", ::apache::thrift::protocol::T_STRUCT, 4);
+ xfer += this->jobStatus.write(oprot);
+ xfer += oprot->writeFieldEnd();
+ }
+ if (this->__isset.applicationStatus) {
+ xfer += oprot->writeFieldBegin("applicationStatus", ::apache::thrift::protocol::T_STRUCT, 5);
+ xfer += this->applicationStatus.write(oprot);
+ xfer += oprot->writeFieldEnd();
+ }
+ if (this->__isset.errors) {
+ xfer += oprot->writeFieldBegin("errors", ::apache::thrift::protocol::T_LIST, 6);
+ {
+ xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>(this->errors.size()));
+ std::vector<ErrorDetails> ::const_iterator _iter20;
+ for (_iter20 = this->errors.begin(); _iter20 != this->errors.end(); ++_iter20)
+ {
+ xfer += (*_iter20).write(oprot);
+ }
+ xfer += oprot->writeListEnd();
+ }
+ xfer += oprot->writeFieldEnd();
+ }
+ if (this->__isset.computeResourceConsumed) {
+ xfer += oprot->writeFieldBegin("computeResourceConsumed", ::apache::thrift::protocol::T_STRING, 7);
+ xfer += oprot->writeString(this->computeResourceConsumed);
+ xfer += oprot->writeFieldEnd();
+ }
+ xfer += oprot->writeFieldStop();
+ xfer += oprot->writeStructEnd();
+ return xfer;
+}
+
+void swap(JobDetails &a, JobDetails &b) {
+ using ::std::swap;
+ swap(a.jobID, b.jobID);
+ swap(a.jobDescription, b.jobDescription);
+ swap(a.creationTime, b.creationTime);
+ swap(a.jobStatus, b.jobStatus);
+ swap(a.applicationStatus, b.applicationStatus);
+ swap(a.errors, b.errors);
+ swap(a.computeResourceConsumed, b.computeResourceConsumed);
+ swap(a.__isset, b.__isset);
+}
+
+const char* DataTransferDetails::ascii_fingerprint = "40D4FEC20E3B334AEEBA92DA2AB9E91E";
+const uint8_t DataTransferDetails::binary_fingerprint[16] = {0x40,0xD4,0xFE,0xC2,0x0E,0x3B,0x33,0x4A,0xEE,0xBA,0x92,0xDA,0x2A,0xB9,0xE9,0x1E};
+
+uint32_t DataTransferDetails::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+ uint32_t xfer = 0;
+ std::string fname;
+ ::apache::thrift::protocol::TType ftype;
+ int16_t fid;
+
+ xfer += iprot->readStructBegin(fname);
+
+ using ::apache::thrift::protocol::TProtocolException;
+
+ bool isset_transferID = false;
+ bool isset_transferDescription = false;
+
+ while (true)
+ {
+ xfer += iprot->readFieldBegin(fname, ftype, fid);
+ if (ftype == ::apache::thrift::protocol::T_STOP) {
+ break;
+ }
+ switch (fid)
+ {
+ case 1:
+ if (ftype == ::apache::thrift::protocol::T_STRING) {
+ xfer += iprot->readString(this->transferID);
+ isset_transferID = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 2:
+ if (ftype == ::apache::thrift::protocol::T_I64) {
+ xfer += iprot->readI64(this->creationTime);
+ this->__isset.creationTime = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 3:
+ if (ftype == ::apache::thrift::protocol::T_STRING) {
+ xfer += iprot->readString(this->transferDescription);
+ isset_transferDescription = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 4:
+ if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+ xfer += this->transferStatus.read(iprot);
+ this->__isset.transferStatus = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ default:
+ xfer += iprot->skip(ftype);
+ break;
+ }
+ xfer += iprot->readFieldEnd();
+ }
+
+ xfer += iprot->readStructEnd();
+
+ if (!isset_transferID)
+ throw TProtocolException(TProtocolException::INVALID_DATA);
+ if (!isset_transferDescription)
+ throw TProtocolException(TProtocolException::INVALID_DATA);
+ return xfer;
+}
+
+uint32_t DataTransferDetails::write(::apache::thrift::protocol::TProtocol* oprot) const {
+ uint32_t xfer = 0;
+ xfer += oprot->writeStructBegin("DataTransferDetails");
+
+ xfer += oprot->writeFieldBegin("transferID", ::apache::thrift::protocol::T_STRING, 1);
+ xfer += oprot->writeString(this->transferID);
+ xfer += oprot->writeFieldEnd();
+
+ if (this->__isset.creationTime) {
+ xfer += oprot->writeFieldBegin("creationTime", ::apache::thrift::protocol::T_I64, 2);
+ xfer += oprot->writeI64(this->creationTime);
+ xfer += oprot->writeFieldEnd();
+ }
+ xfer += oprot->writeFieldBegin("transferDescription", ::apache::thrift::protocol::T_STRING, 3);
+ xfer += oprot->writeString(this->transferDescription);
+ xfer += oprot->writeFieldEnd();
+
+ if (this->__isset.transferStatus) {
+ xfer += oprot->writeFieldBegin("transferStatus", ::apache::thrift::protocol::T_STRUCT, 4);
+ xfer += this->transferStatus.write(oprot);
+ xfer += oprot->writeFieldEnd();
+ }
+ xfer += oprot->writeFieldStop();
+ xfer += oprot->writeStructEnd();
+ return xfer;
+}
+
+void swap(DataTransferDetails &a, DataTransferDetails &b) {
+ using ::std::swap;
+ swap(a.transferID, b.transferID);
+ swap(a.creationTime, b.creationTime);
+ swap(a.transferDescription, b.transferDescription);
+ swap(a.transferStatus, b.transferStatus);
+ swap(a.__isset, b.__isset);
+}
+
+const char* TaskDetails::ascii_fingerprint = "482C560A67EC84E3BEB13AFC5FEDA02C";
+const uint8_t TaskDetails::binary_fingerprint[16] = {0x48,0x2C,0x56,0x0A,0x67,0xEC,0x84,0xE3,0xBE,0xB1,0x3A,0xFC,0x5F,0xED,0xA0,0x2C};
+
+uint32_t TaskDetails::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+ uint32_t xfer = 0;
+ std::string fname;
+ ::apache::thrift::protocol::TType ftype;
+ int16_t fid;
+
+ xfer += iprot->readStructBegin(fname);
+
+ using ::apache::thrift::protocol::TProtocolException;
+
+ bool isset_taskID = false;
+
+ while (true)
+ {
+ xfer += iprot->readFieldBegin(fname, ftype, fid);
+ if (ftype == ::apache::thrift::protocol::T_STOP) {
+ break;
+ }
+ switch (fid)
+ {
+ case 1:
+ if (ftype == ::apache::thrift::protocol::T_STRING) {
+ xfer += iprot->readString(this->taskID);
+ isset_taskID = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 2:
+ if (ftype == ::apache::thrift::protocol::T_I64) {
+ xfer += iprot->readI64(this->creationTime);
+ this->__isset.creationTime = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 3:
+ if (ftype == ::apache::thrift::protocol::T_STRING) {
+ xfer += iprot->readString(this->applicationId);
+ this->__isset.applicationId = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 4:
+ if (ftype == ::apache::thrift::protocol::T_STRING) {
+ xfer += iprot->readString(this->applicationVersion);
+ this->__isset.applicationVersion = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 5:
+ if (ftype == ::apache::thrift::protocol::T_STRING) {
+ xfer += iprot->readString(this->applicationDeploymentId);
+ this->__isset.applicationDeploymentId = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 6:
+ if (ftype == ::apache::thrift::protocol::T_LIST) {
+ {
+ this->applicationInputs.clear();
+ uint32_t _size21;
+ ::apache::thrift::protocol::TType _etype24;
+ xfer += iprot->readListBegin(_etype24, _size21);
+ this->applicationInputs.resize(_size21);
+ uint32_t _i25;
+ for (_i25 = 0; _i25 < _size21; ++_i25)
+ {
+ xfer += this->applicationInputs[_i25].read(iprot);
+ }
+ xfer += iprot->readListEnd();
+ }
+ this->__isset.applicationInputs = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 7:
+ if (ftype == ::apache::thrift::protocol::T_LIST) {
+ {
+ this->applicationOutputs.clear();
+ uint32_t _size26;
+ ::apache::thrift::protocol::TType _etype29;
+ xfer += iprot->readListBegin(_etype29, _size26);
+ this->applicationOutputs.resize(_size26);
+ uint32_t _i30;
+ for (_i30 = 0; _i30 < _size26; ++_i30)
+ {
+ xfer += this->applicationOutputs[_i30].read(iprot);
+ }
+ xfer += iprot->readListEnd();
+ }
+ this->__isset.applicationOutputs = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 8:
+ if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+ xfer += this->taskScheduling.read(iprot);
+ this->__isset.taskScheduling = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 9:
+ if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+ xfer += this->advancedInputDataHandling.read(iprot);
+ this->__isset.advancedInputDataHandling = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 10:
+ if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+ xfer += this->advancedOutputDataHandling.read(iprot);
+ this->__isset.advancedOutputDataHandling = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 11:
+ if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+ xfer += this->taskStatus.read(iprot);
+ this->__isset.taskStatus = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 12:
+ if (ftype == ::apache::thrift::protocol::T_LIST) {
+ {
+ this->jobDetailsList.clear();
+ uint32_t _size31;
+ ::apache::thrift::protocol::TType _etype34;
+ xfer += iprot->readListBegin(_etype34, _size31);
+ this->jobDetailsList.resize(_size31);
+ uint32_t _i35;
+ for (_i35 = 0; _i35 < _size31; ++_i35)
+ {
+ xfer += this->jobDetailsList[_i35].read(iprot);
+ }
+ xfer += iprot->readListEnd();
+ }
+ this->__isset.jobDetailsList = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 13:
+ if (ftype == ::apache::thrift::protocol::T_LIST) {
+ {
+ this->dataTransferDetailsList.clear();
+ uint32_t _size36;
+ ::apache::thrift::protocol::TType _etype39;
+ xfer += iprot->readListBegin(_etype39, _size36);
+ this->dataTransferDetailsList.resize(_size36);
+ uint32_t _i40;
+ for (_i40 = 0; _i40 < _size36; ++_i40)
+ {
+ xfer += this->dataTransferDetailsList[_i40].read(iprot);
+ }
+ xfer += iprot->readListEnd();
+ }
+ this->__isset.dataTransferDetailsList = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 14:
+ if (ftype == ::apache::thrift::protocol::T_LIST) {
+ {
+ this->errors.clear();
+ uint32_t _size41;
+ ::apache::thrift::protocol::TType _etype44;
+ xfer += iprot->readListBegin(_etype44, _size41);
+ this->errors.resize(_size41);
+ uint32_t _i45;
+ for (_i45 = 0; _i45 < _size41; ++_i45)
+ {
+ xfer += this->errors[_i45].read(iprot);
+ }
+ xfer += iprot->readListEnd();
+ }
+ this->__isset.errors = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ default:
+ xfer += iprot->skip(ftype);
+ break;
+ }
+ xfer += iprot->readFieldEnd();
+ }
+
+ xfer += iprot->readStructEnd();
+
+ if (!isset_taskID)
+ throw TProtocolException(TProtocolException::INVALID_DATA);
+ return xfer;
+}
+
+uint32_t TaskDetails::write(::apache::thrift::protocol::TProtocol* oprot) const {
+ uint32_t xfer = 0;
+ xfer += oprot->writeStructBegin("TaskDetails");
+
+ xfer += oprot->writeFieldBegin("taskID", ::apache::thrift::protocol::T_STRING, 1);
+ xfer += oprot->writeString(this->taskID);
+ xfer += oprot->writeFieldEnd();
+
+ if (this->__isset.creationTime) {
+ xfer += oprot->writeFieldBegin("creationTime", ::apache::thrift::protocol::T_I64, 2);
+ xfer += oprot->writeI64(this->creationTime);
+ xfer += oprot->writeFieldEnd();
+ }
+ if (this->__isset.applicationId) {
+ xfer += oprot->writeFieldBegin("applicationId", ::apache::thrift::protocol::T_STRING, 3);
+ xfer += oprot->writeString(this->applicationId);
+ xfer += oprot->writeFieldEnd();
+ }
+ if (this->__isset.applicationVersion) {
+ xfer += oprot->writeFieldBegin("applicationVersion", ::apache::thrift::protocol::T_STRING, 4);
+ xfer += oprot->writeString(this->applicationVersion);
+ xfer += oprot->writeFieldEnd();
+ }
+ if (this->__isset.applicationDeploymentId) {
+ xfer += oprot->writeFieldBegin("applicationDeploymentId", ::apache::thrift::protocol::T_STRING, 5);
+ xfer += oprot->writeString(this->applicationDeploymentId);
+ xfer += oprot->writeFieldEnd();
+ }
+ if (this->__isset.applicationInputs) {
+ xfer += oprot->writeFieldBegin("applicationInputs", ::apache::thrift::protocol::T_LIST, 6);
+ {
+ xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>(this->applicationInputs.size()));
+ std::vector<DataObjectType> ::const_iterator _iter46;
+ for (_iter46 = this->applicationInputs.begin(); _iter46 != this->applicationInputs.end(); ++_iter46)
+ {
+ xfer += (*_iter46).write(oprot);
+ }
+ xfer += oprot->writeListEnd();
+ }
+ xfer += oprot->writeFieldEnd();
+ }
+ if (this->__isset.applicationOutputs) {
+ xfer += oprot->writeFieldBegin("applicationOutputs", ::apache::thrift::protocol::T_LIST, 7);
+ {
+ xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>(this->applicationOutputs.size()));
+ std::vector<DataObjectType> ::const_iterator _iter47;
+ for (_iter47 = this->applicationOutputs.begin(); _iter47 != this->applicationOutputs.end(); ++_iter47)
+ {
+ xfer += (*_iter47).write(oprot);
+ }
+ xfer += oprot->writeListEnd();
+ }
+ xfer += oprot->writeFieldEnd();
+ }
+ if (this->__isset.taskScheduling) {
+ xfer += oprot->writeFieldBegin("taskScheduling", ::apache::thrift::protocol::T_STRUCT, 8);
+ xfer += this->taskScheduling.write(oprot);
+ xfer += oprot->writeFieldEnd();
+ }
+ if (this->__isset.advancedInputDataHandling) {
+ xfer += oprot->writeFieldBegin("advancedInputDataHandling", ::apache::thrift::protocol::T_STRUCT, 9);
+ xfer += this->advancedInputDataHandling.write(oprot);
+ xfer += oprot->writeFieldEnd();
+ }
+ if (this->__isset.advancedOutputDataHandling) {
+ xfer += oprot->writeFieldBegin("advancedOutputDataHandling", ::apache::thrift::protocol::T_STRUCT, 10);
+ xfer += this->advancedOutputDataHandling.write(oprot);
+ xfer += oprot->writeFieldEnd();
+ }
+ if (this->__isset.taskStatus) {
+ xfer += oprot->writeFieldBegin("taskStatus", ::apache::thrift::protocol::T_STRUCT, 11);
+ xfer += this->taskStatus.write(oprot);
+ xfer += oprot->writeFieldEnd();
+ }
+ if (this->__isset.jobDetailsList) {
+ xfer += oprot->writeFieldBegin("jobDetailsList", ::apache::thrift::protocol::T_LIST, 12);
+ {
+ xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>(this->jobDetailsList.size()));
+ std::vector<JobDetails> ::const_iterator _iter48;
+ for (_iter48 = this->jobDetailsList.begin(); _iter48 != this->jobDetailsList.end(); ++_iter48)
+ {
+ xfer += (*_iter48).write(oprot);
+ }
+ xfer += oprot->writeListEnd();
+ }
+ xfer += oprot->writeFieldEnd();
+ }
+ if (this->__isset.dataTransferDetailsList) {
+ xfer += oprot->writeFieldBegin("dataTransferDetailsList", ::apache::thrift::protocol::T_LIST, 13);
+ {
+ xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>(this->dataTransferDetailsList.size()));
+ std::vector<DataTransferDetails> ::const_iterator _iter49;
+ for (_iter49 = this->dataTransferDetailsList.begin(); _iter49 != this->dataTransferDetailsList.end(); ++_iter49)
+ {
+ xfer += (*_iter49).write(oprot);
+ }
+ xfer += oprot->writeListEnd();
+ }
+ xfer += oprot->writeFieldEnd();
+ }
+ if (this->__isset.errors) {
+ xfer += oprot->writeFieldBegin("errors", ::apache::thrift::protocol::T_LIST, 14);
+ {
+ xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>(this->errors.size()));
+ std::vector<ErrorDetails> ::const_iterator _iter50;
+ for (_iter50 = this->errors.begin(); _iter50 != this->errors.end(); ++_iter50)
+ {
+ xfer += (*_iter50).write(oprot);
+ }
+ xfer += oprot->writeListEnd();
+ }
+ xfer += oprot->writeFieldEnd();
+ }
+ xfer += oprot->writeFieldStop();
+ xfer += oprot->writeStructEnd();
+ return xfer;
+}
+
+void swap(TaskDetails &a, TaskDetails &b) {
+ using ::std::swap;
+ swap(a.taskID, b.taskID);
+ swap(a.creationTime, b.creationTime);
+ swap(a.applicationId, b.applicationId);
+ swap(a.applicationVersion, b.applicationVersion);
+ swap(a.applicationDeploymentId, b.applicationDeploymentId);
+ swap(a.applicationInputs, b.applicationInputs);
+ swap(a.applicationOutputs, b.applicationOutputs);
+ swap(a.taskScheduling, b.taskScheduling);
+ swap(a.advancedInputDataHandling, b.advancedInputDataHandling);
+ swap(a.advancedOutputDataHandling, b.advancedOutputDataHandling);
+ swap(a.taskStatus, b.taskStatus);
+ swap(a.jobDetailsList, b.jobDetailsList);
+ swap(a.dataTransferDetailsList, b.dataTransferDetailsList);
+ swap(a.errors, b.errors);
+ swap(a.__isset, b.__isset);
+}
+
+const char* WorkflowNodeDetails::ascii_fingerprint = "95130A9D83D5C73D70BAEBDF11F2FFE7";
+const uint8_t WorkflowNodeDetails::binary_fingerprint[16] = {0x95,0x13,0x0A,0x9D,0x83,0xD5,0xC7,0x3D,0x70,0xBA,0xEB,0xDF,0x11,0xF2,0xFF,0xE7};
+
+uint32_t WorkflowNodeDetails::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+ uint32_t xfer = 0;
+ std::string fname;
+ ::apache::thrift::protocol::TType ftype;
+ int16_t fid;
+
+ xfer += iprot->readStructBegin(fname);
+
+ using ::apache::thrift::protocol::TProtocolException;
+
+ bool isset_nodeInstanceId = false;
+ bool isset_nodeName = false;
+ bool isset_executionUnit = false;
+
+ while (true)
+ {
+ xfer += iprot->readFieldBegin(fname, ftype, fid);
+ if (ftype == ::apache::thrift::protocol::T_STOP) {
+ break;
+ }
+ switch (fid)
+ {
+ case 1:
+ if (ftype == ::apache::thrift::protocol::T_STRING) {
+ xfer += iprot->readString(this->nodeInstanceId);
+ isset_nodeInstanceId = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 2:
+ if (ftype == ::apache::thrift::protocol::T_I64) {
+ xfer += iprot->readI64(this->creationTime);
+ this->__isset.creationTime = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 3:
+ if (ftype == ::apache::thrift::protocol::T_STRING) {
+ xfer += iprot->readString(this->nodeName);
+ isset_nodeName = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 4:
+ if (ftype == ::apache::thrift::protocol::T_I32) {
+ int32_t ecast51;
+ xfer += iprot->readI32(ecast51);
+ this->executionUnit = (ExecutionUnit::type)ecast51;
+ isset_executionUnit = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 5:
+ if (ftype == ::apache::thrift::protocol::T_STRING) {
+ xfer += iprot->readString(this->executionUnitData);
+ this->__isset.executionUnitData = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 6:
+ if (ftype == ::apache::thrift::protocol::T_LIST) {
+ {
+ this->nodeInputs.clear();
+ uint32_t _size52;
+ ::apache::thrift::protocol::TType _etype55;
+ xfer += iprot->readListBegin(_etype55, _size52);
+ this->nodeInputs.resize(_size52);
+ uint32_t _i56;
+ for (_i56 = 0; _i56 < _size52; ++_i56)
+ {
+ xfer += this->nodeInputs[_i56].read(iprot);
+ }
+ xfer += iprot->readListEnd();
+ }
+ this->__isset.nodeInputs = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 7:
+ if (ftype == ::apache::thrift::protocol::T_LIST) {
+ {
+ this->nodeOutputs.clear();
+ uint32_t _size57;
+ ::apache::thrift::protocol::TType _etype60;
+ xfer += iprot->readListBegin(_etype60, _size57);
+ this->nodeOutputs.resize(_size57);
+ uint32_t _i61;
+ for (_i61 = 0; _i61 < _size57; ++_i61)
+ {
+ xfer += this->nodeOutputs[_i61].read(iprot);
+ }
+ xfer += iprot->readListEnd();
+ }
+ this->__isset.nodeOutputs = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 8:
+ if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+ xfer += this->workflowNodeStatus.read(iprot);
+ this->__isset.workflowNodeStatus = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 9:
+ if (ftype == ::apache::thrift::protocol::T_LIST) {
+ {
+ this->taskDetailsList.clear();
+ uint32_t _size62;
+ ::apache::thrift::protocol::TType _etype65;
+ xfer += iprot->readListBegin(_etype65, _size62);
+ this->taskDetailsList.resize(_size62);
+ uint32_t _i66;
+ for (_i66 = 0; _i66 < _size62; ++_i66)
+ {
+ xfer += this->taskDetailsList[_i66].read(iprot);
+ }
+ xfer += iprot->readListEnd();
+ }
+ this->__isset.taskDetailsList = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 10:
+ if (ftype == ::apache::thrift::protocol::T_LIST) {
+ {
+ this->errors.clear();
+ uint32_t _size67;
+ ::apache::thrift::protocol::TType _etype70;
+ xfer += iprot->readListBegin(_etype70, _size67);
+ this->errors.resize(_size67);
+ uint32_t _i71;
+ for (_i71 = 0; _i71 < _size67; ++_i71)
+ {
+ xfer += this->errors[_i71].read(iprot);
+ }
+ xfer += iprot->readListEnd();
+ }
+ this->__isset.errors = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ default:
+ xfer += iprot->skip(ftype);
+ break;
+ }
+ xfer += iprot->readFieldEnd();
+ }
+
+ xfer += iprot->readStructEnd();
+
+ if (!isset_nodeInstanceId)
+ throw TProtocolException(TProtocolException::INVALID_DATA);
+ if (!isset_nodeName)
+ throw TProtocolException(TProtocolException::INVALID_DATA);
+ if (!isset_executionUnit)
+ throw TProtocolException(TProtocolException::INVALID_DATA);
+ return xfer;
+}
+
+uint32_t WorkflowNodeDetails::write(::apache::thrift::protocol::TProtocol* oprot) const {
+ uint32_t xfer = 0;
+ xfer += oprot->writeStructBegin("WorkflowNodeDetails");
+
+ xfer += oprot->writeFieldBegin("nodeInstanceId", ::apache::thrift::protocol::T_STRING, 1);
+ xfer += oprot->writeString(this->nodeInstanceId);
+ xfer += oprot->writeFieldEnd();
+
+ if (this->__isset.creationTime) {
+ xfer += oprot->writeFieldBegin("creationTime", ::apache::thrift::protocol::T_I64, 2);
+ xfer += oprot->writeI64(this->creationTime);
+ xfer += oprot->writeFieldEnd();
+ }
+ xfer += oprot->writeFieldBegin("nodeName", ::apache::thrift::protocol::T_STRING, 3);
+ xfer += oprot->writeString(this->nodeName);
+ xfer += oprot->writeFieldEnd();
+
+ xfer += oprot->writeFieldBegin("executionUnit", ::apache::thrift::protocol::T_I32, 4);
+ xfer += oprot->writeI32((int32_t)this->executionUnit);
+ xfer += oprot->writeFieldEnd();
+
+ if (this->__isset.executionUnitData) {
+ xfer += oprot->writeFieldBegin("executionUnitData", ::apache::thrift::protocol::T_STRING, 5);
+ xfer += oprot->writeString(this->executionUnitData);
+ xfer += oprot->writeFieldEnd();
+ }
+ if (this->__isset.nodeInputs) {
+ xfer += oprot->writeFieldBegin("nodeInputs", ::apache::thrift::protocol::T_LIST, 6);
+ {
+ xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>(this->nodeInputs.size()));
+ std::vector<DataObjectType> ::const_iterator _iter72;
+ for (_iter72 = this->nodeInputs.begin(); _iter72 != this->nodeInputs.end(); ++_iter72)
+ {
+ xfer += (*_iter72).write(oprot);
+ }
+ xfer += oprot->writeListEnd();
+ }
+ xfer += oprot->writeFieldEnd();
+ }
+ if (this->__isset.nodeOutputs) {
+ xfer += oprot->writeFieldBegin("nodeOutputs", ::apache::thrift::protocol::T_LIST, 7);
+ {
+ xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>(this->nodeOutputs.size()));
+ std::vector<DataObjectType> ::const_iterator _iter73;
+ for (_iter73 = this->nodeOutputs.begin(); _iter73 != this->nodeOutputs.end(); ++_iter73)
+ {
+ xfer += (*_iter73).write(oprot);
+ }
+ xfer += oprot->writeListEnd();
+ }
+ xfer += oprot->writeFieldEnd();
+ }
+ if (this->__isset.workflowNodeStatus) {
+ xfer += oprot->writeFieldBegin("workflowNodeStatus", ::apache::thrift::protocol::T_STRUCT, 8);
+ xfer += this->workflowNodeStatus.write(oprot);
+ xfer += oprot->writeFieldEnd();
+ }
+ if (this->__isset.taskDetailsList) {
+ xfer += oprot->writeFieldBegin("taskDetailsList", ::apache::thrift::protocol::T_LIST, 9);
+ {
+ xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>(this->taskDetailsList.size()));
+ std::vector<TaskDetails> ::const_iterator _iter74;
+ for (_iter74 = this->taskDetailsList.begin(); _iter74 != this->taskDetailsList.end(); ++_iter74)
+ {
+ xfer += (*_iter74).write(oprot);
+ }
+ xfer += oprot->writeListEnd();
+ }
+ xfer += oprot->writeFieldEnd();
+ }
+ if (this->__isset.errors) {
+ xfer += oprot->writeFieldBegin("errors", ::apache::thrift::protocol::T_LIST, 10);
+ {
+ xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>(this->errors.size()));
+ std::vector<ErrorDetails> ::const_iterator _iter75;
+ for (_iter75 = this->errors.begin(); _iter75 != this->errors.end(); ++_iter75)
+ {
+ xfer += (*_iter75).write(oprot);
+ }
+ xfer += oprot->writeListEnd();
+ }
+ xfer += oprot->writeFieldEnd();
+ }
+ xfer += oprot->writeFieldStop();
+ xfer += oprot->writeStructEnd();
+ return xfer;
+}
+
+void swap(WorkflowNodeDetails &a, WorkflowNodeDetails &b) {
+ using ::std::swap;
+ swap(a.nodeInstanceId, b.nodeInstanceId);
+ swap(a.creationTime, b.creationTime);
+ swap(a.nodeName, b.nodeName);
+ swap(a.executionUnit, b.executionUnit);
+ swap(a.executionUnitData, b.executionUnitData);
+ swap(a.nodeInputs, b.nodeInputs);
+ swap(a.nodeOutputs, b.nodeOutputs);
+ swap(a.workflowNodeStatus, b.workflowNodeStatus);
+ swap(a.taskDetailsList, b.taskDetailsList);
+ swap(a.errors, b.errors);
+ swap(a.__isset, b.__isset);
+}
+
+const char* ValidatorResult::ascii_fingerprint = "EB04A806CFFC9025AEE48CFFDC378A86";
+const uint8_t ValidatorResult::binary_fingerprint[16] = {0xEB,0x04,0xA8,0x06,0xCF,0xFC,0x90,0x25,0xAE,0xE4,0x8C,0xFF,0xDC,0x37,0x8A,0x86};
+
+uint32_t ValidatorResult::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+ uint32_t xfer = 0;
+ std::string fname;
+ ::apache::thrift::protocol::TType ftype;
+ int16_t fid;
+
+ xfer += iprot->readStructBegin(fname);
+
+ using ::apache::thrift::protocol::TProtocolException;
+
+ bool isset_result = false;
+
+ while (true)
+ {
+ xfer += iprot->readFieldBegin(fname, ftype, fid);
+ if (ftype == ::apache::thrift::protocol::T_STOP) {
+ break;
+ }
+ switch (fid)
+ {
+ case 1:
+ if (ftype == ::apache::thrift::protocol::T_BOOL) {
+ xfer += iprot->readBool(this->result);
+ isset_result = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 2:
+ if (ftype == ::apache::thrift::protocol::T_STRING) {
+ xfer += iprot->readString(this->errorDetails);
+ this->__isset.errorDetails = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ default:
+ xfer += iprot->skip(ftype);
+ break;
+ }
+ xfer += iprot->readFieldEnd();
+ }
+
+ xfer += iprot->readStructEnd();
+
+ if (!isset_result)
+ throw TProtocolException(TProtocolException::INVALID_DATA);
+ return xfer;
+}
+
+uint32_t ValidatorResult::write(::apache::thrift::protocol::TProtocol* oprot) const {
+ uint32_t xfer = 0;
+ xfer += oprot->writeStructBegin("ValidatorResult");
+
+ xfer += oprot->writeFieldBegin("result", ::apache::thrift::protocol::T_BOOL, 1);
+ xfer += oprot->writeBool(this->result);
+ xfer += oprot->writeFieldEnd();
+
+ if (this->__isset.errorDetails) {
+ xfer += oprot->writeFieldBegin("errorDetails", ::apache::thrift::protocol::T_STRING, 2);
+ xfer += oprot->writeString(this->errorDetails);
+ xfer += oprot->writeFieldEnd();
+ }
+ xfer += oprot->writeFieldStop();
+ xfer += oprot->writeStructEnd();
+ return xfer;
+}
+
+void swap(ValidatorResult &a, ValidatorResult &b) {
+ using ::std::swap;
+ swap(a.result, b.result);
+ swap(a.errorDetails, b.errorDetails);
+ swap(a.__isset, b.__isset);
+}
+
+const char* ValidationResults::ascii_fingerprint = "E73BC8630EE405DA5FB801ED852143D2";
+const uint8_t ValidationResults::binary_fingerprint[16] = {0xE7,0x3B,0xC8,0x63,0x0E,0xE4,0x05,0xDA,0x5F,0xB8,0x01,0xED,0x85,0x21,0x43,0xD2};
+
+uint32_t ValidationResults::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+ uint32_t xfer = 0;
+ std::string fna
<TRUNCATED>
[06/47] Added c++ client samples for integrattion of airavata with
any other application's c++ interface
Posted by sm...@apache.org.
http://git-wip-us.apache.org/repos/asf/airavata/blob/f891b7dc/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/server/TNonblockingServer.cpp
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/server/TNonblockingServer.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/server/TNonblockingServer.cpp
new file mode 100644
index 0000000..b9553c4
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/server/TNonblockingServer.cpp
@@ -0,0 +1,1567 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you 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.
+ */
+
+#define __STDC_FORMAT_MACROS
+
+#include <thrift/thrift-config.h>
+
+#include <thrift/server/TNonblockingServer.h>
+#include <thrift/concurrency/Exception.h>
+#include <thrift/transport/TSocket.h>
+#include <thrift/concurrency/PlatformThreadFactory.h>
+#include <thrift/transport/PlatformSocket.h>
+
+#include <iostream>
+
+#ifdef HAVE_SYS_SOCKET_H
+#include <sys/socket.h>
+#endif
+
+#ifdef HAVE_NETINET_IN_H
+#include <netinet/in.h>
+#include <netinet/tcp.h>
+#endif
+
+#ifdef HAVE_ARPA_INET_H
+#include <arpa/inet.h>
+#endif
+
+#ifdef HAVE_NETDB_H
+#include <netdb.h>
+#endif
+
+#ifdef HAVE_FCNTL_H
+#include <fcntl.h>
+#endif
+
+#include <assert.h>
+
+#ifdef HAVE_SCHED_H
+#include <sched.h>
+#endif
+
+#ifndef AF_LOCAL
+#define AF_LOCAL AF_UNIX
+#endif
+
+#if !defined(PRIu32)
+#define PRIu32 "I32u"
+#define PRIu64 "I64u"
+#endif
+
+namespace apache { namespace thrift { namespace server {
+
+using namespace apache::thrift::protocol;
+using namespace apache::thrift::transport;
+using namespace apache::thrift::concurrency;
+using namespace std;
+using apache::thrift::transport::TSocket;
+using apache::thrift::transport::TTransportException;
+using boost::shared_ptr;
+
+/// Three states for sockets: recv frame size, recv data, and send mode
+enum TSocketState {
+ SOCKET_RECV_FRAMING,
+ SOCKET_RECV,
+ SOCKET_SEND
+};
+
+/**
+ * Five states for the nonblocking server:
+ * 1) initialize
+ * 2) read 4 byte frame size
+ * 3) read frame of data
+ * 4) send back data (if any)
+ * 5) force immediate connection close
+ */
+enum TAppState {
+ APP_INIT,
+ APP_READ_FRAME_SIZE,
+ APP_READ_REQUEST,
+ APP_WAIT_TASK,
+ APP_SEND_RESULT,
+ APP_CLOSE_CONNECTION
+};
+
+/**
+ * Represents a connection that is handled via libevent. This connection
+ * essentially encapsulates a socket that has some associated libevent state.
+ */
+class TNonblockingServer::TConnection {
+ private:
+ /// Server IO Thread handling this connection
+ TNonblockingIOThread* ioThread_;
+
+ /// Server handle
+ TNonblockingServer* server_;
+
+ /// TProcessor
+ boost::shared_ptr<TProcessor> processor_;
+
+ /// Object wrapping network socket
+ boost::shared_ptr<TSocket> tSocket_;
+
+ /// Libevent object
+ struct event event_;
+
+ /// Libevent flags
+ short eventFlags_;
+
+ /// Socket mode
+ TSocketState socketState_;
+
+ /// Application state
+ TAppState appState_;
+
+ /// How much data needed to read
+ uint32_t readWant_;
+
+ /// Where in the read buffer are we
+ uint32_t readBufferPos_;
+
+ /// Read buffer
+ uint8_t* readBuffer_;
+
+ /// Read buffer size
+ uint32_t readBufferSize_;
+
+ /// Write buffer
+ uint8_t* writeBuffer_;
+
+ /// Write buffer size
+ uint32_t writeBufferSize_;
+
+ /// How far through writing are we?
+ uint32_t writeBufferPos_;
+
+ /// Largest size of write buffer seen since buffer was constructed
+ size_t largestWriteBufferSize_;
+
+ /// Count of the number of calls for use with getResizeBufferEveryN().
+ int32_t callsForResize_;
+
+ /// Task handle
+ int taskHandle_;
+
+ /// Task event
+ struct event taskEvent_;
+
+ /// Transport to read from
+ boost::shared_ptr<TMemoryBuffer> inputTransport_;
+
+ /// Transport that processor writes to
+ boost::shared_ptr<TMemoryBuffer> outputTransport_;
+
+ /// extra transport generated by transport factory (e.g. BufferedRouterTransport)
+ boost::shared_ptr<TTransport> factoryInputTransport_;
+ boost::shared_ptr<TTransport> factoryOutputTransport_;
+
+ /// Protocol decoder
+ boost::shared_ptr<TProtocol> inputProtocol_;
+
+ /// Protocol encoder
+ boost::shared_ptr<TProtocol> outputProtocol_;
+
+ /// Server event handler, if any
+ boost::shared_ptr<TServerEventHandler> serverEventHandler_;
+
+ /// Thrift call context, if any
+ void *connectionContext_;
+
+ /// Go into read mode
+ void setRead() {
+ setFlags(EV_READ | EV_PERSIST);
+ }
+
+ /// Go into write mode
+ void setWrite() {
+ setFlags(EV_WRITE | EV_PERSIST);
+ }
+
+ /// Set socket idle
+ void setIdle() {
+ setFlags(0);
+ }
+
+ /**
+ * Set event flags for this connection.
+ *
+ * @param eventFlags flags we pass to libevent for the connection.
+ */
+ void setFlags(short eventFlags);
+
+ /**
+ * Libevent handler called (via our static wrapper) when the connection
+ * socket had something happen. Rather than use the flags libevent passed,
+ * we use the connection state to determine whether we need to read or
+ * write the socket.
+ */
+ void workSocket();
+
+ public:
+
+ class Task;
+
+ /// Constructor
+ TConnection(THRIFT_SOCKET socket, TNonblockingIOThread* ioThread,
+ const sockaddr* addr, socklen_t addrLen) {
+ readBuffer_ = NULL;
+ readBufferSize_ = 0;
+
+ ioThread_ = ioThread;
+ server_ = ioThread->getServer();
+
+ // Allocate input and output transports these only need to be allocated
+ // once per TConnection (they don't need to be reallocated on init() call)
+ inputTransport_.reset(new TMemoryBuffer(readBuffer_, readBufferSize_));
+ outputTransport_.reset(
+ new TMemoryBuffer(static_cast<uint32_t>(server_->getWriteBufferDefaultSize())));
+ tSocket_.reset(new TSocket());
+ init(socket, ioThread, addr, addrLen);
+ }
+
+ ~TConnection() {
+ std::free(readBuffer_);
+ }
+
+ /// Close this connection and free or reset its resources.
+ void close();
+
+ /**
+ * Check buffers against any size limits and shrink it if exceeded.
+ *
+ * @param readLimit we reduce read buffer size to this (if nonzero).
+ * @param writeLimit if nonzero and write buffer is larger, replace it.
+ */
+ void checkIdleBufferMemLimit(size_t readLimit, size_t writeLimit);
+
+ /// Initialize
+ void init(THRIFT_SOCKET socket, TNonblockingIOThread* ioThread,
+ const sockaddr* addr, socklen_t addrLen);
+
+ /**
+ * This is called when the application transitions from one state into
+ * another. This means that it has finished writing the data that it needed
+ * to, or finished receiving the data that it needed to.
+ */
+ void transition();
+
+ /**
+ * C-callable event handler for connection events. Provides a callback
+ * that libevent can understand which invokes connection_->workSocket().
+ *
+ * @param fd the descriptor the event occurred on.
+ * @param which the flags associated with the event.
+ * @param v void* callback arg where we placed TConnection's "this".
+ */
+ static void eventHandler(evutil_socket_t fd, short /* which */, void* v) {
+ assert(fd == ((TConnection*)v)->getTSocket()->getSocketFD());
+ ((TConnection*)v)->workSocket();
+ }
+
+ /**
+ * Notification to server that processing has ended on this request.
+ * Can be called either when processing is completed or when a waiting
+ * task has been preemptively terminated (on overload).
+ *
+ * Don't call this from the IO thread itself.
+ *
+ * @return true if successful, false if unable to notify (check THRIFT_GET_SOCKET_ERROR).
+ */
+ bool notifyIOThread() {
+ return ioThread_->notify(this);
+ }
+
+ /*
+ * Returns the number of this connection's currently assigned IO
+ * thread.
+ */
+ int getIOThreadNumber() const {
+ return ioThread_->getThreadNumber();
+ }
+
+ /// Force connection shutdown for this connection.
+ void forceClose() {
+ appState_ = APP_CLOSE_CONNECTION;
+ if (!notifyIOThread()) {
+ throw TException("TConnection::forceClose: failed write on notify pipe");
+ }
+ }
+
+ /// return the server this connection was initialized for.
+ TNonblockingServer* getServer() const {
+ return server_;
+ }
+
+ /// get state of connection.
+ TAppState getState() const {
+ return appState_;
+ }
+
+ /// return the TSocket transport wrapping this network connection
+ boost::shared_ptr<TSocket> getTSocket() const {
+ return tSocket_;
+ }
+
+ /// return the server event handler if any
+ boost::shared_ptr<TServerEventHandler> getServerEventHandler() {
+ return serverEventHandler_;
+ }
+
+ /// return the Thrift connection context if any
+ void* getConnectionContext() {
+ return connectionContext_;
+ }
+
+};
+
+class TNonblockingServer::TConnection::Task: public Runnable {
+ public:
+ Task(boost::shared_ptr<TProcessor> processor,
+ boost::shared_ptr<TProtocol> input,
+ boost::shared_ptr<TProtocol> output,
+ TConnection* connection) :
+ processor_(processor),
+ input_(input),
+ output_(output),
+ connection_(connection),
+ serverEventHandler_(connection_->getServerEventHandler()),
+ connectionContext_(connection_->getConnectionContext()) {}
+
+ void run() {
+ try {
+ for (;;) {
+ if (serverEventHandler_) {
+ serverEventHandler_->processContext(connectionContext_, connection_->getTSocket());
+ }
+ if (!processor_->process(input_, output_, connectionContext_) ||
+ !input_->getTransport()->peek()) {
+ break;
+ }
+ }
+ } catch (const TTransportException& ttx) {
+ GlobalOutput.printf("TNonblockingServer: client died: %s", ttx.what());
+ } catch (const bad_alloc&) {
+ GlobalOutput("TNonblockingServer: caught bad_alloc exception.");
+ exit(1);
+ } catch (const std::exception& x) {
+ GlobalOutput.printf("TNonblockingServer: process() exception: %s: %s",
+ typeid(x).name(), x.what());
+ } catch (...) {
+ GlobalOutput.printf(
+ "TNonblockingServer: unknown exception while processing.");
+ }
+
+ // Signal completion back to the libevent thread via a pipe
+ if (!connection_->notifyIOThread()) {
+ throw TException("TNonblockingServer::Task::run: failed write on notify pipe");
+ }
+ }
+
+ TConnection* getTConnection() {
+ return connection_;
+ }
+
+ private:
+ boost::shared_ptr<TProcessor> processor_;
+ boost::shared_ptr<TProtocol> input_;
+ boost::shared_ptr<TProtocol> output_;
+ TConnection* connection_;
+ boost::shared_ptr<TServerEventHandler> serverEventHandler_;
+ void* connectionContext_;
+};
+
+void TNonblockingServer::TConnection::init(THRIFT_SOCKET socket,
+ TNonblockingIOThread* ioThread,
+ const sockaddr* addr,
+ socklen_t addrLen) {
+ tSocket_->setSocketFD(socket);
+ tSocket_->setCachedAddress(addr, addrLen);
+
+ ioThread_ = ioThread;
+ server_ = ioThread->getServer();
+ appState_ = APP_INIT;
+ eventFlags_ = 0;
+
+ readBufferPos_ = 0;
+ readWant_ = 0;
+
+ writeBuffer_ = NULL;
+ writeBufferSize_ = 0;
+ writeBufferPos_ = 0;
+ largestWriteBufferSize_ = 0;
+
+ socketState_ = SOCKET_RECV_FRAMING;
+ callsForResize_ = 0;
+
+ // get input/transports
+ factoryInputTransport_ = server_->getInputTransportFactory()->getTransport(
+ inputTransport_);
+ factoryOutputTransport_ = server_->getOutputTransportFactory()->getTransport(
+ outputTransport_);
+
+ // Create protocol
+ inputProtocol_ = server_->getInputProtocolFactory()->getProtocol(
+ factoryInputTransport_);
+ outputProtocol_ = server_->getOutputProtocolFactory()->getProtocol(
+ factoryOutputTransport_);
+
+ // Set up for any server event handler
+ serverEventHandler_ = server_->getEventHandler();
+ if (serverEventHandler_) {
+ connectionContext_ = serverEventHandler_->createContext(inputProtocol_,
+ outputProtocol_);
+ } else {
+ connectionContext_ = NULL;
+ }
+
+ // Get the processor
+ processor_ = server_->getProcessor(inputProtocol_, outputProtocol_, tSocket_);
+}
+
+void TNonblockingServer::TConnection::workSocket() {
+ int got=0, left=0, sent=0;
+ uint32_t fetch = 0;
+
+ switch (socketState_) {
+ case SOCKET_RECV_FRAMING:
+ union {
+ uint8_t buf[sizeof(uint32_t)];
+ uint32_t size;
+ } framing;
+
+ // if we've already received some bytes we kept them here
+ framing.size = readWant_;
+ // determine size of this frame
+ try {
+ // Read from the socket
+ fetch = tSocket_->read(&framing.buf[readBufferPos_],
+ uint32_t(sizeof(framing.size) - readBufferPos_));
+ if (fetch == 0) {
+ // Whenever we get here it means a remote disconnect
+ close();
+ return;
+ }
+ readBufferPos_ += fetch;
+ } catch (TTransportException& te) {
+ GlobalOutput.printf("TConnection::workSocket(): %s", te.what());
+ close();
+
+ return;
+ }
+
+ if (readBufferPos_ < sizeof(framing.size)) {
+ // more needed before frame size is known -- save what we have so far
+ readWant_ = framing.size;
+ return;
+ }
+
+ readWant_ = ntohl(framing.size);
+ if (readWant_ > server_->getMaxFrameSize()) {
+ // Don't allow giant frame sizes. This prevents bad clients from
+ // causing us to try and allocate a giant buffer.
+ GlobalOutput.printf("TNonblockingServer: frame size too large "
+ "(%" PRIu32 " > %" PRIu64 ") from client %s. "
+ "Remote side not using TFramedTransport?",
+ readWant_,
+ (uint64_t)server_->getMaxFrameSize(),
+ tSocket_->getSocketInfo().c_str());
+ close();
+ return;
+ }
+ // size known; now get the rest of the frame
+ transition();
+ return;
+
+ case SOCKET_RECV:
+ // It is an error to be in this state if we already have all the data
+ assert(readBufferPos_ < readWant_);
+
+ try {
+ // Read from the socket
+ fetch = readWant_ - readBufferPos_;
+ got = tSocket_->read(readBuffer_ + readBufferPos_, fetch);
+ }
+ catch (TTransportException& te) {
+ GlobalOutput.printf("TConnection::workSocket(): %s", te.what());
+ close();
+
+ return;
+ }
+
+ if (got > 0) {
+ // Move along in the buffer
+ readBufferPos_ += got;
+
+ // Check that we did not overdo it
+ assert(readBufferPos_ <= readWant_);
+
+ // We are done reading, move onto the next state
+ if (readBufferPos_ == readWant_) {
+ transition();
+ }
+ return;
+ }
+
+ // Whenever we get down here it means a remote disconnect
+ close();
+
+ return;
+
+ case SOCKET_SEND:
+ // Should never have position past size
+ assert(writeBufferPos_ <= writeBufferSize_);
+
+ // If there is no data to send, then let us move on
+ if (writeBufferPos_ == writeBufferSize_) {
+ GlobalOutput("WARNING: Send state with no data to send\n");
+ transition();
+ return;
+ }
+
+ try {
+ left = writeBufferSize_ - writeBufferPos_;
+ sent = tSocket_->write_partial(writeBuffer_ + writeBufferPos_, left);
+ }
+ catch (TTransportException& te) {
+ GlobalOutput.printf("TConnection::workSocket(): %s ", te.what());
+ close();
+ return;
+ }
+
+ writeBufferPos_ += sent;
+
+ // Did we overdo it?
+ assert(writeBufferPos_ <= writeBufferSize_);
+
+ // We are done!
+ if (writeBufferPos_ == writeBufferSize_) {
+ transition();
+ }
+
+ return;
+
+ default:
+ GlobalOutput.printf("Unexpected Socket State %d", socketState_);
+ assert(0);
+ }
+}
+
+/**
+ * This is called when the application transitions from one state into
+ * another. This means that it has finished writing the data that it needed
+ * to, or finished receiving the data that it needed to.
+ */
+void TNonblockingServer::TConnection::transition() {
+ // ensure this connection is active right now
+ assert(ioThread_);
+ assert(server_);
+
+ // Switch upon the state that we are currently in and move to a new state
+ switch (appState_) {
+
+ case APP_READ_REQUEST:
+ // We are done reading the request, package the read buffer into transport
+ // and get back some data from the dispatch function
+ inputTransport_->resetBuffer(readBuffer_, readBufferPos_);
+ outputTransport_->resetBuffer();
+ // Prepend four bytes of blank space to the buffer so we can
+ // write the frame size there later.
+ outputTransport_->getWritePtr(4);
+ outputTransport_->wroteBytes(4);
+
+ server_->incrementActiveProcessors();
+
+ if (server_->isThreadPoolProcessing()) {
+ // We are setting up a Task to do this work and we will wait on it
+
+ // Create task and dispatch to the thread manager
+ boost::shared_ptr<Runnable> task =
+ boost::shared_ptr<Runnable>(new Task(processor_,
+ inputProtocol_,
+ outputProtocol_,
+ this));
+ // The application is now waiting on the task to finish
+ appState_ = APP_WAIT_TASK;
+
+ try {
+ server_->addTask(task);
+ } catch (IllegalStateException & ise) {
+ // The ThreadManager is not ready to handle any more tasks (it's probably shutting down).
+ GlobalOutput.printf("IllegalStateException: Server::process() %s", ise.what());
+ close();
+ }
+
+ // Set this connection idle so that libevent doesn't process more
+ // data on it while we're still waiting for the threadmanager to
+ // finish this task
+ setIdle();
+ return;
+ } else {
+ try {
+ if (serverEventHandler_) {
+ serverEventHandler_->processContext(connectionContext_,
+ getTSocket());
+ }
+ // Invoke the processor
+ processor_->process(inputProtocol_, outputProtocol_,
+ connectionContext_);
+ } catch (const TTransportException &ttx) {
+ GlobalOutput.printf("TNonblockingServer transport error in "
+ "process(): %s", ttx.what());
+ server_->decrementActiveProcessors();
+ close();
+ return;
+ } catch (const std::exception &x) {
+ GlobalOutput.printf("Server::process() uncaught exception: %s: %s",
+ typeid(x).name(), x.what());
+ server_->decrementActiveProcessors();
+ close();
+ return;
+ } catch (...) {
+ GlobalOutput.printf("Server::process() unknown exception");
+ server_->decrementActiveProcessors();
+ close();
+ return;
+ }
+ }
+
+ // Intentionally fall through here, the call to process has written into
+ // the writeBuffer_
+
+ case APP_WAIT_TASK:
+ // We have now finished processing a task and the result has been written
+ // into the outputTransport_, so we grab its contents and place them into
+ // the writeBuffer_ for actual writing by the libevent thread
+
+ server_->decrementActiveProcessors();
+ // Get the result of the operation
+ outputTransport_->getBuffer(&writeBuffer_, &writeBufferSize_);
+
+ // If the function call generated return data, then move into the send
+ // state and get going
+ // 4 bytes were reserved for frame size
+ if (writeBufferSize_ > 4) {
+
+ // Move into write state
+ writeBufferPos_ = 0;
+ socketState_ = SOCKET_SEND;
+
+ // Put the frame size into the write buffer
+ int32_t frameSize = (int32_t)htonl(writeBufferSize_ - 4);
+ memcpy(writeBuffer_, &frameSize, 4);
+
+ // Socket into write mode
+ appState_ = APP_SEND_RESULT;
+ setWrite();
+
+ // Try to work the socket immediately
+ // workSocket();
+
+ return;
+ }
+
+ // In this case, the request was oneway and we should fall through
+ // right back into the read frame header state
+ goto LABEL_APP_INIT;
+
+ case APP_SEND_RESULT:
+ // it's now safe to perform buffer size housekeeping.
+ if (writeBufferSize_ > largestWriteBufferSize_) {
+ largestWriteBufferSize_ = writeBufferSize_;
+ }
+ if (server_->getResizeBufferEveryN() > 0
+ && ++callsForResize_ >= server_->getResizeBufferEveryN()) {
+ checkIdleBufferMemLimit(server_->getIdleReadBufferLimit(),
+ server_->getIdleWriteBufferLimit());
+ callsForResize_ = 0;
+ }
+
+ // N.B.: We also intentionally fall through here into the INIT state!
+
+ LABEL_APP_INIT:
+ case APP_INIT:
+
+ // Clear write buffer variables
+ writeBuffer_ = NULL;
+ writeBufferPos_ = 0;
+ writeBufferSize_ = 0;
+
+ // Into read4 state we go
+ socketState_ = SOCKET_RECV_FRAMING;
+ appState_ = APP_READ_FRAME_SIZE;
+
+ readBufferPos_ = 0;
+
+ // Register read event
+ setRead();
+
+ // Try to work the socket right away
+ // workSocket();
+
+ return;
+
+ case APP_READ_FRAME_SIZE:
+ // We just read the request length
+ // Double the buffer size until it is big enough
+ if (readWant_ > readBufferSize_) {
+ if (readBufferSize_ == 0) {
+ readBufferSize_ = 1;
+ }
+ uint32_t newSize = readBufferSize_;
+ while (readWant_ > newSize) {
+ newSize *= 2;
+ }
+
+ uint8_t* newBuffer = (uint8_t*)std::realloc(readBuffer_, newSize);
+ if (newBuffer == NULL) {
+ // nothing else to be done...
+ throw std::bad_alloc();
+ }
+ readBuffer_ = newBuffer;
+ readBufferSize_ = newSize;
+ }
+
+ readBufferPos_= 0;
+
+ // Move into read request state
+ socketState_ = SOCKET_RECV;
+ appState_ = APP_READ_REQUEST;
+
+ // Work the socket right away
+ // workSocket();
+
+ return;
+
+ case APP_CLOSE_CONNECTION:
+ server_->decrementActiveProcessors();
+ close();
+ return;
+
+ default:
+ GlobalOutput.printf("Unexpected Application State %d", appState_);
+ assert(0);
+ }
+}
+
+void TNonblockingServer::TConnection::setFlags(short eventFlags) {
+ // Catch the do nothing case
+ if (eventFlags_ == eventFlags) {
+ return;
+ }
+
+ // Delete a previously existing event
+ if (eventFlags_ != 0) {
+ if (event_del(&event_) == -1) {
+ GlobalOutput("TConnection::setFlags event_del");
+ return;
+ }
+ }
+
+ // Update in memory structure
+ eventFlags_ = eventFlags;
+
+ // Do not call event_set if there are no flags
+ if (!eventFlags_) {
+ return;
+ }
+
+ /*
+ * event_set:
+ *
+ * Prepares the event structure &event to be used in future calls to
+ * event_add() and event_del(). The event will be prepared to call the
+ * eventHandler using the 'sock' file descriptor to monitor events.
+ *
+ * The events can be either EV_READ, EV_WRITE, or both, indicating
+ * that an application can read or write from the file respectively without
+ * blocking.
+ *
+ * The eventHandler will be called with the file descriptor that triggered
+ * the event and the type of event which will be one of: EV_TIMEOUT,
+ * EV_SIGNAL, EV_READ, EV_WRITE.
+ *
+ * The additional flag EV_PERSIST makes an event_add() persistent until
+ * event_del() has been called.
+ *
+ * Once initialized, the &event struct can be used repeatedly with
+ * event_add() and event_del() and does not need to be reinitialized unless
+ * the eventHandler and/or the argument to it are to be changed. However,
+ * when an ev structure has been added to libevent using event_add() the
+ * structure must persist until the event occurs (assuming EV_PERSIST
+ * is not set) or is removed using event_del(). You may not reuse the same
+ * ev structure for multiple monitored descriptors; each descriptor needs
+ * its own ev.
+ */
+ event_set(&event_, tSocket_->getSocketFD(), eventFlags_,
+ TConnection::eventHandler, this);
+ event_base_set(ioThread_->getEventBase(), &event_);
+
+ // Add the event
+ if (event_add(&event_, 0) == -1) {
+ GlobalOutput("TConnection::setFlags(): could not event_add");
+ }
+}
+
+/**
+ * Closes a connection
+ */
+void TNonblockingServer::TConnection::close() {
+ // Delete the registered libevent
+ if (event_del(&event_) == -1) {
+ GlobalOutput.perror("TConnection::close() event_del", THRIFT_GET_SOCKET_ERROR);
+ }
+
+ if (serverEventHandler_) {
+ serverEventHandler_->deleteContext(connectionContext_, inputProtocol_, outputProtocol_);
+ }
+ ioThread_ = NULL;
+
+ // Close the socket
+ tSocket_->close();
+
+ // close any factory produced transports
+ factoryInputTransport_->close();
+ factoryOutputTransport_->close();
+
+ // Give this object back to the server that owns it
+ server_->returnConnection(this);
+}
+
+void TNonblockingServer::TConnection::checkIdleBufferMemLimit(
+ size_t readLimit,
+ size_t writeLimit) {
+ if (readLimit > 0 && readBufferSize_ > readLimit) {
+ free(readBuffer_);
+ readBuffer_ = NULL;
+ readBufferSize_ = 0;
+ }
+
+ if (writeLimit > 0 && largestWriteBufferSize_ > writeLimit) {
+ // just start over
+ outputTransport_->resetBuffer(static_cast<uint32_t>(server_->getWriteBufferDefaultSize()));
+ largestWriteBufferSize_ = 0;
+ }
+}
+
+TNonblockingServer::~TNonblockingServer() {
+ // Close any active connections (moves them to the idle connection stack)
+ while (activeConnections_.size()) {
+ activeConnections_.front()->close();
+ }
+ // Clean up unused TConnection objects in connectionStack_
+ while (!connectionStack_.empty()) {
+ TConnection* connection = connectionStack_.top();
+ connectionStack_.pop();
+ delete connection;
+ }
+ // The TNonblockingIOThread objects have shared_ptrs to the Thread
+ // objects and the Thread objects have shared_ptrs to the TNonblockingIOThread
+ // objects (as runnable) so these objects will never deallocate without help.
+ while (!ioThreads_.empty()) {
+ boost::shared_ptr<TNonblockingIOThread> iot = ioThreads_.back();
+ ioThreads_.pop_back();
+ iot->setThread(boost::shared_ptr<Thread>());
+ }
+}
+
+/**
+ * Creates a new connection either by reusing an object off the stack or
+ * by allocating a new one entirely
+ */
+TNonblockingServer::TConnection* TNonblockingServer::createConnection(
+ THRIFT_SOCKET socket, const sockaddr* addr, socklen_t addrLen) {
+ // Check the stack
+ Guard g(connMutex_);
+
+ // pick an IO thread to handle this connection -- currently round robin
+ assert(nextIOThread_ < ioThreads_.size());
+ int selectedThreadIdx = nextIOThread_;
+ nextIOThread_ = (nextIOThread_ + 1) % ioThreads_.size();
+
+ TNonblockingIOThread* ioThread = ioThreads_[selectedThreadIdx].get();
+
+ // Check the connection stack to see if we can re-use
+ TConnection* result = NULL;
+ if (connectionStack_.empty()) {
+ result = new TConnection(socket, ioThread, addr, addrLen);
+ ++numTConnections_;
+ } else {
+ result = connectionStack_.top();
+ connectionStack_.pop();
+ result->init(socket, ioThread, addr, addrLen);
+ }
+ activeConnections_.push_back(result);
+ return result;
+}
+
+/**
+ * Returns a connection to the stack
+ */
+void TNonblockingServer::returnConnection(TConnection* connection) {
+ Guard g(connMutex_);
+
+ activeConnections_.erase(std::remove(activeConnections_.begin(), activeConnections_.end(), connection), activeConnections_.end());
+
+ if (connectionStackLimit_ &&
+ (connectionStack_.size() >= connectionStackLimit_)) {
+ delete connection;
+ --numTConnections_;
+ } else {
+ connection->checkIdleBufferMemLimit(idleReadBufferLimit_, idleWriteBufferLimit_);
+ connectionStack_.push(connection);
+ }
+}
+
+/**
+ * Server socket had something happen. We accept all waiting client
+ * connections on fd and assign TConnection objects to handle those requests.
+ */
+void TNonblockingServer::handleEvent(THRIFT_SOCKET fd, short which) {
+ (void) which;
+ // Make sure that libevent didn't mess up the socket handles
+ assert(fd == serverSocket_);
+
+ // Server socket accepted a new connection
+ socklen_t addrLen;
+ sockaddr_storage addrStorage;
+ sockaddr* addrp = (sockaddr*)&addrStorage;
+ addrLen = sizeof(addrStorage);
+
+ // Going to accept a new client socket
+ THRIFT_SOCKET clientSocket;
+
+ // Accept as many new clients as possible, even though libevent signaled only
+ // one, this helps us to avoid having to go back into the libevent engine so
+ // many times
+ while ((clientSocket = ::accept(fd, addrp, &addrLen)) != -1) {
+ // If we're overloaded, take action here
+ if (overloadAction_ != T_OVERLOAD_NO_ACTION && serverOverloaded()) {
+ Guard g(connMutex_);
+ nConnectionsDropped_++;
+ nTotalConnectionsDropped_++;
+ if (overloadAction_ == T_OVERLOAD_CLOSE_ON_ACCEPT) {
+ ::THRIFT_CLOSESOCKET(clientSocket);
+ return;
+ } else if (overloadAction_ == T_OVERLOAD_DRAIN_TASK_QUEUE) {
+ if (!drainPendingTask()) {
+ // Nothing left to discard, so we drop connection instead.
+ ::THRIFT_CLOSESOCKET(clientSocket);
+ return;
+ }
+ }
+ }
+
+ // Explicitly set this socket to NONBLOCK mode
+ int flags;
+ if ((flags = THRIFT_FCNTL(clientSocket, THRIFT_F_GETFL, 0)) < 0 ||
+ THRIFT_FCNTL(clientSocket, THRIFT_F_SETFL, flags | THRIFT_O_NONBLOCK) < 0) {
+ GlobalOutput.perror("thriftServerEventHandler: set THRIFT_O_NONBLOCK (THRIFT_FCNTL) ", THRIFT_GET_SOCKET_ERROR);
+ ::THRIFT_CLOSESOCKET(clientSocket);
+ return;
+ }
+
+ // Create a new TConnection for this client socket.
+ TConnection* clientConnection =
+ createConnection(clientSocket, addrp, addrLen);
+
+ // Fail fast if we could not create a TConnection object
+ if (clientConnection == NULL) {
+ GlobalOutput.printf("thriftServerEventHandler: failed TConnection factory");
+ ::THRIFT_CLOSESOCKET(clientSocket);
+ return;
+ }
+
+ /*
+ * Either notify the ioThread that is assigned this connection to
+ * start processing, or if it is us, we'll just ask this
+ * connection to do its initial state change here.
+ *
+ * (We need to avoid writing to our own notification pipe, to
+ * avoid possible deadlocks if the pipe is full.)
+ *
+ * The IO thread #0 is the only one that handles these listen
+ * events, so unless the connection has been assigned to thread #0
+ * we know it's not on our thread.
+ */
+ if (clientConnection->getIOThreadNumber() == 0) {
+ clientConnection->transition();
+ } else {
+ clientConnection->notifyIOThread();
+ }
+
+ // addrLen is written by the accept() call, so needs to be set before the next call.
+ addrLen = sizeof(addrStorage);
+ }
+
+
+ // Done looping accept, now we have to make sure the error is due to
+ // blocking. Any other error is a problem
+ if (THRIFT_GET_SOCKET_ERROR != THRIFT_EAGAIN && THRIFT_GET_SOCKET_ERROR != THRIFT_EWOULDBLOCK) {
+ GlobalOutput.perror("thriftServerEventHandler: accept() ", THRIFT_GET_SOCKET_ERROR);
+ }
+}
+
+/**
+ * Creates a socket to listen on and binds it to the local port.
+ */
+void TNonblockingServer::createAndListenOnSocket() {
+ THRIFT_SOCKET s;
+
+ struct addrinfo hints, *res, *res0;
+ int error;
+
+ char port[sizeof("65536") + 1];
+ memset(&hints, 0, sizeof(hints));
+ hints.ai_family = PF_UNSPEC;
+ hints.ai_socktype = SOCK_STREAM;
+ hints.ai_flags = AI_PASSIVE | AI_ADDRCONFIG;
+ sprintf(port, "%d", port_);
+
+ // Wildcard address
+ error = getaddrinfo(NULL, port, &hints, &res0);
+ if (error) {
+ throw TException("TNonblockingServer::serve() getaddrinfo " +
+ string(THRIFT_GAI_STRERROR(error)));
+ }
+
+ // Pick the ipv6 address first since ipv4 addresses can be mapped
+ // into ipv6 space.
+ for (res = res0; res; res = res->ai_next) {
+ if (res->ai_family == AF_INET6 || res->ai_next == NULL)
+ break;
+ }
+
+ // Create the server socket
+ s = socket(res->ai_family, res->ai_socktype, res->ai_protocol);
+ if (s == -1) {
+ freeaddrinfo(res0);
+ throw TException("TNonblockingServer::serve() socket() -1");
+ }
+
+ #ifdef IPV6_V6ONLY
+ if (res->ai_family == AF_INET6) {
+ int zero = 0;
+ if (-1 == setsockopt(s, IPPROTO_IPV6, IPV6_V6ONLY, const_cast_sockopt(&zero), sizeof(zero))) {
+ GlobalOutput("TServerSocket::listen() IPV6_V6ONLY");
+ }
+ }
+ #endif // #ifdef IPV6_V6ONLY
+
+
+ int one = 1;
+
+ // Set THRIFT_NO_SOCKET_CACHING to avoid 2MSL delay on server restart
+ setsockopt(s, SOL_SOCKET, THRIFT_NO_SOCKET_CACHING, const_cast_sockopt(&one), sizeof(one));
+
+ if (::bind(s, res->ai_addr, static_cast<int>(res->ai_addrlen)) == -1) {
+ ::THRIFT_CLOSESOCKET(s);
+ freeaddrinfo(res0);
+ throw TTransportException(TTransportException::NOT_OPEN,
+ "TNonblockingServer::serve() bind",
+ THRIFT_GET_SOCKET_ERROR);
+ }
+
+ // Done with the addr info
+ freeaddrinfo(res0);
+
+ // Set up this file descriptor for listening
+ listenSocket(s);
+}
+
+/**
+ * Takes a socket created by listenSocket() and sets various options on it
+ * to prepare for use in the server.
+ */
+void TNonblockingServer::listenSocket(THRIFT_SOCKET s) {
+ // Set socket to nonblocking mode
+ int flags;
+ if ((flags = THRIFT_FCNTL(s, THRIFT_F_GETFL, 0)) < 0 ||
+ THRIFT_FCNTL(s, THRIFT_F_SETFL, flags | THRIFT_O_NONBLOCK) < 0) {
+ ::THRIFT_CLOSESOCKET(s);
+ throw TException("TNonblockingServer::serve() THRIFT_O_NONBLOCK");
+ }
+
+ int one = 1;
+ struct linger ling = {0, 0};
+
+ // Keepalive to ensure full result flushing
+ setsockopt(s, SOL_SOCKET, SO_KEEPALIVE, const_cast_sockopt(&one), sizeof(one));
+
+ // Turn linger off to avoid hung sockets
+ setsockopt(s, SOL_SOCKET, SO_LINGER, const_cast_sockopt(&ling), sizeof(ling));
+
+ // Set TCP nodelay if available, MAC OS X Hack
+ // See http://lists.danga.com/pipermail/memcached/2005-March/001240.html
+ #ifndef TCP_NOPUSH
+ setsockopt(s, IPPROTO_TCP, TCP_NODELAY, const_cast_sockopt(&one), sizeof(one));
+ #endif
+
+ #ifdef TCP_LOW_MIN_RTO
+ if (TSocket::getUseLowMinRto()) {
+ setsockopt(s, IPPROTO_TCP, TCP_LOW_MIN_RTO, const_cast_sockopt(&one), sizeof(one));
+ }
+ #endif
+
+ if (listen(s, LISTEN_BACKLOG) == -1) {
+ ::THRIFT_CLOSESOCKET(s);
+ throw TException("TNonblockingServer::serve() listen");
+ }
+
+ // Cool, this socket is good to go, set it as the serverSocket_
+ serverSocket_ = s;
+}
+
+void TNonblockingServer::setThreadManager(boost::shared_ptr<ThreadManager> threadManager) {
+ threadManager_ = threadManager;
+ if (threadManager) {
+ threadManager->setExpireCallback(apache::thrift::stdcxx::bind(&TNonblockingServer::expireClose, this, apache::thrift::stdcxx::placeholders::_1));
+ threadPoolProcessing_ = true;
+ } else {
+ threadPoolProcessing_ = false;
+ }
+}
+
+bool TNonblockingServer::serverOverloaded() {
+ size_t activeConnections = numTConnections_ - connectionStack_.size();
+ if (numActiveProcessors_ > maxActiveProcessors_ ||
+ activeConnections > maxConnections_) {
+ if (!overloaded_) {
+ GlobalOutput.printf("TNonblockingServer: overload condition begun.");
+ overloaded_ = true;
+ }
+ } else {
+ if (overloaded_ &&
+ (numActiveProcessors_ <= overloadHysteresis_ * maxActiveProcessors_) &&
+ (activeConnections <= overloadHysteresis_ * maxConnections_)) {
+ GlobalOutput.printf("TNonblockingServer: overload ended; "
+ "%u dropped (%llu total)",
+ nConnectionsDropped_, nTotalConnectionsDropped_);
+ nConnectionsDropped_ = 0;
+ overloaded_ = false;
+ }
+ }
+
+ return overloaded_;
+}
+
+bool TNonblockingServer::drainPendingTask() {
+ if (threadManager_) {
+ boost::shared_ptr<Runnable> task = threadManager_->removeNextPending();
+ if (task) {
+ TConnection* connection =
+ static_cast<TConnection::Task*>(task.get())->getTConnection();
+ assert(connection && connection->getServer()
+ && connection->getState() == APP_WAIT_TASK);
+ connection->forceClose();
+ return true;
+ }
+ }
+ return false;
+}
+
+void TNonblockingServer::expireClose(boost::shared_ptr<Runnable> task) {
+ TConnection* connection =
+ static_cast<TConnection::Task*>(task.get())->getTConnection();
+ assert(connection && connection->getServer() &&
+ connection->getState() == APP_WAIT_TASK);
+ connection->forceClose();
+}
+
+void TNonblockingServer::stop() {
+ // Breaks the event loop in all threads so that they end ASAP.
+ for (uint32_t i = 0; i < ioThreads_.size(); ++i) {
+ ioThreads_[i]->stop();
+ }
+}
+
+void TNonblockingServer::registerEvents(event_base* user_event_base) {
+ userEventBase_ = user_event_base;
+
+ // init listen socket
+ if (serverSocket_ == THRIFT_INVALID_SOCKET)
+ createAndListenOnSocket();
+
+ // set up the IO threads
+ assert(ioThreads_.empty());
+ if (!numIOThreads_) {
+ numIOThreads_ = DEFAULT_IO_THREADS;
+ }
+
+ for (uint32_t id = 0; id < numIOThreads_; ++id) {
+ // the first IO thread also does the listening on server socket
+ THRIFT_SOCKET listenFd = (id == 0 ? serverSocket_ : THRIFT_INVALID_SOCKET);
+
+ shared_ptr<TNonblockingIOThread> thread(
+ new TNonblockingIOThread(this, id, listenFd, useHighPriorityIOThreads_));
+ ioThreads_.push_back(thread);
+ }
+
+ // Notify handler of the preServe event
+ if (eventHandler_) {
+ eventHandler_->preServe();
+ }
+
+ // Start all of our helper IO threads. Note that the threads run forever,
+ // only terminating if stop() is called.
+ assert(ioThreads_.size() == numIOThreads_);
+ assert(ioThreads_.size() > 0);
+
+ GlobalOutput.printf("TNonblockingServer: Serving on port %d, %d io threads.",
+ port_, ioThreads_.size());
+
+ // Launch all the secondary IO threads in separate threads
+ if (ioThreads_.size() > 1) {
+ ioThreadFactory_.reset(new PlatformThreadFactory(
+#if !defined(USE_BOOST_THREAD) && !defined(USE_STD_THREAD)
+ PlatformThreadFactory::OTHER, // scheduler
+ PlatformThreadFactory::NORMAL, // priority
+ 1, // stack size (MB)
+#endif
+ false // detached
+ ));
+
+ assert(ioThreadFactory_.get());
+
+ // intentionally starting at thread 1, not 0
+ for (uint32_t i = 1; i < ioThreads_.size(); ++i) {
+ shared_ptr<Thread> thread = ioThreadFactory_->newThread(ioThreads_[i]);
+ ioThreads_[i]->setThread(thread);
+ thread->start();
+ }
+ }
+
+ // Register the events for the primary (listener) IO thread
+ ioThreads_[0]->registerEvents();
+}
+
+/**
+ * Main workhorse function, starts up the server listening on a port and
+ * loops over the libevent handler.
+ */
+void TNonblockingServer::serve() {
+
+ registerEvents(NULL);
+
+ // Run the primary (listener) IO thread loop in our main thread; this will
+ // only return when the server is shutting down.
+ ioThreads_[0]->run();
+
+ // Ensure all threads are finished before exiting serve()
+ for (uint32_t i = 0; i < ioThreads_.size(); ++i) {
+ ioThreads_[i]->join();
+ GlobalOutput.printf("TNonblocking: join done for IO thread #%d", i);
+ }
+}
+
+TNonblockingIOThread::TNonblockingIOThread(TNonblockingServer* server,
+ int number,
+ THRIFT_SOCKET listenSocket,
+ bool useHighPriority)
+ : server_(server)
+ , number_(number)
+ , listenSocket_(listenSocket)
+ , useHighPriority_(useHighPriority)
+ , eventBase_(NULL)
+ , ownEventBase_(false) {
+ notificationPipeFDs_[0] = -1;
+ notificationPipeFDs_[1] = -1;
+}
+
+TNonblockingIOThread::~TNonblockingIOThread() {
+ // make sure our associated thread is fully finished
+ join();
+
+ if (eventBase_ && ownEventBase_) {
+ event_base_free(eventBase_);
+ ownEventBase_ = false;
+ }
+
+ if (listenSocket_ >= 0) {
+ if (0 != ::THRIFT_CLOSESOCKET(listenSocket_)) {
+ GlobalOutput.perror("TNonblockingIOThread listenSocket_ close(): ",
+ THRIFT_GET_SOCKET_ERROR);
+ }
+ listenSocket_ = THRIFT_INVALID_SOCKET;
+ }
+
+ for (int i = 0; i < 2; ++i) {
+ if (notificationPipeFDs_[i] >= 0) {
+ if (0 != ::THRIFT_CLOSESOCKET(notificationPipeFDs_[i])) {
+ GlobalOutput.perror("TNonblockingIOThread notificationPipe close(): ",
+ THRIFT_GET_SOCKET_ERROR);
+ }
+ notificationPipeFDs_[i] = THRIFT_INVALID_SOCKET;
+ }
+ }
+}
+
+void TNonblockingIOThread::createNotificationPipe() {
+ if(evutil_socketpair(AF_LOCAL, SOCK_STREAM, 0, notificationPipeFDs_) == -1) {
+ GlobalOutput.perror("TNonblockingServer::createNotificationPipe ", EVUTIL_SOCKET_ERROR());
+ throw TException("can't create notification pipe");
+ }
+ if(evutil_make_socket_nonblocking(notificationPipeFDs_[0])<0 ||
+ evutil_make_socket_nonblocking(notificationPipeFDs_[1])<0) {
+ ::THRIFT_CLOSESOCKET(notificationPipeFDs_[0]);
+ ::THRIFT_CLOSESOCKET(notificationPipeFDs_[1]);
+ throw TException("TNonblockingServer::createNotificationPipe() THRIFT_O_NONBLOCK");
+ }
+ for (int i = 0; i < 2; ++i) {
+#if LIBEVENT_VERSION_NUMBER < 0x02000000
+ int flags;
+ if ((flags = THRIFT_FCNTL(notificationPipeFDs_[i], F_GETFD, 0)) < 0 ||
+ THRIFT_FCNTL(notificationPipeFDs_[i], F_SETFD, flags | FD_CLOEXEC) < 0) {
+#else
+ if (evutil_make_socket_closeonexec(notificationPipeFDs_[i]) < 0) {
+#endif
+ ::THRIFT_CLOSESOCKET(notificationPipeFDs_[0]);
+ ::THRIFT_CLOSESOCKET(notificationPipeFDs_[1]);
+ throw TException("TNonblockingServer::createNotificationPipe() "
+ "FD_CLOEXEC");
+ }
+ }
+}
+
+/**
+ * Register the core libevent events onto the proper base.
+ */
+void TNonblockingIOThread::registerEvents() {
+ threadId_ = Thread::get_current();
+
+ assert(eventBase_ == 0);
+ eventBase_ = getServer()->getUserEventBase();
+ if (eventBase_ == NULL) {
+ eventBase_ = event_base_new();
+ ownEventBase_ = true;
+ }
+
+ // Print some libevent stats
+ if (number_ == 0) {
+ GlobalOutput.printf("TNonblockingServer: using libevent %s method %s",
+ event_get_version(),
+ event_base_get_method(eventBase_));
+ }
+
+ if (listenSocket_ >= 0) {
+ // Register the server event
+ event_set(&serverEvent_,
+ listenSocket_,
+ EV_READ | EV_PERSIST,
+ TNonblockingIOThread::listenHandler,
+ server_);
+ event_base_set(eventBase_, &serverEvent_);
+
+ // Add the event and start up the server
+ if (-1 == event_add(&serverEvent_, 0)) {
+ throw TException("TNonblockingServer::serve(): "
+ "event_add() failed on server listen event");
+ }
+ GlobalOutput.printf("TNonblocking: IO thread #%d registered for listen.",
+ number_);
+ }
+
+ createNotificationPipe();
+
+ // Create an event to be notified when a task finishes
+ event_set(¬ificationEvent_,
+ getNotificationRecvFD(),
+ EV_READ | EV_PERSIST,
+ TNonblockingIOThread::notifyHandler,
+ this);
+
+ // Attach to the base
+ event_base_set(eventBase_, ¬ificationEvent_);
+
+ // Add the event and start up the server
+ if (-1 == event_add(¬ificationEvent_, 0)) {
+ throw TException("TNonblockingServer::serve(): "
+ "event_add() failed on task-done notification event");
+ }
+ GlobalOutput.printf("TNonblocking: IO thread #%d registered for notify.",
+ number_);
+}
+
+bool TNonblockingIOThread::notify(TNonblockingServer::TConnection* conn) {
+ THRIFT_SOCKET fd = getNotificationSendFD();
+ if (fd < 0) {
+ return false;
+ }
+
+ const int kSize = sizeof(conn);
+ if (send(fd, const_cast_sockopt(&conn), kSize, 0) != kSize) {
+ return false;
+ }
+
+ return true;
+}
+
+/* static */
+void TNonblockingIOThread::notifyHandler(evutil_socket_t fd, short which, void* v) {
+ TNonblockingIOThread* ioThread = (TNonblockingIOThread*) v;
+ assert(ioThread);
+ (void)which;
+
+ while (true) {
+ TNonblockingServer::TConnection* connection = 0;
+ const int kSize = sizeof(connection);
+ int nBytes = recv(fd, cast_sockopt(&connection), kSize, 0);
+ if (nBytes == kSize) {
+ if (connection == NULL) {
+ // this is the command to stop our thread, exit the handler!
+ return;
+ }
+ connection->transition();
+ } else if (nBytes > 0) {
+ // throw away these bytes and hope that next time we get a solid read
+ GlobalOutput.printf("notifyHandler: Bad read of %d bytes, wanted %d",
+ nBytes, kSize);
+ ioThread->breakLoop(true);
+ return;
+ } else if (nBytes == 0) {
+ GlobalOutput.printf("notifyHandler: Notify socket closed!");
+ // exit the loop
+ break;
+ } else { // nBytes < 0
+ if (THRIFT_GET_SOCKET_ERROR != THRIFT_EWOULDBLOCK && THRIFT_GET_SOCKET_ERROR != THRIFT_EAGAIN) {
+ GlobalOutput.perror(
+ "TNonblocking: notifyHandler read() failed: ", THRIFT_GET_SOCKET_ERROR);
+ ioThread->breakLoop(true);
+ return;
+ }
+ // exit the loop
+ break;
+ }
+ }
+}
+
+void TNonblockingIOThread::breakLoop(bool error) {
+ if (error) {
+ GlobalOutput.printf(
+ "TNonblockingServer: IO thread #%d exiting with error.", number_);
+ // TODO: figure out something better to do here, but for now kill the
+ // whole process.
+ GlobalOutput.printf("TNonblockingServer: aborting process.");
+ ::abort();
+ }
+
+ // sets a flag so that the loop exits on the next event
+ event_base_loopbreak(eventBase_);
+
+ // event_base_loopbreak() only causes the loop to exit the next time
+ // it wakes up. We need to force it to wake up, in case there are
+ // no real events it needs to process.
+ //
+ // If we're running in the same thread, we can't use the notify(0)
+ // mechanism to stop the thread, but happily if we're running in the
+ // same thread, this means the thread can't be blocking in the event
+ // loop either.
+ if (!Thread::is_current(threadId_)) {
+ notify(NULL);
+ }
+}
+
+void TNonblockingIOThread::setCurrentThreadHighPriority(bool value) {
+#ifdef HAVE_SCHED_H
+ // Start out with a standard, low-priority setup for the sched params.
+ struct sched_param sp;
+ bzero((void*) &sp, sizeof(sp));
+ int policy = SCHED_OTHER;
+
+ // If desired, set up high-priority sched params structure.
+ if (value) {
+ // FIFO scheduler, ranked above default SCHED_OTHER queue
+ policy = SCHED_FIFO;
+ // The priority only compares us to other SCHED_FIFO threads, so we
+ // just pick a random priority halfway between min & max.
+ const int priority = (sched_get_priority_max(policy) +
+ sched_get_priority_min(policy)) / 2;
+
+ sp.sched_priority = priority;
+ }
+
+ // Actually set the sched params for the current thread.
+ if (0 == pthread_setschedparam(pthread_self(), policy, &sp)) {
+ GlobalOutput.printf(
+ "TNonblocking: IO Thread #%d using high-priority scheduler!", number_);
+ } else {
+ GlobalOutput.perror("TNonblocking: pthread_setschedparam(): ", THRIFT_GET_SOCKET_ERROR);
+ }
+#else
+ THRIFT_UNUSED_VARIABLE(value);
+#endif
+}
+
+void TNonblockingIOThread::run() {
+ if (eventBase_ == NULL)
+ registerEvents();
+
+ GlobalOutput.printf("TNonblockingServer: IO thread #%d entering loop...",
+ number_);
+
+ if (useHighPriority_) {
+ setCurrentThreadHighPriority(true);
+ }
+
+ // Run libevent engine, never returns, invokes calls to eventHandler
+ event_base_loop(eventBase_, 0);
+
+ if (useHighPriority_) {
+ setCurrentThreadHighPriority(false);
+ }
+
+ // cleans up our registered events
+ cleanupEvents();
+
+ GlobalOutput.printf("TNonblockingServer: IO thread #%d run() done!",
+ number_);
+}
+
+void TNonblockingIOThread::cleanupEvents() {
+ // stop the listen socket, if any
+ if (listenSocket_ >= 0) {
+ if (event_del(&serverEvent_) == -1) {
+ GlobalOutput.perror("TNonblockingIOThread::stop() event_del: ", THRIFT_GET_SOCKET_ERROR);
+ }
+ }
+
+ event_del(¬ificationEvent_);
+}
+
+
+void TNonblockingIOThread::stop() {
+ // This should cause the thread to fall out of its event loop ASAP.
+ breakLoop(false);
+}
+
+void TNonblockingIOThread::join() {
+ // If this was a thread created by a factory (not the thread that called
+ // serve()), we join() it to make sure we shut down fully.
+ if (thread_) {
+ try {
+ // Note that it is safe to both join() ourselves twice, as well as join
+ // the current thread as the pthread implementation checks for deadlock.
+ thread_->join();
+ } catch(...) {
+ // swallow everything
+ }
+ }
+}
+
+}}} // apache::thrift::server
http://git-wip-us.apache.org/repos/asf/airavata/blob/f891b7dc/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/server/TNonblockingServer.h
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/server/TNonblockingServer.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/server/TNonblockingServer.h
new file mode 100644
index 0000000..532d4ae
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/server/TNonblockingServer.h
@@ -0,0 +1,944 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you 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 _THRIFT_SERVER_TNONBLOCKINGSERVER_H_
+#define _THRIFT_SERVER_TNONBLOCKINGSERVER_H_ 1
+
+#include <thrift/Thrift.h>
+#include <thrift/server/TServer.h>
+#include <thrift/transport/PlatformSocket.h>
+#include <thrift/transport/TBufferTransports.h>
+#include <thrift/transport/TSocket.h>
+#include <thrift/concurrency/ThreadManager.h>
+#include <climits>
+#include <thrift/concurrency/Thread.h>
+#include <thrift/concurrency/PlatformThreadFactory.h>
+#include <thrift/concurrency/Mutex.h>
+#include <stack>
+#include <vector>
+#include <string>
+#include <cstdlib>
+#ifdef HAVE_UNISTD_H
+#include <unistd.h>
+#endif
+#include <event.h>
+
+
+
+namespace apache { namespace thrift { namespace server {
+
+using apache::thrift::transport::TMemoryBuffer;
+using apache::thrift::transport::TSocket;
+using apache::thrift::protocol::TProtocol;
+using apache::thrift::concurrency::Runnable;
+using apache::thrift::concurrency::ThreadManager;
+using apache::thrift::concurrency::PlatformThreadFactory;
+using apache::thrift::concurrency::ThreadFactory;
+using apache::thrift::concurrency::Thread;
+using apache::thrift::concurrency::Mutex;
+using apache::thrift::concurrency::Guard;
+
+#ifdef LIBEVENT_VERSION_NUMBER
+#define LIBEVENT_VERSION_MAJOR (LIBEVENT_VERSION_NUMBER >> 24)
+#define LIBEVENT_VERSION_MINOR ((LIBEVENT_VERSION_NUMBER >> 16) & 0xFF)
+#define LIBEVENT_VERSION_REL ((LIBEVENT_VERSION_NUMBER >> 8) & 0xFF)
+#else
+// assume latest version 1 series
+#define LIBEVENT_VERSION_MAJOR 1
+#define LIBEVENT_VERSION_MINOR 14
+#define LIBEVENT_VERSION_REL 13
+#define LIBEVENT_VERSION_NUMBER ((LIBEVENT_VERSION_MAJOR << 24) | (LIBEVENT_VERSION_MINOR << 16) | (LIBEVENT_VERSION_REL << 8))
+#endif
+
+#if LIBEVENT_VERSION_NUMBER < 0x02000000
+ typedef THRIFT_SOCKET evutil_socket_t;
+#endif
+
+#ifndef SOCKOPT_CAST_T
+# ifndef _WIN32
+# define SOCKOPT_CAST_T void
+# else
+# define SOCKOPT_CAST_T char
+# endif // _WIN32
+#endif
+
+template<class T>
+inline const SOCKOPT_CAST_T* const_cast_sockopt(const T* v) {
+ return reinterpret_cast<const SOCKOPT_CAST_T*>(v);
+}
+
+template<class T>
+inline SOCKOPT_CAST_T* cast_sockopt(T* v) {
+ return reinterpret_cast<SOCKOPT_CAST_T*>(v);
+}
+
+/**
+ * This is a non-blocking server in C++ for high performance that
+ * operates a set of IO threads (by default only one). It assumes that
+ * all incoming requests are framed with a 4 byte length indicator and
+ * writes out responses using the same framing.
+ *
+ * It does not use the TServerTransport framework, but rather has socket
+ * operations hardcoded for use with select.
+ *
+ */
+
+
+/// Overload condition actions.
+enum TOverloadAction {
+ T_OVERLOAD_NO_ACTION, ///< Don't handle overload */
+ T_OVERLOAD_CLOSE_ON_ACCEPT, ///< Drop new connections immediately */
+ T_OVERLOAD_DRAIN_TASK_QUEUE ///< Drop some tasks from head of task queue */
+};
+
+class TNonblockingIOThread;
+
+class TNonblockingServer : public TServer {
+ private:
+ class TConnection;
+
+ friend class TNonblockingIOThread;
+ private:
+ /// Listen backlog
+ static const int LISTEN_BACKLOG = 1024;
+
+ /// Default limit on size of idle connection pool
+ static const size_t CONNECTION_STACK_LIMIT = 1024;
+
+ /// Default limit on frame size
+ static const int MAX_FRAME_SIZE = 256 * 1024 * 1024;
+
+ /// Default limit on total number of connected sockets
+ static const int MAX_CONNECTIONS = INT_MAX;
+
+ /// Default limit on connections in handler/task processing
+ static const int MAX_ACTIVE_PROCESSORS = INT_MAX;
+
+ /// Default size of write buffer
+ static const int WRITE_BUFFER_DEFAULT_SIZE = 1024;
+
+ /// Maximum size of read buffer allocated to idle connection (0 = unlimited)
+ static const int IDLE_READ_BUFFER_LIMIT = 1024;
+
+ /// Maximum size of write buffer allocated to idle connection (0 = unlimited)
+ static const int IDLE_WRITE_BUFFER_LIMIT = 1024;
+
+ /// # of calls before resizing oversized buffers (0 = check only on close)
+ static const int RESIZE_BUFFER_EVERY_N = 512;
+
+ /// # of IO threads to use by default
+ static const int DEFAULT_IO_THREADS = 1;
+
+ /// # of IO threads this server will use
+ size_t numIOThreads_;
+
+ /// Whether to set high scheduling priority for IO threads
+ bool useHighPriorityIOThreads_;
+
+ /// Server socket file descriptor
+ THRIFT_SOCKET serverSocket_;
+
+ /// Port server runs on
+ int port_;
+
+ /// The optional user-provided event-base (for single-thread servers)
+ event_base* userEventBase_;
+
+ /// For processing via thread pool, may be NULL
+ boost::shared_ptr<ThreadManager> threadManager_;
+
+ /// Is thread pool processing?
+ bool threadPoolProcessing_;
+
+ // Factory to create the IO threads
+ boost::shared_ptr<PlatformThreadFactory> ioThreadFactory_;
+
+ // Vector of IOThread objects that will handle our IO
+ std::vector<boost::shared_ptr<TNonblockingIOThread> > ioThreads_;
+
+ // Index of next IO Thread to be used (for round-robin)
+ uint32_t nextIOThread_;
+
+ // Synchronizes access to connection stack and similar data
+ Mutex connMutex_;
+
+ /// Number of TConnection object we've created
+ size_t numTConnections_;
+
+ /// Number of Connections processing or waiting to process
+ size_t numActiveProcessors_;
+
+ /// Limit for how many TConnection objects to cache
+ size_t connectionStackLimit_;
+
+ /// Limit for number of connections processing or waiting to process
+ size_t maxActiveProcessors_;
+
+ /// Limit for number of open connections
+ size_t maxConnections_;
+
+ /// Limit for frame size
+ size_t maxFrameSize_;
+
+ /// Time in milliseconds before an unperformed task expires (0 == infinite).
+ int64_t taskExpireTime_;
+
+ /**
+ * Hysteresis for overload state. This is the fraction of the overload
+ * value that needs to be reached before the overload state is cleared;
+ * must be <= 1.0.
+ */
+ double overloadHysteresis_;
+
+ /// Action to take when we're overloaded.
+ TOverloadAction overloadAction_;
+
+ /**
+ * The write buffer is initialized (and when idleWriteBufferLimit_ is checked
+ * and found to be exceeded, reinitialized) to this size.
+ */
+ size_t writeBufferDefaultSize_;
+
+ /**
+ * Max read buffer size for an idle TConnection. When we place an idle
+ * TConnection into connectionStack_ or on every resizeBufferEveryN_ calls,
+ * we will free the buffer (such that it will be reinitialized by the next
+ * received frame) if it has exceeded this limit. 0 disables this check.
+ */
+ size_t idleReadBufferLimit_;
+
+ /**
+ * Max write buffer size for an idle connection. When we place an idle
+ * TConnection into connectionStack_ or on every resizeBufferEveryN_ calls,
+ * we insure that its write buffer is <= to this size; otherwise we
+ * replace it with a new one of writeBufferDefaultSize_ bytes to insure that
+ * idle connections don't hog memory. 0 disables this check.
+ */
+ size_t idleWriteBufferLimit_;
+
+ /**
+ * Every N calls we check the buffer size limits on a connected TConnection.
+ * 0 disables (i.e. the checks are only done when a connection closes).
+ */
+ int32_t resizeBufferEveryN_;
+
+ /// Set if we are currently in an overloaded state.
+ bool overloaded_;
+
+ /// Count of connections dropped since overload started
+ uint32_t nConnectionsDropped_;
+
+ /// Count of connections dropped on overload since server started
+ uint64_t nTotalConnectionsDropped_;
+
+ /**
+ * This is a stack of all the objects that have been created but that
+ * are NOT currently in use. When we close a connection, we place it on this
+ * stack so that the object can be reused later, rather than freeing the
+ * memory and reallocating a new object later.
+ */
+ std::stack<TConnection*> connectionStack_;
+
+ /**
+ * This container holds pointers to all active connections. This container
+ * allows the server to clean up unlcosed connection objects at destruction,
+ * which in turn allows their transports, protocols, processors and handlers
+ * to deallocate and clean up correctly.
+ */
+ std::vector<TConnection*> activeConnections_;
+
+ /**
+ * Called when server socket had something happen. We accept all waiting
+ * client connections on listen socket fd and assign TConnection objects
+ * to handle those requests.
+ *
+ * @param fd the listen socket.
+ * @param which the event flag that triggered the handler.
+ */
+ void handleEvent(THRIFT_SOCKET fd, short which);
+
+ void init(int port) {
+ serverSocket_ = THRIFT_INVALID_SOCKET;
+ numIOThreads_ = DEFAULT_IO_THREADS;
+ nextIOThread_ = 0;
+ useHighPriorityIOThreads_ = false;
+ port_ = port;
+ userEventBase_ = NULL;
+ threadPoolProcessing_ = false;
+ numTConnections_ = 0;
+ numActiveProcessors_ = 0;
+ connectionStackLimit_ = CONNECTION_STACK_LIMIT;
+ maxActiveProcessors_ = MAX_ACTIVE_PROCESSORS;
+ maxConnections_ = MAX_CONNECTIONS;
+ maxFrameSize_ = MAX_FRAME_SIZE;
+ taskExpireTime_ = 0;
+ overloadHysteresis_ = 0.8;
+ overloadAction_ = T_OVERLOAD_NO_ACTION;
+ writeBufferDefaultSize_ = WRITE_BUFFER_DEFAULT_SIZE;
+ idleReadBufferLimit_ = IDLE_READ_BUFFER_LIMIT;
+ idleWriteBufferLimit_ = IDLE_WRITE_BUFFER_LIMIT;
+ resizeBufferEveryN_ = RESIZE_BUFFER_EVERY_N;
+ overloaded_ = false;
+ nConnectionsDropped_ = 0;
+ nTotalConnectionsDropped_ = 0;
+ }
+
+ public:
+ template<typename ProcessorFactory>
+ TNonblockingServer(
+ const boost::shared_ptr<ProcessorFactory>& processorFactory,
+ int port,
+ THRIFT_OVERLOAD_IF(ProcessorFactory, TProcessorFactory)) :
+ TServer(processorFactory) {
+ init(port);
+ }
+
+ template<typename Processor>
+ TNonblockingServer(const boost::shared_ptr<Processor>& processor,
+ int port,
+ THRIFT_OVERLOAD_IF(Processor, TProcessor)) :
+ TServer(processor) {
+ init(port);
+ }
+
+ template<typename ProcessorFactory>
+ TNonblockingServer(
+ const boost::shared_ptr<ProcessorFactory>& processorFactory,
+ const boost::shared_ptr<TProtocolFactory>& protocolFactory,
+ int port,
+ const boost::shared_ptr<ThreadManager>& threadManager =
+ boost::shared_ptr<ThreadManager>(),
+ THRIFT_OVERLOAD_IF(ProcessorFactory, TProcessorFactory)) :
+ TServer(processorFactory) {
+
+ init(port);
+
+ setInputProtocolFactory(protocolFactory);
+ setOutputProtocolFactory(protocolFactory);
+ setThreadManager(threadManager);
+ }
+
+ template<typename Processor>
+ TNonblockingServer(
+ const boost::shared_ptr<Processor>& processor,
+ const boost::shared_ptr<TProtocolFactory>& protocolFactory,
+ int port,
+ const boost::shared_ptr<ThreadManager>& threadManager =
+ boost::shared_ptr<ThreadManager>(),
+ THRIFT_OVERLOAD_IF(Processor, TProcessor)) :
+ TServer(processor) {
+
+ init(port);
+
+ setInputProtocolFactory(protocolFactory);
+ setOutputProtocolFactory(protocolFactory);
+ setThreadManager(threadManager);
+ }
+
+ template<typename ProcessorFactory>
+ TNonblockingServer(
+ const boost::shared_ptr<ProcessorFactory>& processorFactory,
+ const boost::shared_ptr<TTransportFactory>& inputTransportFactory,
+ const boost::shared_ptr<TTransportFactory>& outputTransportFactory,
+ const boost::shared_ptr<TProtocolFactory>& inputProtocolFactory,
+ const boost::shared_ptr<TProtocolFactory>& outputProtocolFactory,
+ int port,
+ const boost::shared_ptr<ThreadManager>& threadManager =
+ boost::shared_ptr<ThreadManager>(),
+ THRIFT_OVERLOAD_IF(ProcessorFactory, TProcessorFactory)) :
+ TServer(processorFactory) {
+
+ init(port);
+
+ setInputTransportFactory(inputTransportFactory);
+ setOutputTransportFactory(outputTransportFactory);
+ setInputProtocolFactory(inputProtocolFactory);
+ setOutputProtocolFactory(outputProtocolFactory);
+ setThreadManager(threadManager);
+ }
+
+ template<typename Processor>
+ TNonblockingServer(
+ const boost::shared_ptr<Processor>& processor,
+ const boost::shared_ptr<TTransportFactory>& inputTransportFactory,
+ const boost::shared_ptr<TTransportFactory>& outputTransportFactory,
+ const boost::shared_ptr<TProtocolFactory>& inputProtocolFactory,
+ const boost::shared_ptr<TProtocolFactory>& outputProtocolFactory,
+ int port,
+ const boost::shared_ptr<ThreadManager>& threadManager =
+ boost::shared_ptr<ThreadManager>(),
+ THRIFT_OVERLOAD_IF(Processor, TProcessor)) :
+ TServer(processor) {
+
+ init(port);
+
+ setInputTransportFactory(inputTransportFactory);
+ setOutputTransportFactory(outputTransportFactory);
+ setInputProtocolFactory(inputProtocolFactory);
+ setOutputProtocolFactory(outputProtocolFactory);
+ setThreadManager(threadManager);
+ }
+
+ ~TNonblockingServer();
+
+ void setThreadManager(boost::shared_ptr<ThreadManager> threadManager);
+
+ boost::shared_ptr<ThreadManager> getThreadManager() {
+ return threadManager_;
+ }
+
+ /**
+ * Sets the number of IO threads used by this server. Can only be used before
+ * the call to serve() and has no effect afterwards. We always use a
+ * PosixThreadFactory for the IO worker threads, because they must joinable
+ * for clean shutdown.
+ */
+ void setNumIOThreads(size_t numThreads) {
+ numIOThreads_ = numThreads;
+ }
+
+ /** Return whether the IO threads will get high scheduling priority */
+ bool useHighPriorityIOThreads() const {
+ return useHighPriorityIOThreads_;
+ }
+
+ /** Set whether the IO threads will get high scheduling priority. */
+ void setUseHighPriorityIOThreads(bool val) {
+ useHighPriorityIOThreads_ = val;
+ }
+
+ /** Return the number of IO threads used by this server. */
+ size_t getNumIOThreads() const {
+ return numIOThreads_;
+ }
+
+ /**
+ * Get the maximum number of unused TConnection we will hold in reserve.
+ *
+ * @return the current limit on TConnection pool size.
+ */
+ size_t getConnectionStackLimit() const {
+ return connectionStackLimit_;
+ }
+
+ /**
+ * Set the maximum number of unused TConnection we will hold in reserve.
+ *
+ * @param sz the new limit for TConnection pool size.
+ */
+ void setConnectionStackLimit(size_t sz) {
+ connectionStackLimit_ = sz;
+ }
+
+ bool isThreadPoolProcessing() const {
+ return threadPoolProcessing_;
+ }
+
+ void addTask(boost::shared_ptr<Runnable> task) {
+ threadManager_->add(task, 0LL, taskExpireTime_);
+ }
+
+ /**
+ * Return the count of sockets currently connected to.
+ *
+ * @return count of connected sockets.
+ */
+ size_t getNumConnections() const {
+ return numTConnections_;
+ }
+
+ /**
+ * Return the count of sockets currently connected to.
+ *
+ * @return count of connected sockets.
+ */
+ size_t getNumActiveConnections() const {
+ return getNumConnections() - getNumIdleConnections();
+ }
+
+ /**
+ * Return the count of connection objects allocated but not in use.
+ *
+ * @return count of idle connection objects.
+ */
+ size_t getNumIdleConnections() const {
+ return connectionStack_.size();
+ }
+
+ /**
+ * Return count of number of connections which are currently processing.
+ * This is defined as a connection where all data has been received and
+ * either assigned a task (when threading) or passed to a handler (when
+ * not threading), and where the handler has not yet returned.
+ *
+ * @return # of connections currently processing.
+ */
+ size_t getNumActiveProcessors() const {
+ return numActiveProcessors_;
+ }
+
+ /// Increment the count of connections currently processing.
+ void incrementActiveProcessors() {
+ Guard g(connMutex_);
+ ++numActiveProcessors_;
+ }
+
+ /// Decrement the count of connections currently processing.
+ void decrementActiveProcessors() {
+ Guard g(connMutex_);
+ if (numActiveProcessors_ > 0) {
+ --numActiveProcessors_;
+ }
+ }
+
+ /**
+ * Get the maximum # of connections allowed before overload.
+ *
+ * @return current setting.
+ */
+ size_t getMaxConnections() const {
+ return maxConnections_;
+ }
+
+ /**
+ * Set the maximum # of connections allowed before overload.
+ *
+ * @param maxConnections new setting for maximum # of connections.
+ */
+ void setMaxConnections(size_t maxConnections) {
+ maxConnections_ = maxConnections;
+ }
+
+ /**
+ * Get the maximum # of connections waiting in handler/task before overload.
+ *
+ * @return current setting.
+ */
+ size_t getMaxActiveProcessors() const {
+ return maxActiveProcessors_;
+ }
+
+ /**
+ * Set the maximum # of connections waiting in handler/task before overload.
+ *
+ * @param maxActiveProcessors new setting for maximum # of active processes.
+ */
+ void setMaxActiveProcessors(size_t maxActiveProcessors) {
+ maxActiveProcessors_ = maxActiveProcessors;
+ }
+
+ /**
+ * Get the maximum allowed frame size.
+ *
+ * If a client tries to send a message larger than this limit,
+ * its connection will be closed.
+ *
+ * @return Maxium frame size, in bytes.
+ */
+ size_t getMaxFrameSize() const {
+ return maxFrameSize_;
+ }
+
+ /**
+ * Set the maximum allowed frame size.
+ *
+ * @param maxFrameSize The new maximum frame size.
+ */
+ void setMaxFrameSize(size_t maxFrameSize) {
+ maxFrameSize_ = maxFrameSize;
+ }
+
+ /**
+ * Get fraction of maximum limits before an overload condition is cleared.
+ *
+ * @return hysteresis fraction
+ */
+ double getOverloadHysteresis() const {
+ return overloadHysteresis_;
+ }
+
+ /**
+ * Set fraction of maximum limits before an overload condition is cleared.
+ * A good value would probably be between 0.5 and 0.9.
+ *
+ * @param hysteresisFraction fraction <= 1.0.
+ */
+ void setOverloadHysteresis(double hysteresisFraction) {
+ if (hysteresisFraction <= 1.0 && hysteresisFraction > 0.0) {
+ overloadHysteresis_ = hysteresisFraction;
+ }
+ }
+
+ /**
+ * Get the action the server will take on overload.
+ *
+ * @return a TOverloadAction enum value for the currently set action.
+ */
+ TOverloadAction getOverloadAction() const {
+ return overloadAction_;
+ }
+
+ /**
+ * Set the action the server is to take on overload.
+ *
+ * @param overloadAction a TOverloadAction enum value for the action.
+ */
+ void setOverloadAction(TOverloadAction overloadAction) {
+ overloadAction_ = overloadAction;
+ }
+
+ /**
+ * Get the time in milliseconds after which a task expires (0 == infinite).
+ *
+ * @return a 64-bit time in milliseconds.
+ */
+ int64_t getTaskExpireTime() const {
+ return taskExpireTime_;
+ }
+
+ /**
+ * Set the time in milliseconds after which a task expires (0 == infinite).
+ *
+ * @param taskExpireTime a 64-bit time in milliseconds.
+ */
+ void setTaskExpireTime(int64_t taskExpireTime) {
+ taskExpireTime_ = taskExpireTime;
+ }
+
+ /**
+ * Determine if the server is currently overloaded.
+ * This function checks the maximums for open connections and connections
+ * currently in processing, and sets an overload condition if they are
+ * exceeded. The overload will persist until both values are below the
+ * current hysteresis fraction of their maximums.
+ *
+ * @return true if an overload condition exists, false if not.
+ */
+ bool serverOverloaded();
+
+ /** Pop and discard next task on threadpool wait queue.
+ *
+ * @return true if a task was discarded, false if the wait queue was empty.
+ */
+ bool drainPendingTask();
+
+ /**
+ * Get the starting size of a TConnection object's write buffer.
+ *
+ * @return # bytes we initialize a TConnection object's write buffer to.
+ */
+ size_t getWriteBufferDefaultSize() const {
+ return writeBufferDefaultSize_;
+ }
+
+ /**
+ * Set the starting size of a TConnection object's write buffer.
+ *
+ * @param size # bytes we initialize a TConnection object's write buffer to.
+ */
+ void setWriteBufferDefaultSize(size_t size) {
+ writeBufferDefaultSize_ = size;
+ }
+
+ /**
+ * Get the maximum size of read buffer allocated to idle TConnection objects.
+ *
+ * @return # bytes beyond which we will dealloc idle buffer.
+ */
+ size_t getIdleReadBufferLimit() const {
+ return idleReadBufferLimit_;
+ }
+
+ /**
+ * [NOTE: This is for backwards compatibility, use getIdleReadBufferLimit().]
+ * Get the maximum size of read buffer allocated to idle TConnection objects.
+ *
+ * @return # bytes beyond which we will dealloc idle buffer.
+ */
+ size_t getIdleBufferMemLimit() const {
+ return idleReadBufferLimit_;
+ }
+
+ /**
+ * Set the maximum size read buffer allocated to idle TConnection objects.
+ * If a TConnection object is found (either on connection close or between
+ * calls when resizeBufferEveryN_ is set) with more than this much memory
+ * allocated to its read buffer, we free it and allow it to be reinitialized
+ * on the next received frame.
+ *
+ * @param limit of bytes beyond which we will shrink buffers when checked.
+ */
+ void setIdleReadBufferLimit(size_t limit) {
+ idleReadBufferLimit_ = limit;
+ }
+
+ /**
+ * [NOTE: This is for backwards compatibility, use setIdleReadBufferLimit().]
+ * Set the maximum size read buffer allocated to idle TConnection objects.
+ * If a TConnection object is found (either on connection close or between
+ * calls when resizeBufferEveryN_ is set) with more than this much memory
+ * allocated to its read buffer, we free it and allow it to be reinitialized
+ * on the next received frame.
+ *
+ * @param limit of bytes beyond which we will shrink buffers when checked.
+ */
+ void setIdleBufferMemLimit(size_t limit) {
+ idleReadBufferLimit_ = limit;
+ }
+
+
+
+ /**
+ * Get the maximum size of write buffer allocated to idle TConnection objects.
+ *
+ * @return # bytes beyond which we will reallocate buffers when checked.
+ */
+ size_t getIdleWriteBufferLimit() const {
+ return idleWriteBufferLimit_;
+ }
+
+ /**
+ * Set the maximum size write buffer allocated to idle TConnection objects.
+ * If a TConnection object is found (either on connection close or between
+ * calls when resizeBufferEveryN_ is set) with more than this much memory
+ * allocated to its write buffer, we destroy and construct that buffer with
+ * writeBufferDefaultSize_ bytes.
+ *
+ * @param limit of bytes beyond which we will shrink buffers when idle.
+ */
+ void setIdleWriteBufferLimit(size_t limit) {
+ idleWriteBufferLimit_ = limit;
+ }
+
+ /**
+ * Get # of calls made between buffer size checks. 0 means disabled.
+ *
+ * @return # of calls between buffer size checks.
+ */
+ int32_t getResizeBufferEveryN() const {
+ return resizeBufferEveryN_;
+ }
+
+ /**
+ * Check buffer sizes every "count" calls. This allows buffer limits
+ * to be enforced for persistant connections with a controllable degree
+ * of overhead. 0 disables checks except at connection close.
+ *
+ * @param count the number of calls between checks, or 0 to disable
+ */
+ void setResizeBufferEveryN(int32_t count) {
+ resizeBufferEveryN_ = count;
+ }
+
+ /**
+ * Main workhorse function, starts up the server listening on a port and
+ * loops over the libevent handler.
+ */
+ void serve();
+
+ /**
+ * Causes the server to terminate gracefully (can be called from any thread).
+ */
+ void stop();
+
+ /// Creates a socket to listen on and binds it to the local port.
+ void createAndListenOnSocket();
+
+ /**
+ * Takes a socket created by createAndListenOnSocket() and sets various
+ * options on it to prepare for use in the server.
+ *
+ * @param fd descriptor of socket to be initialized/
+ */
+ void listenSocket(THRIFT_SOCKET fd);
+
+ /**
+ * Register the optional user-provided event-base (for single-thread servers)
+ *
+ * This method should be used when the server is running in a single-thread
+ * mode, and the event base is provided by the user (i.e., the caller).
+ *
+ * @param user_event_base the user-provided event-base. The user is
+ * responsible for freeing the event base memory.
+ */
+ void registerEvents(event_base* user_event_base);
+
+ /**
+ * Returns the optional user-provided event-base (for single-thread servers).
+ */
+ event_base* getUserEventBase() const { return userEventBase_; }
+
+ private:
+ /**
+ * Callback function that the threadmanager calls when a task reaches
+ * its expiration time. It is needed to clean up the expired connection.
+ *
+ * @param task the runnable associated with the expired task.
+ */
+ void expireClose(boost::shared_ptr<Runnable> task);
+
+ /**
+ * Return an initialized connection object. Creates or recovers from
+ * pool a TConnection and initializes it with the provided socket FD
+ * and flags.
+ *
+ * @param socket FD of socket associated with this connection.
+ * @param addr the sockaddr of the client
+ * @param addrLen the length of addr
+ * @return pointer to initialized TConnection object.
+ */
+ TConnection* createConnection(THRIFT_SOCKET socket, const sockaddr* addr,
+ socklen_t addrLen);
+
+ /**
+ * Returns a connection to pool or deletion. If the connection pool
+ * (a stack) isn't full, place the connection object on it, otherwise
+ * just delete it.
+ *
+ * @param connection the TConection being returned.
+ */
+ void returnConnection(TConnection* connection);
+};
+
+class TNonblockingIOThread : public Runnable {
+ public:
+ // Creates an IO thread and sets up the event base. The listenSocket should
+ // be a valid FD on which listen() has already been called. If the
+ // listenSocket is < 0, accepting will not be done.
+ TNonblockingIOThread(TNonblockingServer* server,
+ int number,
+ THRIFT_SOCKET listenSocket,
+ bool useHighPriority);
+
+ ~TNonblockingIOThread();
+
+ // Returns the event-base for this thread.
+ event_base* getEventBase() const { return eventBase_; }
+
+ // Returns the server for this thread.
+ TNonblockingServer* getServer() const { return server_; }
+
+ // Returns the number of this IO thread.
+ int getThreadNumber() const { return number_; }
+
+ // Returns the thread id associated with this object. This should
+ // only be called after the thread has been started.
+ Thread::id_t getThreadId() const { return threadId_; }
+
+ // Returns the send-fd for task complete notifications.
+ evutil_socket_t getNotificationSendFD() const { return notificationPipeFDs_[1]; }
+
+ // Returns the read-fd for task complete notifications.
+ evutil_socket_t getNotificationRecvFD() const { return notificationPipeFDs_[0]; }
+
+ // Returns the actual thread object associated with this IO thread.
+ boost::shared_ptr<Thread> getThread() const { return thread_; }
+
+ // Sets the actual thread object associated with this IO thread.
+ void setThread(const boost::shared_ptr<Thread>& t) { thread_ = t; }
+
+ // Used by TConnection objects to indicate processing has finished.
+ bool notify(TNonblockingServer::TConnection* conn);
+
+ // Enters the event loop and does not return until a call to stop().
+ virtual void run();
+
+ // Exits the event loop as soon as possible.
+ void stop();
+
+ // Ensures that the event-loop thread is fully finished and shut down.
+ void join();
+
+ /// Registers the events for the notification & listen sockets
+ void registerEvents();
+
+ private:
+ /**
+ * C-callable event handler for signaling task completion. Provides a
+ * callback that libevent can understand that will read a connection
+ * object's address from a pipe and call connection->transition() for
+ * that object.
+ *
+ * @param fd the descriptor the event occurred on.
+ */
+ static void notifyHandler(evutil_socket_t fd, short which, void* v);
+
+ /**
+ * C-callable event handler for listener events. Provides a callback
+ * that libevent can understand which invokes server->handleEvent().
+ *
+ * @param fd the descriptor the event occured on.
+ * @param which the flags associated with the event.
+ * @param v void* callback arg where we placed TNonblockingServer's "this".
+ */
+ static void listenHandler(evutil_socket_t fd, short which, void* v) {
+ ((TNonblockingServer*)v)->handleEvent(fd, which);
+ }
+
+ /// Exits the loop ASAP in case of shutdown or error.
+ void breakLoop(bool error);
+
+ /// Create the pipe used to notify I/O process of task completion.
+ void createNotificationPipe();
+
+ /// Unregisters our events for notification and listen sockets.
+ void cleanupEvents();
+
+ /// Sets (or clears) high priority scheduling status for the current thread.
+ void setCurrentThreadHighPriority(bool value);
+
+ private:
+ /// associated server
+ TNonblockingServer* server_;
+
+ /// thread number (for debugging).
+ const int number_;
+
+ /// The actual physical thread id.
+ Thread::id_t threadId_;
+
+ /// If listenSocket_ >= 0, adds an event on the event_base to accept conns
+ THRIFT_SOCKET listenSocket_;
+
+ /// Sets a high scheduling priority when running
+ bool useHighPriority_;
+
+ /// pointer to eventbase to be used for looping
+ event_base* eventBase_;
+
+ /// Set to true if this class is responsible for freeing the event base
+ /// memory.
+ bool ownEventBase_;
+
+ /// Used with eventBase_ for connection events (only in listener thread)
+ struct event serverEvent_;
+
+ /// Used with eventBase_ for task completion notification
+ struct event notificationEvent_;
+
+ /// File descriptors for pipe used for task completion notification.
+ evutil_socket_t notificationPipeFDs_[2];
+
+ /// Actual IO Thread
+ boost::shared_ptr<Thread> thread_;
+};
+
+}}} // apache::thrift::server
+
+#endif // #ifndef _THRIFT_SERVER_TNONBLOCKINGSERVER_H_
http://git-wip-us.apache.org/repos/asf/airavata/blob/f891b7dc/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/server/TServer.cpp
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/server/TServer.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/server/TServer.cpp
new file mode 100755
index 0000000..f4ce744
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/server/TServer.cpp
@@ -0,0 +1,47 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you 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 <thrift/thrift-config.h>
+
+#ifdef HAVE_SYS_TIME_H
+#include <sys/time.h>
+#endif
+#ifdef HAVE_SYS_RESOURCE_H
+#include <sys/resource.h>
+#endif
+
+#ifdef HAVE_UNISTD_H
+#include <unistd.h>
+#endif
+
+namespace apache { namespace thrift { namespace server {
+
+int increase_max_fds(int max_fds=(1<<24)) {
+ struct rlimit fdmaxrl;
+
+ for(fdmaxrl.rlim_cur = max_fds, fdmaxrl.rlim_max = max_fds;
+ max_fds && (setrlimit(RLIMIT_NOFILE, &fdmaxrl) < 0);
+ fdmaxrl.rlim_cur = max_fds, fdmaxrl.rlim_max = max_fds) {
+ max_fds /= 2;
+ }
+
+ return static_cast<int>(fdmaxrl.rlim_cur);
+}
+
+}}} // apache::thrift::server
[37/47] removed unnecessary files, updated ini file
Posted by sm...@apache.org.
http://git-wip-us.apache.org/repos/asf/airavata/blob/00b8aaf0/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/ApplicationCatalogAPI.cpp
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/ApplicationCatalogAPI.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/ApplicationCatalogAPI.cpp
deleted file mode 100644
index a2e54f3..0000000
--- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/ApplicationCatalogAPI.cpp
+++ /dev/null
@@ -1,9387 +0,0 @@
-/**
- * Autogenerated by Thrift Compiler (0.9.1)
- *
- * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
- * @generated
- */
-#include "ApplicationCatalogAPI.h"
-
-namespace airavata { namespace api { namespace appcatalog {
-
-uint32_t ApplicationCatalogAPI_GetAPIVersion_args::read(::apache::thrift::protocol::TProtocol* iprot) {
-
- uint32_t xfer = 0;
- std::string fname;
- ::apache::thrift::protocol::TType ftype;
- int16_t fid;
-
- xfer += iprot->readStructBegin(fname);
-
- using ::apache::thrift::protocol::TProtocolException;
-
-
- while (true)
- {
- xfer += iprot->readFieldBegin(fname, ftype, fid);
- if (ftype == ::apache::thrift::protocol::T_STOP) {
- break;
- }
- xfer += iprot->skip(ftype);
- xfer += iprot->readFieldEnd();
- }
-
- xfer += iprot->readStructEnd();
-
- return xfer;
-}
-
-uint32_t ApplicationCatalogAPI_GetAPIVersion_args::write(::apache::thrift::protocol::TProtocol* oprot) const {
- uint32_t xfer = 0;
- xfer += oprot->writeStructBegin("ApplicationCatalogAPI_GetAPIVersion_args");
-
- xfer += oprot->writeFieldStop();
- xfer += oprot->writeStructEnd();
- return xfer;
-}
-
-uint32_t ApplicationCatalogAPI_GetAPIVersion_pargs::write(::apache::thrift::protocol::TProtocol* oprot) const {
- uint32_t xfer = 0;
- xfer += oprot->writeStructBegin("ApplicationCatalogAPI_GetAPIVersion_pargs");
-
- xfer += oprot->writeFieldStop();
- xfer += oprot->writeStructEnd();
- return xfer;
-}
-
-uint32_t ApplicationCatalogAPI_GetAPIVersion_result::read(::apache::thrift::protocol::TProtocol* iprot) {
-
- uint32_t xfer = 0;
- std::string fname;
- ::apache::thrift::protocol::TType ftype;
- int16_t fid;
-
- xfer += iprot->readStructBegin(fname);
-
- using ::apache::thrift::protocol::TProtocolException;
-
-
- while (true)
- {
- xfer += iprot->readFieldBegin(fname, ftype, fid);
- if (ftype == ::apache::thrift::protocol::T_STOP) {
- break;
- }
- switch (fid)
- {
- case 0:
- if (ftype == ::apache::thrift::protocol::T_STRING) {
- xfer += iprot->readString(this->success);
- this->__isset.success = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- default:
- xfer += iprot->skip(ftype);
- break;
- }
- xfer += iprot->readFieldEnd();
- }
-
- xfer += iprot->readStructEnd();
-
- return xfer;
-}
-
-uint32_t ApplicationCatalogAPI_GetAPIVersion_result::write(::apache::thrift::protocol::TProtocol* oprot) const {
-
- uint32_t xfer = 0;
-
- xfer += oprot->writeStructBegin("ApplicationCatalogAPI_GetAPIVersion_result");
-
- if (this->__isset.success) {
- xfer += oprot->writeFieldBegin("success", ::apache::thrift::protocol::T_STRING, 0);
- xfer += oprot->writeString(this->success);
- xfer += oprot->writeFieldEnd();
- }
- xfer += oprot->writeFieldStop();
- xfer += oprot->writeStructEnd();
- return xfer;
-}
-
-uint32_t ApplicationCatalogAPI_GetAPIVersion_presult::read(::apache::thrift::protocol::TProtocol* iprot) {
-
- uint32_t xfer = 0;
- std::string fname;
- ::apache::thrift::protocol::TType ftype;
- int16_t fid;
-
- xfer += iprot->readStructBegin(fname);
-
- using ::apache::thrift::protocol::TProtocolException;
-
-
- while (true)
- {
- xfer += iprot->readFieldBegin(fname, ftype, fid);
- if (ftype == ::apache::thrift::protocol::T_STOP) {
- break;
- }
- switch (fid)
- {
- case 0:
- if (ftype == ::apache::thrift::protocol::T_STRING) {
- xfer += iprot->readString((*(this->success)));
- this->__isset.success = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- default:
- xfer += iprot->skip(ftype);
- break;
- }
- xfer += iprot->readFieldEnd();
- }
-
- xfer += iprot->readStructEnd();
-
- return xfer;
-}
-
-uint32_t ApplicationCatalogAPI_addComputeResourceDescription_args::read(::apache::thrift::protocol::TProtocol* iprot) {
-
- uint32_t xfer = 0;
- std::string fname;
- ::apache::thrift::protocol::TType ftype;
- int16_t fid;
-
- xfer += iprot->readStructBegin(fname);
-
- using ::apache::thrift::protocol::TProtocolException;
-
- bool isset_computeResourceDescription = false;
-
- while (true)
- {
- xfer += iprot->readFieldBegin(fname, ftype, fid);
- if (ftype == ::apache::thrift::protocol::T_STOP) {
- break;
- }
- switch (fid)
- {
- case 1:
- if (ftype == ::apache::thrift::protocol::T_STRUCT) {
- xfer += this->computeResourceDescription.read(iprot);
- isset_computeResourceDescription = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- default:
- xfer += iprot->skip(ftype);
- break;
- }
- xfer += iprot->readFieldEnd();
- }
-
- xfer += iprot->readStructEnd();
-
- if (!isset_computeResourceDescription)
- throw TProtocolException(TProtocolException::INVALID_DATA);
- return xfer;
-}
-
-uint32_t ApplicationCatalogAPI_addComputeResourceDescription_args::write(::apache::thrift::protocol::TProtocol* oprot) const {
- uint32_t xfer = 0;
- xfer += oprot->writeStructBegin("ApplicationCatalogAPI_addComputeResourceDescription_args");
-
- xfer += oprot->writeFieldBegin("computeResourceDescription", ::apache::thrift::protocol::T_STRUCT, 1);
- xfer += this->computeResourceDescription.write(oprot);
- xfer += oprot->writeFieldEnd();
-
- xfer += oprot->writeFieldStop();
- xfer += oprot->writeStructEnd();
- return xfer;
-}
-
-uint32_t ApplicationCatalogAPI_addComputeResourceDescription_pargs::write(::apache::thrift::protocol::TProtocol* oprot) const {
- uint32_t xfer = 0;
- xfer += oprot->writeStructBegin("ApplicationCatalogAPI_addComputeResourceDescription_pargs");
-
- xfer += oprot->writeFieldBegin("computeResourceDescription", ::apache::thrift::protocol::T_STRUCT, 1);
- xfer += (*(this->computeResourceDescription)).write(oprot);
- xfer += oprot->writeFieldEnd();
-
- xfer += oprot->writeFieldStop();
- xfer += oprot->writeStructEnd();
- return xfer;
-}
-
-uint32_t ApplicationCatalogAPI_addComputeResourceDescription_result::read(::apache::thrift::protocol::TProtocol* iprot) {
-
- uint32_t xfer = 0;
- std::string fname;
- ::apache::thrift::protocol::TType ftype;
- int16_t fid;
-
- xfer += iprot->readStructBegin(fname);
-
- using ::apache::thrift::protocol::TProtocolException;
-
-
- while (true)
- {
- xfer += iprot->readFieldBegin(fname, ftype, fid);
- if (ftype == ::apache::thrift::protocol::T_STOP) {
- break;
- }
- switch (fid)
- {
- case 0:
- if (ftype == ::apache::thrift::protocol::T_STRING) {
- xfer += iprot->readString(this->success);
- this->__isset.success = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 1:
- if (ftype == ::apache::thrift::protocol::T_STRUCT) {
- xfer += this->ire.read(iprot);
- this->__isset.ire = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 2:
- if (ftype == ::apache::thrift::protocol::T_STRUCT) {
- xfer += this->ace.read(iprot);
- this->__isset.ace = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 3:
- if (ftype == ::apache::thrift::protocol::T_STRUCT) {
- xfer += this->ase.read(iprot);
- this->__isset.ase = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- default:
- xfer += iprot->skip(ftype);
- break;
- }
- xfer += iprot->readFieldEnd();
- }
-
- xfer += iprot->readStructEnd();
-
- return xfer;
-}
-
-uint32_t ApplicationCatalogAPI_addComputeResourceDescription_result::write(::apache::thrift::protocol::TProtocol* oprot) const {
-
- uint32_t xfer = 0;
-
- xfer += oprot->writeStructBegin("ApplicationCatalogAPI_addComputeResourceDescription_result");
-
- if (this->__isset.success) {
- xfer += oprot->writeFieldBegin("success", ::apache::thrift::protocol::T_STRING, 0);
- xfer += oprot->writeString(this->success);
- xfer += oprot->writeFieldEnd();
- } else if (this->__isset.ire) {
- xfer += oprot->writeFieldBegin("ire", ::apache::thrift::protocol::T_STRUCT, 1);
- xfer += this->ire.write(oprot);
- xfer += oprot->writeFieldEnd();
- } else if (this->__isset.ace) {
- xfer += oprot->writeFieldBegin("ace", ::apache::thrift::protocol::T_STRUCT, 2);
- xfer += this->ace.write(oprot);
- xfer += oprot->writeFieldEnd();
- } else if (this->__isset.ase) {
- xfer += oprot->writeFieldBegin("ase", ::apache::thrift::protocol::T_STRUCT, 3);
- xfer += this->ase.write(oprot);
- xfer += oprot->writeFieldEnd();
- }
- xfer += oprot->writeFieldStop();
- xfer += oprot->writeStructEnd();
- return xfer;
-}
-
-uint32_t ApplicationCatalogAPI_addComputeResourceDescription_presult::read(::apache::thrift::protocol::TProtocol* iprot) {
-
- uint32_t xfer = 0;
- std::string fname;
- ::apache::thrift::protocol::TType ftype;
- int16_t fid;
-
- xfer += iprot->readStructBegin(fname);
-
- using ::apache::thrift::protocol::TProtocolException;
-
-
- while (true)
- {
- xfer += iprot->readFieldBegin(fname, ftype, fid);
- if (ftype == ::apache::thrift::protocol::T_STOP) {
- break;
- }
- switch (fid)
- {
- case 0:
- if (ftype == ::apache::thrift::protocol::T_STRING) {
- xfer += iprot->readString((*(this->success)));
- this->__isset.success = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 1:
- if (ftype == ::apache::thrift::protocol::T_STRUCT) {
- xfer += this->ire.read(iprot);
- this->__isset.ire = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 2:
- if (ftype == ::apache::thrift::protocol::T_STRUCT) {
- xfer += this->ace.read(iprot);
- this->__isset.ace = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 3:
- if (ftype == ::apache::thrift::protocol::T_STRUCT) {
- xfer += this->ase.read(iprot);
- this->__isset.ase = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- default:
- xfer += iprot->skip(ftype);
- break;
- }
- xfer += iprot->readFieldEnd();
- }
-
- xfer += iprot->readStructEnd();
-
- return xfer;
-}
-
-uint32_t ApplicationCatalogAPI_addSSHJobSubmissionProtocol_args::read(::apache::thrift::protocol::TProtocol* iprot) {
-
- uint32_t xfer = 0;
- std::string fname;
- ::apache::thrift::protocol::TType ftype;
- int16_t fid;
-
- xfer += iprot->readStructBegin(fname);
-
- using ::apache::thrift::protocol::TProtocolException;
-
- bool isset_computeResourceId = false;
- bool isset_jobSubmission = false;
-
- while (true)
- {
- xfer += iprot->readFieldBegin(fname, ftype, fid);
- if (ftype == ::apache::thrift::protocol::T_STOP) {
- break;
- }
- switch (fid)
- {
- case 1:
- if (ftype == ::apache::thrift::protocol::T_STRING) {
- xfer += iprot->readString(this->computeResourceId);
- isset_computeResourceId = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 2:
- if (ftype == ::apache::thrift::protocol::T_STRUCT) {
- xfer += this->jobSubmission.read(iprot);
- isset_jobSubmission = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- default:
- xfer += iprot->skip(ftype);
- break;
- }
- xfer += iprot->readFieldEnd();
- }
-
- xfer += iprot->readStructEnd();
-
- if (!isset_computeResourceId)
- throw TProtocolException(TProtocolException::INVALID_DATA);
- if (!isset_jobSubmission)
- throw TProtocolException(TProtocolException::INVALID_DATA);
- return xfer;
-}
-
-uint32_t ApplicationCatalogAPI_addSSHJobSubmissionProtocol_args::write(::apache::thrift::protocol::TProtocol* oprot) const {
- uint32_t xfer = 0;
- xfer += oprot->writeStructBegin("ApplicationCatalogAPI_addSSHJobSubmissionProtocol_args");
-
- xfer += oprot->writeFieldBegin("computeResourceId", ::apache::thrift::protocol::T_STRING, 1);
- xfer += oprot->writeString(this->computeResourceId);
- xfer += oprot->writeFieldEnd();
-
- xfer += oprot->writeFieldBegin("jobSubmission", ::apache::thrift::protocol::T_STRUCT, 2);
- xfer += this->jobSubmission.write(oprot);
- xfer += oprot->writeFieldEnd();
-
- xfer += oprot->writeFieldStop();
- xfer += oprot->writeStructEnd();
- return xfer;
-}
-
-uint32_t ApplicationCatalogAPI_addSSHJobSubmissionProtocol_pargs::write(::apache::thrift::protocol::TProtocol* oprot) const {
- uint32_t xfer = 0;
- xfer += oprot->writeStructBegin("ApplicationCatalogAPI_addSSHJobSubmissionProtocol_pargs");
-
- xfer += oprot->writeFieldBegin("computeResourceId", ::apache::thrift::protocol::T_STRING, 1);
- xfer += oprot->writeString((*(this->computeResourceId)));
- xfer += oprot->writeFieldEnd();
-
- xfer += oprot->writeFieldBegin("jobSubmission", ::apache::thrift::protocol::T_STRUCT, 2);
- xfer += (*(this->jobSubmission)).write(oprot);
- xfer += oprot->writeFieldEnd();
-
- xfer += oprot->writeFieldStop();
- xfer += oprot->writeStructEnd();
- return xfer;
-}
-
-uint32_t ApplicationCatalogAPI_addSSHJobSubmissionProtocol_result::read(::apache::thrift::protocol::TProtocol* iprot) {
-
- uint32_t xfer = 0;
- std::string fname;
- ::apache::thrift::protocol::TType ftype;
- int16_t fid;
-
- xfer += iprot->readStructBegin(fname);
-
- using ::apache::thrift::protocol::TProtocolException;
-
-
- while (true)
- {
- xfer += iprot->readFieldBegin(fname, ftype, fid);
- if (ftype == ::apache::thrift::protocol::T_STOP) {
- break;
- }
- switch (fid)
- {
- case 0:
- if (ftype == ::apache::thrift::protocol::T_STRING) {
- xfer += iprot->readString(this->success);
- this->__isset.success = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 1:
- if (ftype == ::apache::thrift::protocol::T_STRUCT) {
- xfer += this->ire.read(iprot);
- this->__isset.ire = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 2:
- if (ftype == ::apache::thrift::protocol::T_STRUCT) {
- xfer += this->ace.read(iprot);
- this->__isset.ace = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 3:
- if (ftype == ::apache::thrift::protocol::T_STRUCT) {
- xfer += this->ase.read(iprot);
- this->__isset.ase = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- default:
- xfer += iprot->skip(ftype);
- break;
- }
- xfer += iprot->readFieldEnd();
- }
-
- xfer += iprot->readStructEnd();
-
- return xfer;
-}
-
-uint32_t ApplicationCatalogAPI_addSSHJobSubmissionProtocol_result::write(::apache::thrift::protocol::TProtocol* oprot) const {
-
- uint32_t xfer = 0;
-
- xfer += oprot->writeStructBegin("ApplicationCatalogAPI_addSSHJobSubmissionProtocol_result");
-
- if (this->__isset.success) {
- xfer += oprot->writeFieldBegin("success", ::apache::thrift::protocol::T_STRING, 0);
- xfer += oprot->writeString(this->success);
- xfer += oprot->writeFieldEnd();
- } else if (this->__isset.ire) {
- xfer += oprot->writeFieldBegin("ire", ::apache::thrift::protocol::T_STRUCT, 1);
- xfer += this->ire.write(oprot);
- xfer += oprot->writeFieldEnd();
- } else if (this->__isset.ace) {
- xfer += oprot->writeFieldBegin("ace", ::apache::thrift::protocol::T_STRUCT, 2);
- xfer += this->ace.write(oprot);
- xfer += oprot->writeFieldEnd();
- } else if (this->__isset.ase) {
- xfer += oprot->writeFieldBegin("ase", ::apache::thrift::protocol::T_STRUCT, 3);
- xfer += this->ase.write(oprot);
- xfer += oprot->writeFieldEnd();
- }
- xfer += oprot->writeFieldStop();
- xfer += oprot->writeStructEnd();
- return xfer;
-}
-
-uint32_t ApplicationCatalogAPI_addSSHJobSubmissionProtocol_presult::read(::apache::thrift::protocol::TProtocol* iprot) {
-
- uint32_t xfer = 0;
- std::string fname;
- ::apache::thrift::protocol::TType ftype;
- int16_t fid;
-
- xfer += iprot->readStructBegin(fname);
-
- using ::apache::thrift::protocol::TProtocolException;
-
-
- while (true)
- {
- xfer += iprot->readFieldBegin(fname, ftype, fid);
- if (ftype == ::apache::thrift::protocol::T_STOP) {
- break;
- }
- switch (fid)
- {
- case 0:
- if (ftype == ::apache::thrift::protocol::T_STRING) {
- xfer += iprot->readString((*(this->success)));
- this->__isset.success = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 1:
- if (ftype == ::apache::thrift::protocol::T_STRUCT) {
- xfer += this->ire.read(iprot);
- this->__isset.ire = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 2:
- if (ftype == ::apache::thrift::protocol::T_STRUCT) {
- xfer += this->ace.read(iprot);
- this->__isset.ace = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 3:
- if (ftype == ::apache::thrift::protocol::T_STRUCT) {
- xfer += this->ase.read(iprot);
- this->__isset.ase = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- default:
- xfer += iprot->skip(ftype);
- break;
- }
- xfer += iprot->readFieldEnd();
- }
-
- xfer += iprot->readStructEnd();
-
- return xfer;
-}
-
-uint32_t ApplicationCatalogAPI_addGSISSHJobSubmissionProtocol_args::read(::apache::thrift::protocol::TProtocol* iprot) {
-
- uint32_t xfer = 0;
- std::string fname;
- ::apache::thrift::protocol::TType ftype;
- int16_t fid;
-
- xfer += iprot->readStructBegin(fname);
-
- using ::apache::thrift::protocol::TProtocolException;
-
- bool isset_computeResourceId = false;
- bool isset_jobSubmission = false;
-
- while (true)
- {
- xfer += iprot->readFieldBegin(fname, ftype, fid);
- if (ftype == ::apache::thrift::protocol::T_STOP) {
- break;
- }
- switch (fid)
- {
- case 1:
- if (ftype == ::apache::thrift::protocol::T_STRING) {
- xfer += iprot->readString(this->computeResourceId);
- isset_computeResourceId = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 2:
- if (ftype == ::apache::thrift::protocol::T_STRUCT) {
- xfer += this->jobSubmission.read(iprot);
- isset_jobSubmission = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- default:
- xfer += iprot->skip(ftype);
- break;
- }
- xfer += iprot->readFieldEnd();
- }
-
- xfer += iprot->readStructEnd();
-
- if (!isset_computeResourceId)
- throw TProtocolException(TProtocolException::INVALID_DATA);
- if (!isset_jobSubmission)
- throw TProtocolException(TProtocolException::INVALID_DATA);
- return xfer;
-}
-
-uint32_t ApplicationCatalogAPI_addGSISSHJobSubmissionProtocol_args::write(::apache::thrift::protocol::TProtocol* oprot) const {
- uint32_t xfer = 0;
- xfer += oprot->writeStructBegin("ApplicationCatalogAPI_addGSISSHJobSubmissionProtocol_args");
-
- xfer += oprot->writeFieldBegin("computeResourceId", ::apache::thrift::protocol::T_STRING, 1);
- xfer += oprot->writeString(this->computeResourceId);
- xfer += oprot->writeFieldEnd();
-
- xfer += oprot->writeFieldBegin("jobSubmission", ::apache::thrift::protocol::T_STRUCT, 2);
- xfer += this->jobSubmission.write(oprot);
- xfer += oprot->writeFieldEnd();
-
- xfer += oprot->writeFieldStop();
- xfer += oprot->writeStructEnd();
- return xfer;
-}
-
-uint32_t ApplicationCatalogAPI_addGSISSHJobSubmissionProtocol_pargs::write(::apache::thrift::protocol::TProtocol* oprot) const {
- uint32_t xfer = 0;
- xfer += oprot->writeStructBegin("ApplicationCatalogAPI_addGSISSHJobSubmissionProtocol_pargs");
-
- xfer += oprot->writeFieldBegin("computeResourceId", ::apache::thrift::protocol::T_STRING, 1);
- xfer += oprot->writeString((*(this->computeResourceId)));
- xfer += oprot->writeFieldEnd();
-
- xfer += oprot->writeFieldBegin("jobSubmission", ::apache::thrift::protocol::T_STRUCT, 2);
- xfer += (*(this->jobSubmission)).write(oprot);
- xfer += oprot->writeFieldEnd();
-
- xfer += oprot->writeFieldStop();
- xfer += oprot->writeStructEnd();
- return xfer;
-}
-
-uint32_t ApplicationCatalogAPI_addGSISSHJobSubmissionProtocol_result::read(::apache::thrift::protocol::TProtocol* iprot) {
-
- uint32_t xfer = 0;
- std::string fname;
- ::apache::thrift::protocol::TType ftype;
- int16_t fid;
-
- xfer += iprot->readStructBegin(fname);
-
- using ::apache::thrift::protocol::TProtocolException;
-
-
- while (true)
- {
- xfer += iprot->readFieldBegin(fname, ftype, fid);
- if (ftype == ::apache::thrift::protocol::T_STOP) {
- break;
- }
- switch (fid)
- {
- case 0:
- if (ftype == ::apache::thrift::protocol::T_STRING) {
- xfer += iprot->readString(this->success);
- this->__isset.success = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 1:
- if (ftype == ::apache::thrift::protocol::T_STRUCT) {
- xfer += this->ire.read(iprot);
- this->__isset.ire = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 2:
- if (ftype == ::apache::thrift::protocol::T_STRUCT) {
- xfer += this->ace.read(iprot);
- this->__isset.ace = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 3:
- if (ftype == ::apache::thrift::protocol::T_STRUCT) {
- xfer += this->ase.read(iprot);
- this->__isset.ase = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- default:
- xfer += iprot->skip(ftype);
- break;
- }
- xfer += iprot->readFieldEnd();
- }
-
- xfer += iprot->readStructEnd();
-
- return xfer;
-}
-
-uint32_t ApplicationCatalogAPI_addGSISSHJobSubmissionProtocol_result::write(::apache::thrift::protocol::TProtocol* oprot) const {
-
- uint32_t xfer = 0;
-
- xfer += oprot->writeStructBegin("ApplicationCatalogAPI_addGSISSHJobSubmissionProtocol_result");
-
- if (this->__isset.success) {
- xfer += oprot->writeFieldBegin("success", ::apache::thrift::protocol::T_STRING, 0);
- xfer += oprot->writeString(this->success);
- xfer += oprot->writeFieldEnd();
- } else if (this->__isset.ire) {
- xfer += oprot->writeFieldBegin("ire", ::apache::thrift::protocol::T_STRUCT, 1);
- xfer += this->ire.write(oprot);
- xfer += oprot->writeFieldEnd();
- } else if (this->__isset.ace) {
- xfer += oprot->writeFieldBegin("ace", ::apache::thrift::protocol::T_STRUCT, 2);
- xfer += this->ace.write(oprot);
- xfer += oprot->writeFieldEnd();
- } else if (this->__isset.ase) {
- xfer += oprot->writeFieldBegin("ase", ::apache::thrift::protocol::T_STRUCT, 3);
- xfer += this->ase.write(oprot);
- xfer += oprot->writeFieldEnd();
- }
- xfer += oprot->writeFieldStop();
- xfer += oprot->writeStructEnd();
- return xfer;
-}
-
-uint32_t ApplicationCatalogAPI_addGSISSHJobSubmissionProtocol_presult::read(::apache::thrift::protocol::TProtocol* iprot) {
-
- uint32_t xfer = 0;
- std::string fname;
- ::apache::thrift::protocol::TType ftype;
- int16_t fid;
-
- xfer += iprot->readStructBegin(fname);
-
- using ::apache::thrift::protocol::TProtocolException;
-
-
- while (true)
- {
- xfer += iprot->readFieldBegin(fname, ftype, fid);
- if (ftype == ::apache::thrift::protocol::T_STOP) {
- break;
- }
- switch (fid)
- {
- case 0:
- if (ftype == ::apache::thrift::protocol::T_STRING) {
- xfer += iprot->readString((*(this->success)));
- this->__isset.success = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 1:
- if (ftype == ::apache::thrift::protocol::T_STRUCT) {
- xfer += this->ire.read(iprot);
- this->__isset.ire = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 2:
- if (ftype == ::apache::thrift::protocol::T_STRUCT) {
- xfer += this->ace.read(iprot);
- this->__isset.ace = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 3:
- if (ftype == ::apache::thrift::protocol::T_STRUCT) {
- xfer += this->ase.read(iprot);
- this->__isset.ase = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- default:
- xfer += iprot->skip(ftype);
- break;
- }
- xfer += iprot->readFieldEnd();
- }
-
- xfer += iprot->readStructEnd();
-
- return xfer;
-}
-
-uint32_t ApplicationCatalogAPI_addGlobusJobSubmissionProtocol_args::read(::apache::thrift::protocol::TProtocol* iprot) {
-
- uint32_t xfer = 0;
- std::string fname;
- ::apache::thrift::protocol::TType ftype;
- int16_t fid;
-
- xfer += iprot->readStructBegin(fname);
-
- using ::apache::thrift::protocol::TProtocolException;
-
- bool isset_computeResourceId = false;
- bool isset_jobSubmission = false;
-
- while (true)
- {
- xfer += iprot->readFieldBegin(fname, ftype, fid);
- if (ftype == ::apache::thrift::protocol::T_STOP) {
- break;
- }
- switch (fid)
- {
- case 1:
- if (ftype == ::apache::thrift::protocol::T_STRING) {
- xfer += iprot->readString(this->computeResourceId);
- isset_computeResourceId = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 2:
- if (ftype == ::apache::thrift::protocol::T_STRUCT) {
- xfer += this->jobSubmission.read(iprot);
- isset_jobSubmission = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- default:
- xfer += iprot->skip(ftype);
- break;
- }
- xfer += iprot->readFieldEnd();
- }
-
- xfer += iprot->readStructEnd();
-
- if (!isset_computeResourceId)
- throw TProtocolException(TProtocolException::INVALID_DATA);
- if (!isset_jobSubmission)
- throw TProtocolException(TProtocolException::INVALID_DATA);
- return xfer;
-}
-
-uint32_t ApplicationCatalogAPI_addGlobusJobSubmissionProtocol_args::write(::apache::thrift::protocol::TProtocol* oprot) const {
- uint32_t xfer = 0;
- xfer += oprot->writeStructBegin("ApplicationCatalogAPI_addGlobusJobSubmissionProtocol_args");
-
- xfer += oprot->writeFieldBegin("computeResourceId", ::apache::thrift::protocol::T_STRING, 1);
- xfer += oprot->writeString(this->computeResourceId);
- xfer += oprot->writeFieldEnd();
-
- xfer += oprot->writeFieldBegin("jobSubmission", ::apache::thrift::protocol::T_STRUCT, 2);
- xfer += this->jobSubmission.write(oprot);
- xfer += oprot->writeFieldEnd();
-
- xfer += oprot->writeFieldStop();
- xfer += oprot->writeStructEnd();
- return xfer;
-}
-
-uint32_t ApplicationCatalogAPI_addGlobusJobSubmissionProtocol_pargs::write(::apache::thrift::protocol::TProtocol* oprot) const {
- uint32_t xfer = 0;
- xfer += oprot->writeStructBegin("ApplicationCatalogAPI_addGlobusJobSubmissionProtocol_pargs");
-
- xfer += oprot->writeFieldBegin("computeResourceId", ::apache::thrift::protocol::T_STRING, 1);
- xfer += oprot->writeString((*(this->computeResourceId)));
- xfer += oprot->writeFieldEnd();
-
- xfer += oprot->writeFieldBegin("jobSubmission", ::apache::thrift::protocol::T_STRUCT, 2);
- xfer += (*(this->jobSubmission)).write(oprot);
- xfer += oprot->writeFieldEnd();
-
- xfer += oprot->writeFieldStop();
- xfer += oprot->writeStructEnd();
- return xfer;
-}
-
-uint32_t ApplicationCatalogAPI_addGlobusJobSubmissionProtocol_result::read(::apache::thrift::protocol::TProtocol* iprot) {
-
- uint32_t xfer = 0;
- std::string fname;
- ::apache::thrift::protocol::TType ftype;
- int16_t fid;
-
- xfer += iprot->readStructBegin(fname);
-
- using ::apache::thrift::protocol::TProtocolException;
-
-
- while (true)
- {
- xfer += iprot->readFieldBegin(fname, ftype, fid);
- if (ftype == ::apache::thrift::protocol::T_STOP) {
- break;
- }
- switch (fid)
- {
- case 0:
- if (ftype == ::apache::thrift::protocol::T_STRING) {
- xfer += iprot->readString(this->success);
- this->__isset.success = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 1:
- if (ftype == ::apache::thrift::protocol::T_STRUCT) {
- xfer += this->ire.read(iprot);
- this->__isset.ire = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 2:
- if (ftype == ::apache::thrift::protocol::T_STRUCT) {
- xfer += this->ace.read(iprot);
- this->__isset.ace = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 3:
- if (ftype == ::apache::thrift::protocol::T_STRUCT) {
- xfer += this->ase.read(iprot);
- this->__isset.ase = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- default:
- xfer += iprot->skip(ftype);
- break;
- }
- xfer += iprot->readFieldEnd();
- }
-
- xfer += iprot->readStructEnd();
-
- return xfer;
-}
-
-uint32_t ApplicationCatalogAPI_addGlobusJobSubmissionProtocol_result::write(::apache::thrift::protocol::TProtocol* oprot) const {
-
- uint32_t xfer = 0;
-
- xfer += oprot->writeStructBegin("ApplicationCatalogAPI_addGlobusJobSubmissionProtocol_result");
-
- if (this->__isset.success) {
- xfer += oprot->writeFieldBegin("success", ::apache::thrift::protocol::T_STRING, 0);
- xfer += oprot->writeString(this->success);
- xfer += oprot->writeFieldEnd();
- } else if (this->__isset.ire) {
- xfer += oprot->writeFieldBegin("ire", ::apache::thrift::protocol::T_STRUCT, 1);
- xfer += this->ire.write(oprot);
- xfer += oprot->writeFieldEnd();
- } else if (this->__isset.ace) {
- xfer += oprot->writeFieldBegin("ace", ::apache::thrift::protocol::T_STRUCT, 2);
- xfer += this->ace.write(oprot);
- xfer += oprot->writeFieldEnd();
- } else if (this->__isset.ase) {
- xfer += oprot->writeFieldBegin("ase", ::apache::thrift::protocol::T_STRUCT, 3);
- xfer += this->ase.write(oprot);
- xfer += oprot->writeFieldEnd();
- }
- xfer += oprot->writeFieldStop();
- xfer += oprot->writeStructEnd();
- return xfer;
-}
-
-uint32_t ApplicationCatalogAPI_addGlobusJobSubmissionProtocol_presult::read(::apache::thrift::protocol::TProtocol* iprot) {
-
- uint32_t xfer = 0;
- std::string fname;
- ::apache::thrift::protocol::TType ftype;
- int16_t fid;
-
- xfer += iprot->readStructBegin(fname);
-
- using ::apache::thrift::protocol::TProtocolException;
-
-
- while (true)
- {
- xfer += iprot->readFieldBegin(fname, ftype, fid);
- if (ftype == ::apache::thrift::protocol::T_STOP) {
- break;
- }
- switch (fid)
- {
- case 0:
- if (ftype == ::apache::thrift::protocol::T_STRING) {
- xfer += iprot->readString((*(this->success)));
- this->__isset.success = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 1:
- if (ftype == ::apache::thrift::protocol::T_STRUCT) {
- xfer += this->ire.read(iprot);
- this->__isset.ire = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 2:
- if (ftype == ::apache::thrift::protocol::T_STRUCT) {
- xfer += this->ace.read(iprot);
- this->__isset.ace = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 3:
- if (ftype == ::apache::thrift::protocol::T_STRUCT) {
- xfer += this->ase.read(iprot);
- this->__isset.ase = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- default:
- xfer += iprot->skip(ftype);
- break;
- }
- xfer += iprot->readFieldEnd();
- }
-
- xfer += iprot->readStructEnd();
-
- return xfer;
-}
-
-uint32_t ApplicationCatalogAPI_addSCPDataMovementProtocol_args::read(::apache::thrift::protocol::TProtocol* iprot) {
-
- uint32_t xfer = 0;
- std::string fname;
- ::apache::thrift::protocol::TType ftype;
- int16_t fid;
-
- xfer += iprot->readStructBegin(fname);
-
- using ::apache::thrift::protocol::TProtocolException;
-
- bool isset_computeResourceId = false;
- bool isset_dataMovement = false;
-
- while (true)
- {
- xfer += iprot->readFieldBegin(fname, ftype, fid);
- if (ftype == ::apache::thrift::protocol::T_STOP) {
- break;
- }
- switch (fid)
- {
- case 1:
- if (ftype == ::apache::thrift::protocol::T_STRING) {
- xfer += iprot->readString(this->computeResourceId);
- isset_computeResourceId = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 2:
- if (ftype == ::apache::thrift::protocol::T_STRUCT) {
- xfer += this->dataMovement.read(iprot);
- isset_dataMovement = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- default:
- xfer += iprot->skip(ftype);
- break;
- }
- xfer += iprot->readFieldEnd();
- }
-
- xfer += iprot->readStructEnd();
-
- if (!isset_computeResourceId)
- throw TProtocolException(TProtocolException::INVALID_DATA);
- if (!isset_dataMovement)
- throw TProtocolException(TProtocolException::INVALID_DATA);
- return xfer;
-}
-
-uint32_t ApplicationCatalogAPI_addSCPDataMovementProtocol_args::write(::apache::thrift::protocol::TProtocol* oprot) const {
- uint32_t xfer = 0;
- xfer += oprot->writeStructBegin("ApplicationCatalogAPI_addSCPDataMovementProtocol_args");
-
- xfer += oprot->writeFieldBegin("computeResourceId", ::apache::thrift::protocol::T_STRING, 1);
- xfer += oprot->writeString(this->computeResourceId);
- xfer += oprot->writeFieldEnd();
-
- xfer += oprot->writeFieldBegin("dataMovement", ::apache::thrift::protocol::T_STRUCT, 2);
- xfer += this->dataMovement.write(oprot);
- xfer += oprot->writeFieldEnd();
-
- xfer += oprot->writeFieldStop();
- xfer += oprot->writeStructEnd();
- return xfer;
-}
-
-uint32_t ApplicationCatalogAPI_addSCPDataMovementProtocol_pargs::write(::apache::thrift::protocol::TProtocol* oprot) const {
- uint32_t xfer = 0;
- xfer += oprot->writeStructBegin("ApplicationCatalogAPI_addSCPDataMovementProtocol_pargs");
-
- xfer += oprot->writeFieldBegin("computeResourceId", ::apache::thrift::protocol::T_STRING, 1);
- xfer += oprot->writeString((*(this->computeResourceId)));
- xfer += oprot->writeFieldEnd();
-
- xfer += oprot->writeFieldBegin("dataMovement", ::apache::thrift::protocol::T_STRUCT, 2);
- xfer += (*(this->dataMovement)).write(oprot);
- xfer += oprot->writeFieldEnd();
-
- xfer += oprot->writeFieldStop();
- xfer += oprot->writeStructEnd();
- return xfer;
-}
-
-uint32_t ApplicationCatalogAPI_addSCPDataMovementProtocol_result::read(::apache::thrift::protocol::TProtocol* iprot) {
-
- uint32_t xfer = 0;
- std::string fname;
- ::apache::thrift::protocol::TType ftype;
- int16_t fid;
-
- xfer += iprot->readStructBegin(fname);
-
- using ::apache::thrift::protocol::TProtocolException;
-
-
- while (true)
- {
- xfer += iprot->readFieldBegin(fname, ftype, fid);
- if (ftype == ::apache::thrift::protocol::T_STOP) {
- break;
- }
- switch (fid)
- {
- case 0:
- if (ftype == ::apache::thrift::protocol::T_STRING) {
- xfer += iprot->readString(this->success);
- this->__isset.success = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 1:
- if (ftype == ::apache::thrift::protocol::T_STRUCT) {
- xfer += this->ire.read(iprot);
- this->__isset.ire = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 2:
- if (ftype == ::apache::thrift::protocol::T_STRUCT) {
- xfer += this->ace.read(iprot);
- this->__isset.ace = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 3:
- if (ftype == ::apache::thrift::protocol::T_STRUCT) {
- xfer += this->ase.read(iprot);
- this->__isset.ase = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- default:
- xfer += iprot->skip(ftype);
- break;
- }
- xfer += iprot->readFieldEnd();
- }
-
- xfer += iprot->readStructEnd();
-
- return xfer;
-}
-
-uint32_t ApplicationCatalogAPI_addSCPDataMovementProtocol_result::write(::apache::thrift::protocol::TProtocol* oprot) const {
-
- uint32_t xfer = 0;
-
- xfer += oprot->writeStructBegin("ApplicationCatalogAPI_addSCPDataMovementProtocol_result");
-
- if (this->__isset.success) {
- xfer += oprot->writeFieldBegin("success", ::apache::thrift::protocol::T_STRING, 0);
- xfer += oprot->writeString(this->success);
- xfer += oprot->writeFieldEnd();
- } else if (this->__isset.ire) {
- xfer += oprot->writeFieldBegin("ire", ::apache::thrift::protocol::T_STRUCT, 1);
- xfer += this->ire.write(oprot);
- xfer += oprot->writeFieldEnd();
- } else if (this->__isset.ace) {
- xfer += oprot->writeFieldBegin("ace", ::apache::thrift::protocol::T_STRUCT, 2);
- xfer += this->ace.write(oprot);
- xfer += oprot->writeFieldEnd();
- } else if (this->__isset.ase) {
- xfer += oprot->writeFieldBegin("ase", ::apache::thrift::protocol::T_STRUCT, 3);
- xfer += this->ase.write(oprot);
- xfer += oprot->writeFieldEnd();
- }
- xfer += oprot->writeFieldStop();
- xfer += oprot->writeStructEnd();
- return xfer;
-}
-
-uint32_t ApplicationCatalogAPI_addSCPDataMovementProtocol_presult::read(::apache::thrift::protocol::TProtocol* iprot) {
-
- uint32_t xfer = 0;
- std::string fname;
- ::apache::thrift::protocol::TType ftype;
- int16_t fid;
-
- xfer += iprot->readStructBegin(fname);
-
- using ::apache::thrift::protocol::TProtocolException;
-
-
- while (true)
- {
- xfer += iprot->readFieldBegin(fname, ftype, fid);
- if (ftype == ::apache::thrift::protocol::T_STOP) {
- break;
- }
- switch (fid)
- {
- case 0:
- if (ftype == ::apache::thrift::protocol::T_STRING) {
- xfer += iprot->readString((*(this->success)));
- this->__isset.success = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 1:
- if (ftype == ::apache::thrift::protocol::T_STRUCT) {
- xfer += this->ire.read(iprot);
- this->__isset.ire = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 2:
- if (ftype == ::apache::thrift::protocol::T_STRUCT) {
- xfer += this->ace.read(iprot);
- this->__isset.ace = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 3:
- if (ftype == ::apache::thrift::protocol::T_STRUCT) {
- xfer += this->ase.read(iprot);
- this->__isset.ase = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- default:
- xfer += iprot->skip(ftype);
- break;
- }
- xfer += iprot->readFieldEnd();
- }
-
- xfer += iprot->readStructEnd();
-
- return xfer;
-}
-
-uint32_t ApplicationCatalogAPI_addGridFTPDataMovementProtocol_args::read(::apache::thrift::protocol::TProtocol* iprot) {
-
- uint32_t xfer = 0;
- std::string fname;
- ::apache::thrift::protocol::TType ftype;
- int16_t fid;
-
- xfer += iprot->readStructBegin(fname);
-
- using ::apache::thrift::protocol::TProtocolException;
-
- bool isset_computeResourceId = false;
- bool isset_dataMovement = false;
-
- while (true)
- {
- xfer += iprot->readFieldBegin(fname, ftype, fid);
- if (ftype == ::apache::thrift::protocol::T_STOP) {
- break;
- }
- switch (fid)
- {
- case 1:
- if (ftype == ::apache::thrift::protocol::T_STRING) {
- xfer += iprot->readString(this->computeResourceId);
- isset_computeResourceId = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 2:
- if (ftype == ::apache::thrift::protocol::T_STRUCT) {
- xfer += this->dataMovement.read(iprot);
- isset_dataMovement = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- default:
- xfer += iprot->skip(ftype);
- break;
- }
- xfer += iprot->readFieldEnd();
- }
-
- xfer += iprot->readStructEnd();
-
- if (!isset_computeResourceId)
- throw TProtocolException(TProtocolException::INVALID_DATA);
- if (!isset_dataMovement)
- throw TProtocolException(TProtocolException::INVALID_DATA);
- return xfer;
-}
-
-uint32_t ApplicationCatalogAPI_addGridFTPDataMovementProtocol_args::write(::apache::thrift::protocol::TProtocol* oprot) const {
- uint32_t xfer = 0;
- xfer += oprot->writeStructBegin("ApplicationCatalogAPI_addGridFTPDataMovementProtocol_args");
-
- xfer += oprot->writeFieldBegin("computeResourceId", ::apache::thrift::protocol::T_STRING, 1);
- xfer += oprot->writeString(this->computeResourceId);
- xfer += oprot->writeFieldEnd();
-
- xfer += oprot->writeFieldBegin("dataMovement", ::apache::thrift::protocol::T_STRUCT, 2);
- xfer += this->dataMovement.write(oprot);
- xfer += oprot->writeFieldEnd();
-
- xfer += oprot->writeFieldStop();
- xfer += oprot->writeStructEnd();
- return xfer;
-}
-
-uint32_t ApplicationCatalogAPI_addGridFTPDataMovementProtocol_pargs::write(::apache::thrift::protocol::TProtocol* oprot) const {
- uint32_t xfer = 0;
- xfer += oprot->writeStructBegin("ApplicationCatalogAPI_addGridFTPDataMovementProtocol_pargs");
-
- xfer += oprot->writeFieldBegin("computeResourceId", ::apache::thrift::protocol::T_STRING, 1);
- xfer += oprot->writeString((*(this->computeResourceId)));
- xfer += oprot->writeFieldEnd();
-
- xfer += oprot->writeFieldBegin("dataMovement", ::apache::thrift::protocol::T_STRUCT, 2);
- xfer += (*(this->dataMovement)).write(oprot);
- xfer += oprot->writeFieldEnd();
-
- xfer += oprot->writeFieldStop();
- xfer += oprot->writeStructEnd();
- return xfer;
-}
-
-uint32_t ApplicationCatalogAPI_addGridFTPDataMovementProtocol_result::read(::apache::thrift::protocol::TProtocol* iprot) {
-
- uint32_t xfer = 0;
- std::string fname;
- ::apache::thrift::protocol::TType ftype;
- int16_t fid;
-
- xfer += iprot->readStructBegin(fname);
-
- using ::apache::thrift::protocol::TProtocolException;
-
-
- while (true)
- {
- xfer += iprot->readFieldBegin(fname, ftype, fid);
- if (ftype == ::apache::thrift::protocol::T_STOP) {
- break;
- }
- switch (fid)
- {
- case 0:
- if (ftype == ::apache::thrift::protocol::T_STRING) {
- xfer += iprot->readString(this->success);
- this->__isset.success = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 1:
- if (ftype == ::apache::thrift::protocol::T_STRUCT) {
- xfer += this->ire.read(iprot);
- this->__isset.ire = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 2:
- if (ftype == ::apache::thrift::protocol::T_STRUCT) {
- xfer += this->ace.read(iprot);
- this->__isset.ace = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 3:
- if (ftype == ::apache::thrift::protocol::T_STRUCT) {
- xfer += this->ase.read(iprot);
- this->__isset.ase = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- default:
- xfer += iprot->skip(ftype);
- break;
- }
- xfer += iprot->readFieldEnd();
- }
-
- xfer += iprot->readStructEnd();
-
- return xfer;
-}
-
-uint32_t ApplicationCatalogAPI_addGridFTPDataMovementProtocol_result::write(::apache::thrift::protocol::TProtocol* oprot) const {
-
- uint32_t xfer = 0;
-
- xfer += oprot->writeStructBegin("ApplicationCatalogAPI_addGridFTPDataMovementProtocol_result");
-
- if (this->__isset.success) {
- xfer += oprot->writeFieldBegin("success", ::apache::thrift::protocol::T_STRING, 0);
- xfer += oprot->writeString(this->success);
- xfer += oprot->writeFieldEnd();
- } else if (this->__isset.ire) {
- xfer += oprot->writeFieldBegin("ire", ::apache::thrift::protocol::T_STRUCT, 1);
- xfer += this->ire.write(oprot);
- xfer += oprot->writeFieldEnd();
- } else if (this->__isset.ace) {
- xfer += oprot->writeFieldBegin("ace", ::apache::thrift::protocol::T_STRUCT, 2);
- xfer += this->ace.write(oprot);
- xfer += oprot->writeFieldEnd();
- } else if (this->__isset.ase) {
- xfer += oprot->writeFieldBegin("ase", ::apache::thrift::protocol::T_STRUCT, 3);
- xfer += this->ase.write(oprot);
- xfer += oprot->writeFieldEnd();
- }
- xfer += oprot->writeFieldStop();
- xfer += oprot->writeStructEnd();
- return xfer;
-}
-
-uint32_t ApplicationCatalogAPI_addGridFTPDataMovementProtocol_presult::read(::apache::thrift::protocol::TProtocol* iprot) {
-
- uint32_t xfer = 0;
- std::string fname;
- ::apache::thrift::protocol::TType ftype;
- int16_t fid;
-
- xfer += iprot->readStructBegin(fname);
-
- using ::apache::thrift::protocol::TProtocolException;
-
-
- while (true)
- {
- xfer += iprot->readFieldBegin(fname, ftype, fid);
- if (ftype == ::apache::thrift::protocol::T_STOP) {
- break;
- }
- switch (fid)
- {
- case 0:
- if (ftype == ::apache::thrift::protocol::T_STRING) {
- xfer += iprot->readString((*(this->success)));
- this->__isset.success = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 1:
- if (ftype == ::apache::thrift::protocol::T_STRUCT) {
- xfer += this->ire.read(iprot);
- this->__isset.ire = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 2:
- if (ftype == ::apache::thrift::protocol::T_STRUCT) {
- xfer += this->ace.read(iprot);
- this->__isset.ace = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 3:
- if (ftype == ::apache::thrift::protocol::T_STRUCT) {
- xfer += this->ase.read(iprot);
- this->__isset.ase = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- default:
- xfer += iprot->skip(ftype);
- break;
- }
- xfer += iprot->readFieldEnd();
- }
-
- xfer += iprot->readStructEnd();
-
- return xfer;
-}
-
-uint32_t ApplicationCatalogAPI_listComputeResourceDescriptions_args::read(::apache::thrift::protocol::TProtocol* iprot) {
-
- uint32_t xfer = 0;
- std::string fname;
- ::apache::thrift::protocol::TType ftype;
- int16_t fid;
-
- xfer += iprot->readStructBegin(fname);
-
- using ::apache::thrift::protocol::TProtocolException;
-
-
- while (true)
- {
- xfer += iprot->readFieldBegin(fname, ftype, fid);
- if (ftype == ::apache::thrift::protocol::T_STOP) {
- break;
- }
- xfer += iprot->skip(ftype);
- xfer += iprot->readFieldEnd();
- }
-
- xfer += iprot->readStructEnd();
-
- return xfer;
-}
-
-uint32_t ApplicationCatalogAPI_listComputeResourceDescriptions_args::write(::apache::thrift::protocol::TProtocol* oprot) const {
- uint32_t xfer = 0;
- xfer += oprot->writeStructBegin("ApplicationCatalogAPI_listComputeResourceDescriptions_args");
-
- xfer += oprot->writeFieldStop();
- xfer += oprot->writeStructEnd();
- return xfer;
-}
-
-uint32_t ApplicationCatalogAPI_listComputeResourceDescriptions_pargs::write(::apache::thrift::protocol::TProtocol* oprot) const {
- uint32_t xfer = 0;
- xfer += oprot->writeStructBegin("ApplicationCatalogAPI_listComputeResourceDescriptions_pargs");
-
- xfer += oprot->writeFieldStop();
- xfer += oprot->writeStructEnd();
- return xfer;
-}
-
-uint32_t ApplicationCatalogAPI_listComputeResourceDescriptions_result::read(::apache::thrift::protocol::TProtocol* iprot) {
-
- uint32_t xfer = 0;
- std::string fname;
- ::apache::thrift::protocol::TType ftype;
- int16_t fid;
-
- xfer += iprot->readStructBegin(fname);
-
- using ::apache::thrift::protocol::TProtocolException;
-
-
- while (true)
- {
- xfer += iprot->readFieldBegin(fname, ftype, fid);
- if (ftype == ::apache::thrift::protocol::T_STOP) {
- break;
- }
- switch (fid)
- {
- case 0:
- if (ftype == ::apache::thrift::protocol::T_LIST) {
- {
- this->success.clear();
- uint32_t _size0;
- ::apache::thrift::protocol::TType _etype3;
- xfer += iprot->readListBegin(_etype3, _size0);
- this->success.resize(_size0);
- uint32_t _i4;
- for (_i4 = 0; _i4 < _size0; ++_i4)
- {
- xfer += iprot->readString(this->success[_i4]);
- }
- xfer += iprot->readListEnd();
- }
- this->__isset.success = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 1:
- if (ftype == ::apache::thrift::protocol::T_STRUCT) {
- xfer += this->ire.read(iprot);
- this->__isset.ire = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 2:
- if (ftype == ::apache::thrift::protocol::T_STRUCT) {
- xfer += this->ace.read(iprot);
- this->__isset.ace = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 3:
- if (ftype == ::apache::thrift::protocol::T_STRUCT) {
- xfer += this->ase.read(iprot);
- this->__isset.ase = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- default:
- xfer += iprot->skip(ftype);
- break;
- }
- xfer += iprot->readFieldEnd();
- }
-
- xfer += iprot->readStructEnd();
-
- return xfer;
-}
-
-uint32_t ApplicationCatalogAPI_listComputeResourceDescriptions_result::write(::apache::thrift::protocol::TProtocol* oprot) const {
-
- uint32_t xfer = 0;
-
- xfer += oprot->writeStructBegin("ApplicationCatalogAPI_listComputeResourceDescriptions_result");
-
- if (this->__isset.success) {
- xfer += oprot->writeFieldBegin("success", ::apache::thrift::protocol::T_LIST, 0);
- {
- xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRING, static_cast<uint32_t>(this->success.size()));
- std::vector<std::string> ::const_iterator _iter5;
- for (_iter5 = this->success.begin(); _iter5 != this->success.end(); ++_iter5)
- {
- xfer += oprot->writeString((*_iter5));
- }
- xfer += oprot->writeListEnd();
- }
- xfer += oprot->writeFieldEnd();
- } else if (this->__isset.ire) {
- xfer += oprot->writeFieldBegin("ire", ::apache::thrift::protocol::T_STRUCT, 1);
- xfer += this->ire.write(oprot);
- xfer += oprot->writeFieldEnd();
- } else if (this->__isset.ace) {
- xfer += oprot->writeFieldBegin("ace", ::apache::thrift::protocol::T_STRUCT, 2);
- xfer += this->ace.write(oprot);
- xfer += oprot->writeFieldEnd();
- } else if (this->__isset.ase) {
- xfer += oprot->writeFieldBegin("ase", ::apache::thrift::protocol::T_STRUCT, 3);
- xfer += this->ase.write(oprot);
- xfer += oprot->writeFieldEnd();
- }
- xfer += oprot->writeFieldStop();
- xfer += oprot->writeStructEnd();
- return xfer;
-}
-
-uint32_t ApplicationCatalogAPI_listComputeResourceDescriptions_presult::read(::apache::thrift::protocol::TProtocol* iprot) {
-
- uint32_t xfer = 0;
- std::string fname;
- ::apache::thrift::protocol::TType ftype;
- int16_t fid;
-
- xfer += iprot->readStructBegin(fname);
-
- using ::apache::thrift::protocol::TProtocolException;
-
-
- while (true)
- {
- xfer += iprot->readFieldBegin(fname, ftype, fid);
- if (ftype == ::apache::thrift::protocol::T_STOP) {
- break;
- }
- switch (fid)
- {
- case 0:
- if (ftype == ::apache::thrift::protocol::T_LIST) {
- {
- (*(this->success)).clear();
- uint32_t _size6;
- ::apache::thrift::protocol::TType _etype9;
- xfer += iprot->readListBegin(_etype9, _size6);
- (*(this->success)).resize(_size6);
- uint32_t _i10;
- for (_i10 = 0; _i10 < _size6; ++_i10)
- {
- xfer += iprot->readString((*(this->success))[_i10]);
- }
- xfer += iprot->readListEnd();
- }
- this->__isset.success = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 1:
- if (ftype == ::apache::thrift::protocol::T_STRUCT) {
- xfer += this->ire.read(iprot);
- this->__isset.ire = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 2:
- if (ftype == ::apache::thrift::protocol::T_STRUCT) {
- xfer += this->ace.read(iprot);
- this->__isset.ace = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 3:
- if (ftype == ::apache::thrift::protocol::T_STRUCT) {
- xfer += this->ase.read(iprot);
- this->__isset.ase = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- default:
- xfer += iprot->skip(ftype);
- break;
- }
- xfer += iprot->readFieldEnd();
- }
-
- xfer += iprot->readStructEnd();
-
- return xfer;
-}
-
-uint32_t ApplicationCatalogAPI_getComputeResourceDescription_args::read(::apache::thrift::protocol::TProtocol* iprot) {
-
- uint32_t xfer = 0;
- std::string fname;
- ::apache::thrift::protocol::TType ftype;
- int16_t fid;
-
- xfer += iprot->readStructBegin(fname);
-
- using ::apache::thrift::protocol::TProtocolException;
-
- bool isset_computeResourceId = false;
-
- while (true)
- {
- xfer += iprot->readFieldBegin(fname, ftype, fid);
- if (ftype == ::apache::thrift::protocol::T_STOP) {
- break;
- }
- switch (fid)
- {
- case 1:
- if (ftype == ::apache::thrift::protocol::T_STRING) {
- xfer += iprot->readString(this->computeResourceId);
- isset_computeResourceId = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- default:
- xfer += iprot->skip(ftype);
- break;
- }
- xfer += iprot->readFieldEnd();
- }
-
- xfer += iprot->readStructEnd();
-
- if (!isset_computeResourceId)
- throw TProtocolException(TProtocolException::INVALID_DATA);
- return xfer;
-}
-
-uint32_t ApplicationCatalogAPI_getComputeResourceDescription_args::write(::apache::thrift::protocol::TProtocol* oprot) const {
- uint32_t xfer = 0;
- xfer += oprot->writeStructBegin("ApplicationCatalogAPI_getComputeResourceDescription_args");
-
- xfer += oprot->writeFieldBegin("computeResourceId", ::apache::thrift::protocol::T_STRING, 1);
- xfer += oprot->writeString(this->computeResourceId);
- xfer += oprot->writeFieldEnd();
-
- xfer += oprot->writeFieldStop();
- xfer += oprot->writeStructEnd();
- return xfer;
-}
-
-uint32_t ApplicationCatalogAPI_getComputeResourceDescription_pargs::write(::apache::thrift::protocol::TProtocol* oprot) const {
- uint32_t xfer = 0;
- xfer += oprot->writeStructBegin("ApplicationCatalogAPI_getComputeResourceDescription_pargs");
-
- xfer += oprot->writeFieldBegin("computeResourceId", ::apache::thrift::protocol::T_STRING, 1);
- xfer += oprot->writeString((*(this->computeResourceId)));
- xfer += oprot->writeFieldEnd();
-
- xfer += oprot->writeFieldStop();
- xfer += oprot->writeStructEnd();
- return xfer;
-}
-
-uint32_t ApplicationCatalogAPI_getComputeResourceDescription_result::read(::apache::thrift::protocol::TProtocol* iprot) {
-
- uint32_t xfer = 0;
- std::string fname;
- ::apache::thrift::protocol::TType ftype;
- int16_t fid;
-
- xfer += iprot->readStructBegin(fname);
-
- using ::apache::thrift::protocol::TProtocolException;
-
-
- while (true)
- {
- xfer += iprot->readFieldBegin(fname, ftype, fid);
- if (ftype == ::apache::thrift::protocol::T_STOP) {
- break;
- }
- switch (fid)
- {
- case 0:
- if (ftype == ::apache::thrift::protocol::T_STRUCT) {
- xfer += this->success.read(iprot);
- this->__isset.success = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 1:
- if (ftype == ::apache::thrift::protocol::T_STRUCT) {
- xfer += this->ire.read(iprot);
- this->__isset.ire = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 2:
- if (ftype == ::apache::thrift::protocol::T_STRUCT) {
- xfer += this->ace.read(iprot);
- this->__isset.ace = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 3:
- if (ftype == ::apache::thrift::protocol::T_STRUCT) {
- xfer += this->ase.read(iprot);
- this->__isset.ase = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- default:
- xfer += iprot->skip(ftype);
- break;
- }
- xfer += iprot->readFieldEnd();
- }
-
- xfer += iprot->readStructEnd();
-
- return xfer;
-}
-
-uint32_t ApplicationCatalogAPI_getComputeResourceDescription_result::write(::apache::thrift::protocol::TProtocol* oprot) const {
-
- uint32_t xfer = 0;
-
- xfer += oprot->writeStructBegin("ApplicationCatalogAPI_getComputeResourceDescription_result");
-
- if (this->__isset.success) {
- xfer += oprot->writeFieldBegin("success", ::apache::thrift::protocol::T_STRUCT, 0);
- xfer += this->success.write(oprot);
- xfer += oprot->writeFieldEnd();
- } else if (this->__isset.ire) {
- xfer += oprot->writeFieldBegin("ire", ::apache::thrift::protocol::T_STRUCT, 1);
- xfer += this->ire.write(oprot);
- xfer += oprot->writeFieldEnd();
- } else if (this->__isset.ace) {
- xfer += oprot->writeFieldBegin("ace", ::apache::thrift::protocol::T_STRUCT, 2);
- xfer += this->ace.write(oprot);
- xfer += oprot->writeFieldEnd();
- } else if (this->__isset.ase) {
- xfer += oprot->writeFieldBegin("ase", ::apache::thrift::protocol::T_STRUCT, 3);
- xfer += this->ase.write(oprot);
- xfer += oprot->writeFieldEnd();
- }
- xfer += oprot->writeFieldStop();
- xfer += oprot->writeStructEnd();
- return xfer;
-}
-
-uint32_t ApplicationCatalogAPI_getComputeResourceDescription_presult::read(::apache::thrift::protocol::TProtocol* iprot) {
-
- uint32_t xfer = 0;
- std::string fname;
- ::apache::thrift::protocol::TType ftype;
- int16_t fid;
-
- xfer += iprot->readStructBegin(fname);
-
- using ::apache::thrift::protocol::TProtocolException;
-
-
- while (true)
- {
- xfer += iprot->readFieldBegin(fname, ftype, fid);
- if (ftype == ::apache::thrift::protocol::T_STOP) {
- break;
- }
- switch (fid)
- {
- case 0:
- if (ftype == ::apache::thrift::protocol::T_STRUCT) {
- xfer += (*(this->success)).read(iprot);
- this->__isset.success = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 1:
- if (ftype == ::apache::thrift::protocol::T_STRUCT) {
- xfer += this->ire.read(iprot);
- this->__isset.ire = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 2:
- if (ftype == ::apache::thrift::protocol::T_STRUCT) {
- xfer += this->ace.read(iprot);
- this->__isset.ace = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 3:
- if (ftype == ::apache::thrift::protocol::T_STRUCT) {
- xfer += this->ase.read(iprot);
- this->__isset.ase = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- default:
- xfer += iprot->skip(ftype);
- break;
- }
- xfer += iprot->readFieldEnd();
- }
-
- xfer += iprot->readStructEnd();
-
- return xfer;
-}
-
-uint32_t ApplicationCatalogAPI_getSSHJobSubmissionProtocol_args::read(::apache::thrift::protocol::TProtocol* iprot) {
-
- uint32_t xfer = 0;
- std::string fname;
- ::apache::thrift::protocol::TType ftype;
- int16_t fid;
-
- xfer += iprot->readStructBegin(fname);
-
- using ::apache::thrift::protocol::TProtocolException;
-
- bool isset_sshJobSubmissionProtocolResourceId = false;
-
- while (true)
- {
- xfer += iprot->readFieldBegin(fname, ftype, fid);
- if (ftype == ::apache::thrift::protocol::T_STOP) {
- break;
- }
- switch (fid)
- {
- case 1:
- if (ftype == ::apache::thrift::protocol::T_STRING) {
- xfer += iprot->readString(this->sshJobSubmissionProtocolResourceId);
- isset_sshJobSubmissionProtocolResourceId = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- default:
- xfer += iprot->skip(ftype);
- break;
- }
- xfer += iprot->readFieldEnd();
- }
-
- xfer += iprot->readStructEnd();
-
- if (!isset_sshJobSubmissionProtocolResourceId)
- throw TProtocolException(TProtocolException::INVALID_DATA);
- return xfer;
-}
-
-uint32_t ApplicationCatalogAPI_getSSHJobSubmissionProtocol_args::write(::apache::thrift::protocol::TProtocol* oprot) const {
- uint32_t xfer = 0;
- xfer += oprot->writeStructBegin("ApplicationCatalogAPI_getSSHJobSubmissionProtocol_args");
-
- xfer += oprot->writeFieldBegin("sshJobSubmissionProtocolResourceId", ::apache::thrift::protocol::T_STRING, 1);
- xfer += oprot->writeString(this->sshJobSubmissionProtocolResourceId);
- xfer += oprot->writeFieldEnd();
-
- xfer += oprot->writeFieldStop();
- xfer += oprot->writeStructEnd();
- return xfer;
-}
-
-uint32_t ApplicationCatalogAPI_getSSHJobSubmissionProtocol_pargs::write(::apache::thrift::protocol::TProtocol* oprot) const {
- uint32_t xfer = 0;
- xfer += oprot->writeStructBegin("ApplicationCatalogAPI_getSSHJobSubmissionProtocol_pargs");
-
- xfer += oprot->writeFieldBegin("sshJobSubmissionProtocolResourceId", ::apache::thrift::protocol::T_STRING, 1);
- xfer += oprot->writeString((*(this->sshJobSubmissionProtocolResourceId)));
- xfer += oprot->writeFieldEnd();
-
- xfer += oprot->writeFieldStop();
- xfer += oprot->writeStructEnd();
- return xfer;
-}
-
-uint32_t ApplicationCatalogAPI_getSSHJobSubmissionProtocol_result::read(::apache::thrift::protocol::TProtocol* iprot) {
-
- uint32_t xfer = 0;
- std::string fname;
- ::apache::thrift::protocol::TType ftype;
- int16_t fid;
-
- xfer += iprot->readStructBegin(fname);
-
- using ::apache::thrift::protocol::TProtocolException;
-
-
- while (true)
- {
- xfer += iprot->readFieldBegin(fname, ftype, fid);
- if (ftype == ::apache::thrift::protocol::T_STOP) {
- break;
- }
- switch (fid)
- {
- case 0:
- if (ftype == ::apache::thrift::protocol::T_STRUCT) {
- xfer += this->success.read(iprot);
- this->__isset.success = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 1:
- if (ftype == ::apache::thrift::protocol::T_STRUCT) {
- xfer += this->ire.read(iprot);
- this->__isset.ire = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 2:
- if (ftype == ::apache::thrift::protocol::T_STRUCT) {
- xfer += this->ace.read(iprot);
- this->__isset.ace = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 3:
- if (ftype == ::apache::thrift::protocol::T_STRUCT) {
- xfer += this->ase.read(iprot);
- this->__isset.ase = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- default:
- xfer += iprot->skip(ftype);
- break;
- }
- xfer += iprot->readFieldEnd();
- }
-
- xfer += iprot->readStructEnd();
-
- return xfer;
-}
-
-uint32_t ApplicationCatalogAPI_getSSHJobSubmissionProtocol_result::write(::apache::thrift::protocol::TProtocol* oprot) const {
-
- uint32_t xfer = 0;
-
- xfer += oprot->writeStructBegin("ApplicationCatalogAPI_getSSHJobSubmissionProtocol_result");
-
- if (this->__isset.success) {
- xfer += oprot->writeFieldBegin("success", ::apache::thrift::protocol::T_STRUCT, 0);
- xfer += this->success.write(oprot);
- xfer += oprot->writeFieldEnd();
- } else if (this->__isset.ire) {
- xfer += oprot->writeFieldBegin("ire", ::apache::thrift::protocol::T_STRUCT, 1);
- xfer += this->ire.write(oprot);
- xfer += oprot->writeFieldEnd();
- } else if (this->__isset.ace) {
- xfer += oprot->writeFieldBegin("ace", ::apache::thrift::protocol::T_STRUCT, 2);
- xfer += this->ace.write(oprot);
- xfer += oprot->writeFieldEnd();
- } else if (this->__isset.ase) {
- xfer += oprot->writeFieldBegin("ase", ::apache::thrift::protocol::T_STRUCT, 3);
- xfer += this->ase.write(oprot);
- xfer += oprot->writeFieldEnd();
- }
- xfer += oprot->writeFieldStop();
- xfer += oprot->writeStructEnd();
- return xfer;
-}
-
-uint32_t ApplicationCatalogAPI_getSSHJobSubmissionProtocol_presult::read(::apache::thrift::protocol::TProtocol* iprot) {
-
- uint32_t xfer = 0;
- std::string fname;
- ::apache::thrift::protocol::TType ftype;
- int16_t fid;
-
- xfer += iprot->readStructBegin(fname);
-
- using ::apache::thrift::protocol::TProtocolException;
-
-
- while (true)
- {
- xfer += iprot->readFieldBegin(fname, ftype, fid);
- if (ftype == ::apache::thrift::protocol::T_STOP) {
- break;
- }
- switch (fid)
- {
- case 0:
- if (ftype == ::apache::thrift::protocol::T_STRUCT) {
- xfer += (*(this->success)).read(iprot);
- this->__isset.success = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 1:
- if (ftype == ::apache::thrift::protocol::T_STRUCT) {
- xfer += this->ire.read(iprot);
- this->__isset.ire = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 2:
- if (ftype == ::apache::thrift::protocol::T_STRUCT) {
- xfer += this->ace.read(iprot);
- this->__isset.ace = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 3:
- if (ftype == ::apache::thrift::protocol::T_STRUCT) {
- xfer += this->ase.read(iprot);
- this->__isset.ase = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- default:
- xfer += iprot->skip(ftype);
- break;
- }
- xfer += iprot->readFieldEnd();
- }
-
- xfer += iprot->readStructEnd();
-
- return xfer;
-}
-
-uint32_t ApplicationCatalogAPI_getGSISSHJobSubmissionProtocol_args::read(::apache::thrift::protocol::TProtocol* iprot) {
-
- uint32_t xfer = 0;
- std::string fname;
- ::apache::thrift::protocol::TType ftype;
- int16_t fid;
-
- xfer += iprot->readStructBegin(fname);
-
- using ::apache::thrift::protocol::TProtocolException;
-
- bool isset_gsisshJobSubmissionProtocolResourceId = false;
-
- while (true)
- {
- xfer += iprot->readFieldBegin(fname, ftype, fid);
- if (ftype == ::apache::thrift::protocol::T_STOP) {
- break;
- }
- switch (fid)
- {
- case 1:
- if (ftype == ::apache::thrift::protocol::T_STRING) {
- xfer += iprot->readString(this->gsisshJobSubmissionProtocolResourceId);
- isset_gsisshJobSubmissionProtocolResourceId = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- default:
- xfer += iprot->skip(ftype);
- break;
- }
- xfer += iprot->readFieldEnd();
- }
-
- xfer += iprot->readStructEnd();
-
- if (!isset_gsisshJobSubmissionProtocolResourceId)
- throw TProtocolException(TProtocolException::INVALID_DATA);
- return xfer;
-}
-
-uint32_t ApplicationCatalogAPI_getGSISSHJobSubmissionProtocol_args::write(::apache::thrift::protocol::TProtocol* oprot) const {
- uint32_t xfer = 0;
- xfer += oprot->writeStructBegin("ApplicationCatalogAPI_getGSISSHJobSubmissionProtocol_args");
-
- xfer += oprot->writeFieldBegin("gsisshJobSubmissionProtocolResourceId", ::apache::thrift::protocol::T_STRING, 1);
- xfer += oprot->writeString(this->gsisshJobSubmissionProtocolResourceId);
- xfer += oprot->writeFieldEnd();
-
- xfer += oprot->writeFieldStop();
- xfer += oprot->writeStructEnd();
- return xfer;
-}
-
-uint32_t ApplicationCatalogAPI_getGSISSHJobSubmissionProtocol_pargs::write(::apache::thrift::protocol::TProtocol* oprot) const {
- uint32_t xfer = 0;
- xfer += oprot->writeStructBegin("ApplicationCatalogAPI_getGSISSHJobSubmissionProtocol_pargs");
-
- xfer += oprot->writeFieldBegin("gsisshJobSubmissionProtocolResourceId", ::apache::thrift::protocol::T_STRING, 1);
- xfer += oprot->writeString((*(this->gsisshJobSubmissionProtocolResourceId)));
- xfer += oprot->writeFieldEnd();
-
- xfer += oprot->writeFieldStop();
- xfer += oprot->writeStructEnd();
- return xfer;
-}
-
-uint32_t ApplicationCatalogAPI_getGSISSHJobSubmissionProtocol_result::read(::apache::thrift::protocol::TProtocol* iprot) {
-
- uint32_t xfer = 0;
- std::string fname;
- ::apache::thrift::protocol::TType ftype;
- int16_t fid;
-
- xfer += iprot->readStructBegin(fname);
-
- using ::apache::thrift::protocol::TProtocolException;
-
-
- while (true)
- {
- xfer += iprot->readFieldBegin(fname, ftype, fid);
- if (ftype == ::apache::thrift::protocol::T_STOP) {
- break;
- }
- switch (fid)
- {
- case 0:
- if (ftype == ::apache::thrift::protocol::T_STRUCT) {
- xfer += this->success.read(iprot);
- this->__isset.success = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 1:
- if (ftype == ::apache::thrift::protocol::T_STRUCT) {
- xfer += this->ire.read(iprot);
- this->__isset.ire = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 2:
- if (ftype == ::apache::thrift::protocol::T_STRUCT) {
- xfer += this->ace.read(iprot);
- this->__isset.ace = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 3:
- if (ftype == ::apache::thrift::protocol::T_STRUCT) {
- xfer += this->ase.read(iprot);
- this->__isset.ase = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- default:
- xfer += iprot->skip(ftype);
- break;
- }
- xfer += iprot->readFieldEnd();
- }
-
- xfer += iprot->readStructEnd();
-
- return xfer;
-}
-
-uint32_t ApplicationCatalogAPI_getGSISSHJobSubmissionProtocol_result::write(::apache::thrift::protocol::TProtocol* oprot) const {
-
- uint32_t xfer = 0;
-
- xfer += oprot->writeStructBegin("ApplicationCatalogAPI_getGSISSHJobSubmissionProtocol_result");
-
- if (this->__isset.success) {
- xfer += oprot->writeFieldBegin("success", ::apache::thrift::protocol::T_STRUCT, 0);
- xfer += this->success.write(oprot);
- xfer += oprot->writeFieldEnd();
- } else if (this->__isset.ire) {
- xfer += oprot->writeFieldBegin("ire", ::apache::thrift::protocol::T_STRUCT, 1);
- xfer += this->ire.write(oprot);
- xfer += oprot->writeFieldEnd();
- } else if (this->__isset.ace) {
- xfer += oprot->writeFieldBegin("ace", ::apache::thrift::protocol::T_STRUCT, 2);
- xfer += this->ace.write(oprot);
- xfer += oprot->writeFieldEnd();
- } else if (this->__isset.ase) {
- xfer += oprot->writeFieldBegin("ase", ::apache::thrift::protocol::T_STRUCT, 3);
- xfer += this->ase.write(oprot);
- xfer += oprot->writeFieldEnd();
- }
- xfer += oprot->writeFieldStop();
- xfer += oprot->writeStructEnd();
- return xfer;
-}
-
-uint32_t ApplicationCatalogAPI_getGSISSHJobSubmissionProtocol_presult::read(::apache::thrift::protocol::TProtocol* iprot) {
-
- uint32_t xfer = 0;
- std::string fname;
- ::apache::thrift::protocol::TType ftype;
- int16_t fid;
-
- xfer += iprot->readStructBegin(fname);
-
- using ::apache::thrift::protocol::TProtocolException;
-
-
- while (true)
- {
- xfer += iprot->readFieldBegin(fname, ftype, fid);
- if (ftype == ::apache::thrift::protocol::T_STOP) {
- break;
- }
- switch (fid)
- {
- case 0:
- if (ftype == ::apache::thrift::protocol::T_STRUCT) {
- xfer += (*(this->success)).read(iprot);
- this->__isset.success = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 1:
- if (ftype == ::apache::thrift::protocol::T_STRUCT) {
- xfer += this->ire.read(iprot);
- this->__isset.ire = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 2:
- if (ftype == ::apache::thrift::protocol::T_STRUCT) {
- xfer += this->ace.read(iprot);
- this->__isset.ace = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 3:
- if (ftype == ::apache::thrift::protocol::T_STRUCT) {
- xfer += this->ase.read(iprot);
- this->__isset.ase = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- default:
- xfer += iprot->skip(ftype);
- break;
- }
- xfer += iprot->readFieldEnd();
- }
-
- xfer += iprot->readStructEnd();
-
- return xfer;
-}
-
-uint32_t ApplicationCatalogAPI_getGlobusJobSubmissionProtocol_args::read(::apache::thrift::protocol::TProtocol* iprot) {
-
- uint32_t xfer = 0;
- std::string fname;
- ::apache::thrift::protocol::TType ftype;
- int16_t fid;
-
- xfer += iprot->readStructBegin(fname);
-
- using ::apache::thrift::protocol::TProtocolException;
-
- bool isset_globusJobSubmissionProtocolResourceId = false;
-
- while (true)
- {
- xfer += iprot->readFieldBegin(fname, ftype, fid);
- if (ftype == ::apache::thrift::protocol::T_STOP) {
- break;
- }
- switch (fid)
- {
- case 1:
- if (ftype == ::apache::thrift::protocol::T_STRING) {
- xfer += iprot->readString(this->globusJobSubmissionProtocolResourceId);
- isset_globusJobSubmissionProtocolResourceId = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- default:
- xfer += iprot->skip(ftype);
- break;
- }
- xfer += iprot->readFieldEnd();
- }
-
- xfer += iprot->readStructEnd();
-
- if (!isset_globusJobSubmissionProtocolResourceId)
- throw TProtocolException(TProtocolException::INVALID_DATA);
- return xfer;
-}
-
-uint32_t ApplicationCatalogAPI_getGlobusJobSubmissionProtocol_args::write(::apache::thrift::protocol::TProtocol* oprot) const {
- uint32_t xfer = 0;
- xfer += oprot->writeStructBegin("ApplicationCatalogAPI_getGlobusJobSubmissionProtocol_args");
-
- xfer += oprot->writeFieldBegin("globusJobSubmissionProtocolResourceId", ::apache::thrift::protocol::T_STRING, 1);
- xfer += oprot->writeString(this->globusJobSubmissionProtocolResourceId);
- xfer += oprot->writeFieldEnd();
-
- xfer += oprot->writeFieldStop();
- xfer += oprot->writeStructEnd();
- return xfer;
-}
-
-uint32_t ApplicationCatalogAPI_getGlobusJobSubmissionProtocol_pargs::write(::apache::thrift::protocol::TProtocol* oprot) const {
- uint32_t xfer = 0;
- xfer += oprot->writeStructBegin("ApplicationCatalogAPI_getGlobusJobSubmissionProtocol_pargs");
-
- xfer += oprot->writeFieldBegin("globusJobSubmissionProtocolResourceId", ::apache::thrift::protocol::T_STRING, 1);
- xfer += oprot->writeString((*(this->globusJobSubmissionProtocolResourceId)));
- xfer += oprot->writeFieldEnd();
-
- xfer += oprot->writeFieldStop();
- xfer += oprot->writeStructEnd();
- return xfer;
-}
-
-uint32_t ApplicationCatalogAPI_getGlobusJobSubmissionProtocol_result::read(::apache::thrift::protocol::TProtocol* iprot) {
-
- uint32_t xfer = 0;
- std::string fname;
- ::apache::thrift::protocol::TType ftype;
- int16_t fid;
-
- xfer += iprot->readStructBegin(fname);
-
- using ::apache::thrift::protocol::TProtocolException;
-
-
- while (true)
- {
- xfer += iprot->readFieldBegin(fname, ftype, fid);
- if (ftype == ::apache::thrift::protocol::T_STOP) {
- break;
- }
- switch (fid)
- {
- case 0:
- if (ftype == ::apache::thrift::protocol::T_STRUCT) {
- xfer += this->success.read(iprot);
- this->__isset.success = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 1:
- if (ftype == ::apache::thrift::protocol::T_STRUCT) {
- xfer += this->ire.read(iprot);
- this->__isset.ire = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 2:
- if (ftype == ::apache::thrift::protocol::T_STRUCT) {
- xfer += this->ace.read(iprot);
- this->__isset.ace = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 3:
- if (ftype == ::apache::thrift::protocol::T_STRUCT) {
- xfer += this->ase.read(iprot);
- this->__isset.ase = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- default:
- xfer += iprot->skip(ftype);
- break;
- }
- xfer += iprot->readFieldEnd();
- }
-
- xfer += iprot->readStructEnd();
-
- return xfer;
-}
-
-uint32_t ApplicationCatalogAPI_getGlobusJobSubmissionProtocol_result::write(::apache::thrift::protocol::TProtocol* oprot) const {
-
- uint32_t xfer = 0;
-
- xfer += oprot->writeStructBegin("ApplicationCatalogAPI_getGlobusJobSubmissionProtocol_result");
-
- if (this->__isset.success) {
- xfer += oprot->writeFieldBegin("success", ::apache::thrift::protocol::T_STRUCT, 0);
- xfer += this->success.write(oprot);
- xfer += oprot->writeFieldEnd();
- } else if (this->__isset.ire) {
- xfer += oprot->writeFieldBegin("ire", ::apache::thrift::protocol::T_STRUCT, 1);
- xfer += this->ire.write(oprot);
- xfer += oprot->writeFieldEnd();
- } else if (this->__isset.ace) {
- xfer += oprot->writeFieldBegin("ace", ::apache::thrift::protocol::T_STRUCT, 2);
- xfer += this->ace.write(oprot);
- xfer += oprot->writeFieldEnd();
- } else if (this->__isset.ase) {
- xfer += oprot->writeFieldBegin("ase", ::apache::thrift::protocol::T_STRUCT, 3);
- xfer += this->ase.write(oprot);
- xfer += oprot->writeFieldEnd();
- }
- xfer += oprot->writeFieldStop();
- xfer += oprot->writeStructEnd();
- return xfer;
-}
-
-uint32_t ApplicationCatalogAPI_getGlobusJobSubmissionProtocol_presult::read(::apache::thrift::protocol::TProtocol* iprot) {
-
- uint32_t xfer = 0;
- std::string fname;
- ::apache::thrift::protocol::TType ftype;
- int16_t fid;
-
- xfer += iprot->readStructBegin(fname);
-
- using ::apache::thrift::protocol::TProtocolException;
-
-
- while (true)
- {
- xfer += iprot->readFieldBegin(fname, ftype, fid);
- if (ftype == ::apache::thrift::protocol::T_STOP) {
- break;
- }
- switch (fid)
- {
- case 0:
- if (ftype == ::apache::thrift::protocol::T_STRUCT) {
- xfer += (*(this->success)).read(iprot);
- this->__isset.success = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 1:
- if (ftype == ::apache::thrift::protocol::T_STRUCT) {
- xfer += this->ire.read(iprot);
- this->__isset.ire = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 2:
- if (ftype == ::apache::thrift::protocol::T_STRUCT) {
- xfer += this->ace.read(iprot);
- this->__isset.ace = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 3:
- if (ftype == ::apache::thrift::protocol::T_STRUCT) {
- xfer += this->ase.read(iprot);
- this->__isset.ase = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- default:
- xfer += iprot->skip(ftype);
- break;
- }
- xfer += iprot->readFieldEnd();
- }
-
- xfer += iprot->readStructEnd();
-
- return xfer;
-}
-
-uint32_t ApplicationCatalogAPI_getSCPDataMovementProtocol_args::read(::apache::thrift::protocol::TProtocol* iprot) {
-
- uint32_t xfer = 0;
- std::string fname;
- ::apache::thrift::protocol::TType ftype;
- int16_t fid;
-
- xfer += iprot->readStructBegin(fname);
-
- using ::apache::thrift::protocol::TProtocolException;
-
- bool isset_scpDataMovementResourceId = false;
-
- while (true)
- {
- xfer += iprot->readFieldBegin(fname, ftype, fid);
- if (ftype == ::apache::thrift::protocol::T_STOP) {
- break;
- }
- switch (fid)
- {
- case 1:
- if (ftype == ::apache::thrift::protocol::T_STRING) {
- xfer += iprot->readString(this->scpDataMovementResourceId);
- isset_scpDataMovementResourceId = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- default:
- xfer += iprot->skip(ftype);
- break;
- }
- xfer += iprot->readFieldEnd();
- }
-
- xfer += iprot->readStructEnd();
-
- if (!isset_scpDataMovementResourceId)
- throw TProtocolException(TProtocolException::INVALID_DATA);
- return xfer;
-}
-
-uint32_t ApplicationCatalogAPI_getSCPDataMovementProtocol_args::write(::apache::thrift::protocol::TProtocol* oprot) const {
- uint32_t xfer = 0;
- xfer += oprot->writeStructBegin("ApplicationCatalogAPI_getSCPDataMovementProtocol_args");
-
- xfer += oprot->writeFieldBegin("scpDataMovementResourceId", ::apache::thrift::protocol::T_STRING, 1);
- xfer += oprot->writeString(this->scpDataMovementResourceId);
- xfer += oprot->writeFieldEnd();
-
- xfer += oprot->writeFieldStop();
- xfer += oprot->writeStructEnd();
- return xfer;
-}
-
-uint32_t ApplicationCatalogAPI_getSCPDataMovementProtocol_pargs::write(::apache::thrift::protocol::TProtocol* oprot) const {
- uint32_t xfer = 0;
- xfer += oprot->writeStructBegin("ApplicationCatalogAPI_getSCPDataMovementProtocol_pargs");
-
- xfer += oprot->writeFieldBegin("scpDataMovementResourceId", ::apache::thrift::protocol::T_STRING, 1);
- xfer += oprot->writeString((*(this->scpDataMovementResourceId)));
- xfer += oprot->writeFieldEnd();
-
- xfer += oprot->writeFieldStop();
- xfer += oprot->writeStructEnd();
- return xfer;
-}
-
-uint32_t ApplicationCatalogAPI_getSCPDataMovementProtocol_result::read(::apache::thrift::protocol::TProtocol* iprot) {
-
- uint32_t xfer = 0;
- std::string fname;
- ::apache::thrift::protocol::TType ftype;
- int16_t fid;
-
- xfer += iprot->readStructBegin(fname);
-
- using ::apache::thrift::protocol::TProtocolException;
-
-
- while (true)
- {
- xfer += iprot->readFieldBegin(fname, ftype, fid);
- if (ftype == ::apache::thrift::protocol::T_STOP) {
- break;
- }
- switch (fid)
- {
- case 0:
- if (ftype == ::apache::thrift::protocol::T_STRUCT) {
- xfer += this->success.read(iprot);
- this->__isset.success = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 1:
- if (ftype == ::apache::thrift::protocol::T_STRUCT) {
- xfer += this->ire.read(iprot);
- this->__isset.ire = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 2:
- if (ftype == ::apache::thrift::protocol::T_STRUCT) {
- xfer += this->ace.read(iprot);
- this->__isset.ace = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 3:
- if (ftype == ::apache::thrift::protocol::T_STRUCT) {
- xfer += this->ase.read(iprot);
- this->__isset.ase = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- default:
- xfer += iprot->skip(ftype);
- break;
- }
- xfer += iprot->readFieldEnd();
- }
-
- xfer += iprot->readStructEnd();
-
- return xfer;
-}
-
-uint32_t ApplicationCatalogAPI_getSCPDataMovementProtocol_result::write(::apache::thrift::protocol::TProtocol* oprot) const {
-
- uint32_t xfer = 0;
-
- xfer += oprot->writeStructBegin("ApplicationCatalogAPI_getSCPDataMovementProtocol_result");
-
- if (this->__isset.success) {
- xfer += oprot->writeFieldBegin("success", ::apache::thrift::protocol::T_STRUCT, 0);
- xfer += this->success.write(oprot);
- xfer += oprot->writeFieldEnd();
- } else if (this->__isset.ire) {
- xfer += oprot->writeFieldBegin("ire", ::apache::thrift::protocol::T_STRUCT, 1);
- xfer += this->ire.write(oprot);
- xfer += oprot->writeFieldEnd();
- } else if (this->__isset.ace) {
- xfer += oprot->writeFieldBegin("ace", ::apache::thrift::protocol::T_STRUCT, 2);
- xfer += this->ace.write(oprot);
- xfer += oprot->writeFieldEnd();
- } else if (this->__isset.ase) {
- xfer += oprot->writeFieldBegin("ase", ::apache::thrift::protocol::T_STRUCT, 3);
- xfer += this->ase.write(oprot);
- xfer += oprot->writeFieldEnd();
- }
- xfer += oprot->writeFieldStop();
- xfer += oprot->writeStructEnd();
- return xfer;
-}
-
-uint32_t ApplicationCatalogAPI_getSCPDataMovementProtocol_presult::read(::apache::thrift::protocol::TProtocol* iprot) {
-
- uint32_t xfer = 0;
- std::string fname;
- ::apache::thrift::protocol::TType ftype;
- int16_t fid;
-
- xfer += iprot->readStructBegin(fname);
-
- using ::apache::thrift::protocol::TProtocolException;
-
-
- while (true)
- {
- xfer += iprot->readFieldBegin(fname, ftype, fid);
- if (ftype == ::apache::thrift::protocol::T_STOP) {
- break;
- }
- switch (fid)
- {
- case 0:
- if (ftype == ::apache::thrift::protocol::T_STRUCT) {
- xfer += (*(this->success)).read(iprot);
- this->__isset.success = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 1:
- if (ftype == ::apache::thrift::protocol::T_STRUCT) {
- xfer += this->ire.read(iprot);
- this->__isset.ire = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 2:
- if (ftype == ::apache::thrift::protocol::T_STRUCT) {
- xfer += this->ace.read(iprot);
- this->__isset.ace = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 3:
- if (ftype == ::apache::thrift::protocol::T_STRUCT) {
- xfer += this->ase.read(iprot);
- this->__isset.ase = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- default:
- xfer += iprot->skip(ftype);
- break;
- }
- xfer += iprot->readFieldEnd();
- }
-
- xfer += iprot->readStructEnd();
-
- return xfer;
-}
-
-uint32_t ApplicationCatalogAPI_getGridFTPDataMovementProtocol_args::read(::apache::thrift::protocol::TProtocol* iprot) {
-
- uint32_t xfer = 0;
- std::string fname;
- ::apache::thrift::protocol::TType ftype;
- int16_t fid;
-
- xfer += iprot->readStructBegin(fname);
-
- using ::apache::thrift::protocol::TProtocolException;
-
- bool isset_gridFTPDataMovementResourceId = false;
-
- while (true)
- {
- xfer += iprot->readFieldBegin(fname, ftype, fid);
- if (ftype == ::apache::thrift::protocol::T_STOP) {
- break;
- }
- switch (fid)
- {
- case 1:
- if (ftype == ::apache::thrift::protocol::T_STRING) {
- xfer += iprot->readString(this->gridFTPDataMovementResourceId);
- isset_gridFTPDataMovementResourceId = true;
- } else {
- xfer += iprot->skip(ftype);
- }
-
<TRUNCATED>
[40/47] removed unnecessary files, updated ini file
Posted by sm...@apache.org.
http://git-wip-us.apache.org/repos/asf/airavata/blob/00b8aaf0/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/Airavata.cpp
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/Airavata.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/Airavata.cpp
deleted file mode 100644
index 96c7d0f..0000000
--- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/Airavata.cpp
+++ /dev/null
@@ -1,26734 +0,0 @@
-/**
- * Autogenerated by Thrift Compiler (0.9.1)
- *
- * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
- * @generated
- */
-#include "Airavata.h"
-
-namespace apache { namespace airavata { namespace api {
-
-uint32_t Airavata_getAPIVersion_args::read(::apache::thrift::protocol::TProtocol* iprot) {
-
- uint32_t xfer = 0;
- std::string fname;
- ::apache::thrift::protocol::TType ftype;
- int16_t fid;
-
- xfer += iprot->readStructBegin(fname);
-
- using ::apache::thrift::protocol::TProtocolException;
-
-
- while (true)
- {
- xfer += iprot->readFieldBegin(fname, ftype, fid);
- if (ftype == ::apache::thrift::protocol::T_STOP) {
- break;
- }
- xfer += iprot->skip(ftype);
- xfer += iprot->readFieldEnd();
- }
-
- xfer += iprot->readStructEnd();
-
- return xfer;
-}
-
-uint32_t Airavata_getAPIVersion_args::write(::apache::thrift::protocol::TProtocol* oprot) const {
- uint32_t xfer = 0;
- xfer += oprot->writeStructBegin("Airavata_getAPIVersion_args");
-
- xfer += oprot->writeFieldStop();
- xfer += oprot->writeStructEnd();
- return xfer;
-}
-
-uint32_t Airavata_getAPIVersion_pargs::write(::apache::thrift::protocol::TProtocol* oprot) const {
- uint32_t xfer = 0;
- xfer += oprot->writeStructBegin("Airavata_getAPIVersion_pargs");
-
- xfer += oprot->writeFieldStop();
- xfer += oprot->writeStructEnd();
- return xfer;
-}
-
-uint32_t Airavata_getAPIVersion_result::read(::apache::thrift::protocol::TProtocol* iprot) {
-
- uint32_t xfer = 0;
- std::string fname;
- ::apache::thrift::protocol::TType ftype;
- int16_t fid;
-
- xfer += iprot->readStructBegin(fname);
-
- using ::apache::thrift::protocol::TProtocolException;
-
-
- while (true)
- {
- xfer += iprot->readFieldBegin(fname, ftype, fid);
- if (ftype == ::apache::thrift::protocol::T_STOP) {
- break;
- }
- switch (fid)
- {
- case 0:
- if (ftype == ::apache::thrift::protocol::T_STRING) {
- xfer += iprot->readString(this->success);
- this->__isset.success = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 1:
- if (ftype == ::apache::thrift::protocol::T_STRUCT) {
- xfer += this->ire.read(iprot);
- this->__isset.ire = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 2:
- if (ftype == ::apache::thrift::protocol::T_STRUCT) {
- xfer += this->ace.read(iprot);
- this->__isset.ace = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 3:
- if (ftype == ::apache::thrift::protocol::T_STRUCT) {
- xfer += this->ase.read(iprot);
- this->__isset.ase = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- default:
- xfer += iprot->skip(ftype);
- break;
- }
- xfer += iprot->readFieldEnd();
- }
-
- xfer += iprot->readStructEnd();
-
- return xfer;
-}
-
-uint32_t Airavata_getAPIVersion_result::write(::apache::thrift::protocol::TProtocol* oprot) const {
-
- uint32_t xfer = 0;
-
- xfer += oprot->writeStructBegin("Airavata_getAPIVersion_result");
-
- if (this->__isset.success) {
- xfer += oprot->writeFieldBegin("success", ::apache::thrift::protocol::T_STRING, 0);
- xfer += oprot->writeString(this->success);
- xfer += oprot->writeFieldEnd();
- } else if (this->__isset.ire) {
- xfer += oprot->writeFieldBegin("ire", ::apache::thrift::protocol::T_STRUCT, 1);
- xfer += this->ire.write(oprot);
- xfer += oprot->writeFieldEnd();
- } else if (this->__isset.ace) {
- xfer += oprot->writeFieldBegin("ace", ::apache::thrift::protocol::T_STRUCT, 2);
- xfer += this->ace.write(oprot);
- xfer += oprot->writeFieldEnd();
- } else if (this->__isset.ase) {
- xfer += oprot->writeFieldBegin("ase", ::apache::thrift::protocol::T_STRUCT, 3);
- xfer += this->ase.write(oprot);
- xfer += oprot->writeFieldEnd();
- }
- xfer += oprot->writeFieldStop();
- xfer += oprot->writeStructEnd();
- return xfer;
-}
-
-uint32_t Airavata_getAPIVersion_presult::read(::apache::thrift::protocol::TProtocol* iprot) {
-
- uint32_t xfer = 0;
- std::string fname;
- ::apache::thrift::protocol::TType ftype;
- int16_t fid;
-
- xfer += iprot->readStructBegin(fname);
-
- using ::apache::thrift::protocol::TProtocolException;
-
-
- while (true)
- {
- xfer += iprot->readFieldBegin(fname, ftype, fid);
- if (ftype == ::apache::thrift::protocol::T_STOP) {
- break;
- }
- switch (fid)
- {
- case 0:
- if (ftype == ::apache::thrift::protocol::T_STRING) {
- xfer += iprot->readString((*(this->success)));
- this->__isset.success = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 1:
- if (ftype == ::apache::thrift::protocol::T_STRUCT) {
- xfer += this->ire.read(iprot);
- this->__isset.ire = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 2:
- if (ftype == ::apache::thrift::protocol::T_STRUCT) {
- xfer += this->ace.read(iprot);
- this->__isset.ace = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 3:
- if (ftype == ::apache::thrift::protocol::T_STRUCT) {
- xfer += this->ase.read(iprot);
- this->__isset.ase = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- default:
- xfer += iprot->skip(ftype);
- break;
- }
- xfer += iprot->readFieldEnd();
- }
-
- xfer += iprot->readStructEnd();
-
- return xfer;
-}
-
-uint32_t Airavata_createProject_args::read(::apache::thrift::protocol::TProtocol* iprot) {
-
- uint32_t xfer = 0;
- std::string fname;
- ::apache::thrift::protocol::TType ftype;
- int16_t fid;
-
- xfer += iprot->readStructBegin(fname);
-
- using ::apache::thrift::protocol::TProtocolException;
-
- bool isset_project = false;
-
- while (true)
- {
- xfer += iprot->readFieldBegin(fname, ftype, fid);
- if (ftype == ::apache::thrift::protocol::T_STOP) {
- break;
- }
- switch (fid)
- {
- case 1:
- if (ftype == ::apache::thrift::protocol::T_STRUCT) {
- xfer += this->project.read(iprot);
- isset_project = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- default:
- xfer += iprot->skip(ftype);
- break;
- }
- xfer += iprot->readFieldEnd();
- }
-
- xfer += iprot->readStructEnd();
-
- if (!isset_project)
- throw TProtocolException(TProtocolException::INVALID_DATA);
- return xfer;
-}
-
-uint32_t Airavata_createProject_args::write(::apache::thrift::protocol::TProtocol* oprot) const {
- uint32_t xfer = 0;
- xfer += oprot->writeStructBegin("Airavata_createProject_args");
-
- xfer += oprot->writeFieldBegin("project", ::apache::thrift::protocol::T_STRUCT, 1);
- xfer += this->project.write(oprot);
- xfer += oprot->writeFieldEnd();
-
- xfer += oprot->writeFieldStop();
- xfer += oprot->writeStructEnd();
- return xfer;
-}
-
-uint32_t Airavata_createProject_pargs::write(::apache::thrift::protocol::TProtocol* oprot) const {
- uint32_t xfer = 0;
- xfer += oprot->writeStructBegin("Airavata_createProject_pargs");
-
- xfer += oprot->writeFieldBegin("project", ::apache::thrift::protocol::T_STRUCT, 1);
- xfer += (*(this->project)).write(oprot);
- xfer += oprot->writeFieldEnd();
-
- xfer += oprot->writeFieldStop();
- xfer += oprot->writeStructEnd();
- return xfer;
-}
-
-uint32_t Airavata_createProject_result::read(::apache::thrift::protocol::TProtocol* iprot) {
-
- uint32_t xfer = 0;
- std::string fname;
- ::apache::thrift::protocol::TType ftype;
- int16_t fid;
-
- xfer += iprot->readStructBegin(fname);
-
- using ::apache::thrift::protocol::TProtocolException;
-
-
- while (true)
- {
- xfer += iprot->readFieldBegin(fname, ftype, fid);
- if (ftype == ::apache::thrift::protocol::T_STOP) {
- break;
- }
- switch (fid)
- {
- case 0:
- if (ftype == ::apache::thrift::protocol::T_STRING) {
- xfer += iprot->readString(this->success);
- this->__isset.success = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 1:
- if (ftype == ::apache::thrift::protocol::T_STRUCT) {
- xfer += this->ire.read(iprot);
- this->__isset.ire = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 2:
- if (ftype == ::apache::thrift::protocol::T_STRUCT) {
- xfer += this->ace.read(iprot);
- this->__isset.ace = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 3:
- if (ftype == ::apache::thrift::protocol::T_STRUCT) {
- xfer += this->ase.read(iprot);
- this->__isset.ase = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- default:
- xfer += iprot->skip(ftype);
- break;
- }
- xfer += iprot->readFieldEnd();
- }
-
- xfer += iprot->readStructEnd();
-
- return xfer;
-}
-
-uint32_t Airavata_createProject_result::write(::apache::thrift::protocol::TProtocol* oprot) const {
-
- uint32_t xfer = 0;
-
- xfer += oprot->writeStructBegin("Airavata_createProject_result");
-
- if (this->__isset.success) {
- xfer += oprot->writeFieldBegin("success", ::apache::thrift::protocol::T_STRING, 0);
- xfer += oprot->writeString(this->success);
- xfer += oprot->writeFieldEnd();
- } else if (this->__isset.ire) {
- xfer += oprot->writeFieldBegin("ire", ::apache::thrift::protocol::T_STRUCT, 1);
- xfer += this->ire.write(oprot);
- xfer += oprot->writeFieldEnd();
- } else if (this->__isset.ace) {
- xfer += oprot->writeFieldBegin("ace", ::apache::thrift::protocol::T_STRUCT, 2);
- xfer += this->ace.write(oprot);
- xfer += oprot->writeFieldEnd();
- } else if (this->__isset.ase) {
- xfer += oprot->writeFieldBegin("ase", ::apache::thrift::protocol::T_STRUCT, 3);
- xfer += this->ase.write(oprot);
- xfer += oprot->writeFieldEnd();
- }
- xfer += oprot->writeFieldStop();
- xfer += oprot->writeStructEnd();
- return xfer;
-}
-
-uint32_t Airavata_createProject_presult::read(::apache::thrift::protocol::TProtocol* iprot) {
-
- uint32_t xfer = 0;
- std::string fname;
- ::apache::thrift::protocol::TType ftype;
- int16_t fid;
-
- xfer += iprot->readStructBegin(fname);
-
- using ::apache::thrift::protocol::TProtocolException;
-
-
- while (true)
- {
- xfer += iprot->readFieldBegin(fname, ftype, fid);
- if (ftype == ::apache::thrift::protocol::T_STOP) {
- break;
- }
- switch (fid)
- {
- case 0:
- if (ftype == ::apache::thrift::protocol::T_STRING) {
- xfer += iprot->readString((*(this->success)));
- this->__isset.success = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 1:
- if (ftype == ::apache::thrift::protocol::T_STRUCT) {
- xfer += this->ire.read(iprot);
- this->__isset.ire = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 2:
- if (ftype == ::apache::thrift::protocol::T_STRUCT) {
- xfer += this->ace.read(iprot);
- this->__isset.ace = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 3:
- if (ftype == ::apache::thrift::protocol::T_STRUCT) {
- xfer += this->ase.read(iprot);
- this->__isset.ase = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- default:
- xfer += iprot->skip(ftype);
- break;
- }
- xfer += iprot->readFieldEnd();
- }
-
- xfer += iprot->readStructEnd();
-
- return xfer;
-}
-
-uint32_t Airavata_updateProject_args::read(::apache::thrift::protocol::TProtocol* iprot) {
-
- uint32_t xfer = 0;
- std::string fname;
- ::apache::thrift::protocol::TType ftype;
- int16_t fid;
-
- xfer += iprot->readStructBegin(fname);
-
- using ::apache::thrift::protocol::TProtocolException;
-
- bool isset_projectId = false;
- bool isset_updatedProject = false;
-
- while (true)
- {
- xfer += iprot->readFieldBegin(fname, ftype, fid);
- if (ftype == ::apache::thrift::protocol::T_STOP) {
- break;
- }
- switch (fid)
- {
- case 1:
- if (ftype == ::apache::thrift::protocol::T_STRING) {
- xfer += iprot->readString(this->projectId);
- isset_projectId = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 2:
- if (ftype == ::apache::thrift::protocol::T_STRUCT) {
- xfer += this->updatedProject.read(iprot);
- isset_updatedProject = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- default:
- xfer += iprot->skip(ftype);
- break;
- }
- xfer += iprot->readFieldEnd();
- }
-
- xfer += iprot->readStructEnd();
-
- if (!isset_projectId)
- throw TProtocolException(TProtocolException::INVALID_DATA);
- if (!isset_updatedProject)
- throw TProtocolException(TProtocolException::INVALID_DATA);
- return xfer;
-}
-
-uint32_t Airavata_updateProject_args::write(::apache::thrift::protocol::TProtocol* oprot) const {
- uint32_t xfer = 0;
- xfer += oprot->writeStructBegin("Airavata_updateProject_args");
-
- xfer += oprot->writeFieldBegin("projectId", ::apache::thrift::protocol::T_STRING, 1);
- xfer += oprot->writeString(this->projectId);
- xfer += oprot->writeFieldEnd();
-
- xfer += oprot->writeFieldBegin("updatedProject", ::apache::thrift::protocol::T_STRUCT, 2);
- xfer += this->updatedProject.write(oprot);
- xfer += oprot->writeFieldEnd();
-
- xfer += oprot->writeFieldStop();
- xfer += oprot->writeStructEnd();
- return xfer;
-}
-
-uint32_t Airavata_updateProject_pargs::write(::apache::thrift::protocol::TProtocol* oprot) const {
- uint32_t xfer = 0;
- xfer += oprot->writeStructBegin("Airavata_updateProject_pargs");
-
- xfer += oprot->writeFieldBegin("projectId", ::apache::thrift::protocol::T_STRING, 1);
- xfer += oprot->writeString((*(this->projectId)));
- xfer += oprot->writeFieldEnd();
-
- xfer += oprot->writeFieldBegin("updatedProject", ::apache::thrift::protocol::T_STRUCT, 2);
- xfer += (*(this->updatedProject)).write(oprot);
- xfer += oprot->writeFieldEnd();
-
- xfer += oprot->writeFieldStop();
- xfer += oprot->writeStructEnd();
- return xfer;
-}
-
-uint32_t Airavata_updateProject_result::read(::apache::thrift::protocol::TProtocol* iprot) {
-
- uint32_t xfer = 0;
- std::string fname;
- ::apache::thrift::protocol::TType ftype;
- int16_t fid;
-
- xfer += iprot->readStructBegin(fname);
-
- using ::apache::thrift::protocol::TProtocolException;
-
-
- while (true)
- {
- xfer += iprot->readFieldBegin(fname, ftype, fid);
- if (ftype == ::apache::thrift::protocol::T_STOP) {
- break;
- }
- switch (fid)
- {
- case 1:
- if (ftype == ::apache::thrift::protocol::T_STRUCT) {
- xfer += this->ire.read(iprot);
- this->__isset.ire = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 2:
- if (ftype == ::apache::thrift::protocol::T_STRUCT) {
- xfer += this->ace.read(iprot);
- this->__isset.ace = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 3:
- if (ftype == ::apache::thrift::protocol::T_STRUCT) {
- xfer += this->ase.read(iprot);
- this->__isset.ase = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 4:
- if (ftype == ::apache::thrift::protocol::T_STRUCT) {
- xfer += this->pnfe.read(iprot);
- this->__isset.pnfe = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- default:
- xfer += iprot->skip(ftype);
- break;
- }
- xfer += iprot->readFieldEnd();
- }
-
- xfer += iprot->readStructEnd();
-
- return xfer;
-}
-
-uint32_t Airavata_updateProject_result::write(::apache::thrift::protocol::TProtocol* oprot) const {
-
- uint32_t xfer = 0;
-
- xfer += oprot->writeStructBegin("Airavata_updateProject_result");
-
- if (this->__isset.ire) {
- xfer += oprot->writeFieldBegin("ire", ::apache::thrift::protocol::T_STRUCT, 1);
- xfer += this->ire.write(oprot);
- xfer += oprot->writeFieldEnd();
- } else if (this->__isset.ace) {
- xfer += oprot->writeFieldBegin("ace", ::apache::thrift::protocol::T_STRUCT, 2);
- xfer += this->ace.write(oprot);
- xfer += oprot->writeFieldEnd();
- } else if (this->__isset.ase) {
- xfer += oprot->writeFieldBegin("ase", ::apache::thrift::protocol::T_STRUCT, 3);
- xfer += this->ase.write(oprot);
- xfer += oprot->writeFieldEnd();
- } else if (this->__isset.pnfe) {
- xfer += oprot->writeFieldBegin("pnfe", ::apache::thrift::protocol::T_STRUCT, 4);
- xfer += this->pnfe.write(oprot);
- xfer += oprot->writeFieldEnd();
- }
- xfer += oprot->writeFieldStop();
- xfer += oprot->writeStructEnd();
- return xfer;
-}
-
-uint32_t Airavata_updateProject_presult::read(::apache::thrift::protocol::TProtocol* iprot) {
-
- uint32_t xfer = 0;
- std::string fname;
- ::apache::thrift::protocol::TType ftype;
- int16_t fid;
-
- xfer += iprot->readStructBegin(fname);
-
- using ::apache::thrift::protocol::TProtocolException;
-
-
- while (true)
- {
- xfer += iprot->readFieldBegin(fname, ftype, fid);
- if (ftype == ::apache::thrift::protocol::T_STOP) {
- break;
- }
- switch (fid)
- {
- case 1:
- if (ftype == ::apache::thrift::protocol::T_STRUCT) {
- xfer += this->ire.read(iprot);
- this->__isset.ire = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 2:
- if (ftype == ::apache::thrift::protocol::T_STRUCT) {
- xfer += this->ace.read(iprot);
- this->__isset.ace = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 3:
- if (ftype == ::apache::thrift::protocol::T_STRUCT) {
- xfer += this->ase.read(iprot);
- this->__isset.ase = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 4:
- if (ftype == ::apache::thrift::protocol::T_STRUCT) {
- xfer += this->pnfe.read(iprot);
- this->__isset.pnfe = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- default:
- xfer += iprot->skip(ftype);
- break;
- }
- xfer += iprot->readFieldEnd();
- }
-
- xfer += iprot->readStructEnd();
-
- return xfer;
-}
-
-uint32_t Airavata_getProject_args::read(::apache::thrift::protocol::TProtocol* iprot) {
-
- uint32_t xfer = 0;
- std::string fname;
- ::apache::thrift::protocol::TType ftype;
- int16_t fid;
-
- xfer += iprot->readStructBegin(fname);
-
- using ::apache::thrift::protocol::TProtocolException;
-
- bool isset_projectId = false;
-
- while (true)
- {
- xfer += iprot->readFieldBegin(fname, ftype, fid);
- if (ftype == ::apache::thrift::protocol::T_STOP) {
- break;
- }
- switch (fid)
- {
- case 1:
- if (ftype == ::apache::thrift::protocol::T_STRING) {
- xfer += iprot->readString(this->projectId);
- isset_projectId = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- default:
- xfer += iprot->skip(ftype);
- break;
- }
- xfer += iprot->readFieldEnd();
- }
-
- xfer += iprot->readStructEnd();
-
- if (!isset_projectId)
- throw TProtocolException(TProtocolException::INVALID_DATA);
- return xfer;
-}
-
-uint32_t Airavata_getProject_args::write(::apache::thrift::protocol::TProtocol* oprot) const {
- uint32_t xfer = 0;
- xfer += oprot->writeStructBegin("Airavata_getProject_args");
-
- xfer += oprot->writeFieldBegin("projectId", ::apache::thrift::protocol::T_STRING, 1);
- xfer += oprot->writeString(this->projectId);
- xfer += oprot->writeFieldEnd();
-
- xfer += oprot->writeFieldStop();
- xfer += oprot->writeStructEnd();
- return xfer;
-}
-
-uint32_t Airavata_getProject_pargs::write(::apache::thrift::protocol::TProtocol* oprot) const {
- uint32_t xfer = 0;
- xfer += oprot->writeStructBegin("Airavata_getProject_pargs");
-
- xfer += oprot->writeFieldBegin("projectId", ::apache::thrift::protocol::T_STRING, 1);
- xfer += oprot->writeString((*(this->projectId)));
- xfer += oprot->writeFieldEnd();
-
- xfer += oprot->writeFieldStop();
- xfer += oprot->writeStructEnd();
- return xfer;
-}
-
-uint32_t Airavata_getProject_result::read(::apache::thrift::protocol::TProtocol* iprot) {
-
- uint32_t xfer = 0;
- std::string fname;
- ::apache::thrift::protocol::TType ftype;
- int16_t fid;
-
- xfer += iprot->readStructBegin(fname);
-
- using ::apache::thrift::protocol::TProtocolException;
-
-
- while (true)
- {
- xfer += iprot->readFieldBegin(fname, ftype, fid);
- if (ftype == ::apache::thrift::protocol::T_STOP) {
- break;
- }
- switch (fid)
- {
- case 0:
- if (ftype == ::apache::thrift::protocol::T_STRUCT) {
- xfer += this->success.read(iprot);
- this->__isset.success = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 1:
- if (ftype == ::apache::thrift::protocol::T_STRUCT) {
- xfer += this->ire.read(iprot);
- this->__isset.ire = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 2:
- if (ftype == ::apache::thrift::protocol::T_STRUCT) {
- xfer += this->ace.read(iprot);
- this->__isset.ace = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 3:
- if (ftype == ::apache::thrift::protocol::T_STRUCT) {
- xfer += this->ase.read(iprot);
- this->__isset.ase = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 4:
- if (ftype == ::apache::thrift::protocol::T_STRUCT) {
- xfer += this->pnfe.read(iprot);
- this->__isset.pnfe = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- default:
- xfer += iprot->skip(ftype);
- break;
- }
- xfer += iprot->readFieldEnd();
- }
-
- xfer += iprot->readStructEnd();
-
- return xfer;
-}
-
-uint32_t Airavata_getProject_result::write(::apache::thrift::protocol::TProtocol* oprot) const {
-
- uint32_t xfer = 0;
-
- xfer += oprot->writeStructBegin("Airavata_getProject_result");
-
- if (this->__isset.success) {
- xfer += oprot->writeFieldBegin("success", ::apache::thrift::protocol::T_STRUCT, 0);
- xfer += this->success.write(oprot);
- xfer += oprot->writeFieldEnd();
- } else if (this->__isset.ire) {
- xfer += oprot->writeFieldBegin("ire", ::apache::thrift::protocol::T_STRUCT, 1);
- xfer += this->ire.write(oprot);
- xfer += oprot->writeFieldEnd();
- } else if (this->__isset.ace) {
- xfer += oprot->writeFieldBegin("ace", ::apache::thrift::protocol::T_STRUCT, 2);
- xfer += this->ace.write(oprot);
- xfer += oprot->writeFieldEnd();
- } else if (this->__isset.ase) {
- xfer += oprot->writeFieldBegin("ase", ::apache::thrift::protocol::T_STRUCT, 3);
- xfer += this->ase.write(oprot);
- xfer += oprot->writeFieldEnd();
- } else if (this->__isset.pnfe) {
- xfer += oprot->writeFieldBegin("pnfe", ::apache::thrift::protocol::T_STRUCT, 4);
- xfer += this->pnfe.write(oprot);
- xfer += oprot->writeFieldEnd();
- }
- xfer += oprot->writeFieldStop();
- xfer += oprot->writeStructEnd();
- return xfer;
-}
-
-uint32_t Airavata_getProject_presult::read(::apache::thrift::protocol::TProtocol* iprot) {
-
- uint32_t xfer = 0;
- std::string fname;
- ::apache::thrift::protocol::TType ftype;
- int16_t fid;
-
- xfer += iprot->readStructBegin(fname);
-
- using ::apache::thrift::protocol::TProtocolException;
-
-
- while (true)
- {
- xfer += iprot->readFieldBegin(fname, ftype, fid);
- if (ftype == ::apache::thrift::protocol::T_STOP) {
- break;
- }
- switch (fid)
- {
- case 0:
- if (ftype == ::apache::thrift::protocol::T_STRUCT) {
- xfer += (*(this->success)).read(iprot);
- this->__isset.success = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 1:
- if (ftype == ::apache::thrift::protocol::T_STRUCT) {
- xfer += this->ire.read(iprot);
- this->__isset.ire = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 2:
- if (ftype == ::apache::thrift::protocol::T_STRUCT) {
- xfer += this->ace.read(iprot);
- this->__isset.ace = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 3:
- if (ftype == ::apache::thrift::protocol::T_STRUCT) {
- xfer += this->ase.read(iprot);
- this->__isset.ase = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 4:
- if (ftype == ::apache::thrift::protocol::T_STRUCT) {
- xfer += this->pnfe.read(iprot);
- this->__isset.pnfe = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- default:
- xfer += iprot->skip(ftype);
- break;
- }
- xfer += iprot->readFieldEnd();
- }
-
- xfer += iprot->readStructEnd();
-
- return xfer;
-}
-
-uint32_t Airavata_getAllUserProjects_args::read(::apache::thrift::protocol::TProtocol* iprot) {
-
- uint32_t xfer = 0;
- std::string fname;
- ::apache::thrift::protocol::TType ftype;
- int16_t fid;
-
- xfer += iprot->readStructBegin(fname);
-
- using ::apache::thrift::protocol::TProtocolException;
-
- bool isset_userName = false;
-
- while (true)
- {
- xfer += iprot->readFieldBegin(fname, ftype, fid);
- if (ftype == ::apache::thrift::protocol::T_STOP) {
- break;
- }
- switch (fid)
- {
- case 1:
- if (ftype == ::apache::thrift::protocol::T_STRING) {
- xfer += iprot->readString(this->userName);
- isset_userName = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- default:
- xfer += iprot->skip(ftype);
- break;
- }
- xfer += iprot->readFieldEnd();
- }
-
- xfer += iprot->readStructEnd();
-
- if (!isset_userName)
- throw TProtocolException(TProtocolException::INVALID_DATA);
- return xfer;
-}
-
-uint32_t Airavata_getAllUserProjects_args::write(::apache::thrift::protocol::TProtocol* oprot) const {
- uint32_t xfer = 0;
- xfer += oprot->writeStructBegin("Airavata_getAllUserProjects_args");
-
- xfer += oprot->writeFieldBegin("userName", ::apache::thrift::protocol::T_STRING, 1);
- xfer += oprot->writeString(this->userName);
- xfer += oprot->writeFieldEnd();
-
- xfer += oprot->writeFieldStop();
- xfer += oprot->writeStructEnd();
- return xfer;
-}
-
-uint32_t Airavata_getAllUserProjects_pargs::write(::apache::thrift::protocol::TProtocol* oprot) const {
- uint32_t xfer = 0;
- xfer += oprot->writeStructBegin("Airavata_getAllUserProjects_pargs");
-
- xfer += oprot->writeFieldBegin("userName", ::apache::thrift::protocol::T_STRING, 1);
- xfer += oprot->writeString((*(this->userName)));
- xfer += oprot->writeFieldEnd();
-
- xfer += oprot->writeFieldStop();
- xfer += oprot->writeStructEnd();
- return xfer;
-}
-
-uint32_t Airavata_getAllUserProjects_result::read(::apache::thrift::protocol::TProtocol* iprot) {
-
- uint32_t xfer = 0;
- std::string fname;
- ::apache::thrift::protocol::TType ftype;
- int16_t fid;
-
- xfer += iprot->readStructBegin(fname);
-
- using ::apache::thrift::protocol::TProtocolException;
-
-
- while (true)
- {
- xfer += iprot->readFieldBegin(fname, ftype, fid);
- if (ftype == ::apache::thrift::protocol::T_STOP) {
- break;
- }
- switch (fid)
- {
- case 0:
- if (ftype == ::apache::thrift::protocol::T_LIST) {
- {
- this->success.clear();
- uint32_t _size0;
- ::apache::thrift::protocol::TType _etype3;
- xfer += iprot->readListBegin(_etype3, _size0);
- this->success.resize(_size0);
- uint32_t _i4;
- for (_i4 = 0; _i4 < _size0; ++_i4)
- {
- xfer += this->success[_i4].read(iprot);
- }
- xfer += iprot->readListEnd();
- }
- this->__isset.success = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 1:
- if (ftype == ::apache::thrift::protocol::T_STRUCT) {
- xfer += this->ire.read(iprot);
- this->__isset.ire = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 2:
- if (ftype == ::apache::thrift::protocol::T_STRUCT) {
- xfer += this->ace.read(iprot);
- this->__isset.ace = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 3:
- if (ftype == ::apache::thrift::protocol::T_STRUCT) {
- xfer += this->ase.read(iprot);
- this->__isset.ase = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- default:
- xfer += iprot->skip(ftype);
- break;
- }
- xfer += iprot->readFieldEnd();
- }
-
- xfer += iprot->readStructEnd();
-
- return xfer;
-}
-
-uint32_t Airavata_getAllUserProjects_result::write(::apache::thrift::protocol::TProtocol* oprot) const {
-
- uint32_t xfer = 0;
-
- xfer += oprot->writeStructBegin("Airavata_getAllUserProjects_result");
-
- if (this->__isset.success) {
- xfer += oprot->writeFieldBegin("success", ::apache::thrift::protocol::T_LIST, 0);
- {
- xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>(this->success.size()));
- std::vector< ::apache::airavata::model::workspace::Project> ::const_iterator _iter5;
- for (_iter5 = this->success.begin(); _iter5 != this->success.end(); ++_iter5)
- {
- xfer += (*_iter5).write(oprot);
- }
- xfer += oprot->writeListEnd();
- }
- xfer += oprot->writeFieldEnd();
- } else if (this->__isset.ire) {
- xfer += oprot->writeFieldBegin("ire", ::apache::thrift::protocol::T_STRUCT, 1);
- xfer += this->ire.write(oprot);
- xfer += oprot->writeFieldEnd();
- } else if (this->__isset.ace) {
- xfer += oprot->writeFieldBegin("ace", ::apache::thrift::protocol::T_STRUCT, 2);
- xfer += this->ace.write(oprot);
- xfer += oprot->writeFieldEnd();
- } else if (this->__isset.ase) {
- xfer += oprot->writeFieldBegin("ase", ::apache::thrift::protocol::T_STRUCT, 3);
- xfer += this->ase.write(oprot);
- xfer += oprot->writeFieldEnd();
- }
- xfer += oprot->writeFieldStop();
- xfer += oprot->writeStructEnd();
- return xfer;
-}
-
-uint32_t Airavata_getAllUserProjects_presult::read(::apache::thrift::protocol::TProtocol* iprot) {
-
- uint32_t xfer = 0;
- std::string fname;
- ::apache::thrift::protocol::TType ftype;
- int16_t fid;
-
- xfer += iprot->readStructBegin(fname);
-
- using ::apache::thrift::protocol::TProtocolException;
-
-
- while (true)
- {
- xfer += iprot->readFieldBegin(fname, ftype, fid);
- if (ftype == ::apache::thrift::protocol::T_STOP) {
- break;
- }
- switch (fid)
- {
- case 0:
- if (ftype == ::apache::thrift::protocol::T_LIST) {
- {
- (*(this->success)).clear();
- uint32_t _size6;
- ::apache::thrift::protocol::TType _etype9;
- xfer += iprot->readListBegin(_etype9, _size6);
- (*(this->success)).resize(_size6);
- uint32_t _i10;
- for (_i10 = 0; _i10 < _size6; ++_i10)
- {
- xfer += (*(this->success))[_i10].read(iprot);
- }
- xfer += iprot->readListEnd();
- }
- this->__isset.success = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 1:
- if (ftype == ::apache::thrift::protocol::T_STRUCT) {
- xfer += this->ire.read(iprot);
- this->__isset.ire = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 2:
- if (ftype == ::apache::thrift::protocol::T_STRUCT) {
- xfer += this->ace.read(iprot);
- this->__isset.ace = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 3:
- if (ftype == ::apache::thrift::protocol::T_STRUCT) {
- xfer += this->ase.read(iprot);
- this->__isset.ase = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- default:
- xfer += iprot->skip(ftype);
- break;
- }
- xfer += iprot->readFieldEnd();
- }
-
- xfer += iprot->readStructEnd();
-
- return xfer;
-}
-
-uint32_t Airavata_searchProjectsByProjectName_args::read(::apache::thrift::protocol::TProtocol* iprot) {
-
- uint32_t xfer = 0;
- std::string fname;
- ::apache::thrift::protocol::TType ftype;
- int16_t fid;
-
- xfer += iprot->readStructBegin(fname);
-
- using ::apache::thrift::protocol::TProtocolException;
-
- bool isset_userName = false;
- bool isset_projectName = false;
-
- while (true)
- {
- xfer += iprot->readFieldBegin(fname, ftype, fid);
- if (ftype == ::apache::thrift::protocol::T_STOP) {
- break;
- }
- switch (fid)
- {
- case 1:
- if (ftype == ::apache::thrift::protocol::T_STRING) {
- xfer += iprot->readString(this->userName);
- isset_userName = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 2:
- if (ftype == ::apache::thrift::protocol::T_STRING) {
- xfer += iprot->readString(this->projectName);
- isset_projectName = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- default:
- xfer += iprot->skip(ftype);
- break;
- }
- xfer += iprot->readFieldEnd();
- }
-
- xfer += iprot->readStructEnd();
-
- if (!isset_userName)
- throw TProtocolException(TProtocolException::INVALID_DATA);
- if (!isset_projectName)
- throw TProtocolException(TProtocolException::INVALID_DATA);
- return xfer;
-}
-
-uint32_t Airavata_searchProjectsByProjectName_args::write(::apache::thrift::protocol::TProtocol* oprot) const {
- uint32_t xfer = 0;
- xfer += oprot->writeStructBegin("Airavata_searchProjectsByProjectName_args");
-
- xfer += oprot->writeFieldBegin("userName", ::apache::thrift::protocol::T_STRING, 1);
- xfer += oprot->writeString(this->userName);
- xfer += oprot->writeFieldEnd();
-
- xfer += oprot->writeFieldBegin("projectName", ::apache::thrift::protocol::T_STRING, 2);
- xfer += oprot->writeString(this->projectName);
- xfer += oprot->writeFieldEnd();
-
- xfer += oprot->writeFieldStop();
- xfer += oprot->writeStructEnd();
- return xfer;
-}
-
-uint32_t Airavata_searchProjectsByProjectName_pargs::write(::apache::thrift::protocol::TProtocol* oprot) const {
- uint32_t xfer = 0;
- xfer += oprot->writeStructBegin("Airavata_searchProjectsByProjectName_pargs");
-
- xfer += oprot->writeFieldBegin("userName", ::apache::thrift::protocol::T_STRING, 1);
- xfer += oprot->writeString((*(this->userName)));
- xfer += oprot->writeFieldEnd();
-
- xfer += oprot->writeFieldBegin("projectName", ::apache::thrift::protocol::T_STRING, 2);
- xfer += oprot->writeString((*(this->projectName)));
- xfer += oprot->writeFieldEnd();
-
- xfer += oprot->writeFieldStop();
- xfer += oprot->writeStructEnd();
- return xfer;
-}
-
-uint32_t Airavata_searchProjectsByProjectName_result::read(::apache::thrift::protocol::TProtocol* iprot) {
-
- uint32_t xfer = 0;
- std::string fname;
- ::apache::thrift::protocol::TType ftype;
- int16_t fid;
-
- xfer += iprot->readStructBegin(fname);
-
- using ::apache::thrift::protocol::TProtocolException;
-
-
- while (true)
- {
- xfer += iprot->readFieldBegin(fname, ftype, fid);
- if (ftype == ::apache::thrift::protocol::T_STOP) {
- break;
- }
- switch (fid)
- {
- case 0:
- if (ftype == ::apache::thrift::protocol::T_LIST) {
- {
- this->success.clear();
- uint32_t _size11;
- ::apache::thrift::protocol::TType _etype14;
- xfer += iprot->readListBegin(_etype14, _size11);
- this->success.resize(_size11);
- uint32_t _i15;
- for (_i15 = 0; _i15 < _size11; ++_i15)
- {
- xfer += this->success[_i15].read(iprot);
- }
- xfer += iprot->readListEnd();
- }
- this->__isset.success = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 1:
- if (ftype == ::apache::thrift::protocol::T_STRUCT) {
- xfer += this->ire.read(iprot);
- this->__isset.ire = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 2:
- if (ftype == ::apache::thrift::protocol::T_STRUCT) {
- xfer += this->ace.read(iprot);
- this->__isset.ace = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 3:
- if (ftype == ::apache::thrift::protocol::T_STRUCT) {
- xfer += this->ase.read(iprot);
- this->__isset.ase = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- default:
- xfer += iprot->skip(ftype);
- break;
- }
- xfer += iprot->readFieldEnd();
- }
-
- xfer += iprot->readStructEnd();
-
- return xfer;
-}
-
-uint32_t Airavata_searchProjectsByProjectName_result::write(::apache::thrift::protocol::TProtocol* oprot) const {
-
- uint32_t xfer = 0;
-
- xfer += oprot->writeStructBegin("Airavata_searchProjectsByProjectName_result");
-
- if (this->__isset.success) {
- xfer += oprot->writeFieldBegin("success", ::apache::thrift::protocol::T_LIST, 0);
- {
- xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>(this->success.size()));
- std::vector< ::apache::airavata::model::workspace::Project> ::const_iterator _iter16;
- for (_iter16 = this->success.begin(); _iter16 != this->success.end(); ++_iter16)
- {
- xfer += (*_iter16).write(oprot);
- }
- xfer += oprot->writeListEnd();
- }
- xfer += oprot->writeFieldEnd();
- } else if (this->__isset.ire) {
- xfer += oprot->writeFieldBegin("ire", ::apache::thrift::protocol::T_STRUCT, 1);
- xfer += this->ire.write(oprot);
- xfer += oprot->writeFieldEnd();
- } else if (this->__isset.ace) {
- xfer += oprot->writeFieldBegin("ace", ::apache::thrift::protocol::T_STRUCT, 2);
- xfer += this->ace.write(oprot);
- xfer += oprot->writeFieldEnd();
- } else if (this->__isset.ase) {
- xfer += oprot->writeFieldBegin("ase", ::apache::thrift::protocol::T_STRUCT, 3);
- xfer += this->ase.write(oprot);
- xfer += oprot->writeFieldEnd();
- }
- xfer += oprot->writeFieldStop();
- xfer += oprot->writeStructEnd();
- return xfer;
-}
-
-uint32_t Airavata_searchProjectsByProjectName_presult::read(::apache::thrift::protocol::TProtocol* iprot) {
-
- uint32_t xfer = 0;
- std::string fname;
- ::apache::thrift::protocol::TType ftype;
- int16_t fid;
-
- xfer += iprot->readStructBegin(fname);
-
- using ::apache::thrift::protocol::TProtocolException;
-
-
- while (true)
- {
- xfer += iprot->readFieldBegin(fname, ftype, fid);
- if (ftype == ::apache::thrift::protocol::T_STOP) {
- break;
- }
- switch (fid)
- {
- case 0:
- if (ftype == ::apache::thrift::protocol::T_LIST) {
- {
- (*(this->success)).clear();
- uint32_t _size17;
- ::apache::thrift::protocol::TType _etype20;
- xfer += iprot->readListBegin(_etype20, _size17);
- (*(this->success)).resize(_size17);
- uint32_t _i21;
- for (_i21 = 0; _i21 < _size17; ++_i21)
- {
- xfer += (*(this->success))[_i21].read(iprot);
- }
- xfer += iprot->readListEnd();
- }
- this->__isset.success = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 1:
- if (ftype == ::apache::thrift::protocol::T_STRUCT) {
- xfer += this->ire.read(iprot);
- this->__isset.ire = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 2:
- if (ftype == ::apache::thrift::protocol::T_STRUCT) {
- xfer += this->ace.read(iprot);
- this->__isset.ace = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 3:
- if (ftype == ::apache::thrift::protocol::T_STRUCT) {
- xfer += this->ase.read(iprot);
- this->__isset.ase = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- default:
- xfer += iprot->skip(ftype);
- break;
- }
- xfer += iprot->readFieldEnd();
- }
-
- xfer += iprot->readStructEnd();
-
- return xfer;
-}
-
-uint32_t Airavata_searchProjectsByProjectDesc_args::read(::apache::thrift::protocol::TProtocol* iprot) {
-
- uint32_t xfer = 0;
- std::string fname;
- ::apache::thrift::protocol::TType ftype;
- int16_t fid;
-
- xfer += iprot->readStructBegin(fname);
-
- using ::apache::thrift::protocol::TProtocolException;
-
- bool isset_userName = false;
- bool isset_description = false;
-
- while (true)
- {
- xfer += iprot->readFieldBegin(fname, ftype, fid);
- if (ftype == ::apache::thrift::protocol::T_STOP) {
- break;
- }
- switch (fid)
- {
- case 1:
- if (ftype == ::apache::thrift::protocol::T_STRING) {
- xfer += iprot->readString(this->userName);
- isset_userName = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 2:
- if (ftype == ::apache::thrift::protocol::T_STRING) {
- xfer += iprot->readString(this->description);
- isset_description = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- default:
- xfer += iprot->skip(ftype);
- break;
- }
- xfer += iprot->readFieldEnd();
- }
-
- xfer += iprot->readStructEnd();
-
- if (!isset_userName)
- throw TProtocolException(TProtocolException::INVALID_DATA);
- if (!isset_description)
- throw TProtocolException(TProtocolException::INVALID_DATA);
- return xfer;
-}
-
-uint32_t Airavata_searchProjectsByProjectDesc_args::write(::apache::thrift::protocol::TProtocol* oprot) const {
- uint32_t xfer = 0;
- xfer += oprot->writeStructBegin("Airavata_searchProjectsByProjectDesc_args");
-
- xfer += oprot->writeFieldBegin("userName", ::apache::thrift::protocol::T_STRING, 1);
- xfer += oprot->writeString(this->userName);
- xfer += oprot->writeFieldEnd();
-
- xfer += oprot->writeFieldBegin("description", ::apache::thrift::protocol::T_STRING, 2);
- xfer += oprot->writeString(this->description);
- xfer += oprot->writeFieldEnd();
-
- xfer += oprot->writeFieldStop();
- xfer += oprot->writeStructEnd();
- return xfer;
-}
-
-uint32_t Airavata_searchProjectsByProjectDesc_pargs::write(::apache::thrift::protocol::TProtocol* oprot) const {
- uint32_t xfer = 0;
- xfer += oprot->writeStructBegin("Airavata_searchProjectsByProjectDesc_pargs");
-
- xfer += oprot->writeFieldBegin("userName", ::apache::thrift::protocol::T_STRING, 1);
- xfer += oprot->writeString((*(this->userName)));
- xfer += oprot->writeFieldEnd();
-
- xfer += oprot->writeFieldBegin("description", ::apache::thrift::protocol::T_STRING, 2);
- xfer += oprot->writeString((*(this->description)));
- xfer += oprot->writeFieldEnd();
-
- xfer += oprot->writeFieldStop();
- xfer += oprot->writeStructEnd();
- return xfer;
-}
-
-uint32_t Airavata_searchProjectsByProjectDesc_result::read(::apache::thrift::protocol::TProtocol* iprot) {
-
- uint32_t xfer = 0;
- std::string fname;
- ::apache::thrift::protocol::TType ftype;
- int16_t fid;
-
- xfer += iprot->readStructBegin(fname);
-
- using ::apache::thrift::protocol::TProtocolException;
-
-
- while (true)
- {
- xfer += iprot->readFieldBegin(fname, ftype, fid);
- if (ftype == ::apache::thrift::protocol::T_STOP) {
- break;
- }
- switch (fid)
- {
- case 0:
- if (ftype == ::apache::thrift::protocol::T_LIST) {
- {
- this->success.clear();
- uint32_t _size22;
- ::apache::thrift::protocol::TType _etype25;
- xfer += iprot->readListBegin(_etype25, _size22);
- this->success.resize(_size22);
- uint32_t _i26;
- for (_i26 = 0; _i26 < _size22; ++_i26)
- {
- xfer += this->success[_i26].read(iprot);
- }
- xfer += iprot->readListEnd();
- }
- this->__isset.success = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 1:
- if (ftype == ::apache::thrift::protocol::T_STRUCT) {
- xfer += this->ire.read(iprot);
- this->__isset.ire = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 2:
- if (ftype == ::apache::thrift::protocol::T_STRUCT) {
- xfer += this->ace.read(iprot);
- this->__isset.ace = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 3:
- if (ftype == ::apache::thrift::protocol::T_STRUCT) {
- xfer += this->ase.read(iprot);
- this->__isset.ase = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- default:
- xfer += iprot->skip(ftype);
- break;
- }
- xfer += iprot->readFieldEnd();
- }
-
- xfer += iprot->readStructEnd();
-
- return xfer;
-}
-
-uint32_t Airavata_searchProjectsByProjectDesc_result::write(::apache::thrift::protocol::TProtocol* oprot) const {
-
- uint32_t xfer = 0;
-
- xfer += oprot->writeStructBegin("Airavata_searchProjectsByProjectDesc_result");
-
- if (this->__isset.success) {
- xfer += oprot->writeFieldBegin("success", ::apache::thrift::protocol::T_LIST, 0);
- {
- xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>(this->success.size()));
- std::vector< ::apache::airavata::model::workspace::Project> ::const_iterator _iter27;
- for (_iter27 = this->success.begin(); _iter27 != this->success.end(); ++_iter27)
- {
- xfer += (*_iter27).write(oprot);
- }
- xfer += oprot->writeListEnd();
- }
- xfer += oprot->writeFieldEnd();
- } else if (this->__isset.ire) {
- xfer += oprot->writeFieldBegin("ire", ::apache::thrift::protocol::T_STRUCT, 1);
- xfer += this->ire.write(oprot);
- xfer += oprot->writeFieldEnd();
- } else if (this->__isset.ace) {
- xfer += oprot->writeFieldBegin("ace", ::apache::thrift::protocol::T_STRUCT, 2);
- xfer += this->ace.write(oprot);
- xfer += oprot->writeFieldEnd();
- } else if (this->__isset.ase) {
- xfer += oprot->writeFieldBegin("ase", ::apache::thrift::protocol::T_STRUCT, 3);
- xfer += this->ase.write(oprot);
- xfer += oprot->writeFieldEnd();
- }
- xfer += oprot->writeFieldStop();
- xfer += oprot->writeStructEnd();
- return xfer;
-}
-
-uint32_t Airavata_searchProjectsByProjectDesc_presult::read(::apache::thrift::protocol::TProtocol* iprot) {
-
- uint32_t xfer = 0;
- std::string fname;
- ::apache::thrift::protocol::TType ftype;
- int16_t fid;
-
- xfer += iprot->readStructBegin(fname);
-
- using ::apache::thrift::protocol::TProtocolException;
-
-
- while (true)
- {
- xfer += iprot->readFieldBegin(fname, ftype, fid);
- if (ftype == ::apache::thrift::protocol::T_STOP) {
- break;
- }
- switch (fid)
- {
- case 0:
- if (ftype == ::apache::thrift::protocol::T_LIST) {
- {
- (*(this->success)).clear();
- uint32_t _size28;
- ::apache::thrift::protocol::TType _etype31;
- xfer += iprot->readListBegin(_etype31, _size28);
- (*(this->success)).resize(_size28);
- uint32_t _i32;
- for (_i32 = 0; _i32 < _size28; ++_i32)
- {
- xfer += (*(this->success))[_i32].read(iprot);
- }
- xfer += iprot->readListEnd();
- }
- this->__isset.success = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 1:
- if (ftype == ::apache::thrift::protocol::T_STRUCT) {
- xfer += this->ire.read(iprot);
- this->__isset.ire = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 2:
- if (ftype == ::apache::thrift::protocol::T_STRUCT) {
- xfer += this->ace.read(iprot);
- this->__isset.ace = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 3:
- if (ftype == ::apache::thrift::protocol::T_STRUCT) {
- xfer += this->ase.read(iprot);
- this->__isset.ase = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- default:
- xfer += iprot->skip(ftype);
- break;
- }
- xfer += iprot->readFieldEnd();
- }
-
- xfer += iprot->readStructEnd();
-
- return xfer;
-}
-
-uint32_t Airavata_searchExperimentsByName_args::read(::apache::thrift::protocol::TProtocol* iprot) {
-
- uint32_t xfer = 0;
- std::string fname;
- ::apache::thrift::protocol::TType ftype;
- int16_t fid;
-
- xfer += iprot->readStructBegin(fname);
-
- using ::apache::thrift::protocol::TProtocolException;
-
- bool isset_userName = false;
- bool isset_expName = false;
-
- while (true)
- {
- xfer += iprot->readFieldBegin(fname, ftype, fid);
- if (ftype == ::apache::thrift::protocol::T_STOP) {
- break;
- }
- switch (fid)
- {
- case 1:
- if (ftype == ::apache::thrift::protocol::T_STRING) {
- xfer += iprot->readString(this->userName);
- isset_userName = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 2:
- if (ftype == ::apache::thrift::protocol::T_STRING) {
- xfer += iprot->readString(this->expName);
- isset_expName = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- default:
- xfer += iprot->skip(ftype);
- break;
- }
- xfer += iprot->readFieldEnd();
- }
-
- xfer += iprot->readStructEnd();
-
- if (!isset_userName)
- throw TProtocolException(TProtocolException::INVALID_DATA);
- if (!isset_expName)
- throw TProtocolException(TProtocolException::INVALID_DATA);
- return xfer;
-}
-
-uint32_t Airavata_searchExperimentsByName_args::write(::apache::thrift::protocol::TProtocol* oprot) const {
- uint32_t xfer = 0;
- xfer += oprot->writeStructBegin("Airavata_searchExperimentsByName_args");
-
- xfer += oprot->writeFieldBegin("userName", ::apache::thrift::protocol::T_STRING, 1);
- xfer += oprot->writeString(this->userName);
- xfer += oprot->writeFieldEnd();
-
- xfer += oprot->writeFieldBegin("expName", ::apache::thrift::protocol::T_STRING, 2);
- xfer += oprot->writeString(this->expName);
- xfer += oprot->writeFieldEnd();
-
- xfer += oprot->writeFieldStop();
- xfer += oprot->writeStructEnd();
- return xfer;
-}
-
-uint32_t Airavata_searchExperimentsByName_pargs::write(::apache::thrift::protocol::TProtocol* oprot) const {
- uint32_t xfer = 0;
- xfer += oprot->writeStructBegin("Airavata_searchExperimentsByName_pargs");
-
- xfer += oprot->writeFieldBegin("userName", ::apache::thrift::protocol::T_STRING, 1);
- xfer += oprot->writeString((*(this->userName)));
- xfer += oprot->writeFieldEnd();
-
- xfer += oprot->writeFieldBegin("expName", ::apache::thrift::protocol::T_STRING, 2);
- xfer += oprot->writeString((*(this->expName)));
- xfer += oprot->writeFieldEnd();
-
- xfer += oprot->writeFieldStop();
- xfer += oprot->writeStructEnd();
- return xfer;
-}
-
-uint32_t Airavata_searchExperimentsByName_result::read(::apache::thrift::protocol::TProtocol* iprot) {
-
- uint32_t xfer = 0;
- std::string fname;
- ::apache::thrift::protocol::TType ftype;
- int16_t fid;
-
- xfer += iprot->readStructBegin(fname);
-
- using ::apache::thrift::protocol::TProtocolException;
-
-
- while (true)
- {
- xfer += iprot->readFieldBegin(fname, ftype, fid);
- if (ftype == ::apache::thrift::protocol::T_STOP) {
- break;
- }
- switch (fid)
- {
- case 0:
- if (ftype == ::apache::thrift::protocol::T_LIST) {
- {
- this->success.clear();
- uint32_t _size33;
- ::apache::thrift::protocol::TType _etype36;
- xfer += iprot->readListBegin(_etype36, _size33);
- this->success.resize(_size33);
- uint32_t _i37;
- for (_i37 = 0; _i37 < _size33; ++_i37)
- {
- xfer += this->success[_i37].read(iprot);
- }
- xfer += iprot->readListEnd();
- }
- this->__isset.success = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 1:
- if (ftype == ::apache::thrift::protocol::T_STRUCT) {
- xfer += this->ire.read(iprot);
- this->__isset.ire = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 2:
- if (ftype == ::apache::thrift::protocol::T_STRUCT) {
- xfer += this->ace.read(iprot);
- this->__isset.ace = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 3:
- if (ftype == ::apache::thrift::protocol::T_STRUCT) {
- xfer += this->ase.read(iprot);
- this->__isset.ase = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- default:
- xfer += iprot->skip(ftype);
- break;
- }
- xfer += iprot->readFieldEnd();
- }
-
- xfer += iprot->readStructEnd();
-
- return xfer;
-}
-
-uint32_t Airavata_searchExperimentsByName_result::write(::apache::thrift::protocol::TProtocol* oprot) const {
-
- uint32_t xfer = 0;
-
- xfer += oprot->writeStructBegin("Airavata_searchExperimentsByName_result");
-
- if (this->__isset.success) {
- xfer += oprot->writeFieldBegin("success", ::apache::thrift::protocol::T_LIST, 0);
- {
- xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>(this->success.size()));
- std::vector< ::apache::airavata::model::workspace::experiment::ExperimentSummary> ::const_iterator _iter38;
- for (_iter38 = this->success.begin(); _iter38 != this->success.end(); ++_iter38)
- {
- xfer += (*_iter38).write(oprot);
- }
- xfer += oprot->writeListEnd();
- }
- xfer += oprot->writeFieldEnd();
- } else if (this->__isset.ire) {
- xfer += oprot->writeFieldBegin("ire", ::apache::thrift::protocol::T_STRUCT, 1);
- xfer += this->ire.write(oprot);
- xfer += oprot->writeFieldEnd();
- } else if (this->__isset.ace) {
- xfer += oprot->writeFieldBegin("ace", ::apache::thrift::protocol::T_STRUCT, 2);
- xfer += this->ace.write(oprot);
- xfer += oprot->writeFieldEnd();
- } else if (this->__isset.ase) {
- xfer += oprot->writeFieldBegin("ase", ::apache::thrift::protocol::T_STRUCT, 3);
- xfer += this->ase.write(oprot);
- xfer += oprot->writeFieldEnd();
- }
- xfer += oprot->writeFieldStop();
- xfer += oprot->writeStructEnd();
- return xfer;
-}
-
-uint32_t Airavata_searchExperimentsByName_presult::read(::apache::thrift::protocol::TProtocol* iprot) {
-
- uint32_t xfer = 0;
- std::string fname;
- ::apache::thrift::protocol::TType ftype;
- int16_t fid;
-
- xfer += iprot->readStructBegin(fname);
-
- using ::apache::thrift::protocol::TProtocolException;
-
-
- while (true)
- {
- xfer += iprot->readFieldBegin(fname, ftype, fid);
- if (ftype == ::apache::thrift::protocol::T_STOP) {
- break;
- }
- switch (fid)
- {
- case 0:
- if (ftype == ::apache::thrift::protocol::T_LIST) {
- {
- (*(this->success)).clear();
- uint32_t _size39;
- ::apache::thrift::protocol::TType _etype42;
- xfer += iprot->readListBegin(_etype42, _size39);
- (*(this->success)).resize(_size39);
- uint32_t _i43;
- for (_i43 = 0; _i43 < _size39; ++_i43)
- {
- xfer += (*(this->success))[_i43].read(iprot);
- }
- xfer += iprot->readListEnd();
- }
- this->__isset.success = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 1:
- if (ftype == ::apache::thrift::protocol::T_STRUCT) {
- xfer += this->ire.read(iprot);
- this->__isset.ire = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 2:
- if (ftype == ::apache::thrift::protocol::T_STRUCT) {
- xfer += this->ace.read(iprot);
- this->__isset.ace = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 3:
- if (ftype == ::apache::thrift::protocol::T_STRUCT) {
- xfer += this->ase.read(iprot);
- this->__isset.ase = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- default:
- xfer += iprot->skip(ftype);
- break;
- }
- xfer += iprot->readFieldEnd();
- }
-
- xfer += iprot->readStructEnd();
-
- return xfer;
-}
-
-uint32_t Airavata_searchExperimentsByDesc_args::read(::apache::thrift::protocol::TProtocol* iprot) {
-
- uint32_t xfer = 0;
- std::string fname;
- ::apache::thrift::protocol::TType ftype;
- int16_t fid;
-
- xfer += iprot->readStructBegin(fname);
-
- using ::apache::thrift::protocol::TProtocolException;
-
- bool isset_userName = false;
- bool isset_description = false;
-
- while (true)
- {
- xfer += iprot->readFieldBegin(fname, ftype, fid);
- if (ftype == ::apache::thrift::protocol::T_STOP) {
- break;
- }
- switch (fid)
- {
- case 1:
- if (ftype == ::apache::thrift::protocol::T_STRING) {
- xfer += iprot->readString(this->userName);
- isset_userName = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 2:
- if (ftype == ::apache::thrift::protocol::T_STRING) {
- xfer += iprot->readString(this->description);
- isset_description = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- default:
- xfer += iprot->skip(ftype);
- break;
- }
- xfer += iprot->readFieldEnd();
- }
-
- xfer += iprot->readStructEnd();
-
- if (!isset_userName)
- throw TProtocolException(TProtocolException::INVALID_DATA);
- if (!isset_description)
- throw TProtocolException(TProtocolException::INVALID_DATA);
- return xfer;
-}
-
-uint32_t Airavata_searchExperimentsByDesc_args::write(::apache::thrift::protocol::TProtocol* oprot) const {
- uint32_t xfer = 0;
- xfer += oprot->writeStructBegin("Airavata_searchExperimentsByDesc_args");
-
- xfer += oprot->writeFieldBegin("userName", ::apache::thrift::protocol::T_STRING, 1);
- xfer += oprot->writeString(this->userName);
- xfer += oprot->writeFieldEnd();
-
- xfer += oprot->writeFieldBegin("description", ::apache::thrift::protocol::T_STRING, 2);
- xfer += oprot->writeString(this->description);
- xfer += oprot->writeFieldEnd();
-
- xfer += oprot->writeFieldStop();
- xfer += oprot->writeStructEnd();
- return xfer;
-}
-
-uint32_t Airavata_searchExperimentsByDesc_pargs::write(::apache::thrift::protocol::TProtocol* oprot) const {
- uint32_t xfer = 0;
- xfer += oprot->writeStructBegin("Airavata_searchExperimentsByDesc_pargs");
-
- xfer += oprot->writeFieldBegin("userName", ::apache::thrift::protocol::T_STRING, 1);
- xfer += oprot->writeString((*(this->userName)));
- xfer += oprot->writeFieldEnd();
-
- xfer += oprot->writeFieldBegin("description", ::apache::thrift::protocol::T_STRING, 2);
- xfer += oprot->writeString((*(this->description)));
- xfer += oprot->writeFieldEnd();
-
- xfer += oprot->writeFieldStop();
- xfer += oprot->writeStructEnd();
- return xfer;
-}
-
-uint32_t Airavata_searchExperimentsByDesc_result::read(::apache::thrift::protocol::TProtocol* iprot) {
-
- uint32_t xfer = 0;
- std::string fname;
- ::apache::thrift::protocol::TType ftype;
- int16_t fid;
-
- xfer += iprot->readStructBegin(fname);
-
- using ::apache::thrift::protocol::TProtocolException;
-
-
- while (true)
- {
- xfer += iprot->readFieldBegin(fname, ftype, fid);
- if (ftype == ::apache::thrift::protocol::T_STOP) {
- break;
- }
- switch (fid)
- {
- case 0:
- if (ftype == ::apache::thrift::protocol::T_LIST) {
- {
- this->success.clear();
- uint32_t _size44;
- ::apache::thrift::protocol::TType _etype47;
- xfer += iprot->readListBegin(_etype47, _size44);
- this->success.resize(_size44);
- uint32_t _i48;
- for (_i48 = 0; _i48 < _size44; ++_i48)
- {
- xfer += this->success[_i48].read(iprot);
- }
- xfer += iprot->readListEnd();
- }
- this->__isset.success = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 1:
- if (ftype == ::apache::thrift::protocol::T_STRUCT) {
- xfer += this->ire.read(iprot);
- this->__isset.ire = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 2:
- if (ftype == ::apache::thrift::protocol::T_STRUCT) {
- xfer += this->ace.read(iprot);
- this->__isset.ace = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 3:
- if (ftype == ::apache::thrift::protocol::T_STRUCT) {
- xfer += this->ase.read(iprot);
- this->__isset.ase = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- default:
- xfer += iprot->skip(ftype);
- break;
- }
- xfer += iprot->readFieldEnd();
- }
-
- xfer += iprot->readStructEnd();
-
- return xfer;
-}
-
-uint32_t Airavata_searchExperimentsByDesc_result::write(::apache::thrift::protocol::TProtocol* oprot) const {
-
- uint32_t xfer = 0;
-
- xfer += oprot->writeStructBegin("Airavata_searchExperimentsByDesc_result");
-
- if (this->__isset.success) {
- xfer += oprot->writeFieldBegin("success", ::apache::thrift::protocol::T_LIST, 0);
- {
- xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>(this->success.size()));
- std::vector< ::apache::airavata::model::workspace::experiment::ExperimentSummary> ::const_iterator _iter49;
- for (_iter49 = this->success.begin(); _iter49 != this->success.end(); ++_iter49)
- {
- xfer += (*_iter49).write(oprot);
- }
- xfer += oprot->writeListEnd();
- }
- xfer += oprot->writeFieldEnd();
- } else if (this->__isset.ire) {
- xfer += oprot->writeFieldBegin("ire", ::apache::thrift::protocol::T_STRUCT, 1);
- xfer += this->ire.write(oprot);
- xfer += oprot->writeFieldEnd();
- } else if (this->__isset.ace) {
- xfer += oprot->writeFieldBegin("ace", ::apache::thrift::protocol::T_STRUCT, 2);
- xfer += this->ace.write(oprot);
- xfer += oprot->writeFieldEnd();
- } else if (this->__isset.ase) {
- xfer += oprot->writeFieldBegin("ase", ::apache::thrift::protocol::T_STRUCT, 3);
- xfer += this->ase.write(oprot);
- xfer += oprot->writeFieldEnd();
- }
- xfer += oprot->writeFieldStop();
- xfer += oprot->writeStructEnd();
- return xfer;
-}
-
-uint32_t Airavata_searchExperimentsByDesc_presult::read(::apache::thrift::protocol::TProtocol* iprot) {
-
- uint32_t xfer = 0;
- std::string fname;
- ::apache::thrift::protocol::TType ftype;
- int16_t fid;
-
- xfer += iprot->readStructBegin(fname);
-
- using ::apache::thrift::protocol::TProtocolException;
-
-
- while (true)
- {
- xfer += iprot->readFieldBegin(fname, ftype, fid);
- if (ftype == ::apache::thrift::protocol::T_STOP) {
- break;
- }
- switch (fid)
- {
- case 0:
- if (ftype == ::apache::thrift::protocol::T_LIST) {
- {
- (*(this->success)).clear();
- uint32_t _size50;
- ::apache::thrift::protocol::TType _etype53;
- xfer += iprot->readListBegin(_etype53, _size50);
- (*(this->success)).resize(_size50);
- uint32_t _i54;
- for (_i54 = 0; _i54 < _size50; ++_i54)
- {
- xfer += (*(this->success))[_i54].read(iprot);
- }
- xfer += iprot->readListEnd();
- }
- this->__isset.success = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 1:
- if (ftype == ::apache::thrift::protocol::T_STRUCT) {
- xfer += this->ire.read(iprot);
- this->__isset.ire = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 2:
- if (ftype == ::apache::thrift::protocol::T_STRUCT) {
- xfer += this->ace.read(iprot);
- this->__isset.ace = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 3:
- if (ftype == ::apache::thrift::protocol::T_STRUCT) {
- xfer += this->ase.read(iprot);
- this->__isset.ase = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- default:
- xfer += iprot->skip(ftype);
- break;
- }
- xfer += iprot->readFieldEnd();
- }
-
- xfer += iprot->readStructEnd();
-
- return xfer;
-}
-
-uint32_t Airavata_searchExperimentsByApplication_args::read(::apache::thrift::protocol::TProtocol* iprot) {
-
- uint32_t xfer = 0;
- std::string fname;
- ::apache::thrift::protocol::TType ftype;
- int16_t fid;
-
- xfer += iprot->readStructBegin(fname);
-
- using ::apache::thrift::protocol::TProtocolException;
-
- bool isset_userName = false;
- bool isset_applicationId = false;
-
- while (true)
- {
- xfer += iprot->readFieldBegin(fname, ftype, fid);
- if (ftype == ::apache::thrift::protocol::T_STOP) {
- break;
- }
- switch (fid)
- {
- case 1:
- if (ftype == ::apache::thrift::protocol::T_STRING) {
- xfer += iprot->readString(this->userName);
- isset_userName = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 2:
- if (ftype == ::apache::thrift::protocol::T_STRING) {
- xfer += iprot->readString(this->applicationId);
- isset_applicationId = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- default:
- xfer += iprot->skip(ftype);
- break;
- }
- xfer += iprot->readFieldEnd();
- }
-
- xfer += iprot->readStructEnd();
-
- if (!isset_userName)
- throw TProtocolException(TProtocolException::INVALID_DATA);
- if (!isset_applicationId)
- throw TProtocolException(TProtocolException::INVALID_DATA);
- return xfer;
-}
-
-uint32_t Airavata_searchExperimentsByApplication_args::write(::apache::thrift::protocol::TProtocol* oprot) const {
- uint32_t xfer = 0;
- xfer += oprot->writeStructBegin("Airavata_searchExperimentsByApplication_args");
-
- xfer += oprot->writeFieldBegin("userName", ::apache::thrift::protocol::T_STRING, 1);
- xfer += oprot->writeString(this->userName);
- xfer += oprot->writeFieldEnd();
-
- xfer += oprot->writeFieldBegin("applicationId", ::apache::thrift::protocol::T_STRING, 2);
- xfer += oprot->writeString(this->applicationId);
- xfer += oprot->writeFieldEnd();
-
- xfer += oprot->writeFieldStop();
- xfer += oprot->writeStructEnd();
- return xfer;
-}
-
-uint32_t Airavata_searchExperimentsByApplication_pargs::write(::apache::thrift::protocol::TProtocol* oprot) const {
- uint32_t xfer = 0;
- xfer += oprot->writeStructBegin("Airavata_searchExperimentsByApplication_pargs");
-
- xfer += oprot->writeFieldBegin("userName", ::apache::thrift::protocol::T_STRING, 1);
- xfer += oprot->writeString((*(this->userName)));
- xfer += oprot->writeFieldEnd();
-
- xfer += oprot->writeFieldBegin("applicationId", ::apache::thrift::protocol::T_STRING, 2);
- xfer += oprot->writeString((*(this->applicationId)));
- xfer += oprot->writeFieldEnd();
-
- xfer += oprot->writeFieldStop();
- xfer += oprot->writeStructEnd();
- return xfer;
-}
-
-uint32_t Airavata_searchExperimentsByApplication_result::read(::apache::thrift::protocol::TProtocol* iprot) {
-
- uint32_t xfer = 0;
- std::string fname;
- ::apache::thrift::protocol::TType ftype;
- int16_t fid;
-
- xfer += iprot->readStructBegin(fname);
-
- using ::apache::thrift::protocol::TProtocolException;
-
-
- while (true)
- {
- xfer += iprot->readFieldBegin(fname, ftype, fid);
- if (ftype == ::apache::thrift::protocol::T_STOP) {
- break;
- }
- switch (fid)
- {
- case 0:
- if (ftype == ::apache::thrift::protocol::T_LIST) {
- {
- this->success.clear();
- uint32_t _size55;
- ::apache::thrift::protocol::TType _etype58;
- xfer += iprot->readListBegin(_etype58, _size55);
- this->success.resize(_size55);
- uint32_t _i59;
- for (_i59 = 0; _i59 < _size55; ++_i59)
- {
- xfer += this->success[_i59].read(iprot);
- }
- xfer += iprot->readListEnd();
- }
- this->__isset.success = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 1:
- if (ftype == ::apache::thrift::protocol::T_STRUCT) {
- xfer += this->ire.read(iprot);
- this->__isset.ire = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 2:
- if (ftype == ::apache::thrift::protocol::T_STRUCT) {
- xfer += this->ace.read(iprot);
- this->__isset.ace = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 3:
- if (ftype == ::apache::thrift::protocol::T_STRUCT) {
- xfer += this->ase.read(iprot);
- this->__isset.ase = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- default:
- xfer += iprot->skip(ftype);
- break;
- }
- xfer += iprot->readFieldEnd();
- }
-
- xfer += iprot->readStructEnd();
-
- return xfer;
-}
-
-uint32_t Airavata_searchExperimentsByApplication_result::write(::apache::thrift::protocol::TProtocol* oprot) const {
-
- uint32_t xfer = 0;
-
- xfer += oprot->writeStructBegin("Airavata_searchExperimentsByApplication_result");
-
- if (this->__isset.success) {
- xfer += oprot->writeFieldBegin("success", ::apache::thrift::protocol::T_LIST, 0);
- {
- xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>(this->success.size()));
- std::vector< ::apache::airavata::model::workspace::experiment::ExperimentSummary> ::const_iterator _iter60;
- for (_iter60 = this->success.begin(); _iter60 != this->success.end(); ++_iter60)
- {
- xfer += (*_iter60).write(oprot);
- }
- xfer += oprot->writeListEnd();
- }
- xfer += oprot->writeFieldEnd();
- } else if (this->__isset.ire) {
- xfer += oprot->writeFieldBegin("ire", ::apache::thrift::protocol::T_STRUCT, 1);
- xfer += this->ire.write(oprot);
- xfer += oprot->writeFieldEnd();
- } else if (this->__isset.ace) {
- xfer += oprot->writeFieldBegin("ace", ::apache::thrift::protocol::T_STRUCT, 2);
- xfer += this->ace.write(oprot);
- xfer += oprot->writeFieldEnd();
- } else if (this->__isset.ase) {
- xfer += oprot->writeFieldBegin("ase", ::apache::thrift::protocol::T_STRUCT, 3);
- xfer += this->ase.write(oprot);
- xfer += oprot->writeFieldEnd();
- }
- xfer += oprot->writeFieldStop();
- xfer += oprot->writeStructEnd();
- return xfer;
-}
-
-uint32_t Airavata_searchExperimentsByApplication_presult::read(::apache::thrift::protocol::TProtocol* iprot) {
-
- uint32_t xfer = 0;
- std::string fname;
- ::apache::thrift::protocol::TType ftype;
- int16_t fid;
-
- xfer += iprot->readStructBegin(fname);
-
- using ::apache::thrift::protocol::TProtocolException;
-
-
- while (true)
- {
- xfer += iprot->readFieldBegin(fname, ftype, fid);
- if (ftype == ::apache::thrift::protocol::T_STOP) {
- break;
- }
- switch (fid)
- {
- case 0:
- if (ftype == ::apache::thrift::protocol::T_LIST) {
- {
- (*(this->success)).clear();
- uint32_t _size61;
- ::apache::thrift::protocol::TType _etype64;
- xfer += iprot->readListBegin(_etype64, _size61);
- (*(this->success)).resize(_size61);
- uint32_t _i65;
- for (_i65 = 0; _i65 < _size61; ++_i65)
- {
- xfer += (*(this->success))[_i65].read(iprot);
- }
- xfer += iprot->readListEnd();
- }
- this->__isset.success = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 1:
- if (ftype == ::apache::thrift::protocol::T_STRUCT) {
- xfer += this->ire.read(iprot);
- this->__isset.ire = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 2:
- if (ftype == ::apache::thrift::protocol::T_STRUCT) {
- xfer += this->ace.read(iprot);
- this->__isset.ace = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 3:
- if (ftype == ::apache::thrift::protocol::T_STRUCT) {
- xfer += this->ase.read(iprot);
- this->__isset.ase = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- default:
- xfer += iprot->skip(ftype);
- break;
- }
- xfer += iprot->readFieldEnd();
- }
-
- xfer += iprot->readStructEnd();
-
- return xfer;
-}
-
-uint32_t Airavata_getAllExperimentsInProject_args::read(::apache::thrift::protocol::TProtocol* iprot) {
-
- uint32_t xfer = 0;
- std::string fname;
- ::apache::thrift::protocol::TType ftype;
- int16_t fid;
-
- xfer += iprot->readStructBegin(fname);
-
- using ::apache::thrift::protocol::TProtocolException;
-
- bool isset_projectId = false;
-
- while (true)
- {
- xfer += iprot->readFieldBegin(fname, ftype, fid);
- if (ftype == ::apache::thrift::protocol::T_STOP) {
- break;
- }
- switch (fid)
- {
- case 1:
- if (ftype == ::apache::thrift::protocol::T_STRING) {
- xfer += iprot->readString(this->projectId);
- isset_projectId = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- default:
- xfer += iprot->skip(ftype);
- break;
- }
- xfer += iprot->readFieldEnd();
- }
-
- xfer += iprot->readStructEnd();
-
- if (!isset_projectId)
- throw TProtocolException(TProtocolException::INVALID_DATA);
- return xfer;
-}
-
-uint32_t Airavata_getAllExperimentsInProject_args::write(::apache::thrift::protocol::TProtocol* oprot) const {
- uint32_t xfer = 0;
- xfer += oprot->writeStructBegin("Airavata_getAllExperimentsInProject_args");
-
- xfer += oprot->writeFieldBegin("projectId", ::apache::thrift::protocol::T_STRING, 1);
- xfer += oprot->writeString(this->projectId);
- xfer += oprot->writeFieldEnd();
-
- xfer += oprot->writeFieldStop();
- xfer += oprot->writeStructEnd();
- return xfer;
-}
-
-uint32_t Airavata_getAllExperimentsInProject_pargs::write(::apache::thrift::protocol::TProtocol* oprot) const {
- uint32_t xfer = 0;
- xfer += oprot->writeStructBegin("Airavata_getAllExperimentsInProject_pargs");
-
- xfer += oprot->writeFieldBegin("projectId", ::apache::thrift::protocol::T_STRING, 1);
- xfer += oprot->writeString((*(this->projectId)));
- xfer += oprot->writeFieldEnd();
-
- xfer += oprot->writeFieldStop();
- xfer += oprot->writeStructEnd();
- return xfer;
-}
-
-uint32_t Airavata_getAllExperimentsInProject_result::read(::apache::thrift::protocol::TProtocol* iprot) {
-
- uint32_t xfer = 0;
- std::string fname;
- ::apache::thrift::protocol::TType ftype;
- int16_t fid;
-
- xfer += iprot->readStructBegin(fname);
-
- using ::apache::thrift::protocol::TProtocolException;
-
-
- while (true)
- {
- xfer += iprot->readFieldBegin(fname, ftype, fid);
- if (ftype == ::apache::thrift::protocol::T_STOP) {
- break;
- }
- switch (fid)
- {
- case 0:
- if (ftype == ::apache::thrift::protocol::T_LIST) {
- {
- this->success.clear();
- uint32_t _size66;
- ::apache::thrift::protocol::TType _etype69;
- xfer += iprot->readListBegin(_etype69, _size66);
- this->success.resize(_size66);
- uint32_t _i70;
- for (_i70 = 0; _i70 < _size66; ++_i70)
- {
- xfer += this->success[_i70].read(iprot);
- }
- xfer += iprot->readListEnd();
- }
- this->__isset.success = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 1:
- if (ftype == ::apache::thrift::protocol::T_STRUCT) {
- xfer += this->ire.read(iprot);
- this->__isset.ire = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 2:
- if (ftype == ::apache::thrift::protocol::T_STRUCT) {
- xfer += this->ace.read(iprot);
- this->__isset.ace = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 3:
- if (ftype == ::apache::thrift::protocol::T_STRUCT) {
- xfer += this->ase.read(iprot);
- this->__isset.ase = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 4:
- if (ftype == ::apache::thrift::protocol::T_STRUCT) {
- xfer += this->pnfe.read(iprot);
- this->__isset.pnfe = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- default:
- xfer += iprot->skip(ftype);
- break;
- }
- xfer += iprot->readFieldEnd();
- }
-
- xfer += iprot->readStructEnd();
-
- return xfer;
-}
-
-uint32_t Airavata_getAllExperimentsInProject_result::write(::apache::thrift::protocol::TProtocol* oprot) const {
-
- uint32_t xfer = 0;
-
- xfer += oprot->writeStructBegin("Airavata_getAllExperimentsInProject_result");
-
- if (this->__isset.success) {
- xfer += oprot->writeFieldBegin("success", ::apache::thrift::protocol::T_LIST, 0);
- {
- xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>(this->success.size()));
- std::vector< ::apache::airavata::model::workspace::experiment::Experiment> ::const_iterator _iter71;
- for (_iter71 = this->success.begin(); _iter71 != this->success.end(); ++_iter71)
- {
- xfer += (*_iter71).write(oprot);
- }
- xfer += oprot->writeListEnd();
- }
- xfer += oprot->writeFieldEnd();
- } else if (this->__isset.ire) {
- xfer += oprot->writeFieldBegin("ire", ::apache::thrift::protocol::T_STRUCT, 1);
- xfer += this->ire.write(oprot);
- xfer += oprot->writeFieldEnd();
- } else if (this->__isset.ace) {
- xfer += oprot->writeFieldBegin("ace", ::apache::thrift::protocol::T_STRUCT, 2);
- xfer += this->ace.write(oprot);
- xfer += oprot->writeFieldEnd();
- } else if (this->__isset.ase) {
- xfer += oprot->writeFieldBegin("ase", ::apache::thrift::protocol::T_STRUCT, 3);
- xfer += this->ase.write(oprot);
- xfer += oprot->writeFieldEnd();
- } else if (this->__isset.pnfe) {
- xfer += oprot->writeFieldBegin("pnfe", ::apache::thrift::protocol::T_STRUCT, 4);
- xfer += this->pnfe.write(oprot);
- xfer += oprot->writeFieldEnd();
- }
- xfer += oprot->writeFieldStop();
- xfer += oprot->writeStructEnd();
- return xfer;
-}
-
-uint32_t Airavata_getAllExperimentsInProject_presult::read(::apache::thrift::protocol::TProtocol* iprot) {
-
- uint32_t xfer = 0;
- std::string fname;
- ::apache::thrift::protocol::TType ftype;
- int16_t fid;
-
- xfer += iprot->readStructBegin(fname);
-
- using ::apache::thrift::protocol::TProtocolException;
-
-
- while (true)
- {
- xfer += iprot->readFieldBegin(fname, ftype, fid);
- if (ftype == ::apache::thrift::protocol::T_STOP) {
- break;
- }
- switch (fid)
- {
- case 0:
- if (ftype == ::apache::thrift::protocol::T_LIST) {
- {
- (*(this->success)).clear();
- uint32_t _size72;
- ::apache::thrift::protocol::TType _etype75;
- xfer += iprot->readListBegin(_etype75, _size72);
- (*(this->success)).resize(_size72);
- uint32_t _i76;
- for (_i76 = 0; _i76 < _size72; ++_i76)
- {
- xfer += (*(this->success))[_i76].read(iprot);
- }
- xfer += iprot->readListEnd();
- }
- this->__isset.success = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 1:
- if (ftype == ::apache::thrift::protocol::T_STRUCT) {
- xfer += this->ire.read(iprot);
- this->__isset.ire = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 2:
- if (ftype == ::apache::thrift::protocol::T_STRUCT) {
- xfer += this->ace.read(iprot);
- this->__isset.ace = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 3:
- if (ftype == ::apache::thrift::protocol::T_STRUCT) {
- xfer += this->ase.read(iprot);
- this->__isset.ase = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 4:
- if (ftype == ::apache::thrift::protocol::T_STRUCT) {
- xfer += this->pnfe.read(iprot);
- this->__isset.pnfe = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- default:
- xfer += iprot->skip(ftype);
- break;
- }
- xfer += iprot->readFieldEnd();
- }
-
- xfer += iprot->readStructEnd();
-
- return xfer;
-}
-
-uint32_t Airavata_getAllUserExperiments_args::read(::apache::thrift::protocol::TProtocol* iprot) {
-
- uint32_t xfer = 0;
- std::string fname;
- ::apache::thrift::protocol::TType ftype;
- int16_t fid;
-
- xfer += iprot->readStructBegin(fname);
-
- using ::apache::thrift::protocol::TProtocolException;
-
- bool isset_userName = false;
-
- while (true)
- {
- xfer += iprot->readFieldBegin(fname, ftype, fid);
- if (ftype == ::apache::thrift::protocol::T_STOP) {
- break;
- }
- switch (fid)
- {
- case 1:
- if (ftype == ::apache::thrift::protocol::T_STRING) {
- xfer += iprot->readString(this->userName);
- isset_userName = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- default:
- xfer += iprot->skip(ftype);
- break;
- }
- xfer += iprot->readFieldEnd();
- }
-
- xfer += iprot->readStructEnd();
-
- if (!isset_userName)
- throw TProtocolException(TProtocolException::INVALID_DATA);
- return xfer;
-}
-
-uint32_t Airavata_getAllUserExperiments_args::write(::apache::thrift::protocol::TProtocol* oprot) const {
- uint32_t xfer = 0;
- xfer += oprot->writeStructBegin("Airavata_getAllUserExperiments_args");
-
- xfer += oprot->writeFieldBegin("userName", ::apache::thrift::protocol::T_STRING, 1);
- xfer += oprot->writeString(this->userName);
- xfer += oprot->writeFieldEnd();
-
- xfer += oprot->writeFieldStop();
- xfer += oprot->writeStructEnd();
- return xfer;
-}
-
-uint32_t Airavata_getAllUserExperiments_pargs::write(::apache::thrift::protocol::TProtocol* oprot) const {
- uint32_t xfer = 0;
- xfer += oprot->writeStructBegin("Airavata_getAllUserExperiments_pargs");
-
- xfer += oprot->writeFieldBegin("userName", ::apache::thrift::protocol::T_STRING, 1);
- xfer += oprot->writeString((*(this->userName)));
- xfer += oprot->writeFieldEnd();
-
- xfer += oprot->writeFieldStop();
- xfer += oprot->writeStructEnd();
- return xfer;
-}
-
-uint32_t Airavata_getAllUserExperiments_result::read(::apache::thrift::protocol::TProtocol* iprot) {
-
- uint32_t xfer = 0;
- std::string fname;
- ::apache::thrift::protocol::TType ftype;
- int16_t fid;
-
- xfer += iprot->readStructBegin(fname);
-
- using ::apache::thrift::protocol::TProtocolException;
-
-
- while (true)
- {
- xfer += iprot->readFieldBegin(fname, ftype, fid);
- if (ftype == ::apache::thrift::protocol::T_STOP) {
- break;
- }
- switch (fid)
- {
- case 0:
- if (ftype == ::apache::thrift::protocol::T_LIST) {
- {
- this->success.clear();
- uint32_t _size77;
- ::apache::thrift::protocol::TType _etype80;
- xfer += iprot->readListBegin(_etype80, _size77);
- this->success.resize(_size77);
- uint32_t _i81;
- for (_i81 = 0; _i81 < _size77; ++_i81)
- {
- xfer += this->success[_i81].read(iprot);
- }
- xfer += iprot->readListEnd();
- }
- this->__isset.success = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 1:
- if (ftype == ::apache::thrift::protocol::T_STRUCT) {
- xfer += this->ire.read(iprot);
- this->__isset.ire = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 2:
- if (ftype == ::apache::thrift::protocol::T_STRUCT) {
- xfer += this->ace.read(iprot);
- this->__isset.ace = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 3:
- if (ftype == ::apache::thrift::protocol::T_STRUCT) {
- xfer += this->ase.read(iprot);
- this->__isset.ase = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- default:
- xfer += iprot->skip(ftype);
- break;
- }
- xfer += iprot->readFieldEnd();
- }
-
- xfer += iprot->readStructEnd();
-
- return xfer;
-}
-
-uint32_t Airavata_getAllUserExperiments_result::write(::apache::thrift::protocol::TProtocol* oprot) const {
-
- uint32_t xfer = 0;
-
- xfer += oprot->writeStructBegin("Airavata_getAllUserExperiments_result");
-
- if (this->__isset.success) {
- xfer += oprot->writeFieldBegin("success", ::apache::thrift::protocol::T_LIST, 0);
- {
- xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>(this->success.size()));
- std::vector< ::apache::airavata::model::workspace::experiment::Experiment> ::const_iterator _iter82;
- for (_iter82 = this->success.begin(); _iter82 != this->success.end(); ++_iter82)
- {
- xfer += (*_iter82).write(oprot);
- }
- xfer += oprot->writeListEnd();
- }
- xfer += oprot->writeFieldEnd();
- } else if (this->__isset.ire) {
- xfer += oprot->writeFieldBegin("ire", ::apache::thrift::protocol::T_STRUCT, 1);
- xfer += this->ire.write(oprot);
- xfer += oprot->writeFieldEnd();
- } else if (this->__isset.ace) {
- xfer += oprot->writeFieldBegin("ace", ::apache::thrift::protocol::T_STRUCT, 2);
- xfer += thi
<TRUNCATED>
[38/47] removed unnecessary files, updated ini file
Posted by sm...@apache.org.
http://git-wip-us.apache.org/repos/asf/airavata/blob/00b8aaf0/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/Airavata_server.skeleton.cpp
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/Airavata_server.skeleton.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/Airavata_server.skeleton.cpp
deleted file mode 100644
index 51390b2..0000000
--- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/Airavata_server.skeleton.cpp
+++ /dev/null
@@ -1,399 +0,0 @@
-// This autogenerated skeleton file illustrates how to build a server.
-// You should copy it to another filename to avoid overwriting it.
-
-#include "Airavata.h"
-#include <thrift/protocol/TBinaryProtocol.h>
-#include <thrift/server/TSimpleServer.h>
-#include <thrift/transport/TServerSocket.h>
-#include <thrift/transport/TBufferTransports.h>
-
-using namespace ::apache::thrift;
-using namespace ::apache::thrift::protocol;
-using namespace ::apache::thrift::transport;
-using namespace ::apache::thrift::server;
-
-using boost::shared_ptr;
-
-using namespace ::apache::airavata::api;
-
-class AiravataHandler : virtual public AiravataIf {
- public:
- AiravataHandler() {
- // Your initialization goes here
- }
-
- void getAPIVersion(std::string& _return) {
- // Your implementation goes here
- printf("getAPIVersion\n");
- }
-
- void createProject(std::string& _return, const ::apache::airavata::model::workspace::Project& project) {
- // Your implementation goes here
- printf("createProject\n");
- }
-
- void updateProject(const std::string& projectId, const ::apache::airavata::model::workspace::Project& updatedProject) {
- // Your implementation goes here
- printf("updateProject\n");
- }
-
- void getProject( ::apache::airavata::model::workspace::Project& _return, const std::string& projectId) {
- // Your implementation goes here
- printf("getProject\n");
- }
-
- void getAllUserProjects(std::vector< ::apache::airavata::model::workspace::Project> & _return, const std::string& userName) {
- // Your implementation goes here
- printf("getAllUserProjects\n");
- }
-
- void searchProjectsByProjectName(std::vector< ::apache::airavata::model::workspace::Project> & _return, const std::string& userName, const std::string& projectName) {
- // Your implementation goes here
- printf("searchProjectsByProjectName\n");
- }
-
- void searchProjectsByProjectDesc(std::vector< ::apache::airavata::model::workspace::Project> & _return, const std::string& userName, const std::string& description) {
- // Your implementation goes here
- printf("searchProjectsByProjectDesc\n");
- }
-
- void searchExperimentsByName(std::vector< ::apache::airavata::model::workspace::experiment::ExperimentSummary> & _return, const std::string& userName, const std::string& expName) {
- // Your implementation goes here
- printf("searchExperimentsByName\n");
- }
-
- void searchExperimentsByDesc(std::vector< ::apache::airavata::model::workspace::experiment::ExperimentSummary> & _return, const std::string& userName, const std::string& description) {
- // Your implementation goes here
- printf("searchExperimentsByDesc\n");
- }
-
- void searchExperimentsByApplication(std::vector< ::apache::airavata::model::workspace::experiment::ExperimentSummary> & _return, const std::string& userName, const std::string& applicationId) {
- // Your implementation goes here
- printf("searchExperimentsByApplication\n");
- }
-
- void getAllExperimentsInProject(std::vector< ::apache::airavata::model::workspace::experiment::Experiment> & _return, const std::string& projectId) {
- // Your implementation goes here
- printf("getAllExperimentsInProject\n");
- }
-
- void getAllUserExperiments(std::vector< ::apache::airavata::model::workspace::experiment::Experiment> & _return, const std::string& userName) {
- // Your implementation goes here
- printf("getAllUserExperiments\n");
- }
-
- void createExperiment(std::string& _return, const ::apache::airavata::model::workspace::experiment::Experiment& experiment) {
- // Your implementation goes here
- printf("createExperiment\n");
- }
-
- void getExperiment( ::apache::airavata::model::workspace::experiment::Experiment& _return, const std::string& airavataExperimentId) {
- // Your implementation goes here
- printf("getExperiment\n");
- }
-
- void updateExperiment(const std::string& airavataExperimentId, const ::apache::airavata::model::workspace::experiment::Experiment& experiment) {
- // Your implementation goes here
- printf("updateExperiment\n");
- }
-
- void updateExperimentConfiguration(const std::string& airavataExperimentId, const ::apache::airavata::model::workspace::experiment::UserConfigurationData& userConfiguration) {
- // Your implementation goes here
- printf("updateExperimentConfiguration\n");
- }
-
- void updateResourceScheduleing(const std::string& airavataExperimentId, const ::apache::airavata::model::workspace::experiment::ComputationalResourceScheduling& resourceScheduling) {
- // Your implementation goes here
- printf("updateResourceScheduleing\n");
- }
-
- bool validateExperiment(const std::string& airavataExperimentId) {
- // Your implementation goes here
- printf("validateExperiment\n");
- }
-
- void launchExperiment(const std::string& airavataExperimentId, const std::string& airavataCredStoreToken) {
- // Your implementation goes here
- printf("launchExperiment\n");
- }
-
- void getExperimentStatus( ::apache::airavata::model::workspace::experiment::ExperimentStatus& _return, const std::string& airavataExperimentId) {
- // Your implementation goes here
- printf("getExperimentStatus\n");
- }
-
- void getExperimentOutputs(std::vector< ::apache::airavata::model::workspace::experiment::DataObjectType> & _return, const std::string& airavataExperimentId) {
- // Your implementation goes here
- printf("getExperimentOutputs\n");
- }
-
- void getJobStatuses(std::map<std::string, ::apache::airavata::model::workspace::experiment::JobStatus> & _return, const std::string& airavataExperimentId) {
- // Your implementation goes here
- printf("getJobStatuses\n");
- }
-
- void cloneExperiment(std::string& _return, const std::string& existingExperimentID, const std::string& newExperimentName) {
- // Your implementation goes here
- printf("cloneExperiment\n");
- }
-
- void terminateExperiment(const std::string& airavataExperimentId) {
- // Your implementation goes here
- printf("terminateExperiment\n");
- }
-
- void registerApplicationModule(std::string& _return, const ::apache::airavata::model::appcatalog::appdeployment::ApplicationModule& applicationModule) {
- // Your implementation goes here
- printf("registerApplicationModule\n");
- }
-
- void getApplicationModule( ::apache::airavata::model::appcatalog::appdeployment::ApplicationModule& _return, const std::string& appModuleId) {
- // Your implementation goes here
- printf("getApplicationModule\n");
- }
-
- bool updateApplicationModule(const std::string& appModuleId, const ::apache::airavata::model::appcatalog::appdeployment::ApplicationModule& applicationModule) {
- // Your implementation goes here
- printf("updateApplicationModule\n");
- }
-
- bool deleteApplicationModule(const std::string& appModuleId) {
- // Your implementation goes here
- printf("deleteApplicationModule\n");
- }
-
- void registerApplicationDeployment(std::string& _return, const ::apache::airavata::model::appcatalog::appdeployment::ApplicationDeploymentDescription& applicationDeployment) {
- // Your implementation goes here
- printf("registerApplicationDeployment\n");
- }
-
- void getApplicationDeployment( ::apache::airavata::model::appcatalog::appdeployment::ApplicationDeploymentDescription& _return, const std::string& appDeploymentId) {
- // Your implementation goes here
- printf("getApplicationDeployment\n");
- }
-
- bool updateApplicationDeployment(const std::string& appDeploymentId, const ::apache::airavata::model::appcatalog::appdeployment::ApplicationDeploymentDescription& applicationDeployment) {
- // Your implementation goes here
- printf("updateApplicationDeployment\n");
- }
-
- bool deleteApplicationDeployment(const std::string& appDeploymentId) {
- // Your implementation goes here
- printf("deleteApplicationDeployment\n");
- }
-
- void getAppModuleDeployedResources(std::vector<std::string> & _return, const std::string& appModuleId) {
- // Your implementation goes here
- printf("getAppModuleDeployedResources\n");
- }
-
- void registerApplicationInterface(std::string& _return, const ::apache::airavata::model::appcatalog::appinterface::ApplicationInterfaceDescription& applicationInterface) {
- // Your implementation goes here
- printf("registerApplicationInterface\n");
- }
-
- void getApplicationInterface( ::apache::airavata::model::appcatalog::appinterface::ApplicationInterfaceDescription& _return, const std::string& appInterfaceId) {
- // Your implementation goes here
- printf("getApplicationInterface\n");
- }
-
- bool updateApplicationInterface(const std::string& appInterfaceId, const ::apache::airavata::model::appcatalog::appinterface::ApplicationInterfaceDescription& applicationInterface) {
- // Your implementation goes here
- printf("updateApplicationInterface\n");
- }
-
- bool deleteApplicationInterface(const std::string& appInterfaceId) {
- // Your implementation goes here
- printf("deleteApplicationInterface\n");
- }
-
- void getAllApplicationInterfaceNames(std::map<std::string, std::string> & _return) {
- // Your implementation goes here
- printf("getAllApplicationInterfaceNames\n");
- }
-
- void getAllApplicationInterfaces(std::vector< ::apache::airavata::model::appcatalog::appinterface::ApplicationInterfaceDescription> & _return) {
- // Your implementation goes here
- printf("getAllApplicationInterfaces\n");
- }
-
- void getApplicationInputs(std::vector< ::apache::airavata::model::appcatalog::appinterface::InputDataObjectType> & _return, const std::string& appInterfaceId) {
- // Your implementation goes here
- printf("getApplicationInputs\n");
- }
-
- void getApplicationOutputs(std::vector< ::apache::airavata::model::appcatalog::appinterface::OutputDataObjectType> & _return, const std::string& appInterfaceId) {
- // Your implementation goes here
- printf("getApplicationOutputs\n");
- }
-
- void getAvailableAppInterfaceComputeResources(std::map<std::string, std::string> & _return, const std::string& appInterfaceId) {
- // Your implementation goes here
- printf("getAvailableAppInterfaceComputeResources\n");
- }
-
- void registerComputeResource(std::string& _return, const ::apache::airavata::model::appcatalog::computeresource::ComputeResourceDescription& computeResourceDescription) {
- // Your implementation goes here
- printf("registerComputeResource\n");
- }
-
- void getComputeResource( ::apache::airavata::model::appcatalog::computeresource::ComputeResourceDescription& _return, const std::string& computeResourceId) {
- // Your implementation goes here
- printf("getComputeResource\n");
- }
-
- void getAllComputeResourceNames(std::map<std::string, std::string> & _return) {
- // Your implementation goes here
- printf("getAllComputeResourceNames\n");
- }
-
- bool updateComputeResource(const std::string& computeResourceId, const ::apache::airavata::model::appcatalog::computeresource::ComputeResourceDescription& computeResourceDescription) {
- // Your implementation goes here
- printf("updateComputeResource\n");
- }
-
- bool deleteComputeResource(const std::string& computeResourceId) {
- // Your implementation goes here
- printf("deleteComputeResource\n");
- }
-
- bool addLocalSubmissionDetails(const std::string& computeResourceId, const int32_t priorityOrder, const ::apache::airavata::model::appcatalog::computeresource::LOCALSubmission& localSubmission) {
- // Your implementation goes here
- printf("addLocalSubmissionDetails\n");
- }
-
- bool updateLocalSubmissionDetails(const std::string& jobSubmissionInterfaceId, const ::apache::airavata::model::appcatalog::computeresource::LOCALSubmission& localSubmission) {
- // Your implementation goes here
- printf("updateLocalSubmissionDetails\n");
- }
-
- bool addSSHJobSubmissionDetails(const std::string& computeResourceId, const int32_t priorityOrder, const ::apache::airavata::model::appcatalog::computeresource::SSHJobSubmission& sshJobSubmission) {
- // Your implementation goes here
- printf("addSSHJobSubmissionDetails\n");
- }
-
- bool updateSSHJobSubmissionDetails(const std::string& jobSubmissionInterfaceId, const ::apache::airavata::model::appcatalog::computeresource::SSHJobSubmission& sshJobSubmission) {
- // Your implementation goes here
- printf("updateSSHJobSubmissionDetails\n");
- }
-
- bool addLocalDataMovementDetails(const std::string& computeResourceId, const int32_t priorityOrder, const ::apache::airavata::model::appcatalog::computeresource::LOCALDataMovement& localDataMovement) {
- // Your implementation goes here
- printf("addLocalDataMovementDetails\n");
- }
-
- bool updateLocalDataMovementDetails(const std::string& jobSubmissionInterfaceId, const ::apache::airavata::model::appcatalog::computeresource::LOCALDataMovement& localDataMovement) {
- // Your implementation goes here
- printf("updateLocalDataMovementDetails\n");
- }
-
- bool addSCPDataMovementDetails(const std::string& computeResourceId, const int32_t priorityOrder, const ::apache::airavata::model::appcatalog::computeresource::SCPDataMovement& scpDataMovement) {
- // Your implementation goes here
- printf("addSCPDataMovementDetails\n");
- }
-
- bool updateSCPDataMovementDetails(const std::string& jobSubmissionInterfaceId, const ::apache::airavata::model::appcatalog::computeresource::SCPDataMovement& scpDataMovement) {
- // Your implementation goes here
- printf("updateSCPDataMovementDetails\n");
- }
-
- bool addGridFTPDataMovementDetails(const std::string& computeResourceId, const int32_t priorityOrder, const ::apache::airavata::model::appcatalog::computeresource::GridFTPDataMovement& gridFTPDataMovement) {
- // Your implementation goes here
- printf("addGridFTPDataMovementDetails\n");
- }
-
- bool updateGridFTPDataMovementDetails(const std::string& jobSubmissionInterfaceId, const ::apache::airavata::model::appcatalog::computeresource::GridFTPDataMovement& gridFTPDataMovement) {
- // Your implementation goes here
- printf("updateGridFTPDataMovementDetails\n");
- }
-
- bool changeJobSubmissionPriority(const std::string& jobSubmissionInterfaceId, const int32_t newPriorityOrder) {
- // Your implementation goes here
- printf("changeJobSubmissionPriority\n");
- }
-
- bool changeDataMovementPriority(const std::string& dataMovementInterfaceId, const int32_t newPriorityOrder) {
- // Your implementation goes here
- printf("changeDataMovementPriority\n");
- }
-
- bool changeJobSubmissionPriorities(const std::map<std::string, int32_t> & jobSubmissionPriorityMap) {
- // Your implementation goes here
- printf("changeJobSubmissionPriorities\n");
- }
-
- bool changeDataMovementPriorities(const std::map<std::string, int32_t> & dataMovementPriorityMap) {
- // Your implementation goes here
- printf("changeDataMovementPriorities\n");
- }
-
- bool deleteJobSubmissionInterface(const std::string& jobSubmissionInterfaceId) {
- // Your implementation goes here
- printf("deleteJobSubmissionInterface\n");
- }
-
- bool deleteDataMovementInterface(const std::string& dataMovementInterfaceId) {
- // Your implementation goes here
- printf("deleteDataMovementInterface\n");
- }
-
- void registerGatewayResourceProfile(std::string& _return, const ::apache::airavata::model::appcatalog::gatewayprofile::GatewayResourceProfile& gatewayResourceProfile) {
- // Your implementation goes here
- printf("registerGatewayResourceProfile\n");
- }
-
- void getGatewayResourceProfile( ::apache::airavata::model::appcatalog::gatewayprofile::GatewayResourceProfile& _return, const std::string& gatewayID) {
- // Your implementation goes here
- printf("getGatewayResourceProfile\n");
- }
-
- bool updateGatewayResourceProfile(const std::string& gatewayID, const ::apache::airavata::model::appcatalog::gatewayprofile::GatewayResourceProfile& gatewayResourceProfile) {
- // Your implementation goes here
- printf("updateGatewayResourceProfile\n");
- }
-
- bool deleteGatewayResourceProfile(const std::string& gatewayID) {
- // Your implementation goes here
- printf("deleteGatewayResourceProfile\n");
- }
-
- bool addGatewayComputeResourcePreference(const std::string& gatewayID, const std::string& computeResourceId, const ::apache::airavata::model::appcatalog::gatewayprofile::ComputeResourcePreference& computeResourcePreference) {
- // Your implementation goes here
- printf("addGatewayComputeResourcePreference\n");
- }
-
- void getGatewayComputeResourcePreference( ::apache::airavata::model::appcatalog::gatewayprofile::ComputeResourcePreference& _return, const std::string& gatewayID, const std::string& computeResourceId) {
- // Your implementation goes here
- printf("getGatewayComputeResourcePreference\n");
- }
-
- void getAllGatewayComputeResourcePreferences(std::vector< ::apache::airavata::model::appcatalog::gatewayprofile::ComputeResourcePreference> & _return, const std::string& gatewayID) {
- // Your implementation goes here
- printf("getAllGatewayComputeResourcePreferences\n");
- }
-
- bool updateGatewayComputeResourcePreference(const std::string& gatewayID, const std::string& computeResourceId, const ::apache::airavata::model::appcatalog::gatewayprofile::ComputeResourcePreference& computeResourcePreference) {
- // Your implementation goes here
- printf("updateGatewayComputeResourcePreference\n");
- }
-
- bool deleteGatewayComputeResourcePreference(const std::string& gatewayID, const std::string& computeResourceId) {
- // Your implementation goes here
- printf("deleteGatewayComputeResourcePreference\n");
- }
-
-};
-
-int main(int argc, char **argv) {
- int port = 9090;
- shared_ptr<AiravataHandler> handler(new AiravataHandler());
- shared_ptr<TProcessor> processor(new AiravataProcessor(handler));
- shared_ptr<TServerTransport> serverTransport(new TServerSocket(port));
- shared_ptr<TTransportFactory> transportFactory(new TBufferedTransportFactory());
- shared_ptr<TProtocolFactory> protocolFactory(new TBinaryProtocolFactory());
-
- TSimpleServer server(processor, serverTransport, transportFactory, protocolFactory);
- server.serve();
- return 0;
-}
-
[39/47] removed unnecessary files, updated ini file
Posted by sm...@apache.org.
http://git-wip-us.apache.org/repos/asf/airavata/blob/00b8aaf0/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/Airavata.h
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/Airavata.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/Airavata.h
deleted file mode 100644
index 8dc1706..0000000
--- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/Airavata.h
+++ /dev/null
@@ -1,11188 +0,0 @@
-/**
- * Autogenerated by Thrift Compiler (0.9.1)
- *
- * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
- * @generated
- */
-#ifndef Airavata_H
-#define Airavata_H
-
-#include <thrift/TDispatchProcessor.h>
-#include "airavataAPI_types.h"
-
-namespace apache { namespace airavata { namespace api {
-
-class AiravataIf {
- public:
- virtual ~AiravataIf() {}
- virtual void getAPIVersion(std::string& _return) = 0;
- virtual void createProject(std::string& _return, const ::apache::airavata::model::workspace::Project& project) = 0;
- virtual void updateProject(const std::string& projectId, const ::apache::airavata::model::workspace::Project& updatedProject) = 0;
- virtual void getProject( ::apache::airavata::model::workspace::Project& _return, const std::string& projectId) = 0;
- virtual void getAllUserProjects(std::vector< ::apache::airavata::model::workspace::Project> & _return, const std::string& userName) = 0;
- virtual void searchProjectsByProjectName(std::vector< ::apache::airavata::model::workspace::Project> & _return, const std::string& userName, const std::string& projectName) = 0;
- virtual void searchProjectsByProjectDesc(std::vector< ::apache::airavata::model::workspace::Project> & _return, const std::string& userName, const std::string& description) = 0;
- virtual void searchExperimentsByName(std::vector< ::apache::airavata::model::workspace::experiment::ExperimentSummary> & _return, const std::string& userName, const std::string& expName) = 0;
- virtual void searchExperimentsByDesc(std::vector< ::apache::airavata::model::workspace::experiment::ExperimentSummary> & _return, const std::string& userName, const std::string& description) = 0;
- virtual void searchExperimentsByApplication(std::vector< ::apache::airavata::model::workspace::experiment::ExperimentSummary> & _return, const std::string& userName, const std::string& applicationId) = 0;
- virtual void getAllExperimentsInProject(std::vector< ::apache::airavata::model::workspace::experiment::Experiment> & _return, const std::string& projectId) = 0;
- virtual void getAllUserExperiments(std::vector< ::apache::airavata::model::workspace::experiment::Experiment> & _return, const std::string& userName) = 0;
- virtual void createExperiment(std::string& _return, const ::apache::airavata::model::workspace::experiment::Experiment& experiment) = 0;
- virtual void getExperiment( ::apache::airavata::model::workspace::experiment::Experiment& _return, const std::string& airavataExperimentId) = 0;
- virtual void updateExperiment(const std::string& airavataExperimentId, const ::apache::airavata::model::workspace::experiment::Experiment& experiment) = 0;
- virtual void updateExperimentConfiguration(const std::string& airavataExperimentId, const ::apache::airavata::model::workspace::experiment::UserConfigurationData& userConfiguration) = 0;
- virtual void updateResourceScheduleing(const std::string& airavataExperimentId, const ::apache::airavata::model::workspace::experiment::ComputationalResourceScheduling& resourceScheduling) = 0;
- virtual bool validateExperiment(const std::string& airavataExperimentId) = 0;
- virtual void launchExperiment(const std::string& airavataExperimentId, const std::string& airavataCredStoreToken) = 0;
- virtual void getExperimentStatus( ::apache::airavata::model::workspace::experiment::ExperimentStatus& _return, const std::string& airavataExperimentId) = 0;
- virtual void getExperimentOutputs(std::vector< ::apache::airavata::model::workspace::experiment::DataObjectType> & _return, const std::string& airavataExperimentId) = 0;
- virtual void getJobStatuses(std::map<std::string, ::apache::airavata::model::workspace::experiment::JobStatus> & _return, const std::string& airavataExperimentId) = 0;
- virtual void cloneExperiment(std::string& _return, const std::string& existingExperimentID, const std::string& newExperimentName) = 0;
- virtual void terminateExperiment(const std::string& airavataExperimentId) = 0;
- virtual void registerApplicationModule(std::string& _return, const ::apache::airavata::model::appcatalog::appdeployment::ApplicationModule& applicationModule) = 0;
- virtual void getApplicationModule( ::apache::airavata::model::appcatalog::appdeployment::ApplicationModule& _return, const std::string& appModuleId) = 0;
- virtual bool updateApplicationModule(const std::string& appModuleId, const ::apache::airavata::model::appcatalog::appdeployment::ApplicationModule& applicationModule) = 0;
- virtual bool deleteApplicationModule(const std::string& appModuleId) = 0;
- virtual void registerApplicationDeployment(std::string& _return, const ::apache::airavata::model::appcatalog::appdeployment::ApplicationDeploymentDescription& applicationDeployment) = 0;
- virtual void getApplicationDeployment( ::apache::airavata::model::appcatalog::appdeployment::ApplicationDeploymentDescription& _return, const std::string& appDeploymentId) = 0;
- virtual bool updateApplicationDeployment(const std::string& appDeploymentId, const ::apache::airavata::model::appcatalog::appdeployment::ApplicationDeploymentDescription& applicationDeployment) = 0;
- virtual bool deleteApplicationDeployment(const std::string& appDeploymentId) = 0;
- virtual void getAppModuleDeployedResources(std::vector<std::string> & _return, const std::string& appModuleId) = 0;
- virtual void registerApplicationInterface(std::string& _return, const ::apache::airavata::model::appcatalog::appinterface::ApplicationInterfaceDescription& applicationInterface) = 0;
- virtual void getApplicationInterface( ::apache::airavata::model::appcatalog::appinterface::ApplicationInterfaceDescription& _return, const std::string& appInterfaceId) = 0;
- virtual bool updateApplicationInterface(const std::string& appInterfaceId, const ::apache::airavata::model::appcatalog::appinterface::ApplicationInterfaceDescription& applicationInterface) = 0;
- virtual bool deleteApplicationInterface(const std::string& appInterfaceId) = 0;
- virtual void getAllApplicationInterfaceNames(std::map<std::string, std::string> & _return) = 0;
- virtual void getAllApplicationInterfaces(std::vector< ::apache::airavata::model::appcatalog::appinterface::ApplicationInterfaceDescription> & _return) = 0;
- virtual void getApplicationInputs(std::vector< ::apache::airavata::model::appcatalog::appinterface::InputDataObjectType> & _return, const std::string& appInterfaceId) = 0;
- virtual void getApplicationOutputs(std::vector< ::apache::airavata::model::appcatalog::appinterface::OutputDataObjectType> & _return, const std::string& appInterfaceId) = 0;
- virtual void getAvailableAppInterfaceComputeResources(std::map<std::string, std::string> & _return, const std::string& appInterfaceId) = 0;
- virtual void registerComputeResource(std::string& _return, const ::apache::airavata::model::appcatalog::computeresource::ComputeResourceDescription& computeResourceDescription) = 0;
- virtual void getComputeResource( ::apache::airavata::model::appcatalog::computeresource::ComputeResourceDescription& _return, const std::string& computeResourceId) = 0;
- virtual void getAllComputeResourceNames(std::map<std::string, std::string> & _return) = 0;
- virtual bool updateComputeResource(const std::string& computeResourceId, const ::apache::airavata::model::appcatalog::computeresource::ComputeResourceDescription& computeResourceDescription) = 0;
- virtual bool deleteComputeResource(const std::string& computeResourceId) = 0;
- virtual bool addLocalSubmissionDetails(const std::string& computeResourceId, const int32_t priorityOrder, const ::apache::airavata::model::appcatalog::computeresource::LOCALSubmission& localSubmission) = 0;
- virtual bool updateLocalSubmissionDetails(const std::string& jobSubmissionInterfaceId, const ::apache::airavata::model::appcatalog::computeresource::LOCALSubmission& localSubmission) = 0;
- virtual bool addSSHJobSubmissionDetails(const std::string& computeResourceId, const int32_t priorityOrder, const ::apache::airavata::model::appcatalog::computeresource::SSHJobSubmission& sshJobSubmission) = 0;
- virtual bool updateSSHJobSubmissionDetails(const std::string& jobSubmissionInterfaceId, const ::apache::airavata::model::appcatalog::computeresource::SSHJobSubmission& sshJobSubmission) = 0;
- virtual bool addLocalDataMovementDetails(const std::string& computeResourceId, const int32_t priorityOrder, const ::apache::airavata::model::appcatalog::computeresource::LOCALDataMovement& localDataMovement) = 0;
- virtual bool updateLocalDataMovementDetails(const std::string& jobSubmissionInterfaceId, const ::apache::airavata::model::appcatalog::computeresource::LOCALDataMovement& localDataMovement) = 0;
- virtual bool addSCPDataMovementDetails(const std::string& computeResourceId, const int32_t priorityOrder, const ::apache::airavata::model::appcatalog::computeresource::SCPDataMovement& scpDataMovement) = 0;
- virtual bool updateSCPDataMovementDetails(const std::string& jobSubmissionInterfaceId, const ::apache::airavata::model::appcatalog::computeresource::SCPDataMovement& scpDataMovement) = 0;
- virtual bool addGridFTPDataMovementDetails(const std::string& computeResourceId, const int32_t priorityOrder, const ::apache::airavata::model::appcatalog::computeresource::GridFTPDataMovement& gridFTPDataMovement) = 0;
- virtual bool updateGridFTPDataMovementDetails(const std::string& jobSubmissionInterfaceId, const ::apache::airavata::model::appcatalog::computeresource::GridFTPDataMovement& gridFTPDataMovement) = 0;
- virtual bool changeJobSubmissionPriority(const std::string& jobSubmissionInterfaceId, const int32_t newPriorityOrder) = 0;
- virtual bool changeDataMovementPriority(const std::string& dataMovementInterfaceId, const int32_t newPriorityOrder) = 0;
- virtual bool changeJobSubmissionPriorities(const std::map<std::string, int32_t> & jobSubmissionPriorityMap) = 0;
- virtual bool changeDataMovementPriorities(const std::map<std::string, int32_t> & dataMovementPriorityMap) = 0;
- virtual bool deleteJobSubmissionInterface(const std::string& jobSubmissionInterfaceId) = 0;
- virtual bool deleteDataMovementInterface(const std::string& dataMovementInterfaceId) = 0;
- virtual void registerGatewayResourceProfile(std::string& _return, const ::apache::airavata::model::appcatalog::gatewayprofile::GatewayResourceProfile& gatewayResourceProfile) = 0;
- virtual void getGatewayResourceProfile( ::apache::airavata::model::appcatalog::gatewayprofile::GatewayResourceProfile& _return, const std::string& gatewayID) = 0;
- virtual bool updateGatewayResourceProfile(const std::string& gatewayID, const ::apache::airavata::model::appcatalog::gatewayprofile::GatewayResourceProfile& gatewayResourceProfile) = 0;
- virtual bool deleteGatewayResourceProfile(const std::string& gatewayID) = 0;
- virtual bool addGatewayComputeResourcePreference(const std::string& gatewayID, const std::string& computeResourceId, const ::apache::airavata::model::appcatalog::gatewayprofile::ComputeResourcePreference& computeResourcePreference) = 0;
- virtual void getGatewayComputeResourcePreference( ::apache::airavata::model::appcatalog::gatewayprofile::ComputeResourcePreference& _return, const std::string& gatewayID, const std::string& computeResourceId) = 0;
- virtual void getAllGatewayComputeResourcePreferences(std::vector< ::apache::airavata::model::appcatalog::gatewayprofile::ComputeResourcePreference> & _return, const std::string& gatewayID) = 0;
- virtual bool updateGatewayComputeResourcePreference(const std::string& gatewayID, const std::string& computeResourceId, const ::apache::airavata::model::appcatalog::gatewayprofile::ComputeResourcePreference& computeResourcePreference) = 0;
- virtual bool deleteGatewayComputeResourcePreference(const std::string& gatewayID, const std::string& computeResourceId) = 0;
-};
-
-class AiravataIfFactory {
- public:
- typedef AiravataIf Handler;
-
- virtual ~AiravataIfFactory() {}
-
- virtual AiravataIf* getHandler(const ::apache::thrift::TConnectionInfo& connInfo) = 0;
- virtual void releaseHandler(AiravataIf* /* handler */) = 0;
-};
-
-class AiravataIfSingletonFactory : virtual public AiravataIfFactory {
- public:
- AiravataIfSingletonFactory(const boost::shared_ptr<AiravataIf>& iface) : iface_(iface) {}
- virtual ~AiravataIfSingletonFactory() {}
-
- virtual AiravataIf* getHandler(const ::apache::thrift::TConnectionInfo&) {
- return iface_.get();
- }
- virtual void releaseHandler(AiravataIf* /* handler */) {}
-
- protected:
- boost::shared_ptr<AiravataIf> iface_;
-};
-
-class AiravataNull : virtual public AiravataIf {
- public:
- virtual ~AiravataNull() {}
- void getAPIVersion(std::string& /* _return */) {
- return;
- }
- void createProject(std::string& /* _return */, const ::apache::airavata::model::workspace::Project& /* project */) {
- return;
- }
- void updateProject(const std::string& /* projectId */, const ::apache::airavata::model::workspace::Project& /* updatedProject */) {
- return;
- }
- void getProject( ::apache::airavata::model::workspace::Project& /* _return */, const std::string& /* projectId */) {
- return;
- }
- void getAllUserProjects(std::vector< ::apache::airavata::model::workspace::Project> & /* _return */, const std::string& /* userName */) {
- return;
- }
- void searchProjectsByProjectName(std::vector< ::apache::airavata::model::workspace::Project> & /* _return */, const std::string& /* userName */, const std::string& /* projectName */) {
- return;
- }
- void searchProjectsByProjectDesc(std::vector< ::apache::airavata::model::workspace::Project> & /* _return */, const std::string& /* userName */, const std::string& /* description */) {
- return;
- }
- void searchExperimentsByName(std::vector< ::apache::airavata::model::workspace::experiment::ExperimentSummary> & /* _return */, const std::string& /* userName */, const std::string& /* expName */) {
- return;
- }
- void searchExperimentsByDesc(std::vector< ::apache::airavata::model::workspace::experiment::ExperimentSummary> & /* _return */, const std::string& /* userName */, const std::string& /* description */) {
- return;
- }
- void searchExperimentsByApplication(std::vector< ::apache::airavata::model::workspace::experiment::ExperimentSummary> & /* _return */, const std::string& /* userName */, const std::string& /* applicationId */) {
- return;
- }
- void getAllExperimentsInProject(std::vector< ::apache::airavata::model::workspace::experiment::Experiment> & /* _return */, const std::string& /* projectId */) {
- return;
- }
- void getAllUserExperiments(std::vector< ::apache::airavata::model::workspace::experiment::Experiment> & /* _return */, const std::string& /* userName */) {
- return;
- }
- void createExperiment(std::string& /* _return */, const ::apache::airavata::model::workspace::experiment::Experiment& /* experiment */) {
- return;
- }
- void getExperiment( ::apache::airavata::model::workspace::experiment::Experiment& /* _return */, const std::string& /* airavataExperimentId */) {
- return;
- }
- void updateExperiment(const std::string& /* airavataExperimentId */, const ::apache::airavata::model::workspace::experiment::Experiment& /* experiment */) {
- return;
- }
- void updateExperimentConfiguration(const std::string& /* airavataExperimentId */, const ::apache::airavata::model::workspace::experiment::UserConfigurationData& /* userConfiguration */) {
- return;
- }
- void updateResourceScheduleing(const std::string& /* airavataExperimentId */, const ::apache::airavata::model::workspace::experiment::ComputationalResourceScheduling& /* resourceScheduling */) {
- return;
- }
- bool validateExperiment(const std::string& /* airavataExperimentId */) {
- bool _return = false;
- return _return;
- }
- void launchExperiment(const std::string& /* airavataExperimentId */, const std::string& /* airavataCredStoreToken */) {
- return;
- }
- void getExperimentStatus( ::apache::airavata::model::workspace::experiment::ExperimentStatus& /* _return */, const std::string& /* airavataExperimentId */) {
- return;
- }
- void getExperimentOutputs(std::vector< ::apache::airavata::model::workspace::experiment::DataObjectType> & /* _return */, const std::string& /* airavataExperimentId */) {
- return;
- }
- void getJobStatuses(std::map<std::string, ::apache::airavata::model::workspace::experiment::JobStatus> & /* _return */, const std::string& /* airavataExperimentId */) {
- return;
- }
- void cloneExperiment(std::string& /* _return */, const std::string& /* existingExperimentID */, const std::string& /* newExperimentName */) {
- return;
- }
- void terminateExperiment(const std::string& /* airavataExperimentId */) {
- return;
- }
- void registerApplicationModule(std::string& /* _return */, const ::apache::airavata::model::appcatalog::appdeployment::ApplicationModule& /* applicationModule */) {
- return;
- }
- void getApplicationModule( ::apache::airavata::model::appcatalog::appdeployment::ApplicationModule& /* _return */, const std::string& /* appModuleId */) {
- return;
- }
- bool updateApplicationModule(const std::string& /* appModuleId */, const ::apache::airavata::model::appcatalog::appdeployment::ApplicationModule& /* applicationModule */) {
- bool _return = false;
- return _return;
- }
- bool deleteApplicationModule(const std::string& /* appModuleId */) {
- bool _return = false;
- return _return;
- }
- void registerApplicationDeployment(std::string& /* _return */, const ::apache::airavata::model::appcatalog::appdeployment::ApplicationDeploymentDescription& /* applicationDeployment */) {
- return;
- }
- void getApplicationDeployment( ::apache::airavata::model::appcatalog::appdeployment::ApplicationDeploymentDescription& /* _return */, const std::string& /* appDeploymentId */) {
- return;
- }
- bool updateApplicationDeployment(const std::string& /* appDeploymentId */, const ::apache::airavata::model::appcatalog::appdeployment::ApplicationDeploymentDescription& /* applicationDeployment */) {
- bool _return = false;
- return _return;
- }
- bool deleteApplicationDeployment(const std::string& /* appDeploymentId */) {
- bool _return = false;
- return _return;
- }
- void getAppModuleDeployedResources(std::vector<std::string> & /* _return */, const std::string& /* appModuleId */) {
- return;
- }
- void registerApplicationInterface(std::string& /* _return */, const ::apache::airavata::model::appcatalog::appinterface::ApplicationInterfaceDescription& /* applicationInterface */) {
- return;
- }
- void getApplicationInterface( ::apache::airavata::model::appcatalog::appinterface::ApplicationInterfaceDescription& /* _return */, const std::string& /* appInterfaceId */) {
- return;
- }
- bool updateApplicationInterface(const std::string& /* appInterfaceId */, const ::apache::airavata::model::appcatalog::appinterface::ApplicationInterfaceDescription& /* applicationInterface */) {
- bool _return = false;
- return _return;
- }
- bool deleteApplicationInterface(const std::string& /* appInterfaceId */) {
- bool _return = false;
- return _return;
- }
- void getAllApplicationInterfaceNames(std::map<std::string, std::string> & /* _return */) {
- return;
- }
- void getAllApplicationInterfaces(std::vector< ::apache::airavata::model::appcatalog::appinterface::ApplicationInterfaceDescription> & /* _return */) {
- return;
- }
- void getApplicationInputs(std::vector< ::apache::airavata::model::appcatalog::appinterface::InputDataObjectType> & /* _return */, const std::string& /* appInterfaceId */) {
- return;
- }
- void getApplicationOutputs(std::vector< ::apache::airavata::model::appcatalog::appinterface::OutputDataObjectType> & /* _return */, const std::string& /* appInterfaceId */) {
- return;
- }
- void getAvailableAppInterfaceComputeResources(std::map<std::string, std::string> & /* _return */, const std::string& /* appInterfaceId */) {
- return;
- }
- void registerComputeResource(std::string& /* _return */, const ::apache::airavata::model::appcatalog::computeresource::ComputeResourceDescription& /* computeResourceDescription */) {
- return;
- }
- void getComputeResource( ::apache::airavata::model::appcatalog::computeresource::ComputeResourceDescription& /* _return */, const std::string& /* computeResourceId */) {
- return;
- }
- void getAllComputeResourceNames(std::map<std::string, std::string> & /* _return */) {
- return;
- }
- bool updateComputeResource(const std::string& /* computeResourceId */, const ::apache::airavata::model::appcatalog::computeresource::ComputeResourceDescription& /* computeResourceDescription */) {
- bool _return = false;
- return _return;
- }
- bool deleteComputeResource(const std::string& /* computeResourceId */) {
- bool _return = false;
- return _return;
- }
- bool addLocalSubmissionDetails(const std::string& /* computeResourceId */, const int32_t /* priorityOrder */, const ::apache::airavata::model::appcatalog::computeresource::LOCALSubmission& /* localSubmission */) {
- bool _return = false;
- return _return;
- }
- bool updateLocalSubmissionDetails(const std::string& /* jobSubmissionInterfaceId */, const ::apache::airavata::model::appcatalog::computeresource::LOCALSubmission& /* localSubmission */) {
- bool _return = false;
- return _return;
- }
- bool addSSHJobSubmissionDetails(const std::string& /* computeResourceId */, const int32_t /* priorityOrder */, const ::apache::airavata::model::appcatalog::computeresource::SSHJobSubmission& /* sshJobSubmission */) {
- bool _return = false;
- return _return;
- }
- bool updateSSHJobSubmissionDetails(const std::string& /* jobSubmissionInterfaceId */, const ::apache::airavata::model::appcatalog::computeresource::SSHJobSubmission& /* sshJobSubmission */) {
- bool _return = false;
- return _return;
- }
- bool addLocalDataMovementDetails(const std::string& /* computeResourceId */, const int32_t /* priorityOrder */, const ::apache::airavata::model::appcatalog::computeresource::LOCALDataMovement& /* localDataMovement */) {
- bool _return = false;
- return _return;
- }
- bool updateLocalDataMovementDetails(const std::string& /* jobSubmissionInterfaceId */, const ::apache::airavata::model::appcatalog::computeresource::LOCALDataMovement& /* localDataMovement */) {
- bool _return = false;
- return _return;
- }
- bool addSCPDataMovementDetails(const std::string& /* computeResourceId */, const int32_t /* priorityOrder */, const ::apache::airavata::model::appcatalog::computeresource::SCPDataMovement& /* scpDataMovement */) {
- bool _return = false;
- return _return;
- }
- bool updateSCPDataMovementDetails(const std::string& /* jobSubmissionInterfaceId */, const ::apache::airavata::model::appcatalog::computeresource::SCPDataMovement& /* scpDataMovement */) {
- bool _return = false;
- return _return;
- }
- bool addGridFTPDataMovementDetails(const std::string& /* computeResourceId */, const int32_t /* priorityOrder */, const ::apache::airavata::model::appcatalog::computeresource::GridFTPDataMovement& /* gridFTPDataMovement */) {
- bool _return = false;
- return _return;
- }
- bool updateGridFTPDataMovementDetails(const std::string& /* jobSubmissionInterfaceId */, const ::apache::airavata::model::appcatalog::computeresource::GridFTPDataMovement& /* gridFTPDataMovement */) {
- bool _return = false;
- return _return;
- }
- bool changeJobSubmissionPriority(const std::string& /* jobSubmissionInterfaceId */, const int32_t /* newPriorityOrder */) {
- bool _return = false;
- return _return;
- }
- bool changeDataMovementPriority(const std::string& /* dataMovementInterfaceId */, const int32_t /* newPriorityOrder */) {
- bool _return = false;
- return _return;
- }
- bool changeJobSubmissionPriorities(const std::map<std::string, int32_t> & /* jobSubmissionPriorityMap */) {
- bool _return = false;
- return _return;
- }
- bool changeDataMovementPriorities(const std::map<std::string, int32_t> & /* dataMovementPriorityMap */) {
- bool _return = false;
- return _return;
- }
- bool deleteJobSubmissionInterface(const std::string& /* jobSubmissionInterfaceId */) {
- bool _return = false;
- return _return;
- }
- bool deleteDataMovementInterface(const std::string& /* dataMovementInterfaceId */) {
- bool _return = false;
- return _return;
- }
- void registerGatewayResourceProfile(std::string& /* _return */, const ::apache::airavata::model::appcatalog::gatewayprofile::GatewayResourceProfile& /* gatewayResourceProfile */) {
- return;
- }
- void getGatewayResourceProfile( ::apache::airavata::model::appcatalog::gatewayprofile::GatewayResourceProfile& /* _return */, const std::string& /* gatewayID */) {
- return;
- }
- bool updateGatewayResourceProfile(const std::string& /* gatewayID */, const ::apache::airavata::model::appcatalog::gatewayprofile::GatewayResourceProfile& /* gatewayResourceProfile */) {
- bool _return = false;
- return _return;
- }
- bool deleteGatewayResourceProfile(const std::string& /* gatewayID */) {
- bool _return = false;
- return _return;
- }
- bool addGatewayComputeResourcePreference(const std::string& /* gatewayID */, const std::string& /* computeResourceId */, const ::apache::airavata::model::appcatalog::gatewayprofile::ComputeResourcePreference& /* computeResourcePreference */) {
- bool _return = false;
- return _return;
- }
- void getGatewayComputeResourcePreference( ::apache::airavata::model::appcatalog::gatewayprofile::ComputeResourcePreference& /* _return */, const std::string& /* gatewayID */, const std::string& /* computeResourceId */) {
- return;
- }
- void getAllGatewayComputeResourcePreferences(std::vector< ::apache::airavata::model::appcatalog::gatewayprofile::ComputeResourcePreference> & /* _return */, const std::string& /* gatewayID */) {
- return;
- }
- bool updateGatewayComputeResourcePreference(const std::string& /* gatewayID */, const std::string& /* computeResourceId */, const ::apache::airavata::model::appcatalog::gatewayprofile::ComputeResourcePreference& /* computeResourcePreference */) {
- bool _return = false;
- return _return;
- }
- bool deleteGatewayComputeResourcePreference(const std::string& /* gatewayID */, const std::string& /* computeResourceId */) {
- bool _return = false;
- return _return;
- }
-};
-
-
-class Airavata_getAPIVersion_args {
- public:
-
- Airavata_getAPIVersion_args() {
- }
-
- virtual ~Airavata_getAPIVersion_args() throw() {}
-
-
- bool operator == (const Airavata_getAPIVersion_args & /* rhs */) const
- {
- return true;
- }
- bool operator != (const Airavata_getAPIVersion_args &rhs) const {
- return !(*this == rhs);
- }
-
- bool operator < (const Airavata_getAPIVersion_args & ) const;
-
- uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
- uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-};
-
-
-class Airavata_getAPIVersion_pargs {
- public:
-
-
- virtual ~Airavata_getAPIVersion_pargs() throw() {}
-
-
- uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-};
-
-typedef struct _Airavata_getAPIVersion_result__isset {
- _Airavata_getAPIVersion_result__isset() : success(false), ire(false), ace(false), ase(false) {}
- bool success;
- bool ire;
- bool ace;
- bool ase;
-} _Airavata_getAPIVersion_result__isset;
-
-class Airavata_getAPIVersion_result {
- public:
-
- Airavata_getAPIVersion_result() : success() {
- }
-
- virtual ~Airavata_getAPIVersion_result() throw() {}
-
- std::string success;
- ::apache::airavata::api::error::InvalidRequestException ire;
- ::apache::airavata::api::error::AiravataClientException ace;
- ::apache::airavata::api::error::AiravataSystemException ase;
-
- _Airavata_getAPIVersion_result__isset __isset;
-
- void __set_success(const std::string& val) {
- success = val;
- }
-
- void __set_ire(const ::apache::airavata::api::error::InvalidRequestException& val) {
- ire = val;
- }
-
- void __set_ace(const ::apache::airavata::api::error::AiravataClientException& val) {
- ace = val;
- }
-
- void __set_ase(const ::apache::airavata::api::error::AiravataSystemException& val) {
- ase = val;
- }
-
- bool operator == (const Airavata_getAPIVersion_result & rhs) const
- {
- if (!(success == rhs.success))
- return false;
- if (!(ire == rhs.ire))
- return false;
- if (!(ace == rhs.ace))
- return false;
- if (!(ase == rhs.ase))
- return false;
- return true;
- }
- bool operator != (const Airavata_getAPIVersion_result &rhs) const {
- return !(*this == rhs);
- }
-
- bool operator < (const Airavata_getAPIVersion_result & ) const;
-
- uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
- uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-};
-
-typedef struct _Airavata_getAPIVersion_presult__isset {
- _Airavata_getAPIVersion_presult__isset() : success(false), ire(false), ace(false), ase(false) {}
- bool success;
- bool ire;
- bool ace;
- bool ase;
-} _Airavata_getAPIVersion_presult__isset;
-
-class Airavata_getAPIVersion_presult {
- public:
-
-
- virtual ~Airavata_getAPIVersion_presult() throw() {}
-
- std::string* success;
- ::apache::airavata::api::error::InvalidRequestException ire;
- ::apache::airavata::api::error::AiravataClientException ace;
- ::apache::airavata::api::error::AiravataSystemException ase;
-
- _Airavata_getAPIVersion_presult__isset __isset;
-
- uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
-
-};
-
-
-class Airavata_createProject_args {
- public:
-
- Airavata_createProject_args() {
- }
-
- virtual ~Airavata_createProject_args() throw() {}
-
- ::apache::airavata::model::workspace::Project project;
-
- void __set_project(const ::apache::airavata::model::workspace::Project& val) {
- project = val;
- }
-
- bool operator == (const Airavata_createProject_args & rhs) const
- {
- if (!(project == rhs.project))
- return false;
- return true;
- }
- bool operator != (const Airavata_createProject_args &rhs) const {
- return !(*this == rhs);
- }
-
- bool operator < (const Airavata_createProject_args & ) const;
-
- uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
- uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-};
-
-
-class Airavata_createProject_pargs {
- public:
-
-
- virtual ~Airavata_createProject_pargs() throw() {}
-
- const ::apache::airavata::model::workspace::Project* project;
-
- uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-};
-
-typedef struct _Airavata_createProject_result__isset {
- _Airavata_createProject_result__isset() : success(false), ire(false), ace(false), ase(false) {}
- bool success;
- bool ire;
- bool ace;
- bool ase;
-} _Airavata_createProject_result__isset;
-
-class Airavata_createProject_result {
- public:
-
- Airavata_createProject_result() : success() {
- }
-
- virtual ~Airavata_createProject_result() throw() {}
-
- std::string success;
- ::apache::airavata::api::error::InvalidRequestException ire;
- ::apache::airavata::api::error::AiravataClientException ace;
- ::apache::airavata::api::error::AiravataSystemException ase;
-
- _Airavata_createProject_result__isset __isset;
-
- void __set_success(const std::string& val) {
- success = val;
- }
-
- void __set_ire(const ::apache::airavata::api::error::InvalidRequestException& val) {
- ire = val;
- }
-
- void __set_ace(const ::apache::airavata::api::error::AiravataClientException& val) {
- ace = val;
- }
-
- void __set_ase(const ::apache::airavata::api::error::AiravataSystemException& val) {
- ase = val;
- }
-
- bool operator == (const Airavata_createProject_result & rhs) const
- {
- if (!(success == rhs.success))
- return false;
- if (!(ire == rhs.ire))
- return false;
- if (!(ace == rhs.ace))
- return false;
- if (!(ase == rhs.ase))
- return false;
- return true;
- }
- bool operator != (const Airavata_createProject_result &rhs) const {
- return !(*this == rhs);
- }
-
- bool operator < (const Airavata_createProject_result & ) const;
-
- uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
- uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-};
-
-typedef struct _Airavata_createProject_presult__isset {
- _Airavata_createProject_presult__isset() : success(false), ire(false), ace(false), ase(false) {}
- bool success;
- bool ire;
- bool ace;
- bool ase;
-} _Airavata_createProject_presult__isset;
-
-class Airavata_createProject_presult {
- public:
-
-
- virtual ~Airavata_createProject_presult() throw() {}
-
- std::string* success;
- ::apache::airavata::api::error::InvalidRequestException ire;
- ::apache::airavata::api::error::AiravataClientException ace;
- ::apache::airavata::api::error::AiravataSystemException ase;
-
- _Airavata_createProject_presult__isset __isset;
-
- uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
-
-};
-
-
-class Airavata_updateProject_args {
- public:
-
- Airavata_updateProject_args() : projectId() {
- }
-
- virtual ~Airavata_updateProject_args() throw() {}
-
- std::string projectId;
- ::apache::airavata::model::workspace::Project updatedProject;
-
- void __set_projectId(const std::string& val) {
- projectId = val;
- }
-
- void __set_updatedProject(const ::apache::airavata::model::workspace::Project& val) {
- updatedProject = val;
- }
-
- bool operator == (const Airavata_updateProject_args & rhs) const
- {
- if (!(projectId == rhs.projectId))
- return false;
- if (!(updatedProject == rhs.updatedProject))
- return false;
- return true;
- }
- bool operator != (const Airavata_updateProject_args &rhs) const {
- return !(*this == rhs);
- }
-
- bool operator < (const Airavata_updateProject_args & ) const;
-
- uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
- uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-};
-
-
-class Airavata_updateProject_pargs {
- public:
-
-
- virtual ~Airavata_updateProject_pargs() throw() {}
-
- const std::string* projectId;
- const ::apache::airavata::model::workspace::Project* updatedProject;
-
- uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-};
-
-typedef struct _Airavata_updateProject_result__isset {
- _Airavata_updateProject_result__isset() : ire(false), ace(false), ase(false), pnfe(false) {}
- bool ire;
- bool ace;
- bool ase;
- bool pnfe;
-} _Airavata_updateProject_result__isset;
-
-class Airavata_updateProject_result {
- public:
-
- Airavata_updateProject_result() {
- }
-
- virtual ~Airavata_updateProject_result() throw() {}
-
- ::apache::airavata::api::error::InvalidRequestException ire;
- ::apache::airavata::api::error::AiravataClientException ace;
- ::apache::airavata::api::error::AiravataSystemException ase;
- ::apache::airavata::api::error::ProjectNotFoundException pnfe;
-
- _Airavata_updateProject_result__isset __isset;
-
- void __set_ire(const ::apache::airavata::api::error::InvalidRequestException& val) {
- ire = val;
- }
-
- void __set_ace(const ::apache::airavata::api::error::AiravataClientException& val) {
- ace = val;
- }
-
- void __set_ase(const ::apache::airavata::api::error::AiravataSystemException& val) {
- ase = val;
- }
-
- void __set_pnfe(const ::apache::airavata::api::error::ProjectNotFoundException& val) {
- pnfe = val;
- }
-
- bool operator == (const Airavata_updateProject_result & rhs) const
- {
- if (!(ire == rhs.ire))
- return false;
- if (!(ace == rhs.ace))
- return false;
- if (!(ase == rhs.ase))
- return false;
- if (!(pnfe == rhs.pnfe))
- return false;
- return true;
- }
- bool operator != (const Airavata_updateProject_result &rhs) const {
- return !(*this == rhs);
- }
-
- bool operator < (const Airavata_updateProject_result & ) const;
-
- uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
- uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-};
-
-typedef struct _Airavata_updateProject_presult__isset {
- _Airavata_updateProject_presult__isset() : ire(false), ace(false), ase(false), pnfe(false) {}
- bool ire;
- bool ace;
- bool ase;
- bool pnfe;
-} _Airavata_updateProject_presult__isset;
-
-class Airavata_updateProject_presult {
- public:
-
-
- virtual ~Airavata_updateProject_presult() throw() {}
-
- ::apache::airavata::api::error::InvalidRequestException ire;
- ::apache::airavata::api::error::AiravataClientException ace;
- ::apache::airavata::api::error::AiravataSystemException ase;
- ::apache::airavata::api::error::ProjectNotFoundException pnfe;
-
- _Airavata_updateProject_presult__isset __isset;
-
- uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
-
-};
-
-
-class Airavata_getProject_args {
- public:
-
- Airavata_getProject_args() : projectId() {
- }
-
- virtual ~Airavata_getProject_args() throw() {}
-
- std::string projectId;
-
- void __set_projectId(const std::string& val) {
- projectId = val;
- }
-
- bool operator == (const Airavata_getProject_args & rhs) const
- {
- if (!(projectId == rhs.projectId))
- return false;
- return true;
- }
- bool operator != (const Airavata_getProject_args &rhs) const {
- return !(*this == rhs);
- }
-
- bool operator < (const Airavata_getProject_args & ) const;
-
- uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
- uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-};
-
-
-class Airavata_getProject_pargs {
- public:
-
-
- virtual ~Airavata_getProject_pargs() throw() {}
-
- const std::string* projectId;
-
- uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-};
-
-typedef struct _Airavata_getProject_result__isset {
- _Airavata_getProject_result__isset() : success(false), ire(false), ace(false), ase(false), pnfe(false) {}
- bool success;
- bool ire;
- bool ace;
- bool ase;
- bool pnfe;
-} _Airavata_getProject_result__isset;
-
-class Airavata_getProject_result {
- public:
-
- Airavata_getProject_result() {
- }
-
- virtual ~Airavata_getProject_result() throw() {}
-
- ::apache::airavata::model::workspace::Project success;
- ::apache::airavata::api::error::InvalidRequestException ire;
- ::apache::airavata::api::error::AiravataClientException ace;
- ::apache::airavata::api::error::AiravataSystemException ase;
- ::apache::airavata::api::error::ProjectNotFoundException pnfe;
-
- _Airavata_getProject_result__isset __isset;
-
- void __set_success(const ::apache::airavata::model::workspace::Project& val) {
- success = val;
- }
-
- void __set_ire(const ::apache::airavata::api::error::InvalidRequestException& val) {
- ire = val;
- }
-
- void __set_ace(const ::apache::airavata::api::error::AiravataClientException& val) {
- ace = val;
- }
-
- void __set_ase(const ::apache::airavata::api::error::AiravataSystemException& val) {
- ase = val;
- }
-
- void __set_pnfe(const ::apache::airavata::api::error::ProjectNotFoundException& val) {
- pnfe = val;
- }
-
- bool operator == (const Airavata_getProject_result & rhs) const
- {
- if (!(success == rhs.success))
- return false;
- if (!(ire == rhs.ire))
- return false;
- if (!(ace == rhs.ace))
- return false;
- if (!(ase == rhs.ase))
- return false;
- if (!(pnfe == rhs.pnfe))
- return false;
- return true;
- }
- bool operator != (const Airavata_getProject_result &rhs) const {
- return !(*this == rhs);
- }
-
- bool operator < (const Airavata_getProject_result & ) const;
-
- uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
- uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-};
-
-typedef struct _Airavata_getProject_presult__isset {
- _Airavata_getProject_presult__isset() : success(false), ire(false), ace(false), ase(false), pnfe(false) {}
- bool success;
- bool ire;
- bool ace;
- bool ase;
- bool pnfe;
-} _Airavata_getProject_presult__isset;
-
-class Airavata_getProject_presult {
- public:
-
-
- virtual ~Airavata_getProject_presult() throw() {}
-
- ::apache::airavata::model::workspace::Project* success;
- ::apache::airavata::api::error::InvalidRequestException ire;
- ::apache::airavata::api::error::AiravataClientException ace;
- ::apache::airavata::api::error::AiravataSystemException ase;
- ::apache::airavata::api::error::ProjectNotFoundException pnfe;
-
- _Airavata_getProject_presult__isset __isset;
-
- uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
-
-};
-
-
-class Airavata_getAllUserProjects_args {
- public:
-
- Airavata_getAllUserProjects_args() : userName() {
- }
-
- virtual ~Airavata_getAllUserProjects_args() throw() {}
-
- std::string userName;
-
- void __set_userName(const std::string& val) {
- userName = val;
- }
-
- bool operator == (const Airavata_getAllUserProjects_args & rhs) const
- {
- if (!(userName == rhs.userName))
- return false;
- return true;
- }
- bool operator != (const Airavata_getAllUserProjects_args &rhs) const {
- return !(*this == rhs);
- }
-
- bool operator < (const Airavata_getAllUserProjects_args & ) const;
-
- uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
- uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-};
-
-
-class Airavata_getAllUserProjects_pargs {
- public:
-
-
- virtual ~Airavata_getAllUserProjects_pargs() throw() {}
-
- const std::string* userName;
-
- uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-};
-
-typedef struct _Airavata_getAllUserProjects_result__isset {
- _Airavata_getAllUserProjects_result__isset() : success(false), ire(false), ace(false), ase(false) {}
- bool success;
- bool ire;
- bool ace;
- bool ase;
-} _Airavata_getAllUserProjects_result__isset;
-
-class Airavata_getAllUserProjects_result {
- public:
-
- Airavata_getAllUserProjects_result() {
- }
-
- virtual ~Airavata_getAllUserProjects_result() throw() {}
-
- std::vector< ::apache::airavata::model::workspace::Project> success;
- ::apache::airavata::api::error::InvalidRequestException ire;
- ::apache::airavata::api::error::AiravataClientException ace;
- ::apache::airavata::api::error::AiravataSystemException ase;
-
- _Airavata_getAllUserProjects_result__isset __isset;
-
- void __set_success(const std::vector< ::apache::airavata::model::workspace::Project> & val) {
- success = val;
- }
-
- void __set_ire(const ::apache::airavata::api::error::InvalidRequestException& val) {
- ire = val;
- }
-
- void __set_ace(const ::apache::airavata::api::error::AiravataClientException& val) {
- ace = val;
- }
-
- void __set_ase(const ::apache::airavata::api::error::AiravataSystemException& val) {
- ase = val;
- }
-
- bool operator == (const Airavata_getAllUserProjects_result & rhs) const
- {
- if (!(success == rhs.success))
- return false;
- if (!(ire == rhs.ire))
- return false;
- if (!(ace == rhs.ace))
- return false;
- if (!(ase == rhs.ase))
- return false;
- return true;
- }
- bool operator != (const Airavata_getAllUserProjects_result &rhs) const {
- return !(*this == rhs);
- }
-
- bool operator < (const Airavata_getAllUserProjects_result & ) const;
-
- uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
- uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-};
-
-typedef struct _Airavata_getAllUserProjects_presult__isset {
- _Airavata_getAllUserProjects_presult__isset() : success(false), ire(false), ace(false), ase(false) {}
- bool success;
- bool ire;
- bool ace;
- bool ase;
-} _Airavata_getAllUserProjects_presult__isset;
-
-class Airavata_getAllUserProjects_presult {
- public:
-
-
- virtual ~Airavata_getAllUserProjects_presult() throw() {}
-
- std::vector< ::apache::airavata::model::workspace::Project> * success;
- ::apache::airavata::api::error::InvalidRequestException ire;
- ::apache::airavata::api::error::AiravataClientException ace;
- ::apache::airavata::api::error::AiravataSystemException ase;
-
- _Airavata_getAllUserProjects_presult__isset __isset;
-
- uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
-
-};
-
-
-class Airavata_searchProjectsByProjectName_args {
- public:
-
- Airavata_searchProjectsByProjectName_args() : userName(), projectName() {
- }
-
- virtual ~Airavata_searchProjectsByProjectName_args() throw() {}
-
- std::string userName;
- std::string projectName;
-
- void __set_userName(const std::string& val) {
- userName = val;
- }
-
- void __set_projectName(const std::string& val) {
- projectName = val;
- }
-
- bool operator == (const Airavata_searchProjectsByProjectName_args & rhs) const
- {
- if (!(userName == rhs.userName))
- return false;
- if (!(projectName == rhs.projectName))
- return false;
- return true;
- }
- bool operator != (const Airavata_searchProjectsByProjectName_args &rhs) const {
- return !(*this == rhs);
- }
-
- bool operator < (const Airavata_searchProjectsByProjectName_args & ) const;
-
- uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
- uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-};
-
-
-class Airavata_searchProjectsByProjectName_pargs {
- public:
-
-
- virtual ~Airavata_searchProjectsByProjectName_pargs() throw() {}
-
- const std::string* userName;
- const std::string* projectName;
-
- uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-};
-
-typedef struct _Airavata_searchProjectsByProjectName_result__isset {
- _Airavata_searchProjectsByProjectName_result__isset() : success(false), ire(false), ace(false), ase(false) {}
- bool success;
- bool ire;
- bool ace;
- bool ase;
-} _Airavata_searchProjectsByProjectName_result__isset;
-
-class Airavata_searchProjectsByProjectName_result {
- public:
-
- Airavata_searchProjectsByProjectName_result() {
- }
-
- virtual ~Airavata_searchProjectsByProjectName_result() throw() {}
-
- std::vector< ::apache::airavata::model::workspace::Project> success;
- ::apache::airavata::api::error::InvalidRequestException ire;
- ::apache::airavata::api::error::AiravataClientException ace;
- ::apache::airavata::api::error::AiravataSystemException ase;
-
- _Airavata_searchProjectsByProjectName_result__isset __isset;
-
- void __set_success(const std::vector< ::apache::airavata::model::workspace::Project> & val) {
- success = val;
- }
-
- void __set_ire(const ::apache::airavata::api::error::InvalidRequestException& val) {
- ire = val;
- }
-
- void __set_ace(const ::apache::airavata::api::error::AiravataClientException& val) {
- ace = val;
- }
-
- void __set_ase(const ::apache::airavata::api::error::AiravataSystemException& val) {
- ase = val;
- }
-
- bool operator == (const Airavata_searchProjectsByProjectName_result & rhs) const
- {
- if (!(success == rhs.success))
- return false;
- if (!(ire == rhs.ire))
- return false;
- if (!(ace == rhs.ace))
- return false;
- if (!(ase == rhs.ase))
- return false;
- return true;
- }
- bool operator != (const Airavata_searchProjectsByProjectName_result &rhs) const {
- return !(*this == rhs);
- }
-
- bool operator < (const Airavata_searchProjectsByProjectName_result & ) const;
-
- uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
- uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-};
-
-typedef struct _Airavata_searchProjectsByProjectName_presult__isset {
- _Airavata_searchProjectsByProjectName_presult__isset() : success(false), ire(false), ace(false), ase(false) {}
- bool success;
- bool ire;
- bool ace;
- bool ase;
-} _Airavata_searchProjectsByProjectName_presult__isset;
-
-class Airavata_searchProjectsByProjectName_presult {
- public:
-
-
- virtual ~Airavata_searchProjectsByProjectName_presult() throw() {}
-
- std::vector< ::apache::airavata::model::workspace::Project> * success;
- ::apache::airavata::api::error::InvalidRequestException ire;
- ::apache::airavata::api::error::AiravataClientException ace;
- ::apache::airavata::api::error::AiravataSystemException ase;
-
- _Airavata_searchProjectsByProjectName_presult__isset __isset;
-
- uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
-
-};
-
-
-class Airavata_searchProjectsByProjectDesc_args {
- public:
-
- Airavata_searchProjectsByProjectDesc_args() : userName(), description() {
- }
-
- virtual ~Airavata_searchProjectsByProjectDesc_args() throw() {}
-
- std::string userName;
- std::string description;
-
- void __set_userName(const std::string& val) {
- userName = val;
- }
-
- void __set_description(const std::string& val) {
- description = val;
- }
-
- bool operator == (const Airavata_searchProjectsByProjectDesc_args & rhs) const
- {
- if (!(userName == rhs.userName))
- return false;
- if (!(description == rhs.description))
- return false;
- return true;
- }
- bool operator != (const Airavata_searchProjectsByProjectDesc_args &rhs) const {
- return !(*this == rhs);
- }
-
- bool operator < (const Airavata_searchProjectsByProjectDesc_args & ) const;
-
- uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
- uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-};
-
-
-class Airavata_searchProjectsByProjectDesc_pargs {
- public:
-
-
- virtual ~Airavata_searchProjectsByProjectDesc_pargs() throw() {}
-
- const std::string* userName;
- const std::string* description;
-
- uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-};
-
-typedef struct _Airavata_searchProjectsByProjectDesc_result__isset {
- _Airavata_searchProjectsByProjectDesc_result__isset() : success(false), ire(false), ace(false), ase(false) {}
- bool success;
- bool ire;
- bool ace;
- bool ase;
-} _Airavata_searchProjectsByProjectDesc_result__isset;
-
-class Airavata_searchProjectsByProjectDesc_result {
- public:
-
- Airavata_searchProjectsByProjectDesc_result() {
- }
-
- virtual ~Airavata_searchProjectsByProjectDesc_result() throw() {}
-
- std::vector< ::apache::airavata::model::workspace::Project> success;
- ::apache::airavata::api::error::InvalidRequestException ire;
- ::apache::airavata::api::error::AiravataClientException ace;
- ::apache::airavata::api::error::AiravataSystemException ase;
-
- _Airavata_searchProjectsByProjectDesc_result__isset __isset;
-
- void __set_success(const std::vector< ::apache::airavata::model::workspace::Project> & val) {
- success = val;
- }
-
- void __set_ire(const ::apache::airavata::api::error::InvalidRequestException& val) {
- ire = val;
- }
-
- void __set_ace(const ::apache::airavata::api::error::AiravataClientException& val) {
- ace = val;
- }
-
- void __set_ase(const ::apache::airavata::api::error::AiravataSystemException& val) {
- ase = val;
- }
-
- bool operator == (const Airavata_searchProjectsByProjectDesc_result & rhs) const
- {
- if (!(success == rhs.success))
- return false;
- if (!(ire == rhs.ire))
- return false;
- if (!(ace == rhs.ace))
- return false;
- if (!(ase == rhs.ase))
- return false;
- return true;
- }
- bool operator != (const Airavata_searchProjectsByProjectDesc_result &rhs) const {
- return !(*this == rhs);
- }
-
- bool operator < (const Airavata_searchProjectsByProjectDesc_result & ) const;
-
- uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
- uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-};
-
-typedef struct _Airavata_searchProjectsByProjectDesc_presult__isset {
- _Airavata_searchProjectsByProjectDesc_presult__isset() : success(false), ire(false), ace(false), ase(false) {}
- bool success;
- bool ire;
- bool ace;
- bool ase;
-} _Airavata_searchProjectsByProjectDesc_presult__isset;
-
-class Airavata_searchProjectsByProjectDesc_presult {
- public:
-
-
- virtual ~Airavata_searchProjectsByProjectDesc_presult() throw() {}
-
- std::vector< ::apache::airavata::model::workspace::Project> * success;
- ::apache::airavata::api::error::InvalidRequestException ire;
- ::apache::airavata::api::error::AiravataClientException ace;
- ::apache::airavata::api::error::AiravataSystemException ase;
-
- _Airavata_searchProjectsByProjectDesc_presult__isset __isset;
-
- uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
-
-};
-
-
-class Airavata_searchExperimentsByName_args {
- public:
-
- Airavata_searchExperimentsByName_args() : userName(), expName() {
- }
-
- virtual ~Airavata_searchExperimentsByName_args() throw() {}
-
- std::string userName;
- std::string expName;
-
- void __set_userName(const std::string& val) {
- userName = val;
- }
-
- void __set_expName(const std::string& val) {
- expName = val;
- }
-
- bool operator == (const Airavata_searchExperimentsByName_args & rhs) const
- {
- if (!(userName == rhs.userName))
- return false;
- if (!(expName == rhs.expName))
- return false;
- return true;
- }
- bool operator != (const Airavata_searchExperimentsByName_args &rhs) const {
- return !(*this == rhs);
- }
-
- bool operator < (const Airavata_searchExperimentsByName_args & ) const;
-
- uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
- uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-};
-
-
-class Airavata_searchExperimentsByName_pargs {
- public:
-
-
- virtual ~Airavata_searchExperimentsByName_pargs() throw() {}
-
- const std::string* userName;
- const std::string* expName;
-
- uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-};
-
-typedef struct _Airavata_searchExperimentsByName_result__isset {
- _Airavata_searchExperimentsByName_result__isset() : success(false), ire(false), ace(false), ase(false) {}
- bool success;
- bool ire;
- bool ace;
- bool ase;
-} _Airavata_searchExperimentsByName_result__isset;
-
-class Airavata_searchExperimentsByName_result {
- public:
-
- Airavata_searchExperimentsByName_result() {
- }
-
- virtual ~Airavata_searchExperimentsByName_result() throw() {}
-
- std::vector< ::apache::airavata::model::workspace::experiment::ExperimentSummary> success;
- ::apache::airavata::api::error::InvalidRequestException ire;
- ::apache::airavata::api::error::AiravataClientException ace;
- ::apache::airavata::api::error::AiravataSystemException ase;
-
- _Airavata_searchExperimentsByName_result__isset __isset;
-
- void __set_success(const std::vector< ::apache::airavata::model::workspace::experiment::ExperimentSummary> & val) {
- success = val;
- }
-
- void __set_ire(const ::apache::airavata::api::error::InvalidRequestException& val) {
- ire = val;
- }
-
- void __set_ace(const ::apache::airavata::api::error::AiravataClientException& val) {
- ace = val;
- }
-
- void __set_ase(const ::apache::airavata::api::error::AiravataSystemException& val) {
- ase = val;
- }
-
- bool operator == (const Airavata_searchExperimentsByName_result & rhs) const
- {
- if (!(success == rhs.success))
- return false;
- if (!(ire == rhs.ire))
- return false;
- if (!(ace == rhs.ace))
- return false;
- if (!(ase == rhs.ase))
- return false;
- return true;
- }
- bool operator != (const Airavata_searchExperimentsByName_result &rhs) const {
- return !(*this == rhs);
- }
-
- bool operator < (const Airavata_searchExperimentsByName_result & ) const;
-
- uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
- uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-};
-
-typedef struct _Airavata_searchExperimentsByName_presult__isset {
- _Airavata_searchExperimentsByName_presult__isset() : success(false), ire(false), ace(false), ase(false) {}
- bool success;
- bool ire;
- bool ace;
- bool ase;
-} _Airavata_searchExperimentsByName_presult__isset;
-
-class Airavata_searchExperimentsByName_presult {
- public:
-
-
- virtual ~Airavata_searchExperimentsByName_presult() throw() {}
-
- std::vector< ::apache::airavata::model::workspace::experiment::ExperimentSummary> * success;
- ::apache::airavata::api::error::InvalidRequestException ire;
- ::apache::airavata::api::error::AiravataClientException ace;
- ::apache::airavata::api::error::AiravataSystemException ase;
-
- _Airavata_searchExperimentsByName_presult__isset __isset;
-
- uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
-
-};
-
-
-class Airavata_searchExperimentsByDesc_args {
- public:
-
- Airavata_searchExperimentsByDesc_args() : userName(), description() {
- }
-
- virtual ~Airavata_searchExperimentsByDesc_args() throw() {}
-
- std::string userName;
- std::string description;
-
- void __set_userName(const std::string& val) {
- userName = val;
- }
-
- void __set_description(const std::string& val) {
- description = val;
- }
-
- bool operator == (const Airavata_searchExperimentsByDesc_args & rhs) const
- {
- if (!(userName == rhs.userName))
- return false;
- if (!(description == rhs.description))
- return false;
- return true;
- }
- bool operator != (const Airavata_searchExperimentsByDesc_args &rhs) const {
- return !(*this == rhs);
- }
-
- bool operator < (const Airavata_searchExperimentsByDesc_args & ) const;
-
- uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
- uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-};
-
-
-class Airavata_searchExperimentsByDesc_pargs {
- public:
-
-
- virtual ~Airavata_searchExperimentsByDesc_pargs() throw() {}
-
- const std::string* userName;
- const std::string* description;
-
- uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-};
-
-typedef struct _Airavata_searchExperimentsByDesc_result__isset {
- _Airavata_searchExperimentsByDesc_result__isset() : success(false), ire(false), ace(false), ase(false) {}
- bool success;
- bool ire;
- bool ace;
- bool ase;
-} _Airavata_searchExperimentsByDesc_result__isset;
-
-class Airavata_searchExperimentsByDesc_result {
- public:
-
- Airavata_searchExperimentsByDesc_result() {
- }
-
- virtual ~Airavata_searchExperimentsByDesc_result() throw() {}
-
- std::vector< ::apache::airavata::model::workspace::experiment::ExperimentSummary> success;
- ::apache::airavata::api::error::InvalidRequestException ire;
- ::apache::airavata::api::error::AiravataClientException ace;
- ::apache::airavata::api::error::AiravataSystemException ase;
-
- _Airavata_searchExperimentsByDesc_result__isset __isset;
-
- void __set_success(const std::vector< ::apache::airavata::model::workspace::experiment::ExperimentSummary> & val) {
- success = val;
- }
-
- void __set_ire(const ::apache::airavata::api::error::InvalidRequestException& val) {
- ire = val;
- }
-
- void __set_ace(const ::apache::airavata::api::error::AiravataClientException& val) {
- ace = val;
- }
-
- void __set_ase(const ::apache::airavata::api::error::AiravataSystemException& val) {
- ase = val;
- }
-
- bool operator == (const Airavata_searchExperimentsByDesc_result & rhs) const
- {
- if (!(success == rhs.success))
- return false;
- if (!(ire == rhs.ire))
- return false;
- if (!(ace == rhs.ace))
- return false;
- if (!(ase == rhs.ase))
- return false;
- return true;
- }
- bool operator != (const Airavata_searchExperimentsByDesc_result &rhs) const {
- return !(*this == rhs);
- }
-
- bool operator < (const Airavata_searchExperimentsByDesc_result & ) const;
-
- uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
- uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-};
-
-typedef struct _Airavata_searchExperimentsByDesc_presult__isset {
- _Airavata_searchExperimentsByDesc_presult__isset() : success(false), ire(false), ace(false), ase(false) {}
- bool success;
- bool ire;
- bool ace;
- bool ase;
-} _Airavata_searchExperimentsByDesc_presult__isset;
-
-class Airavata_searchExperimentsByDesc_presult {
- public:
-
-
- virtual ~Airavata_searchExperimentsByDesc_presult() throw() {}
-
- std::vector< ::apache::airavata::model::workspace::experiment::ExperimentSummary> * success;
- ::apache::airavata::api::error::InvalidRequestException ire;
- ::apache::airavata::api::error::AiravataClientException ace;
- ::apache::airavata::api::error::AiravataSystemException ase;
-
- _Airavata_searchExperimentsByDesc_presult__isset __isset;
-
- uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
-
-};
-
-
-class Airavata_searchExperimentsByApplication_args {
- public:
-
- Airavata_searchExperimentsByApplication_args() : userName(), applicationId() {
- }
-
- virtual ~Airavata_searchExperimentsByApplication_args() throw() {}
-
- std::string userName;
- std::string applicationId;
-
- void __set_userName(const std::string& val) {
- userName = val;
- }
-
- void __set_applicationId(const std::string& val) {
- applicationId = val;
- }
-
- bool operator == (const Airavata_searchExperimentsByApplication_args & rhs) const
- {
- if (!(userName == rhs.userName))
- return false;
- if (!(applicationId == rhs.applicationId))
- return false;
- return true;
- }
- bool operator != (const Airavata_searchExperimentsByApplication_args &rhs) const {
- return !(*this == rhs);
- }
-
- bool operator < (const Airavata_searchExperimentsByApplication_args & ) const;
-
- uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
- uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-};
-
-
-class Airavata_searchExperimentsByApplication_pargs {
- public:
-
-
- virtual ~Airavata_searchExperimentsByApplication_pargs() throw() {}
-
- const std::string* userName;
- const std::string* applicationId;
-
- uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-};
-
-typedef struct _Airavata_searchExperimentsByApplication_result__isset {
- _Airavata_searchExperimentsByApplication_result__isset() : success(false), ire(false), ace(false), ase(false) {}
- bool success;
- bool ire;
- bool ace;
- bool ase;
-} _Airavata_searchExperimentsByApplication_result__isset;
-
-class Airavata_searchExperimentsByApplication_result {
- public:
-
- Airavata_searchExperimentsByApplication_result() {
- }
-
- virtual ~Airavata_searchExperimentsByApplication_result() throw() {}
-
- std::vector< ::apache::airavata::model::workspace::experiment::ExperimentSummary> success;
- ::apache::airavata::api::error::InvalidRequestException ire;
- ::apache::airavata::api::error::AiravataClientException ace;
- ::apache::airavata::api::error::AiravataSystemException ase;
-
- _Airavata_searchExperimentsByApplication_result__isset __isset;
-
- void __set_success(const std::vector< ::apache::airavata::model::workspace::experiment::ExperimentSummary> & val) {
- success = val;
- }
-
- void __set_ire(const ::apache::airavata::api::error::InvalidRequestException& val) {
- ire = val;
- }
-
- void __set_ace(const ::apache::airavata::api::error::AiravataClientException& val) {
- ace = val;
- }
-
- void __set_ase(const ::apache::airavata::api::error::AiravataSystemException& val) {
- ase = val;
- }
-
- bool operator == (const Airavata_searchExperimentsByApplication_result & rhs) const
- {
- if (!(success == rhs.success))
- return false;
- if (!(ire == rhs.ire))
- return false;
- if (!(ace == rhs.ace))
- return false;
- if (!(ase == rhs.ase))
- return false;
- return true;
- }
- bool operator != (const Airavata_searchExperimentsByApplication_result &rhs) const {
- return !(*this == rhs);
- }
-
- bool operator < (const Airavata_searchExperimentsByApplication_result & ) const;
-
- uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
- uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-};
-
-typedef struct _Airavata_searchExperimentsByApplication_presult__isset {
- _Airavata_searchExperimentsByApplication_presult__isset() : success(false), ire(false), ace(false), ase(false) {}
- bool success;
- bool ire;
- bool ace;
- bool ase;
-} _Airavata_searchExperimentsByApplication_presult__isset;
-
-class Airavata_searchExperimentsByApplication_presult {
- public:
-
-
- virtual ~Airavata_searchExperimentsByApplication_presult() throw() {}
-
- std::vector< ::apache::airavata::model::workspace::experiment::ExperimentSummary> * success;
- ::apache::airavata::api::error::InvalidRequestException ire;
- ::apache::airavata::api::error::AiravataClientException ace;
- ::apache::airavata::api::error::AiravataSystemException ase;
-
- _Airavata_searchExperimentsByApplication_presult__isset __isset;
-
- uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
-
-};
-
-
-class Airavata_getAllExperimentsInProject_args {
- public:
-
- Airavata_getAllExperimentsInProject_args() : projectId() {
- }
-
- virtual ~Airavata_getAllExperimentsInProject_args() throw() {}
-
- std::string projectId;
-
- void __set_projectId(const std::string& val) {
- projectId = val;
- }
-
- bool operator == (const Airavata_getAllExperimentsInProject_args & rhs) const
- {
- if (!(projectId == rhs.projectId))
- return false;
- return true;
- }
- bool operator != (const Airavata_getAllExperimentsInProject_args &rhs) const {
- return !(*this == rhs);
- }
-
- bool operator < (const Airavata_getAllExperimentsInProject_args & ) const;
-
- uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
- uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-};
-
-
-class Airavata_getAllExperimentsInProject_pargs {
- public:
-
-
- virtual ~Airavata_getAllExperimentsInProject_pargs() throw() {}
-
- const std::string* projectId;
-
- uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-};
-
-typedef struct _Airavata_getAllExperimentsInProject_result__isset {
- _Airavata_getAllExperimentsInProject_result__isset() : success(false), ire(false), ace(false), ase(false), pnfe(false) {}
- bool success;
- bool ire;
- bool ace;
- bool ase;
- bool pnfe;
-} _Airavata_getAllExperimentsInProject_result__isset;
-
-class Airavata_getAllExperimentsInProject_result {
- public:
-
- Airavata_getAllExperimentsInProject_result() {
- }
-
- virtual ~Airavata_getAllExperimentsInProject_result() throw() {}
-
- std::vector< ::apache::airavata::model::workspace::experiment::Experiment> success;
- ::apache::airavata::api::error::InvalidRequestException ire;
- ::apache::airavata::api::error::AiravataClientException ace;
- ::apache::airavata::api::error::AiravataSystemException ase;
- ::apache::airavata::api::error::ProjectNotFoundException pnfe;
-
- _Airavata_getAllExperimentsInProject_result__isset __isset;
-
- void __set_success(const std::vector< ::apache::airavata::model::workspace::experiment::Experiment> & val) {
- success = val;
- }
-
- void __set_ire(const ::apache::airavata::api::error::InvalidRequestException& val) {
- ire = val;
- }
-
- void __set_ace(const ::apache::airavata::api::error::AiravataClientException& val) {
- ace = val;
- }
-
- void __set_ase(const ::apache::airavata::api::error::AiravataSystemException& val) {
- ase = val;
- }
-
- void __set_pnfe(const ::apache::airavata::api::error::ProjectNotFoundException& val) {
- pnfe = val;
- }
-
- bool operator == (const Airavata_getAllExperimentsInProject_result & rhs) const
- {
- if (!(success == rhs.success))
- return false;
- if (!(ire == rhs.ire))
- return false;
- if (!(ace == rhs.ace))
- return false;
- if (!(ase == rhs.ase))
- return false;
- if (!(pnfe == rhs.pnfe))
- return false;
- return true;
- }
- bool operator != (const Airavata_getAllExperimentsInProject_result &rhs) const {
- return !(*this == rhs);
- }
-
- bool operator < (const Airavata_getAllExperimentsInProject_result & ) const;
-
- uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
- uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-};
-
-typedef struct _Airavata_getAllExperimentsInProject_presult__isset {
- _Airavata_getAllExperimentsInProject_presult__isset() : success(false), ire(false), ace(false), ase(false), pnfe(false) {}
- bool success;
- bool ire;
- bool ace;
- bool ase;
- bool pnfe;
-} _Airavata_getAllExperimentsInProject_presult__isset;
-
-class Airavata_getAllExperimentsInProject_presult {
- public:
-
-
- virtual ~Airavata_getAllExperimentsInProject_presult() throw() {}
-
- std::vector< ::apache::airavata::model::workspace::experiment::Experiment> * success;
- ::apache::airavata::api::error::InvalidRequestException ire;
- ::apache::airavata::api::error::AiravataClientException ace;
- ::apache::airavata::api::error::AiravataSystemException ase;
- ::apache::airavata::api::error::ProjectNotFoundException pnfe;
-
- _Airavata_getAllExperimentsInProject_presult__isset __isset;
-
- uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
-
-};
-
-
-class Airavata_getAllUserExperiments_args {
- public:
-
- Airavata_getAllUserExperiments_args() : userName() {
- }
-
- virtual ~Airavata_getAllUserExperiments_args() throw() {}
-
- std::string userName;
-
- void __set_userName(const std::string& val) {
- userName = val;
- }
-
- bool operator == (const Airavata_getAllUserExperiments_args & rhs) const
- {
- if (!(userName == rhs.userName))
- return false;
- return true;
- }
- bool operator != (const Airavata_getAllUserExperiments_args &rhs) const {
- return !(*this == rhs);
- }
-
- bool operator < (const Airavata_getAllUserExperiments_args & ) const;
-
- uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
- uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-};
-
-
-class Airavata_getAllUserExperiments_pargs {
- public:
-
-
- virtual ~Airavata_getAllUserExperiments_pargs() throw() {}
-
- const std::string* userName;
-
- uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-};
-
-typedef struct _Airavata_getAllUserExperiments_result__isset {
- _Airavata_getAllUserExperiments_result__isset() : success(false), ire(false), ace(false), ase(false) {}
- bool success;
- bool ire;
- bool ace;
- bool ase;
-} _Airavata_getAllUserExperiments_result__isset;
-
-class Airavata_getAllUserExperiments_result {
- public:
-
- Airavata_getAllUserExperiments_result() {
- }
-
- virtual ~Airavata_getAllUserExperiments_result() throw() {}
-
- std::vector< ::apache::airavata::model::workspace::experiment::Experiment> success;
- ::apache::airavata::api::error::InvalidRequestException ire;
- ::apache::airavata::api::error::AiravataClientException ace;
- ::apache::airavata::api::error::AiravataSystemException ase;
-
- _Airavata_getAllUserExperiments_result__isset __isset;
-
- void __set_success(const std::vector< ::apache::airavata::model::workspace::experiment::Experiment> & val) {
- success = val;
- }
-
- void __set_ire(const ::apache::airavata::api::error::InvalidRequestException& val) {
- ire = val;
- }
-
- void __set_ace(const ::apache::airavata::api::error::AiravataClientException& val) {
- ace = val;
- }
-
- void __set_ase(const ::apache::airavata::api::error::AiravataSystemException& val) {
- ase = val;
- }
-
- bool operator == (const Airavata_getAllUserExperiments_result & rhs) const
- {
- if (!(success == rhs.success))
- return false;
- if (!(ire == rhs.ire))
- return false;
- if (!(ace == rhs.ace))
- return false;
- if (!(ase == rhs.ase))
- return false;
- return true;
- }
- bool operator != (const Airavata_getAllUserExperiments_result &rhs) const {
- return !(*this == rhs);
- }
-
- bool operator < (const Airavata_getAllUserExperiments_result & ) const;
-
- uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
- uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-};
-
-typedef struct _Airavata_getAllUserExperiments_presult__isset {
- _Airavata_getAllUserExperiments_presult__isset() : success(false), ire(false), ace(false), ase(false) {}
- bool success;
- bool ire;
- bool ace;
- bool ase;
-} _Airavata_getAllUserExperiments_presult__isset;
-
-class Airavata_getAllUserExperiments_presult {
- public:
-
-
- virtual ~Airavata_getAllUserExperiments_presult() throw() {}
-
- std::vector< ::apache::airavata::model::workspace::experiment::Experiment> * success;
- ::apache::airavata::api::error::InvalidRequestException ire;
- ::apache::airavata::api::error::AiravataClientException ace;
- ::apache::airavata::api::error::AiravataSystemException ase;
-
- _Airavata_getAllUserExperiments_presult__isset __isset;
-
- uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
-
-};
-
-
-class Airavata_createExperiment_args {
- public:
-
- Airavata_createExperiment_args() {
- }
-
- virtual ~Airavata_createExperiment_args() throw() {}
-
- ::apache::airavata::model::workspace::experiment::Experiment experiment;
-
- void __set_experiment(const ::apache::airavata::model::workspace::experiment::Experiment& val) {
- experiment = val;
- }
-
- bool operator == (const Airavata_createExperiment_args & rhs) const
- {
- if (!(experiment == rhs.experiment))
- return false;
- return true;
- }
- bool operator != (const Airavata_createExperiment_args &rhs) const {
- return !(*this == rhs);
- }
-
- bool operator < (const Airavata_createExperiment_args & ) const;
-
- uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
- uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-};
-
-
-class Airavata_createExperiment_pargs {
- public:
-
-
- virtual ~Airavata_createExperiment_pargs() throw() {}
-
- const ::apache::airavata::model::workspace::experiment::Experiment* experiment;
-
- uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-};
-
-typedef struct _Airavata_createExperiment_result__isset {
- _Airavata_createExperiment_result__isset() : success(false), ire(false), ace(false), ase(false) {}
- bool success;
- bool ire;
- bool ace;
- bool ase;
-} _Airavata_createExperiment_result__isset;
-
-class Airavata_createExperiment_result {
- public:
-
- Airavata_createExperiment_result() : success() {
- }
-
- virtual ~Airavata_createExperiment_result() throw() {}
-
- std::string success;
- ::apache::airavata::api::error::InvalidRequestException ire;
- ::apache::airavata::api::error::AiravataClientException ace;
- ::apache::airavata::api::error::AiravataSystemException ase;
-
- _Airavata_createExperiment_result__isset __isset;
-
- void __set_success(const std::string& val) {
- success = val;
- }
-
- void __set_ire(const ::apache::airavata::api::error::InvalidRequestException& val) {
- ire = val;
- }
-
- void __set_ace(const ::apache::airavata::api::error::AiravataClientException& val) {
- ace = val;
- }
-
- void __set_ase(const ::apache::airavata::api::error::AiravataSystemException& val) {
- ase = val;
- }
-
- bool operator == (const Airavata_createExperiment_result & rhs) const
- {
- if (!(success == rhs.success))
- return false;
- if (!(ire == rhs.ire))
- return false;
- if (!(ace == rhs.ace))
- return false;
- if (!(ase == rhs.ase))
- return false;
- return true;
- }
- bool operator != (const Airavata_createExperiment_result &rhs) const {
- return !(*this == rhs);
- }
-
- bool operator < (const Airavata_createExperiment_result & ) const;
-
- uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
- uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-};
-
-typedef struct _Airavata_createExperiment_presult__isset {
- _Airavata_createExperiment_presult__isset() : success(false), ire(false), ace(false), ase(false) {}
- bool success;
- bool ire;
- bool ace;
- bool ase;
-} _Airavata_createExperiment_presult__isset;
-
-class Airavata_createExperiment_presult {
- public:
-
-
- virtual ~Airavata_createExperiment_presult() throw() {}
-
- std::string* success;
- ::apache::airavata::api::error::InvalidRequestException ire;
- ::apache::airavata::api::error::AiravataClientException ace;
- ::apache::airavata::api::error::AiravataSystemException ase;
-
- _Airavata_createExperiment_presult__isset __isset;
-
- uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
-
-};
-
-
-class Airavata_getExperiment_args {
- public:
-
- Airavata_getExperiment_args() : airavataExperimentId() {
- }
-
- virtual ~Airavata_getExperiment_args() throw() {}
-
- std::string airavataExperimentId;
-
- void __set_airavataExperimentId(const std::string& val) {
- airavataExperimentId = val;
- }
-
- bool operator == (const Airavata_getExperiment_args & rhs) const
- {
- if (!(airavataExperimentId == rhs.airavataExperimentId))
- return false;
- return true;
- }
- bool operator != (const Airavata_getExperiment_args &rhs) const {
- return !(*this == rhs);
- }
-
- bool operator < (const Airavata_getExperiment_args & ) const;
-
- uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
- uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-};
-
-
-class Airavata_getExperiment_pargs {
- public:
-
-
- virtual ~Airavata_getExperiment_pargs() throw() {}
-
- const std::string* airavataExperimentId;
-
- uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-};
-
-typedef struct _Airavata_getExperiment_result__isset {
- _Airavata_getExperiment_result__isset() : success(false), ire(false), enf(false), ace(false), ase(false) {}
- bool success;
- bool ire;
- bool enf;
- bool ace;
- bool ase;
-} _Airavata_getExperiment_result__isset;
-
-class Airavata_getExperiment_result {
- public:
-
- Airavata_getExperiment_result() {
- }
-
- virtual ~Airavata_getExperiment_result() throw() {}
-
- ::apache::airavata::model::workspace::experiment::Experiment success;
- ::apache::airavata::api::error::InvalidRequestException ire;
- ::apache::airavata::api::error::ExperimentNotFoundException enf;
- ::apache::airavata::api::error::AiravataClientException ace;
- ::apache::airavata::api::error::AiravataSystemException ase;
-
- _Airavata_getExperiment_result__isset __isset;
-
- void __set_success(const ::apache::airavata::model::workspace::experiment::Experiment& val) {
- success = val;
- }
-
- void __set_ire(const ::apache::airavata::api::error::InvalidRequestException& val) {
- ire = val;
- }
-
- void __set_enf(const ::apache::airavata::api::error::ExperimentNotFoundException& val) {
- enf = val;
- }
-
- void __set_ace(const ::apache::airavata::api::error::AiravataClientException& val) {
- ace = val;
- }
-
- void __set_ase(const ::apache::airavata::api::error::AiravataSystemException& val) {
- ase = val;
- }
-
- bool operator == (const Airavata_getExperiment_result & rhs) const
- {
- if (!(success == rhs.success))
- return false;
- if (!(ire == rhs.ire))
- return false;
- if (!(enf == rhs.enf))
- return false;
- if (!(ace == rhs.ace))
- return false;
- if (!(ase == rhs.ase))
- return false;
- return true;
- }
- bool operator != (const Airavata_getExperiment_result &rhs) const {
- return !(*this == rhs);
- }
-
- bool operator < (const Airavata_getExperiment_result & ) const;
-
- uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
- uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-};
-
-typedef struct _Airavata_getExperiment_presult__isset {
- _Airavata_getExperiment_presult__isset() : success(false), ire(false), enf(false), ace(false), ase(false) {}
- bool success;
- bool ire;
- bool enf;
- bool ace;
- bool ase;
-} _Airavata_getExperiment_presult__isset;
-
-class Airavata_getExperiment_presult {
- public:
-
-
- virtual ~Airavata_getExperiment_presult() throw() {}
-
- ::apache::airavata::model::workspace::experiment::Experiment* success;
- ::apache::airavata::api::error::InvalidRequestException ire;
- ::apache::airavata::api::error::ExperimentNotFoundException enf;
- ::apache::airavata::api::error::AiravataClientException ace;
- ::apache::airavata::api::error::AiravataSystemException ase;
-
- _Airavata_getExperiment_presult__isset __isset;
-
- uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
-
-};
-
-
-class Airavata_updateExperiment_args {
- public:
-
- Airavata_updateExperiment_args() : airavataExperimentId() {
- }
-
- virtual ~Airavata_updateExperiment_args() throw() {}
-
- std::string airavataExperimentId;
- ::apache::airavata::model::workspace::experiment::Experiment experiment;
-
- void __set_airavataExperimentId(const std::string& val) {
- airavataExperimentId = val;
- }
-
- void __set_experiment(const ::apache::airavata::model::workspace::experiment::Experiment& val) {
- experiment = val;
- }
-
- bool operator == (const Airavata_updateExperiment_args & rhs) const
- {
- if (!(airavataExperimentId == rhs.airavataExperimentId))
- return false;
- if (!(experiment == rhs.experiment))
- return false;
- return true;
- }
- bool operator != (const Airavata_updateExperiment_args &rhs) const {
- return !(*this == rhs);
- }
-
- bool operator < (const Airavata_updateExperiment_args & ) const;
-
- uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
- uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-};
-
-
-class Airavata_updateExperiment_pargs {
- public:
-
-
- virtual ~Airavata_updateExperiment_pargs() throw() {}
-
- const std::string* airavataExperimentId;
- const ::apache::airavata::model::workspace::experiment::Experiment* experiment;
-
- uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-};
-
-typedef struct _Airavata_updateExperiment_result__isset {
- _Airavata_updateExperiment_result__isset() : ire(false), enf(false), ace(false), ase(false) {}
- bool ire;
- bool enf;
- bool ace;
- bool ase;
-} _Airavata_updateExperiment_result__isset;
-
-class Airavata_updateExperiment_result {
- public:
-
- Airavata_updateExperiment_result() {
- }
-
- virtual ~Airavata_updateExperiment_result() throw() {}
-
- ::apache::airavata::api::error::InvalidRequestException ire;
- ::apache::airavata::api::error::ExperimentNotFoundException enf;
- ::apache::airavata::api::error::AiravataClientException ace;
- ::apache::airavata::api::error::AiravataSystemException ase;
-
- _Airavata_updateExperiment_result__isset __isset;
-
- void __set_ire(const ::apache::airavata::api::error::InvalidRequestException& val) {
- ire = val;
- }
-
- void __set_enf(const ::apache::airavata::api::error::ExperimentNotFoundException& val) {
- enf = val;
- }
-
- void __set_ace(const ::apache::airavata::api::error::AiravataClientException& val) {
- ace = val;
- }
-
- void __set_ase(const ::apache::airavata::api::error::AiravataSystemException& val) {
- ase = val;
- }
-
- bool operator == (const Airavata_updateExperiment_result & rhs) const
- {
- if (!(ire == rhs.ire))
- return false;
- if (!(enf == rhs.enf))
- return false;
- if (!(ace == rhs.ace))
- return false;
- if (!(ase == rhs.ase))
- return false;
- return true;
- }
- bool operator != (const Airavata_updateExperiment_result &rhs) const {
- return !(*this == rhs);
- }
-
- bool operator < (const Airavata_updateExperiment_result & ) const;
-
- uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
- uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-};
-
-typedef struct _Airavata_updateExperiment_presult__isset {
- _Airavata_updateExperiment_presult__isset() : ire(false), enf(false), ace(false), ase(false) {}
- bool ire;
- bool enf;
- bool ace;
- bool ase;
-} _Airavata_updateExperiment_presult__isset;
-
-class Airavata_updateExperiment_presult {
- public:
-
-
- virtual ~Airavata_updateExperiment_presult() throw() {}
-
- ::apache::airavata::api::error::InvalidRequestException ire;
- ::apache::airavata::api::error::ExperimentNotFoundException enf;
- ::apache::airavata::api::error::AiravataClientException ace;
- ::apache::airavata::api::error::AiravataSystemException ase;
-
- _Airavata_updateExperiment_presult__isset __isset;
-
- uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
-
-};
-
-
-class Airavata_updateExperimentConfiguration_args {
- public:
-
- Airavata_updateExperimentConfiguration_args() : airavataExperimentId() {
- }
-
- virtual ~Airavata_updateExperimentConfiguration_args() throw() {}
-
- std::string airavataExperimentId;
- ::apache::airavata::model::workspace::experiment::UserConfigurationData userConfiguration;
-
- void __set_airavataExperimentId(const std::string& val) {
- airavataExperimentId = val;
- }
-
- void __set_userConfiguration(const ::apache::airavata::model::workspace::experiment::UserConfigurationData& val) {
- userConfiguration = val;
- }
-
- bool operator == (const Airavata_updateExperimentConfiguration_args & rhs) const
- {
- if (!(airavataExperimentId == rhs.airavataExperimentId))
- return false;
- if (!(userConfiguration == rhs.userConfiguration))
- return false;
- return true;
- }
- bool operator != (const Airavata_updateExperimentConfiguration_args &rhs) const {
- return !(*this == rhs);
- }
-
- bool operator < (const Airavata_updateExperimentConfiguration_args & ) const;
-
- uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
- uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-};
-
-
-class Airavata_updateExperimentConfiguration_pargs {
- public:
-
-
- virtual ~Airavata_updateExperimentConfiguration_pargs() throw() {}
-
- const std::string* airavataExperimentId;
- const ::apache::airavata::model::workspace::experiment::UserConfigurationData* userConfiguration;
-
- uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-};
-
-
-class Airavata_updateExperimentConfiguration_result {
- public:
-
- Airavata_updateExperimentConfiguration_result() {
- }
-
- virtual ~Airavata_updateExperimentConfiguration_result() throw() {}
-
-
- bool operator == (const Airavata_updateExperimentConfiguration_result & /* rhs */) const
- {
- return true;
- }
- bool operator != (const Airavata_updateExperimentConfiguration_result &rhs) const {
- return !(*this == rhs);
- }
-
- bool operator < (const Airavata_updateExperimentConfiguration_result & ) const;
-
- uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
- uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-};
-
-
-class Airavata_updateExperimentConfiguration_presult {
- public:
-
-
- virtual ~Airavata_updateExperimentConfiguration_presult() throw() {}
-
-
- uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
-
-};
-
-
-class Airavata_updateResourceScheduleing_args {
- public:
-
- Airavata_updateResourceScheduleing_args() : airavataExperimentId() {
- }
-
- virtual ~Airavata_updateResourceScheduleing_args() throw() {}
-
- std::string airavataExperimentId;
- ::apache::airavata::model::workspace::experiment::ComputationalResourceScheduling resourceScheduling;
-
- void __set_airavataExperimentId(const std::string& val) {
- airavataExperimentId = val;
- }
-
- void __set_resourceScheduling(const ::apache::airavata::model::workspace::experiment::ComputationalResourceScheduling& val) {
- resourceScheduling = val;
- }
-
- bool operator == (const Airavata_updateResourceScheduleing_args & rhs) const
- {
- if (!(airavataExperimentId == rhs.airavataExperimentId))
- return false;
- if (!(resourceScheduling == rhs.resourceScheduling))
- return false;
- return true;
- }
- bool operator != (const Airavata_updateResourceScheduleing_args &rhs) const {
- return !(*this == rhs);
- }
-
- bool operator < (const Airavata_updateResourceScheduleing_args & ) const;
-
- uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
- uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-};
-
-
-class Airavata_updateResourceScheduleing_pargs {
- public:
-
-
- virtual ~Airavata_updateResourceScheduleing_pargs() throw() {}
-
- const std::string* airavataExperimentId;
- const ::apache::airavata::model::workspace::experiment::ComputationalResourceScheduling* resourceScheduling;
-
- uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-};
-
-
-class Airavata_updateResourceScheduleing_result {
- public:
-
- Airavata_updateResourceScheduleing_result() {
- }
-
-
<TRUNCATED>
[30/47] removed unnecessary files, updated ini file
Posted by sm...@apache.org.
http://git-wip-us.apache.org/repos/asf/airavata/blob/00b8aaf0/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/experimentModel_types.cpp
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/experimentModel_types.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/experimentModel_types.cpp
deleted file mode 100644
index 08010d0..0000000
--- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/experimentModel_types.cpp
+++ /dev/null
@@ -1,3339 +0,0 @@
-/**
- * Autogenerated by Thrift Compiler (0.9.1)
- *
- * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
- * @generated
- */
-#include "experimentModel_types.h"
-
-#include <algorithm>
-
-namespace apache { namespace airavata { namespace model { namespace workspace { namespace experiment {
-
-int _kExperimentStateValues[] = {
- ExperimentState::CREATED,
- ExperimentState::VALIDATED,
- ExperimentState::SCHEDULED,
- ExperimentState::LAUNCHED,
- ExperimentState::EXECUTING,
- ExperimentState::CANCELING,
- ExperimentState::CANCELED,
- ExperimentState::SUSPENDED,
- ExperimentState::COMPLETED,
- ExperimentState::FAILED,
- ExperimentState::UNKNOWN
-};
-const char* _kExperimentStateNames[] = {
- "CREATED",
- "VALIDATED",
- "SCHEDULED",
- "LAUNCHED",
- "EXECUTING",
- "CANCELING",
- "CANCELED",
- "SUSPENDED",
- "COMPLETED",
- "FAILED",
- "UNKNOWN"
-};
-const std::map<int, const char*> _ExperimentState_VALUES_TO_NAMES(::apache::thrift::TEnumIterator(11, _kExperimentStateValues, _kExperimentStateNames), ::apache::thrift::TEnumIterator(-1, NULL, NULL));
-
-int _kWorkflowNodeStateValues[] = {
- WorkflowNodeState::INVOKED,
- WorkflowNodeState::EXECUTING,
- WorkflowNodeState::CANCELING,
- WorkflowNodeState::CANCELED,
- WorkflowNodeState::SUSPENDED,
- WorkflowNodeState::COMPLETED,
- WorkflowNodeState::FAILED,
- WorkflowNodeState::UNKNOWN
-};
-const char* _kWorkflowNodeStateNames[] = {
- "INVOKED",
- "EXECUTING",
- "CANCELING",
- "CANCELED",
- "SUSPENDED",
- "COMPLETED",
- "FAILED",
- "UNKNOWN"
-};
-const std::map<int, const char*> _WorkflowNodeState_VALUES_TO_NAMES(::apache::thrift::TEnumIterator(8, _kWorkflowNodeStateValues, _kWorkflowNodeStateNames), ::apache::thrift::TEnumIterator(-1, NULL, NULL));
-
-int _kTaskStateValues[] = {
- TaskState::WAITING,
- TaskState::STARTED,
- TaskState::PRE_PROCESSING,
- TaskState::CONFIGURING_WORKSPACE,
- TaskState::INPUT_DATA_STAGING,
- TaskState::OUTPUT_DATA_STAGING,
- TaskState::POST_PROCESSING,
- TaskState::EXECUTING,
- TaskState::CANCELING,
- TaskState::CANCELED,
- TaskState::COMPLETED,
- TaskState::FAILED,
- TaskState::UNKNOWN
-};
-const char* _kTaskStateNames[] = {
- "WAITING",
- "STARTED",
- "PRE_PROCESSING",
- "CONFIGURING_WORKSPACE",
- "INPUT_DATA_STAGING",
- "OUTPUT_DATA_STAGING",
- "POST_PROCESSING",
- "EXECUTING",
- "CANCELING",
- "CANCELED",
- "COMPLETED",
- "FAILED",
- "UNKNOWN"
-};
-const std::map<int, const char*> _TaskState_VALUES_TO_NAMES(::apache::thrift::TEnumIterator(13, _kTaskStateValues, _kTaskStateNames), ::apache::thrift::TEnumIterator(-1, NULL, NULL));
-
-int _kJobStateValues[] = {
- JobState::SUBMITTED,
- JobState::UN_SUBMITTED,
- JobState::SETUP,
- JobState::QUEUED,
- JobState::ACTIVE,
- JobState::COMPLETE,
- JobState::CANCELING,
- JobState::CANCELED,
- JobState::FAILED,
- JobState::HELD,
- JobState::SUSPENDED,
- JobState::UNKNOWN
-};
-const char* _kJobStateNames[] = {
- "SUBMITTED",
- "UN_SUBMITTED",
- "SETUP",
- "QUEUED",
- "ACTIVE",
- "COMPLETE",
- "CANCELING",
- "CANCELED",
- "FAILED",
- "HELD",
- "SUSPENDED",
- "UNKNOWN"
-};
-const std::map<int, const char*> _JobState_VALUES_TO_NAMES(::apache::thrift::TEnumIterator(12, _kJobStateValues, _kJobStateNames), ::apache::thrift::TEnumIterator(-1, NULL, NULL));
-
-int _kTransferStateValues[] = {
- TransferState::DIRECTORY_SETUP,
- TransferState::UPLOAD,
- TransferState::DOWNLOAD,
- TransferState::ACTIVE,
- TransferState::COMPLETE,
- TransferState::STDOUT_DOWNLOAD,
- TransferState::STDERROR_DOWNLOAD,
- TransferState::CANCELING,
- TransferState::CANCELED,
- TransferState::FAILED,
- TransferState::HELD,
- TransferState::SUSPENDED,
- TransferState::UNKNOWN
-};
-const char* _kTransferStateNames[] = {
- "DIRECTORY_SETUP",
- "UPLOAD",
- "DOWNLOAD",
- "ACTIVE",
- "COMPLETE",
- "STDOUT_DOWNLOAD",
- "STDERROR_DOWNLOAD",
- "CANCELING",
- "CANCELED",
- "FAILED",
- "HELD",
- "SUSPENDED",
- "UNKNOWN"
-};
-const std::map<int, const char*> _TransferState_VALUES_TO_NAMES(::apache::thrift::TEnumIterator(13, _kTransferStateValues, _kTransferStateNames), ::apache::thrift::TEnumIterator(-1, NULL, NULL));
-
-int _kActionableGroupValues[] = {
- ActionableGroup::RESOURCE_ADMINS,
- ActionableGroup::AIRAVATA_ADMINS,
- ActionableGroup::GATEWAYS_ADMINS,
- ActionableGroup::USER,
- ActionableGroup::CANNOT_BE_DETERMINED
-};
-const char* _kActionableGroupNames[] = {
- "RESOURCE_ADMINS",
- "AIRAVATA_ADMINS",
- "GATEWAYS_ADMINS",
- "USER",
- "CANNOT_BE_DETERMINED"
-};
-const std::map<int, const char*> _ActionableGroup_VALUES_TO_NAMES(::apache::thrift::TEnumIterator(5, _kActionableGroupValues, _kActionableGroupNames), ::apache::thrift::TEnumIterator(-1, NULL, NULL));
-
-int _kErrorCategoryValues[] = {
- ErrorCategory::FILE_SYSTEM_FAILURE,
- ErrorCategory::APPLICATION_FAILURE,
- ErrorCategory::RESOURCE_NODE_FAILURE,
- ErrorCategory::DISK_FULL,
- ErrorCategory::INSUFFICIENT_ALLOCATION,
- ErrorCategory::SYSTEM_MAINTENANCE,
- ErrorCategory::AIRAVATA_INTERNAL_ERROR,
- ErrorCategory::CANNOT_BE_DETERMINED
-};
-const char* _kErrorCategoryNames[] = {
- "FILE_SYSTEM_FAILURE",
- "APPLICATION_FAILURE",
- "RESOURCE_NODE_FAILURE",
- "DISK_FULL",
- "INSUFFICIENT_ALLOCATION",
- "SYSTEM_MAINTENANCE",
- "AIRAVATA_INTERNAL_ERROR",
- "CANNOT_BE_DETERMINED"
-};
-const std::map<int, const char*> _ErrorCategory_VALUES_TO_NAMES(::apache::thrift::TEnumIterator(8, _kErrorCategoryValues, _kErrorCategoryNames), ::apache::thrift::TEnumIterator(-1, NULL, NULL));
-
-int _kCorrectiveActionValues[] = {
- CorrectiveAction::RETRY_SUBMISSION,
- CorrectiveAction::CONTACT_SUPPORT,
- CorrectiveAction::CANNOT_BE_DETERMINED
-};
-const char* _kCorrectiveActionNames[] = {
- "RETRY_SUBMISSION",
- "CONTACT_SUPPORT",
- "CANNOT_BE_DETERMINED"
-};
-const std::map<int, const char*> _CorrectiveAction_VALUES_TO_NAMES(::apache::thrift::TEnumIterator(3, _kCorrectiveActionValues, _kCorrectiveActionNames), ::apache::thrift::TEnumIterator(-1, NULL, NULL));
-
-int _kDataTypeValues[] = {
- DataType::STRING,
- DataType::INTEGER,
- DataType::URI,
- DataType::STDOUT,
- DataType::STDERR
-};
-const char* _kDataTypeNames[] = {
- "STRING",
- "INTEGER",
- "URI",
- "STDOUT",
- "STDERR"
-};
-const std::map<int, const char*> _DataType_VALUES_TO_NAMES(::apache::thrift::TEnumIterator(5, _kDataTypeValues, _kDataTypeNames), ::apache::thrift::TEnumIterator(-1, NULL, NULL));
-
-int _kExecutionUnitValues[] = {
- ExecutionUnit::INPUT,
- ExecutionUnit::APPLICATION,
- ExecutionUnit::OUTPUT
-};
-const char* _kExecutionUnitNames[] = {
- "INPUT",
- "APPLICATION",
- "OUTPUT"
-};
-const std::map<int, const char*> _ExecutionUnit_VALUES_TO_NAMES(::apache::thrift::TEnumIterator(3, _kExecutionUnitValues, _kExecutionUnitNames), ::apache::thrift::TEnumIterator(-1, NULL, NULL));
-
-const char* ExperimentStatus::ascii_fingerprint = "1662AAADFABAB647546029B578B3B69B";
-const uint8_t ExperimentStatus::binary_fingerprint[16] = {0x16,0x62,0xAA,0xAD,0xFA,0xBA,0xB6,0x47,0x54,0x60,0x29,0xB5,0x78,0xB3,0xB6,0x9B};
-
-uint32_t ExperimentStatus::read(::apache::thrift::protocol::TProtocol* iprot) {
-
- uint32_t xfer = 0;
- std::string fname;
- ::apache::thrift::protocol::TType ftype;
- int16_t fid;
-
- xfer += iprot->readStructBegin(fname);
-
- using ::apache::thrift::protocol::TProtocolException;
-
- bool isset_experimentState = false;
-
- while (true)
- {
- xfer += iprot->readFieldBegin(fname, ftype, fid);
- if (ftype == ::apache::thrift::protocol::T_STOP) {
- break;
- }
- switch (fid)
- {
- case 1:
- if (ftype == ::apache::thrift::protocol::T_I32) {
- int32_t ecast0;
- xfer += iprot->readI32(ecast0);
- this->experimentState = (ExperimentState::type)ecast0;
- isset_experimentState = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 2:
- if (ftype == ::apache::thrift::protocol::T_I64) {
- xfer += iprot->readI64(this->timeOfStateChange);
- this->__isset.timeOfStateChange = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- default:
- xfer += iprot->skip(ftype);
- break;
- }
- xfer += iprot->readFieldEnd();
- }
-
- xfer += iprot->readStructEnd();
-
- if (!isset_experimentState)
- throw TProtocolException(TProtocolException::INVALID_DATA);
- return xfer;
-}
-
-uint32_t ExperimentStatus::write(::apache::thrift::protocol::TProtocol* oprot) const {
- uint32_t xfer = 0;
- xfer += oprot->writeStructBegin("ExperimentStatus");
-
- xfer += oprot->writeFieldBegin("experimentState", ::apache::thrift::protocol::T_I32, 1);
- xfer += oprot->writeI32((int32_t)this->experimentState);
- xfer += oprot->writeFieldEnd();
-
- if (this->__isset.timeOfStateChange) {
- xfer += oprot->writeFieldBegin("timeOfStateChange", ::apache::thrift::protocol::T_I64, 2);
- xfer += oprot->writeI64(this->timeOfStateChange);
- xfer += oprot->writeFieldEnd();
- }
- xfer += oprot->writeFieldStop();
- xfer += oprot->writeStructEnd();
- return xfer;
-}
-
-void swap(ExperimentStatus &a, ExperimentStatus &b) {
- using ::std::swap;
- swap(a.experimentState, b.experimentState);
- swap(a.timeOfStateChange, b.timeOfStateChange);
- swap(a.__isset, b.__isset);
-}
-
-const char* WorkflowNodeStatus::ascii_fingerprint = "1662AAADFABAB647546029B578B3B69B";
-const uint8_t WorkflowNodeStatus::binary_fingerprint[16] = {0x16,0x62,0xAA,0xAD,0xFA,0xBA,0xB6,0x47,0x54,0x60,0x29,0xB5,0x78,0xB3,0xB6,0x9B};
-
-uint32_t WorkflowNodeStatus::read(::apache::thrift::protocol::TProtocol* iprot) {
-
- uint32_t xfer = 0;
- std::string fname;
- ::apache::thrift::protocol::TType ftype;
- int16_t fid;
-
- xfer += iprot->readStructBegin(fname);
-
- using ::apache::thrift::protocol::TProtocolException;
-
- bool isset_workflowNodeState = false;
-
- while (true)
- {
- xfer += iprot->readFieldBegin(fname, ftype, fid);
- if (ftype == ::apache::thrift::protocol::T_STOP) {
- break;
- }
- switch (fid)
- {
- case 1:
- if (ftype == ::apache::thrift::protocol::T_I32) {
- int32_t ecast1;
- xfer += iprot->readI32(ecast1);
- this->workflowNodeState = (WorkflowNodeState::type)ecast1;
- isset_workflowNodeState = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 2:
- if (ftype == ::apache::thrift::protocol::T_I64) {
- xfer += iprot->readI64(this->timeOfStateChange);
- this->__isset.timeOfStateChange = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- default:
- xfer += iprot->skip(ftype);
- break;
- }
- xfer += iprot->readFieldEnd();
- }
-
- xfer += iprot->readStructEnd();
-
- if (!isset_workflowNodeState)
- throw TProtocolException(TProtocolException::INVALID_DATA);
- return xfer;
-}
-
-uint32_t WorkflowNodeStatus::write(::apache::thrift::protocol::TProtocol* oprot) const {
- uint32_t xfer = 0;
- xfer += oprot->writeStructBegin("WorkflowNodeStatus");
-
- xfer += oprot->writeFieldBegin("workflowNodeState", ::apache::thrift::protocol::T_I32, 1);
- xfer += oprot->writeI32((int32_t)this->workflowNodeState);
- xfer += oprot->writeFieldEnd();
-
- if (this->__isset.timeOfStateChange) {
- xfer += oprot->writeFieldBegin("timeOfStateChange", ::apache::thrift::protocol::T_I64, 2);
- xfer += oprot->writeI64(this->timeOfStateChange);
- xfer += oprot->writeFieldEnd();
- }
- xfer += oprot->writeFieldStop();
- xfer += oprot->writeStructEnd();
- return xfer;
-}
-
-void swap(WorkflowNodeStatus &a, WorkflowNodeStatus &b) {
- using ::std::swap;
- swap(a.workflowNodeState, b.workflowNodeState);
- swap(a.timeOfStateChange, b.timeOfStateChange);
- swap(a.__isset, b.__isset);
-}
-
-const char* TaskStatus::ascii_fingerprint = "1662AAADFABAB647546029B578B3B69B";
-const uint8_t TaskStatus::binary_fingerprint[16] = {0x16,0x62,0xAA,0xAD,0xFA,0xBA,0xB6,0x47,0x54,0x60,0x29,0xB5,0x78,0xB3,0xB6,0x9B};
-
-uint32_t TaskStatus::read(::apache::thrift::protocol::TProtocol* iprot) {
-
- uint32_t xfer = 0;
- std::string fname;
- ::apache::thrift::protocol::TType ftype;
- int16_t fid;
-
- xfer += iprot->readStructBegin(fname);
-
- using ::apache::thrift::protocol::TProtocolException;
-
- bool isset_executionState = false;
-
- while (true)
- {
- xfer += iprot->readFieldBegin(fname, ftype, fid);
- if (ftype == ::apache::thrift::protocol::T_STOP) {
- break;
- }
- switch (fid)
- {
- case 1:
- if (ftype == ::apache::thrift::protocol::T_I32) {
- int32_t ecast2;
- xfer += iprot->readI32(ecast2);
- this->executionState = (TaskState::type)ecast2;
- isset_executionState = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 2:
- if (ftype == ::apache::thrift::protocol::T_I64) {
- xfer += iprot->readI64(this->timeOfStateChange);
- this->__isset.timeOfStateChange = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- default:
- xfer += iprot->skip(ftype);
- break;
- }
- xfer += iprot->readFieldEnd();
- }
-
- xfer += iprot->readStructEnd();
-
- if (!isset_executionState)
- throw TProtocolException(TProtocolException::INVALID_DATA);
- return xfer;
-}
-
-uint32_t TaskStatus::write(::apache::thrift::protocol::TProtocol* oprot) const {
- uint32_t xfer = 0;
- xfer += oprot->writeStructBegin("TaskStatus");
-
- xfer += oprot->writeFieldBegin("executionState", ::apache::thrift::protocol::T_I32, 1);
- xfer += oprot->writeI32((int32_t)this->executionState);
- xfer += oprot->writeFieldEnd();
-
- if (this->__isset.timeOfStateChange) {
- xfer += oprot->writeFieldBegin("timeOfStateChange", ::apache::thrift::protocol::T_I64, 2);
- xfer += oprot->writeI64(this->timeOfStateChange);
- xfer += oprot->writeFieldEnd();
- }
- xfer += oprot->writeFieldStop();
- xfer += oprot->writeStructEnd();
- return xfer;
-}
-
-void swap(TaskStatus &a, TaskStatus &b) {
- using ::std::swap;
- swap(a.executionState, b.executionState);
- swap(a.timeOfStateChange, b.timeOfStateChange);
- swap(a.__isset, b.__isset);
-}
-
-const char* JobStatus::ascii_fingerprint = "1662AAADFABAB647546029B578B3B69B";
-const uint8_t JobStatus::binary_fingerprint[16] = {0x16,0x62,0xAA,0xAD,0xFA,0xBA,0xB6,0x47,0x54,0x60,0x29,0xB5,0x78,0xB3,0xB6,0x9B};
-
-uint32_t JobStatus::read(::apache::thrift::protocol::TProtocol* iprot) {
-
- uint32_t xfer = 0;
- std::string fname;
- ::apache::thrift::protocol::TType ftype;
- int16_t fid;
-
- xfer += iprot->readStructBegin(fname);
-
- using ::apache::thrift::protocol::TProtocolException;
-
- bool isset_jobState = false;
-
- while (true)
- {
- xfer += iprot->readFieldBegin(fname, ftype, fid);
- if (ftype == ::apache::thrift::protocol::T_STOP) {
- break;
- }
- switch (fid)
- {
- case 1:
- if (ftype == ::apache::thrift::protocol::T_I32) {
- int32_t ecast3;
- xfer += iprot->readI32(ecast3);
- this->jobState = (JobState::type)ecast3;
- isset_jobState = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 2:
- if (ftype == ::apache::thrift::protocol::T_I64) {
- xfer += iprot->readI64(this->timeOfStateChange);
- this->__isset.timeOfStateChange = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- default:
- xfer += iprot->skip(ftype);
- break;
- }
- xfer += iprot->readFieldEnd();
- }
-
- xfer += iprot->readStructEnd();
-
- if (!isset_jobState)
- throw TProtocolException(TProtocolException::INVALID_DATA);
- return xfer;
-}
-
-uint32_t JobStatus::write(::apache::thrift::protocol::TProtocol* oprot) const {
- uint32_t xfer = 0;
- xfer += oprot->writeStructBegin("JobStatus");
-
- xfer += oprot->writeFieldBegin("jobState", ::apache::thrift::protocol::T_I32, 1);
- xfer += oprot->writeI32((int32_t)this->jobState);
- xfer += oprot->writeFieldEnd();
-
- if (this->__isset.timeOfStateChange) {
- xfer += oprot->writeFieldBegin("timeOfStateChange", ::apache::thrift::protocol::T_I64, 2);
- xfer += oprot->writeI64(this->timeOfStateChange);
- xfer += oprot->writeFieldEnd();
- }
- xfer += oprot->writeFieldStop();
- xfer += oprot->writeStructEnd();
- return xfer;
-}
-
-void swap(JobStatus &a, JobStatus &b) {
- using ::std::swap;
- swap(a.jobState, b.jobState);
- swap(a.timeOfStateChange, b.timeOfStateChange);
- swap(a.__isset, b.__isset);
-}
-
-const char* TransferStatus::ascii_fingerprint = "1662AAADFABAB647546029B578B3B69B";
-const uint8_t TransferStatus::binary_fingerprint[16] = {0x16,0x62,0xAA,0xAD,0xFA,0xBA,0xB6,0x47,0x54,0x60,0x29,0xB5,0x78,0xB3,0xB6,0x9B};
-
-uint32_t TransferStatus::read(::apache::thrift::protocol::TProtocol* iprot) {
-
- uint32_t xfer = 0;
- std::string fname;
- ::apache::thrift::protocol::TType ftype;
- int16_t fid;
-
- xfer += iprot->readStructBegin(fname);
-
- using ::apache::thrift::protocol::TProtocolException;
-
- bool isset_transferState = false;
-
- while (true)
- {
- xfer += iprot->readFieldBegin(fname, ftype, fid);
- if (ftype == ::apache::thrift::protocol::T_STOP) {
- break;
- }
- switch (fid)
- {
- case 1:
- if (ftype == ::apache::thrift::protocol::T_I32) {
- int32_t ecast4;
- xfer += iprot->readI32(ecast4);
- this->transferState = (TransferState::type)ecast4;
- isset_transferState = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 2:
- if (ftype == ::apache::thrift::protocol::T_I64) {
- xfer += iprot->readI64(this->timeOfStateChange);
- this->__isset.timeOfStateChange = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- default:
- xfer += iprot->skip(ftype);
- break;
- }
- xfer += iprot->readFieldEnd();
- }
-
- xfer += iprot->readStructEnd();
-
- if (!isset_transferState)
- throw TProtocolException(TProtocolException::INVALID_DATA);
- return xfer;
-}
-
-uint32_t TransferStatus::write(::apache::thrift::protocol::TProtocol* oprot) const {
- uint32_t xfer = 0;
- xfer += oprot->writeStructBegin("TransferStatus");
-
- xfer += oprot->writeFieldBegin("transferState", ::apache::thrift::protocol::T_I32, 1);
- xfer += oprot->writeI32((int32_t)this->transferState);
- xfer += oprot->writeFieldEnd();
-
- if (this->__isset.timeOfStateChange) {
- xfer += oprot->writeFieldBegin("timeOfStateChange", ::apache::thrift::protocol::T_I64, 2);
- xfer += oprot->writeI64(this->timeOfStateChange);
- xfer += oprot->writeFieldEnd();
- }
- xfer += oprot->writeFieldStop();
- xfer += oprot->writeStructEnd();
- return xfer;
-}
-
-void swap(TransferStatus &a, TransferStatus &b) {
- using ::std::swap;
- swap(a.transferState, b.transferState);
- swap(a.timeOfStateChange, b.timeOfStateChange);
- swap(a.__isset, b.__isset);
-}
-
-const char* ApplicationStatus::ascii_fingerprint = "E17E126D15049701494262EE3246F603";
-const uint8_t ApplicationStatus::binary_fingerprint[16] = {0xE1,0x7E,0x12,0x6D,0x15,0x04,0x97,0x01,0x49,0x42,0x62,0xEE,0x32,0x46,0xF6,0x03};
-
-uint32_t ApplicationStatus::read(::apache::thrift::protocol::TProtocol* iprot) {
-
- uint32_t xfer = 0;
- std::string fname;
- ::apache::thrift::protocol::TType ftype;
- int16_t fid;
-
- xfer += iprot->readStructBegin(fname);
-
- using ::apache::thrift::protocol::TProtocolException;
-
- bool isset_applicationState = false;
-
- while (true)
- {
- xfer += iprot->readFieldBegin(fname, ftype, fid);
- if (ftype == ::apache::thrift::protocol::T_STOP) {
- break;
- }
- switch (fid)
- {
- case 1:
- if (ftype == ::apache::thrift::protocol::T_STRING) {
- xfer += iprot->readString(this->applicationState);
- isset_applicationState = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 2:
- if (ftype == ::apache::thrift::protocol::T_I64) {
- xfer += iprot->readI64(this->timeOfStateChange);
- this->__isset.timeOfStateChange = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- default:
- xfer += iprot->skip(ftype);
- break;
- }
- xfer += iprot->readFieldEnd();
- }
-
- xfer += iprot->readStructEnd();
-
- if (!isset_applicationState)
- throw TProtocolException(TProtocolException::INVALID_DATA);
- return xfer;
-}
-
-uint32_t ApplicationStatus::write(::apache::thrift::protocol::TProtocol* oprot) const {
- uint32_t xfer = 0;
- xfer += oprot->writeStructBegin("ApplicationStatus");
-
- xfer += oprot->writeFieldBegin("applicationState", ::apache::thrift::protocol::T_STRING, 1);
- xfer += oprot->writeString(this->applicationState);
- xfer += oprot->writeFieldEnd();
-
- if (this->__isset.timeOfStateChange) {
- xfer += oprot->writeFieldBegin("timeOfStateChange", ::apache::thrift::protocol::T_I64, 2);
- xfer += oprot->writeI64(this->timeOfStateChange);
- xfer += oprot->writeFieldEnd();
- }
- xfer += oprot->writeFieldStop();
- xfer += oprot->writeStructEnd();
- return xfer;
-}
-
-void swap(ApplicationStatus &a, ApplicationStatus &b) {
- using ::std::swap;
- swap(a.applicationState, b.applicationState);
- swap(a.timeOfStateChange, b.timeOfStateChange);
- swap(a.__isset, b.__isset);
-}
-
-const char* DataObjectType::ascii_fingerprint = "544FBB8031AE070AEEB7AC0E4A90E43C";
-const uint8_t DataObjectType::binary_fingerprint[16] = {0x54,0x4F,0xBB,0x80,0x31,0xAE,0x07,0x0A,0xEE,0xB7,0xAC,0x0E,0x4A,0x90,0xE4,0x3C};
-
-uint32_t DataObjectType::read(::apache::thrift::protocol::TProtocol* iprot) {
-
- uint32_t xfer = 0;
- std::string fname;
- ::apache::thrift::protocol::TType ftype;
- int16_t fid;
-
- xfer += iprot->readStructBegin(fname);
-
- using ::apache::thrift::protocol::TProtocolException;
-
- bool isset_key = false;
-
- while (true)
- {
- xfer += iprot->readFieldBegin(fname, ftype, fid);
- if (ftype == ::apache::thrift::protocol::T_STOP) {
- break;
- }
- switch (fid)
- {
- case 1:
- if (ftype == ::apache::thrift::protocol::T_STRING) {
- xfer += iprot->readString(this->key);
- isset_key = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 2:
- if (ftype == ::apache::thrift::protocol::T_STRING) {
- xfer += iprot->readString(this->value);
- this->__isset.value = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 3:
- if (ftype == ::apache::thrift::protocol::T_I32) {
- int32_t ecast5;
- xfer += iprot->readI32(ecast5);
- this->type = (DataType::type)ecast5;
- this->__isset.type = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 4:
- if (ftype == ::apache::thrift::protocol::T_STRING) {
- xfer += iprot->readString(this->metaData);
- this->__isset.metaData = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- default:
- xfer += iprot->skip(ftype);
- break;
- }
- xfer += iprot->readFieldEnd();
- }
-
- xfer += iprot->readStructEnd();
-
- if (!isset_key)
- throw TProtocolException(TProtocolException::INVALID_DATA);
- return xfer;
-}
-
-uint32_t DataObjectType::write(::apache::thrift::protocol::TProtocol* oprot) const {
- uint32_t xfer = 0;
- xfer += oprot->writeStructBegin("DataObjectType");
-
- xfer += oprot->writeFieldBegin("key", ::apache::thrift::protocol::T_STRING, 1);
- xfer += oprot->writeString(this->key);
- xfer += oprot->writeFieldEnd();
-
- if (this->__isset.value) {
- xfer += oprot->writeFieldBegin("value", ::apache::thrift::protocol::T_STRING, 2);
- xfer += oprot->writeString(this->value);
- xfer += oprot->writeFieldEnd();
- }
- if (this->__isset.type) {
- xfer += oprot->writeFieldBegin("type", ::apache::thrift::protocol::T_I32, 3);
- xfer += oprot->writeI32((int32_t)this->type);
- xfer += oprot->writeFieldEnd();
- }
- if (this->__isset.metaData) {
- xfer += oprot->writeFieldBegin("metaData", ::apache::thrift::protocol::T_STRING, 4);
- xfer += oprot->writeString(this->metaData);
- xfer += oprot->writeFieldEnd();
- }
- xfer += oprot->writeFieldStop();
- xfer += oprot->writeStructEnd();
- return xfer;
-}
-
-void swap(DataObjectType &a, DataObjectType &b) {
- using ::std::swap;
- swap(a.key, b.key);
- swap(a.value, b.value);
- swap(a.type, b.type);
- swap(a.metaData, b.metaData);
- swap(a.__isset, b.__isset);
-}
-
-const char* ComputationalResourceScheduling::ascii_fingerprint = "32AC7AC41AD3753A7224A32FD6EB4B5D";
-const uint8_t ComputationalResourceScheduling::binary_fingerprint[16] = {0x32,0xAC,0x7A,0xC4,0x1A,0xD3,0x75,0x3A,0x72,0x24,0xA3,0x2F,0xD6,0xEB,0x4B,0x5D};
-
-uint32_t ComputationalResourceScheduling::read(::apache::thrift::protocol::TProtocol* iprot) {
-
- uint32_t xfer = 0;
- std::string fname;
- ::apache::thrift::protocol::TType ftype;
- int16_t fid;
-
- xfer += iprot->readStructBegin(fname);
-
- using ::apache::thrift::protocol::TProtocolException;
-
-
- while (true)
- {
- xfer += iprot->readFieldBegin(fname, ftype, fid);
- if (ftype == ::apache::thrift::protocol::T_STOP) {
- break;
- }
- switch (fid)
- {
- case 1:
- if (ftype == ::apache::thrift::protocol::T_STRING) {
- xfer += iprot->readString(this->resourceHostId);
- this->__isset.resourceHostId = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 2:
- if (ftype == ::apache::thrift::protocol::T_I32) {
- xfer += iprot->readI32(this->totalCPUCount);
- this->__isset.totalCPUCount = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 3:
- if (ftype == ::apache::thrift::protocol::T_I32) {
- xfer += iprot->readI32(this->nodeCount);
- this->__isset.nodeCount = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 4:
- if (ftype == ::apache::thrift::protocol::T_I32) {
- xfer += iprot->readI32(this->numberOfThreads);
- this->__isset.numberOfThreads = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 5:
- if (ftype == ::apache::thrift::protocol::T_STRING) {
- xfer += iprot->readString(this->queueName);
- this->__isset.queueName = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 6:
- if (ftype == ::apache::thrift::protocol::T_I32) {
- xfer += iprot->readI32(this->wallTimeLimit);
- this->__isset.wallTimeLimit = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 7:
- if (ftype == ::apache::thrift::protocol::T_I32) {
- xfer += iprot->readI32(this->jobStartTime);
- this->__isset.jobStartTime = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 8:
- if (ftype == ::apache::thrift::protocol::T_I32) {
- xfer += iprot->readI32(this->totalPhysicalMemory);
- this->__isset.totalPhysicalMemory = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 9:
- if (ftype == ::apache::thrift::protocol::T_STRING) {
- xfer += iprot->readString(this->computationalProjectAccount);
- this->__isset.computationalProjectAccount = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- default:
- xfer += iprot->skip(ftype);
- break;
- }
- xfer += iprot->readFieldEnd();
- }
-
- xfer += iprot->readStructEnd();
-
- return xfer;
-}
-
-uint32_t ComputationalResourceScheduling::write(::apache::thrift::protocol::TProtocol* oprot) const {
- uint32_t xfer = 0;
- xfer += oprot->writeStructBegin("ComputationalResourceScheduling");
-
- if (this->__isset.resourceHostId) {
- xfer += oprot->writeFieldBegin("resourceHostId", ::apache::thrift::protocol::T_STRING, 1);
- xfer += oprot->writeString(this->resourceHostId);
- xfer += oprot->writeFieldEnd();
- }
- if (this->__isset.totalCPUCount) {
- xfer += oprot->writeFieldBegin("totalCPUCount", ::apache::thrift::protocol::T_I32, 2);
- xfer += oprot->writeI32(this->totalCPUCount);
- xfer += oprot->writeFieldEnd();
- }
- if (this->__isset.nodeCount) {
- xfer += oprot->writeFieldBegin("nodeCount", ::apache::thrift::protocol::T_I32, 3);
- xfer += oprot->writeI32(this->nodeCount);
- xfer += oprot->writeFieldEnd();
- }
- if (this->__isset.numberOfThreads) {
- xfer += oprot->writeFieldBegin("numberOfThreads", ::apache::thrift::protocol::T_I32, 4);
- xfer += oprot->writeI32(this->numberOfThreads);
- xfer += oprot->writeFieldEnd();
- }
- if (this->__isset.queueName) {
- xfer += oprot->writeFieldBegin("queueName", ::apache::thrift::protocol::T_STRING, 5);
- xfer += oprot->writeString(this->queueName);
- xfer += oprot->writeFieldEnd();
- }
- if (this->__isset.wallTimeLimit) {
- xfer += oprot->writeFieldBegin("wallTimeLimit", ::apache::thrift::protocol::T_I32, 6);
- xfer += oprot->writeI32(this->wallTimeLimit);
- xfer += oprot->writeFieldEnd();
- }
- if (this->__isset.jobStartTime) {
- xfer += oprot->writeFieldBegin("jobStartTime", ::apache::thrift::protocol::T_I32, 7);
- xfer += oprot->writeI32(this->jobStartTime);
- xfer += oprot->writeFieldEnd();
- }
- if (this->__isset.totalPhysicalMemory) {
- xfer += oprot->writeFieldBegin("totalPhysicalMemory", ::apache::thrift::protocol::T_I32, 8);
- xfer += oprot->writeI32(this->totalPhysicalMemory);
- xfer += oprot->writeFieldEnd();
- }
- if (this->__isset.computationalProjectAccount) {
- xfer += oprot->writeFieldBegin("computationalProjectAccount", ::apache::thrift::protocol::T_STRING, 9);
- xfer += oprot->writeString(this->computationalProjectAccount);
- xfer += oprot->writeFieldEnd();
- }
- xfer += oprot->writeFieldStop();
- xfer += oprot->writeStructEnd();
- return xfer;
-}
-
-void swap(ComputationalResourceScheduling &a, ComputationalResourceScheduling &b) {
- using ::std::swap;
- swap(a.resourceHostId, b.resourceHostId);
- swap(a.totalCPUCount, b.totalCPUCount);
- swap(a.nodeCount, b.nodeCount);
- swap(a.numberOfThreads, b.numberOfThreads);
- swap(a.queueName, b.queueName);
- swap(a.wallTimeLimit, b.wallTimeLimit);
- swap(a.jobStartTime, b.jobStartTime);
- swap(a.totalPhysicalMemory, b.totalPhysicalMemory);
- swap(a.computationalProjectAccount, b.computationalProjectAccount);
- swap(a.__isset, b.__isset);
-}
-
-const char* AdvancedInputDataHandling::ascii_fingerprint = "6139039875942E8B25C483838DD664B7";
-const uint8_t AdvancedInputDataHandling::binary_fingerprint[16] = {0x61,0x39,0x03,0x98,0x75,0x94,0x2E,0x8B,0x25,0xC4,0x83,0x83,0x8D,0xD6,0x64,0xB7};
-
-uint32_t AdvancedInputDataHandling::read(::apache::thrift::protocol::TProtocol* iprot) {
-
- uint32_t xfer = 0;
- std::string fname;
- ::apache::thrift::protocol::TType ftype;
- int16_t fid;
-
- xfer += iprot->readStructBegin(fname);
-
- using ::apache::thrift::protocol::TProtocolException;
-
-
- while (true)
- {
- xfer += iprot->readFieldBegin(fname, ftype, fid);
- if (ftype == ::apache::thrift::protocol::T_STOP) {
- break;
- }
- switch (fid)
- {
- case 1:
- if (ftype == ::apache::thrift::protocol::T_BOOL) {
- xfer += iprot->readBool(this->stageInputFilesToWorkingDir);
- this->__isset.stageInputFilesToWorkingDir = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 2:
- if (ftype == ::apache::thrift::protocol::T_STRING) {
- xfer += iprot->readString(this->parentWorkingDirectory);
- this->__isset.parentWorkingDirectory = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 3:
- if (ftype == ::apache::thrift::protocol::T_STRING) {
- xfer += iprot->readString(this->uniqueWorkingDirectory);
- this->__isset.uniqueWorkingDirectory = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 4:
- if (ftype == ::apache::thrift::protocol::T_BOOL) {
- xfer += iprot->readBool(this->cleanUpWorkingDirAfterJob);
- this->__isset.cleanUpWorkingDirAfterJob = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- default:
- xfer += iprot->skip(ftype);
- break;
- }
- xfer += iprot->readFieldEnd();
- }
-
- xfer += iprot->readStructEnd();
-
- return xfer;
-}
-
-uint32_t AdvancedInputDataHandling::write(::apache::thrift::protocol::TProtocol* oprot) const {
- uint32_t xfer = 0;
- xfer += oprot->writeStructBegin("AdvancedInputDataHandling");
-
- if (this->__isset.stageInputFilesToWorkingDir) {
- xfer += oprot->writeFieldBegin("stageInputFilesToWorkingDir", ::apache::thrift::protocol::T_BOOL, 1);
- xfer += oprot->writeBool(this->stageInputFilesToWorkingDir);
- xfer += oprot->writeFieldEnd();
- }
- if (this->__isset.parentWorkingDirectory) {
- xfer += oprot->writeFieldBegin("parentWorkingDirectory", ::apache::thrift::protocol::T_STRING, 2);
- xfer += oprot->writeString(this->parentWorkingDirectory);
- xfer += oprot->writeFieldEnd();
- }
- if (this->__isset.uniqueWorkingDirectory) {
- xfer += oprot->writeFieldBegin("uniqueWorkingDirectory", ::apache::thrift::protocol::T_STRING, 3);
- xfer += oprot->writeString(this->uniqueWorkingDirectory);
- xfer += oprot->writeFieldEnd();
- }
- if (this->__isset.cleanUpWorkingDirAfterJob) {
- xfer += oprot->writeFieldBegin("cleanUpWorkingDirAfterJob", ::apache::thrift::protocol::T_BOOL, 4);
- xfer += oprot->writeBool(this->cleanUpWorkingDirAfterJob);
- xfer += oprot->writeFieldEnd();
- }
- xfer += oprot->writeFieldStop();
- xfer += oprot->writeStructEnd();
- return xfer;
-}
-
-void swap(AdvancedInputDataHandling &a, AdvancedInputDataHandling &b) {
- using ::std::swap;
- swap(a.stageInputFilesToWorkingDir, b.stageInputFilesToWorkingDir);
- swap(a.parentWorkingDirectory, b.parentWorkingDirectory);
- swap(a.uniqueWorkingDirectory, b.uniqueWorkingDirectory);
- swap(a.cleanUpWorkingDirAfterJob, b.cleanUpWorkingDirAfterJob);
- swap(a.__isset, b.__isset);
-}
-
-const char* AdvancedOutputDataHandling::ascii_fingerprint = "6EC898D3B5ECFF21200795BD22F73CD2";
-const uint8_t AdvancedOutputDataHandling::binary_fingerprint[16] = {0x6E,0xC8,0x98,0xD3,0xB5,0xEC,0xFF,0x21,0x20,0x07,0x95,0xBD,0x22,0xF7,0x3C,0xD2};
-
-uint32_t AdvancedOutputDataHandling::read(::apache::thrift::protocol::TProtocol* iprot) {
-
- uint32_t xfer = 0;
- std::string fname;
- ::apache::thrift::protocol::TType ftype;
- int16_t fid;
-
- xfer += iprot->readStructBegin(fname);
-
- using ::apache::thrift::protocol::TProtocolException;
-
-
- while (true)
- {
- xfer += iprot->readFieldBegin(fname, ftype, fid);
- if (ftype == ::apache::thrift::protocol::T_STOP) {
- break;
- }
- switch (fid)
- {
- case 2:
- if (ftype == ::apache::thrift::protocol::T_STRING) {
- xfer += iprot->readString(this->outputDataDir);
- this->__isset.outputDataDir = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 3:
- if (ftype == ::apache::thrift::protocol::T_STRING) {
- xfer += iprot->readString(this->dataRegistryURL);
- this->__isset.dataRegistryURL = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 4:
- if (ftype == ::apache::thrift::protocol::T_BOOL) {
- xfer += iprot->readBool(this->persistOutputData);
- this->__isset.persistOutputData = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- default:
- xfer += iprot->skip(ftype);
- break;
- }
- xfer += iprot->readFieldEnd();
- }
-
- xfer += iprot->readStructEnd();
-
- return xfer;
-}
-
-uint32_t AdvancedOutputDataHandling::write(::apache::thrift::protocol::TProtocol* oprot) const {
- uint32_t xfer = 0;
- xfer += oprot->writeStructBegin("AdvancedOutputDataHandling");
-
- if (this->__isset.outputDataDir) {
- xfer += oprot->writeFieldBegin("outputDataDir", ::apache::thrift::protocol::T_STRING, 2);
- xfer += oprot->writeString(this->outputDataDir);
- xfer += oprot->writeFieldEnd();
- }
- if (this->__isset.dataRegistryURL) {
- xfer += oprot->writeFieldBegin("dataRegistryURL", ::apache::thrift::protocol::T_STRING, 3);
- xfer += oprot->writeString(this->dataRegistryURL);
- xfer += oprot->writeFieldEnd();
- }
- if (this->__isset.persistOutputData) {
- xfer += oprot->writeFieldBegin("persistOutputData", ::apache::thrift::protocol::T_BOOL, 4);
- xfer += oprot->writeBool(this->persistOutputData);
- xfer += oprot->writeFieldEnd();
- }
- xfer += oprot->writeFieldStop();
- xfer += oprot->writeStructEnd();
- return xfer;
-}
-
-void swap(AdvancedOutputDataHandling &a, AdvancedOutputDataHandling &b) {
- using ::std::swap;
- swap(a.outputDataDir, b.outputDataDir);
- swap(a.dataRegistryURL, b.dataRegistryURL);
- swap(a.persistOutputData, b.persistOutputData);
- swap(a.__isset, b.__isset);
-}
-
-const char* QualityOfServiceParams::ascii_fingerprint = "35985D966603A273E8D7132543B44873";
-const uint8_t QualityOfServiceParams::binary_fingerprint[16] = {0x35,0x98,0x5D,0x96,0x66,0x03,0xA2,0x73,0xE8,0xD7,0x13,0x25,0x43,0xB4,0x48,0x73};
-
-uint32_t QualityOfServiceParams::read(::apache::thrift::protocol::TProtocol* iprot) {
-
- uint32_t xfer = 0;
- std::string fname;
- ::apache::thrift::protocol::TType ftype;
- int16_t fid;
-
- xfer += iprot->readStructBegin(fname);
-
- using ::apache::thrift::protocol::TProtocolException;
-
-
- while (true)
- {
- xfer += iprot->readFieldBegin(fname, ftype, fid);
- if (ftype == ::apache::thrift::protocol::T_STOP) {
- break;
- }
- switch (fid)
- {
- case 1:
- if (ftype == ::apache::thrift::protocol::T_STRING) {
- xfer += iprot->readString(this->startExecutionAt);
- this->__isset.startExecutionAt = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 2:
- if (ftype == ::apache::thrift::protocol::T_STRING) {
- xfer += iprot->readString(this->executeBefore);
- this->__isset.executeBefore = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 3:
- if (ftype == ::apache::thrift::protocol::T_I32) {
- xfer += iprot->readI32(this->numberofRetries);
- this->__isset.numberofRetries = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- default:
- xfer += iprot->skip(ftype);
- break;
- }
- xfer += iprot->readFieldEnd();
- }
-
- xfer += iprot->readStructEnd();
-
- return xfer;
-}
-
-uint32_t QualityOfServiceParams::write(::apache::thrift::protocol::TProtocol* oprot) const {
- uint32_t xfer = 0;
- xfer += oprot->writeStructBegin("QualityOfServiceParams");
-
- if (this->__isset.startExecutionAt) {
- xfer += oprot->writeFieldBegin("startExecutionAt", ::apache::thrift::protocol::T_STRING, 1);
- xfer += oprot->writeString(this->startExecutionAt);
- xfer += oprot->writeFieldEnd();
- }
- if (this->__isset.executeBefore) {
- xfer += oprot->writeFieldBegin("executeBefore", ::apache::thrift::protocol::T_STRING, 2);
- xfer += oprot->writeString(this->executeBefore);
- xfer += oprot->writeFieldEnd();
- }
- if (this->__isset.numberofRetries) {
- xfer += oprot->writeFieldBegin("numberofRetries", ::apache::thrift::protocol::T_I32, 3);
- xfer += oprot->writeI32(this->numberofRetries);
- xfer += oprot->writeFieldEnd();
- }
- xfer += oprot->writeFieldStop();
- xfer += oprot->writeStructEnd();
- return xfer;
-}
-
-void swap(QualityOfServiceParams &a, QualityOfServiceParams &b) {
- using ::std::swap;
- swap(a.startExecutionAt, b.startExecutionAt);
- swap(a.executeBefore, b.executeBefore);
- swap(a.numberofRetries, b.numberofRetries);
- swap(a.__isset, b.__isset);
-}
-
-const char* UserConfigurationData::ascii_fingerprint = "889486266D7ADC041ED1C586A2468611";
-const uint8_t UserConfigurationData::binary_fingerprint[16] = {0x88,0x94,0x86,0x26,0x6D,0x7A,0xDC,0x04,0x1E,0xD1,0xC5,0x86,0xA2,0x46,0x86,0x11};
-
-uint32_t UserConfigurationData::read(::apache::thrift::protocol::TProtocol* iprot) {
-
- uint32_t xfer = 0;
- std::string fname;
- ::apache::thrift::protocol::TType ftype;
- int16_t fid;
-
- xfer += iprot->readStructBegin(fname);
-
- using ::apache::thrift::protocol::TProtocolException;
-
- bool isset_airavataAutoSchedule = false;
- bool isset_overrideManualScheduledParams = false;
-
- while (true)
- {
- xfer += iprot->readFieldBegin(fname, ftype, fid);
- if (ftype == ::apache::thrift::protocol::T_STOP) {
- break;
- }
- switch (fid)
- {
- case 1:
- if (ftype == ::apache::thrift::protocol::T_BOOL) {
- xfer += iprot->readBool(this->airavataAutoSchedule);
- isset_airavataAutoSchedule = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 2:
- if (ftype == ::apache::thrift::protocol::T_BOOL) {
- xfer += iprot->readBool(this->overrideManualScheduledParams);
- isset_overrideManualScheduledParams = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 3:
- if (ftype == ::apache::thrift::protocol::T_BOOL) {
- xfer += iprot->readBool(this->shareExperimentPublicly);
- this->__isset.shareExperimentPublicly = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 4:
- if (ftype == ::apache::thrift::protocol::T_STRUCT) {
- xfer += this->computationalResourceScheduling.read(iprot);
- this->__isset.computationalResourceScheduling = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 5:
- if (ftype == ::apache::thrift::protocol::T_STRUCT) {
- xfer += this->advanceInputDataHandling.read(iprot);
- this->__isset.advanceInputDataHandling = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 6:
- if (ftype == ::apache::thrift::protocol::T_STRUCT) {
- xfer += this->advanceOutputDataHandling.read(iprot);
- this->__isset.advanceOutputDataHandling = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 7:
- if (ftype == ::apache::thrift::protocol::T_STRUCT) {
- xfer += this->qosParams.read(iprot);
- this->__isset.qosParams = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- default:
- xfer += iprot->skip(ftype);
- break;
- }
- xfer += iprot->readFieldEnd();
- }
-
- xfer += iprot->readStructEnd();
-
- if (!isset_airavataAutoSchedule)
- throw TProtocolException(TProtocolException::INVALID_DATA);
- if (!isset_overrideManualScheduledParams)
- throw TProtocolException(TProtocolException::INVALID_DATA);
- return xfer;
-}
-
-uint32_t UserConfigurationData::write(::apache::thrift::protocol::TProtocol* oprot) const {
- uint32_t xfer = 0;
- xfer += oprot->writeStructBegin("UserConfigurationData");
-
- xfer += oprot->writeFieldBegin("airavataAutoSchedule", ::apache::thrift::protocol::T_BOOL, 1);
- xfer += oprot->writeBool(this->airavataAutoSchedule);
- xfer += oprot->writeFieldEnd();
-
- xfer += oprot->writeFieldBegin("overrideManualScheduledParams", ::apache::thrift::protocol::T_BOOL, 2);
- xfer += oprot->writeBool(this->overrideManualScheduledParams);
- xfer += oprot->writeFieldEnd();
-
- if (this->__isset.shareExperimentPublicly) {
- xfer += oprot->writeFieldBegin("shareExperimentPublicly", ::apache::thrift::protocol::T_BOOL, 3);
- xfer += oprot->writeBool(this->shareExperimentPublicly);
- xfer += oprot->writeFieldEnd();
- }
- if (this->__isset.computationalResourceScheduling) {
- xfer += oprot->writeFieldBegin("computationalResourceScheduling", ::apache::thrift::protocol::T_STRUCT, 4);
- xfer += this->computationalResourceScheduling.write(oprot);
- xfer += oprot->writeFieldEnd();
- }
- if (this->__isset.advanceInputDataHandling) {
- xfer += oprot->writeFieldBegin("advanceInputDataHandling", ::apache::thrift::protocol::T_STRUCT, 5);
- xfer += this->advanceInputDataHandling.write(oprot);
- xfer += oprot->writeFieldEnd();
- }
- if (this->__isset.advanceOutputDataHandling) {
- xfer += oprot->writeFieldBegin("advanceOutputDataHandling", ::apache::thrift::protocol::T_STRUCT, 6);
- xfer += this->advanceOutputDataHandling.write(oprot);
- xfer += oprot->writeFieldEnd();
- }
- if (this->__isset.qosParams) {
- xfer += oprot->writeFieldBegin("qosParams", ::apache::thrift::protocol::T_STRUCT, 7);
- xfer += this->qosParams.write(oprot);
- xfer += oprot->writeFieldEnd();
- }
- xfer += oprot->writeFieldStop();
- xfer += oprot->writeStructEnd();
- return xfer;
-}
-
-void swap(UserConfigurationData &a, UserConfigurationData &b) {
- using ::std::swap;
- swap(a.airavataAutoSchedule, b.airavataAutoSchedule);
- swap(a.overrideManualScheduledParams, b.overrideManualScheduledParams);
- swap(a.shareExperimentPublicly, b.shareExperimentPublicly);
- swap(a.computationalResourceScheduling, b.computationalResourceScheduling);
- swap(a.advanceInputDataHandling, b.advanceInputDataHandling);
- swap(a.advanceOutputDataHandling, b.advanceOutputDataHandling);
- swap(a.qosParams, b.qosParams);
- swap(a.__isset, b.__isset);
-}
-
-const char* ErrorDetails::ascii_fingerprint = "170CA6E79EB283F31417B9D68071DA33";
-const uint8_t ErrorDetails::binary_fingerprint[16] = {0x17,0x0C,0xA6,0xE7,0x9E,0xB2,0x83,0xF3,0x14,0x17,0xB9,0xD6,0x80,0x71,0xDA,0x33};
-
-uint32_t ErrorDetails::read(::apache::thrift::protocol::TProtocol* iprot) {
-
- uint32_t xfer = 0;
- std::string fname;
- ::apache::thrift::protocol::TType ftype;
- int16_t fid;
-
- xfer += iprot->readStructBegin(fname);
-
- using ::apache::thrift::protocol::TProtocolException;
-
- bool isset_errorID = false;
-
- while (true)
- {
- xfer += iprot->readFieldBegin(fname, ftype, fid);
- if (ftype == ::apache::thrift::protocol::T_STOP) {
- break;
- }
- switch (fid)
- {
- case 1:
- if (ftype == ::apache::thrift::protocol::T_STRING) {
- xfer += iprot->readString(this->errorID);
- isset_errorID = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 2:
- if (ftype == ::apache::thrift::protocol::T_I64) {
- xfer += iprot->readI64(this->creationTime);
- this->__isset.creationTime = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 3:
- if (ftype == ::apache::thrift::protocol::T_STRING) {
- xfer += iprot->readString(this->actualErrorMessage);
- this->__isset.actualErrorMessage = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 4:
- if (ftype == ::apache::thrift::protocol::T_STRING) {
- xfer += iprot->readString(this->userFriendlyMessage);
- this->__isset.userFriendlyMessage = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 5:
- if (ftype == ::apache::thrift::protocol::T_I32) {
- int32_t ecast6;
- xfer += iprot->readI32(ecast6);
- this->errorCategory = (ErrorCategory::type)ecast6;
- this->__isset.errorCategory = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 6:
- if (ftype == ::apache::thrift::protocol::T_BOOL) {
- xfer += iprot->readBool(this->transientOrPersistent);
- this->__isset.transientOrPersistent = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 7:
- if (ftype == ::apache::thrift::protocol::T_I32) {
- int32_t ecast7;
- xfer += iprot->readI32(ecast7);
- this->correctiveAction = (CorrectiveAction::type)ecast7;
- this->__isset.correctiveAction = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 8:
- if (ftype == ::apache::thrift::protocol::T_I32) {
- int32_t ecast8;
- xfer += iprot->readI32(ecast8);
- this->actionableGroup = (ActionableGroup::type)ecast8;
- this->__isset.actionableGroup = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 9:
- if (ftype == ::apache::thrift::protocol::T_LIST) {
- {
- this->rootCauseErrorIdList.clear();
- uint32_t _size9;
- ::apache::thrift::protocol::TType _etype12;
- xfer += iprot->readListBegin(_etype12, _size9);
- this->rootCauseErrorIdList.resize(_size9);
- uint32_t _i13;
- for (_i13 = 0; _i13 < _size9; ++_i13)
- {
- xfer += iprot->readString(this->rootCauseErrorIdList[_i13]);
- }
- xfer += iprot->readListEnd();
- }
- this->__isset.rootCauseErrorIdList = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- default:
- xfer += iprot->skip(ftype);
- break;
- }
- xfer += iprot->readFieldEnd();
- }
-
- xfer += iprot->readStructEnd();
-
- if (!isset_errorID)
- throw TProtocolException(TProtocolException::INVALID_DATA);
- return xfer;
-}
-
-uint32_t ErrorDetails::write(::apache::thrift::protocol::TProtocol* oprot) const {
- uint32_t xfer = 0;
- xfer += oprot->writeStructBegin("ErrorDetails");
-
- xfer += oprot->writeFieldBegin("errorID", ::apache::thrift::protocol::T_STRING, 1);
- xfer += oprot->writeString(this->errorID);
- xfer += oprot->writeFieldEnd();
-
- if (this->__isset.creationTime) {
- xfer += oprot->writeFieldBegin("creationTime", ::apache::thrift::protocol::T_I64, 2);
- xfer += oprot->writeI64(this->creationTime);
- xfer += oprot->writeFieldEnd();
- }
- if (this->__isset.actualErrorMessage) {
- xfer += oprot->writeFieldBegin("actualErrorMessage", ::apache::thrift::protocol::T_STRING, 3);
- xfer += oprot->writeString(this->actualErrorMessage);
- xfer += oprot->writeFieldEnd();
- }
- if (this->__isset.userFriendlyMessage) {
- xfer += oprot->writeFieldBegin("userFriendlyMessage", ::apache::thrift::protocol::T_STRING, 4);
- xfer += oprot->writeString(this->userFriendlyMessage);
- xfer += oprot->writeFieldEnd();
- }
- if (this->__isset.errorCategory) {
- xfer += oprot->writeFieldBegin("errorCategory", ::apache::thrift::protocol::T_I32, 5);
- xfer += oprot->writeI32((int32_t)this->errorCategory);
- xfer += oprot->writeFieldEnd();
- }
- if (this->__isset.transientOrPersistent) {
- xfer += oprot->writeFieldBegin("transientOrPersistent", ::apache::thrift::protocol::T_BOOL, 6);
- xfer += oprot->writeBool(this->transientOrPersistent);
- xfer += oprot->writeFieldEnd();
- }
- if (this->__isset.correctiveAction) {
- xfer += oprot->writeFieldBegin("correctiveAction", ::apache::thrift::protocol::T_I32, 7);
- xfer += oprot->writeI32((int32_t)this->correctiveAction);
- xfer += oprot->writeFieldEnd();
- }
- if (this->__isset.actionableGroup) {
- xfer += oprot->writeFieldBegin("actionableGroup", ::apache::thrift::protocol::T_I32, 8);
- xfer += oprot->writeI32((int32_t)this->actionableGroup);
- xfer += oprot->writeFieldEnd();
- }
- if (this->__isset.rootCauseErrorIdList) {
- xfer += oprot->writeFieldBegin("rootCauseErrorIdList", ::apache::thrift::protocol::T_LIST, 9);
- {
- xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRING, static_cast<uint32_t>(this->rootCauseErrorIdList.size()));
- std::vector<std::string> ::const_iterator _iter14;
- for (_iter14 = this->rootCauseErrorIdList.begin(); _iter14 != this->rootCauseErrorIdList.end(); ++_iter14)
- {
- xfer += oprot->writeString((*_iter14));
- }
- xfer += oprot->writeListEnd();
- }
- xfer += oprot->writeFieldEnd();
- }
- xfer += oprot->writeFieldStop();
- xfer += oprot->writeStructEnd();
- return xfer;
-}
-
-void swap(ErrorDetails &a, ErrorDetails &b) {
- using ::std::swap;
- swap(a.errorID, b.errorID);
- swap(a.creationTime, b.creationTime);
- swap(a.actualErrorMessage, b.actualErrorMessage);
- swap(a.userFriendlyMessage, b.userFriendlyMessage);
- swap(a.errorCategory, b.errorCategory);
- swap(a.transientOrPersistent, b.transientOrPersistent);
- swap(a.correctiveAction, b.correctiveAction);
- swap(a.actionableGroup, b.actionableGroup);
- swap(a.rootCauseErrorIdList, b.rootCauseErrorIdList);
- swap(a.__isset, b.__isset);
-}
-
-const char* JobDetails::ascii_fingerprint = "5946807521C11BC65075D497F8568057";
-const uint8_t JobDetails::binary_fingerprint[16] = {0x59,0x46,0x80,0x75,0x21,0xC1,0x1B,0xC6,0x50,0x75,0xD4,0x97,0xF8,0x56,0x80,0x57};
-
-uint32_t JobDetails::read(::apache::thrift::protocol::TProtocol* iprot) {
-
- uint32_t xfer = 0;
- std::string fname;
- ::apache::thrift::protocol::TType ftype;
- int16_t fid;
-
- xfer += iprot->readStructBegin(fname);
-
- using ::apache::thrift::protocol::TProtocolException;
-
- bool isset_jobID = false;
- bool isset_jobDescription = false;
-
- while (true)
- {
- xfer += iprot->readFieldBegin(fname, ftype, fid);
- if (ftype == ::apache::thrift::protocol::T_STOP) {
- break;
- }
- switch (fid)
- {
- case 1:
- if (ftype == ::apache::thrift::protocol::T_STRING) {
- xfer += iprot->readString(this->jobID);
- isset_jobID = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 2:
- if (ftype == ::apache::thrift::protocol::T_STRING) {
- xfer += iprot->readString(this->jobDescription);
- isset_jobDescription = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 3:
- if (ftype == ::apache::thrift::protocol::T_I64) {
- xfer += iprot->readI64(this->creationTime);
- this->__isset.creationTime = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 4:
- if (ftype == ::apache::thrift::protocol::T_STRUCT) {
- xfer += this->jobStatus.read(iprot);
- this->__isset.jobStatus = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 5:
- if (ftype == ::apache::thrift::protocol::T_STRUCT) {
- xfer += this->applicationStatus.read(iprot);
- this->__isset.applicationStatus = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 6:
- if (ftype == ::apache::thrift::protocol::T_LIST) {
- {
- this->errors.clear();
- uint32_t _size15;
- ::apache::thrift::protocol::TType _etype18;
- xfer += iprot->readListBegin(_etype18, _size15);
- this->errors.resize(_size15);
- uint32_t _i19;
- for (_i19 = 0; _i19 < _size15; ++_i19)
- {
- xfer += this->errors[_i19].read(iprot);
- }
- xfer += iprot->readListEnd();
- }
- this->__isset.errors = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 7:
- if (ftype == ::apache::thrift::protocol::T_STRING) {
- xfer += iprot->readString(this->computeResourceConsumed);
- this->__isset.computeResourceConsumed = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- default:
- xfer += iprot->skip(ftype);
- break;
- }
- xfer += iprot->readFieldEnd();
- }
-
- xfer += iprot->readStructEnd();
-
- if (!isset_jobID)
- throw TProtocolException(TProtocolException::INVALID_DATA);
- if (!isset_jobDescription)
- throw TProtocolException(TProtocolException::INVALID_DATA);
- return xfer;
-}
-
-uint32_t JobDetails::write(::apache::thrift::protocol::TProtocol* oprot) const {
- uint32_t xfer = 0;
- xfer += oprot->writeStructBegin("JobDetails");
-
- xfer += oprot->writeFieldBegin("jobID", ::apache::thrift::protocol::T_STRING, 1);
- xfer += oprot->writeString(this->jobID);
- xfer += oprot->writeFieldEnd();
-
- xfer += oprot->writeFieldBegin("jobDescription", ::apache::thrift::protocol::T_STRING, 2);
- xfer += oprot->writeString(this->jobDescription);
- xfer += oprot->writeFieldEnd();
-
- if (this->__isset.creationTime) {
- xfer += oprot->writeFieldBegin("creationTime", ::apache::thrift::protocol::T_I64, 3);
- xfer += oprot->writeI64(this->creationTime);
- xfer += oprot->writeFieldEnd();
- }
- if (this->__isset.jobStatus) {
- xfer += oprot->writeFieldBegin("jobStatus", ::apache::thrift::protocol::T_STRUCT, 4);
- xfer += this->jobStatus.write(oprot);
- xfer += oprot->writeFieldEnd();
- }
- if (this->__isset.applicationStatus) {
- xfer += oprot->writeFieldBegin("applicationStatus", ::apache::thrift::protocol::T_STRUCT, 5);
- xfer += this->applicationStatus.write(oprot);
- xfer += oprot->writeFieldEnd();
- }
- if (this->__isset.errors) {
- xfer += oprot->writeFieldBegin("errors", ::apache::thrift::protocol::T_LIST, 6);
- {
- xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>(this->errors.size()));
- std::vector<ErrorDetails> ::const_iterator _iter20;
- for (_iter20 = this->errors.begin(); _iter20 != this->errors.end(); ++_iter20)
- {
- xfer += (*_iter20).write(oprot);
- }
- xfer += oprot->writeListEnd();
- }
- xfer += oprot->writeFieldEnd();
- }
- if (this->__isset.computeResourceConsumed) {
- xfer += oprot->writeFieldBegin("computeResourceConsumed", ::apache::thrift::protocol::T_STRING, 7);
- xfer += oprot->writeString(this->computeResourceConsumed);
- xfer += oprot->writeFieldEnd();
- }
- xfer += oprot->writeFieldStop();
- xfer += oprot->writeStructEnd();
- return xfer;
-}
-
-void swap(JobDetails &a, JobDetails &b) {
- using ::std::swap;
- swap(a.jobID, b.jobID);
- swap(a.jobDescription, b.jobDescription);
- swap(a.creationTime, b.creationTime);
- swap(a.jobStatus, b.jobStatus);
- swap(a.applicationStatus, b.applicationStatus);
- swap(a.errors, b.errors);
- swap(a.computeResourceConsumed, b.computeResourceConsumed);
- swap(a.__isset, b.__isset);
-}
-
-const char* DataTransferDetails::ascii_fingerprint = "40D4FEC20E3B334AEEBA92DA2AB9E91E";
-const uint8_t DataTransferDetails::binary_fingerprint[16] = {0x40,0xD4,0xFE,0xC2,0x0E,0x3B,0x33,0x4A,0xEE,0xBA,0x92,0xDA,0x2A,0xB9,0xE9,0x1E};
-
-uint32_t DataTransferDetails::read(::apache::thrift::protocol::TProtocol* iprot) {
-
- uint32_t xfer = 0;
- std::string fname;
- ::apache::thrift::protocol::TType ftype;
- int16_t fid;
-
- xfer += iprot->readStructBegin(fname);
-
- using ::apache::thrift::protocol::TProtocolException;
-
- bool isset_transferID = false;
- bool isset_transferDescription = false;
-
- while (true)
- {
- xfer += iprot->readFieldBegin(fname, ftype, fid);
- if (ftype == ::apache::thrift::protocol::T_STOP) {
- break;
- }
- switch (fid)
- {
- case 1:
- if (ftype == ::apache::thrift::protocol::T_STRING) {
- xfer += iprot->readString(this->transferID);
- isset_transferID = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 2:
- if (ftype == ::apache::thrift::protocol::T_I64) {
- xfer += iprot->readI64(this->creationTime);
- this->__isset.creationTime = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 3:
- if (ftype == ::apache::thrift::protocol::T_STRING) {
- xfer += iprot->readString(this->transferDescription);
- isset_transferDescription = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 4:
- if (ftype == ::apache::thrift::protocol::T_STRUCT) {
- xfer += this->transferStatus.read(iprot);
- this->__isset.transferStatus = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- default:
- xfer += iprot->skip(ftype);
- break;
- }
- xfer += iprot->readFieldEnd();
- }
-
- xfer += iprot->readStructEnd();
-
- if (!isset_transferID)
- throw TProtocolException(TProtocolException::INVALID_DATA);
- if (!isset_transferDescription)
- throw TProtocolException(TProtocolException::INVALID_DATA);
- return xfer;
-}
-
-uint32_t DataTransferDetails::write(::apache::thrift::protocol::TProtocol* oprot) const {
- uint32_t xfer = 0;
- xfer += oprot->writeStructBegin("DataTransferDetails");
-
- xfer += oprot->writeFieldBegin("transferID", ::apache::thrift::protocol::T_STRING, 1);
- xfer += oprot->writeString(this->transferID);
- xfer += oprot->writeFieldEnd();
-
- if (this->__isset.creationTime) {
- xfer += oprot->writeFieldBegin("creationTime", ::apache::thrift::protocol::T_I64, 2);
- xfer += oprot->writeI64(this->creationTime);
- xfer += oprot->writeFieldEnd();
- }
- xfer += oprot->writeFieldBegin("transferDescription", ::apache::thrift::protocol::T_STRING, 3);
- xfer += oprot->writeString(this->transferDescription);
- xfer += oprot->writeFieldEnd();
-
- if (this->__isset.transferStatus) {
- xfer += oprot->writeFieldBegin("transferStatus", ::apache::thrift::protocol::T_STRUCT, 4);
- xfer += this->transferStatus.write(oprot);
- xfer += oprot->writeFieldEnd();
- }
- xfer += oprot->writeFieldStop();
- xfer += oprot->writeStructEnd();
- return xfer;
-}
-
-void swap(DataTransferDetails &a, DataTransferDetails &b) {
- using ::std::swap;
- swap(a.transferID, b.transferID);
- swap(a.creationTime, b.creationTime);
- swap(a.transferDescription, b.transferDescription);
- swap(a.transferStatus, b.transferStatus);
- swap(a.__isset, b.__isset);
-}
-
-const char* TaskDetails::ascii_fingerprint = "482C560A67EC84E3BEB13AFC5FEDA02C";
-const uint8_t TaskDetails::binary_fingerprint[16] = {0x48,0x2C,0x56,0x0A,0x67,0xEC,0x84,0xE3,0xBE,0xB1,0x3A,0xFC,0x5F,0xED,0xA0,0x2C};
-
-uint32_t TaskDetails::read(::apache::thrift::protocol::TProtocol* iprot) {
-
- uint32_t xfer = 0;
- std::string fname;
- ::apache::thrift::protocol::TType ftype;
- int16_t fid;
-
- xfer += iprot->readStructBegin(fname);
-
- using ::apache::thrift::protocol::TProtocolException;
-
- bool isset_taskID = false;
-
- while (true)
- {
- xfer += iprot->readFieldBegin(fname, ftype, fid);
- if (ftype == ::apache::thrift::protocol::T_STOP) {
- break;
- }
- switch (fid)
- {
- case 1:
- if (ftype == ::apache::thrift::protocol::T_STRING) {
- xfer += iprot->readString(this->taskID);
- isset_taskID = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 2:
- if (ftype == ::apache::thrift::protocol::T_I64) {
- xfer += iprot->readI64(this->creationTime);
- this->__isset.creationTime = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 3:
- if (ftype == ::apache::thrift::protocol::T_STRING) {
- xfer += iprot->readString(this->applicationId);
- this->__isset.applicationId = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 4:
- if (ftype == ::apache::thrift::protocol::T_STRING) {
- xfer += iprot->readString(this->applicationVersion);
- this->__isset.applicationVersion = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 5:
- if (ftype == ::apache::thrift::protocol::T_STRING) {
- xfer += iprot->readString(this->applicationDeploymentId);
- this->__isset.applicationDeploymentId = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 6:
- if (ftype == ::apache::thrift::protocol::T_LIST) {
- {
- this->applicationInputs.clear();
- uint32_t _size21;
- ::apache::thrift::protocol::TType _etype24;
- xfer += iprot->readListBegin(_etype24, _size21);
- this->applicationInputs.resize(_size21);
- uint32_t _i25;
- for (_i25 = 0; _i25 < _size21; ++_i25)
- {
- xfer += this->applicationInputs[_i25].read(iprot);
- }
- xfer += iprot->readListEnd();
- }
- this->__isset.applicationInputs = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 7:
- if (ftype == ::apache::thrift::protocol::T_LIST) {
- {
- this->applicationOutputs.clear();
- uint32_t _size26;
- ::apache::thrift::protocol::TType _etype29;
- xfer += iprot->readListBegin(_etype29, _size26);
- this->applicationOutputs.resize(_size26);
- uint32_t _i30;
- for (_i30 = 0; _i30 < _size26; ++_i30)
- {
- xfer += this->applicationOutputs[_i30].read(iprot);
- }
- xfer += iprot->readListEnd();
- }
- this->__isset.applicationOutputs = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 8:
- if (ftype == ::apache::thrift::protocol::T_STRUCT) {
- xfer += this->taskScheduling.read(iprot);
- this->__isset.taskScheduling = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 9:
- if (ftype == ::apache::thrift::protocol::T_STRUCT) {
- xfer += this->advancedInputDataHandling.read(iprot);
- this->__isset.advancedInputDataHandling = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 10:
- if (ftype == ::apache::thrift::protocol::T_STRUCT) {
- xfer += this->advancedOutputDataHandling.read(iprot);
- this->__isset.advancedOutputDataHandling = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 11:
- if (ftype == ::apache::thrift::protocol::T_STRUCT) {
- xfer += this->taskStatus.read(iprot);
- this->__isset.taskStatus = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 12:
- if (ftype == ::apache::thrift::protocol::T_LIST) {
- {
- this->jobDetailsList.clear();
- uint32_t _size31;
- ::apache::thrift::protocol::TType _etype34;
- xfer += iprot->readListBegin(_etype34, _size31);
- this->jobDetailsList.resize(_size31);
- uint32_t _i35;
- for (_i35 = 0; _i35 < _size31; ++_i35)
- {
- xfer += this->jobDetailsList[_i35].read(iprot);
- }
- xfer += iprot->readListEnd();
- }
- this->__isset.jobDetailsList = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 13:
- if (ftype == ::apache::thrift::protocol::T_LIST) {
- {
- this->dataTransferDetailsList.clear();
- uint32_t _size36;
- ::apache::thrift::protocol::TType _etype39;
- xfer += iprot->readListBegin(_etype39, _size36);
- this->dataTransferDetailsList.resize(_size36);
- uint32_t _i40;
- for (_i40 = 0; _i40 < _size36; ++_i40)
- {
- xfer += this->dataTransferDetailsList[_i40].read(iprot);
- }
- xfer += iprot->readListEnd();
- }
- this->__isset.dataTransferDetailsList = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 14:
- if (ftype == ::apache::thrift::protocol::T_LIST) {
- {
- this->errors.clear();
- uint32_t _size41;
- ::apache::thrift::protocol::TType _etype44;
- xfer += iprot->readListBegin(_etype44, _size41);
- this->errors.resize(_size41);
- uint32_t _i45;
- for (_i45 = 0; _i45 < _size41; ++_i45)
- {
- xfer += this->errors[_i45].read(iprot);
- }
- xfer += iprot->readListEnd();
- }
- this->__isset.errors = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- default:
- xfer += iprot->skip(ftype);
- break;
- }
- xfer += iprot->readFieldEnd();
- }
-
- xfer += iprot->readStructEnd();
-
- if (!isset_taskID)
- throw TProtocolException(TProtocolException::INVALID_DATA);
- return xfer;
-}
-
-uint32_t TaskDetails::write(::apache::thrift::protocol::TProtocol* oprot) const {
- uint32_t xfer = 0;
- xfer += oprot->writeStructBegin("TaskDetails");
-
- xfer += oprot->writeFieldBegin("taskID", ::apache::thrift::protocol::T_STRING, 1);
- xfer += oprot->writeString(this->taskID);
- xfer += oprot->writeFieldEnd();
-
- if (this->__isset.creationTime) {
- xfer += oprot->writeFieldBegin("creationTime", ::apache::thrift::protocol::T_I64, 2);
- xfer += oprot->writeI64(this->creationTime);
- xfer += oprot->writeFieldEnd();
- }
- if (this->__isset.applicationId) {
- xfer += oprot->writeFieldBegin("applicationId", ::apache::thrift::protocol::T_STRING, 3);
- xfer += oprot->writeString(this->applicationId);
- xfer += oprot->writeFieldEnd();
- }
- if (this->__isset.applicationVersion) {
- xfer += oprot->writeFieldBegin("applicationVersion", ::apache::thrift::protocol::T_STRING, 4);
- xfer += oprot->writeString(this->applicationVersion);
- xfer += oprot->writeFieldEnd();
- }
- if (this->__isset.applicationDeploymentId) {
- xfer += oprot->writeFieldBegin("applicationDeploymentId", ::apache::thrift::protocol::T_STRING, 5);
- xfer += oprot->writeString(this->applicationDeploymentId);
- xfer += oprot->writeFieldEnd();
- }
- if (this->__isset.applicationInputs) {
- xfer += oprot->writeFieldBegin("applicationInputs", ::apache::thrift::protocol::T_LIST, 6);
- {
- xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>(this->applicationInputs.size()));
- std::vector<DataObjectType> ::const_iterator _iter46;
- for (_iter46 = this->applicationInputs.begin(); _iter46 != this->applicationInputs.end(); ++_iter46)
- {
- xfer += (*_iter46).write(oprot);
- }
- xfer += oprot->writeListEnd();
- }
- xfer += oprot->writeFieldEnd();
- }
- if (this->__isset.applicationOutputs) {
- xfer += oprot->writeFieldBegin("applicationOutputs", ::apache::thrift::protocol::T_LIST, 7);
- {
- xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>(this->applicationOutputs.size()));
- std::vector<DataObjectType> ::const_iterator _iter47;
- for (_iter47 = this->applicationOutputs.begin(); _iter47 != this->applicationOutputs.end(); ++_iter47)
- {
- xfer += (*_iter47).write(oprot);
- }
- xfer += oprot->writeListEnd();
- }
- xfer += oprot->writeFieldEnd();
- }
- if (this->__isset.taskScheduling) {
- xfer += oprot->writeFieldBegin("taskScheduling", ::apache::thrift::protocol::T_STRUCT, 8);
- xfer += this->taskScheduling.write(oprot);
- xfer += oprot->writeFieldEnd();
- }
- if (this->__isset.advancedInputDataHandling) {
- xfer += oprot->writeFieldBegin("advancedInputDataHandling", ::apache::thrift::protocol::T_STRUCT, 9);
- xfer += this->advancedInputDataHandling.write(oprot);
- xfer += oprot->writeFieldEnd();
- }
- if (this->__isset.advancedOutputDataHandling) {
- xfer += oprot->writeFieldBegin("advancedOutputDataHandling", ::apache::thrift::protocol::T_STRUCT, 10);
- xfer += this->advancedOutputDataHandling.write(oprot);
- xfer += oprot->writeFieldEnd();
- }
- if (this->__isset.taskStatus) {
- xfer += oprot->writeFieldBegin("taskStatus", ::apache::thrift::protocol::T_STRUCT, 11);
- xfer += this->taskStatus.write(oprot);
- xfer += oprot->writeFieldEnd();
- }
- if (this->__isset.jobDetailsList) {
- xfer += oprot->writeFieldBegin("jobDetailsList", ::apache::thrift::protocol::T_LIST, 12);
- {
- xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>(this->jobDetailsList.size()));
- std::vector<JobDetails> ::const_iterator _iter48;
- for (_iter48 = this->jobDetailsList.begin(); _iter48 != this->jobDetailsList.end(); ++_iter48)
- {
- xfer += (*_iter48).write(oprot);
- }
- xfer += oprot->writeListEnd();
- }
- xfer += oprot->writeFieldEnd();
- }
- if (this->__isset.dataTransferDetailsList) {
- xfer += oprot->writeFieldBegin("dataTransferDetailsList", ::apache::thrift::protocol::T_LIST, 13);
- {
- xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>(this->dataTransferDetailsList.size()));
- std::vector<DataTransferDetails> ::const_iterator _iter49;
- for (_iter49 = this->dataTransferDetailsList.begin(); _iter49 != this->dataTransferDetailsList.end(); ++_iter49)
- {
- xfer += (*_iter49).write(oprot);
- }
- xfer += oprot->writeListEnd();
- }
- xfer += oprot->writeFieldEnd();
- }
- if (this->__isset.errors) {
- xfer += oprot->writeFieldBegin("errors", ::apache::thrift::protocol::T_LIST, 14);
- {
- xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>(this->errors.size()));
- std::vector<ErrorDetails> ::const_iterator _iter50;
- for (_iter50 = this->errors.begin(); _iter50 != this->errors.end(); ++_iter50)
- {
- xfer += (*_iter50).write(oprot);
- }
- xfer += oprot->writeListEnd();
- }
- xfer += oprot->writeFieldEnd();
- }
- xfer += oprot->writeFieldStop();
- xfer += oprot->writeStructEnd();
- return xfer;
-}
-
-void swap(TaskDetails &a, TaskDetails &b) {
- using ::std::swap;
- swap(a.taskID, b.taskID);
- swap(a.creationTime, b.creationTime);
- swap(a.applicationId, b.applicationId);
- swap(a.applicationVersion, b.applicationVersion);
- swap(a.applicationDeploymentId, b.applicationDeploymentId);
- swap(a.applicationInputs, b.applicationInputs);
- swap(a.applicationOutputs, b.applicationOutputs);
- swap(a.taskScheduling, b.taskScheduling);
- swap(a.advancedInputDataHandling, b.advancedInputDataHandling);
- swap(a.advancedOutputDataHandling, b.advancedOutputDataHandling);
- swap(a.taskStatus, b.taskStatus);
- swap(a.jobDetailsList, b.jobDetailsList);
- swap(a.dataTransferDetailsList, b.dataTransferDetailsList);
- swap(a.errors, b.errors);
- swap(a.__isset, b.__isset);
-}
-
-const char* WorkflowNodeDetails::ascii_fingerprint = "95130A9D83D5C73D70BAEBDF11F2FFE7";
-const uint8_t WorkflowNodeDetails::binary_fingerprint[16] = {0x95,0x13,0x0A,0x9D,0x83,0xD5,0xC7,0x3D,0x70,0xBA,0xEB,0xDF,0x11,0xF2,0xFF,0xE7};
-
-uint32_t WorkflowNodeDetails::read(::apache::thrift::protocol::TProtocol* iprot) {
-
- uint32_t xfer = 0;
- std::string fname;
- ::apache::thrift::protocol::TType ftype;
- int16_t fid;
-
- xfer += iprot->readStructBegin(fname);
-
- using ::apache::thrift::protocol::TProtocolException;
-
- bool isset_nodeInstanceId = false;
- bool isset_nodeName = false;
- bool isset_executionUnit = false;
-
- while (true)
- {
- xfer += iprot->readFieldBegin(fname, ftype, fid);
- if (ftype == ::apache::thrift::protocol::T_STOP) {
- break;
- }
- switch (fid)
- {
- case 1:
- if (ftype == ::apache::thrift::protocol::T_STRING) {
- xfer += iprot->readString(this->nodeInstanceId);
- isset_nodeInstanceId = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 2:
- if (ftype == ::apache::thrift::protocol::T_I64) {
- xfer += iprot->readI64(this->creationTime);
- this->__isset.creationTime = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 3:
- if (ftype == ::apache::thrift::protocol::T_STRING) {
- xfer += iprot->readString(this->nodeName);
- isset_nodeName = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 4:
- if (ftype == ::apache::thrift::protocol::T_I32) {
- int32_t ecast51;
- xfer += iprot->readI32(ecast51);
- this->executionUnit = (ExecutionUnit::type)ecast51;
- isset_executionUnit = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 5:
- if (ftype == ::apache::thrift::protocol::T_STRING) {
- xfer += iprot->readString(this->executionUnitData);
- this->__isset.executionUnitData = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 6:
- if (ftype == ::apache::thrift::protocol::T_LIST) {
- {
- this->nodeInputs.clear();
- uint32_t _size52;
- ::apache::thrift::protocol::TType _etype55;
- xfer += iprot->readListBegin(_etype55, _size52);
- this->nodeInputs.resize(_size52);
- uint32_t _i56;
- for (_i56 = 0; _i56 < _size52; ++_i56)
- {
- xfer += this->nodeInputs[_i56].read(iprot);
- }
- xfer += iprot->readListEnd();
- }
- this->__isset.nodeInputs = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 7:
- if (ftype == ::apache::thrift::protocol::T_LIST) {
- {
- this->nodeOutputs.clear();
- uint32_t _size57;
- ::apache::thrift::protocol::TType _etype60;
- xfer += iprot->readListBegin(_etype60, _size57);
- this->nodeOutputs.resize(_size57);
- uint32_t _i61;
- for (_i61 = 0; _i61 < _size57; ++_i61)
- {
- xfer += this->nodeOutputs[_i61].read(iprot);
- }
- xfer += iprot->readListEnd();
- }
- this->__isset.nodeOutputs = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 8:
- if (ftype == ::apache::thrift::protocol::T_STRUCT) {
- xfer += this->workflowNodeStatus.read(iprot);
- this->__isset.workflowNodeStatus = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 9:
- if (ftype == ::apache::thrift::protocol::T_LIST) {
- {
- this->taskDetailsList.clear();
- uint32_t _size62;
- ::apache::thrift::protocol::TType _etype65;
- xfer += iprot->readListBegin(_etype65, _size62);
- this->taskDetailsList.resize(_size62);
- uint32_t _i66;
- for (_i66 = 0; _i66 < _size62; ++_i66)
- {
- xfer += this->taskDetailsList[_i66].read(iprot);
- }
- xfer += iprot->readListEnd();
- }
- this->__isset.taskDetailsList = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 10:
- if (ftype == ::apache::thrift::protocol::T_LIST) {
- {
- this->errors.clear();
- uint32_t _size67;
- ::apache::thrift::protocol::TType _etype70;
- xfer += iprot->readListBegin(_etype70, _size67);
- this->errors.resize(_size67);
- uint32_t _i71;
- for (_i71 = 0; _i71 < _size67; ++_i71)
- {
- xfer += this->errors[_i71].read(iprot);
- }
- xfer += iprot->readListEnd();
- }
- this->__isset.errors = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- default:
- xfer += iprot->skip(ftype);
- break;
- }
- xfer += iprot->readFieldEnd();
- }
-
- xfer += iprot->readStructEnd();
-
- if (!isset_nodeInstanceId)
- throw TProtocolException(TProtocolException::INVALID_DATA);
- if (!isset_nodeName)
- throw TProtocolException(TProtocolException::INVALID_DATA);
- if (!isset_executionUnit)
- throw TProtocolException(TProtocolException::INVALID_DATA);
- return xfer;
-}
-
-uint32_t WorkflowNodeDetails::write(::apache::thrift::protocol::TProtocol* oprot) const {
- uint32_t xfer = 0;
- xfer += oprot->writeStructBegin("WorkflowNodeDetails");
-
- xfer += oprot->writeFieldBegin("nodeInstanceId", ::apache::thrift::protocol::T_STRING, 1);
- xfer += oprot->writeString(this->nodeInstanceId);
- xfer += oprot->writeFieldEnd();
-
- if (this->__isset.creationTime) {
- xfer += oprot->writeFieldBegin("creationTime", ::apache::thrift::protocol::T_I64, 2);
- xfer += oprot->writeI64(this->creationTime);
- xfer += oprot->writeFieldEnd();
- }
- xfer += oprot->writeFieldBegin("nodeName", ::apache::thrift::protocol::T_STRING, 3);
- xfer += oprot->writeString(this->nodeName);
- xfer += oprot->writeFieldEnd();
-
- xfer += oprot->writeFieldBegin("executionUnit", ::apache::thrift::protocol::T_I32, 4);
- xfer += oprot->writeI32((int32_t)this->executionUnit);
- xfer += oprot->writeFieldEnd();
-
- if (this->__isset.executionUnitData) {
- xfer += oprot->writeFieldBegin("executionUnitData", ::apache::thrift::protocol::T_STRING, 5);
- xfer += oprot->writeString(this->executionUnitData);
- xfer += oprot->writeFieldEnd();
- }
- if (this->__isset.nodeInputs) {
- xfer += oprot->writeFieldBegin("nodeInputs", ::apache::thrift::protocol::T_LIST, 6);
- {
- xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>(this->nodeInputs.size()));
- std::vector<DataObjectType> ::const_iterator _iter72;
- for (_iter72 = this->nodeInputs.begin(); _iter72 != this->nodeInputs.end(); ++_iter72)
- {
- xfer += (*_iter72).write(oprot);
- }
- xfer += oprot->writeListEnd();
- }
- xfer += oprot->writeFieldEnd();
- }
- if (this->__isset.nodeOutputs) {
- xfer += oprot->writeFieldBegin("nodeOutputs", ::apache::thrift::protocol::T_LIST, 7);
- {
- xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>(this->nodeOutputs.size()));
- std::vector<DataObjectType> ::const_iterator _iter73;
- for (_iter73 = this->nodeOutputs.begin(); _iter73 != this->nodeOutputs.end(); ++_iter73)
- {
- xfer += (*_iter73).write(oprot);
- }
- xfer += oprot->writeListEnd();
- }
- xfer += oprot->writeFieldEnd();
- }
- if (this->__isset.workflowNodeStatus) {
- xfer += oprot->writeFieldBegin("workflowNodeStatus", ::apache::thrift::protocol::T_STRUCT, 8);
- xfer += this->workflowNodeStatus.write(oprot);
- xfer += oprot->writeFieldEnd();
- }
- if (this->__isset.taskDetailsList) {
- xfer += oprot->writeFieldBegin("taskDetailsList", ::apache::thrift::protocol::T_LIST, 9);
- {
- xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>(this->taskDetailsList.size()));
- std::vector<TaskDetails> ::const_iterator _iter74;
- for (_iter74 = this->taskDetailsList.begin(); _iter74 != this->taskDetailsList.end(); ++_iter74)
- {
- xfer += (*_iter74).write(oprot);
- }
- xfer += oprot->writeListEnd();
- }
- xfer += oprot->writeFieldEnd();
- }
- if (this->__isset.errors) {
- xfer += oprot->writeFieldBegin("errors", ::apache::thrift::protocol::T_LIST, 10);
- {
- xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>(this->errors.size()));
- std::vector<ErrorDetails> ::const_iterator _iter75;
- for (_iter75 = this->errors.begin(); _iter75 != this->errors.end(); ++_iter75)
- {
- xfer += (*_iter75).write(oprot);
- }
- xfer += oprot->writeListEnd();
- }
- xfer += oprot->writeFieldEnd();
- }
- xfer += oprot->writeFieldStop();
- xfer += oprot->writeStructEnd();
- return xfer;
-}
-
-void swap(WorkflowNodeDetails &a, WorkflowNodeDetails &b) {
- using ::std::swap;
- swap(a.nodeInstanceId, b.nodeInstanceId);
- swap(a.creationTime, b.creationTime);
- swap(a.nodeName, b.nodeName);
- swap(a.executionUnit, b.executionUnit);
- swap(a.executionUnitData, b.executionUnitData);
- swap(a.nodeInputs, b.nodeInputs);
- swap(a.nodeOutputs, b.nodeOutputs);
- swap(a.workflowNodeStatus, b.workflowNodeStatus);
- swap(a.taskDetailsList, b.taskDetailsList);
- swap(a.errors, b.errors);
- swap(a.__isset, b.__isset);
-}
-
-const char* ValidatorResult::ascii_fingerprint = "EB04A806CFFC9025AEE48CFFDC378A86";
-const uint8_t ValidatorResult::binary_fingerprint[16] = {0xEB,0x04,0xA8,0x06,0xCF,0xFC,0x90,0x25,0xAE,0xE4,0x8C,0xFF,0xDC,0x37,0x8A,0x86};
-
-uint32_t ValidatorResult::read(::apache::thrift::protocol::TProtocol* iprot) {
-
- uint32_t xfer = 0;
- std::string fname;
- ::apache::thrift::protocol::TType ftype;
- int16_t fid;
-
- xfer += iprot->readStructBegin(fname);
-
- using ::apache::thrift::protocol::TProtocolException;
-
- bool isset_result = false;
-
- while (true)
- {
- xfer += iprot->readFieldBegin(fname, ftype, fid);
- if (ftype == ::apache::thrift::protocol::T_STOP) {
- break;
- }
- switch (fid)
- {
- case 1:
- if (ftype == ::apache::thrift::protocol::T_BOOL) {
- xfer += iprot->readBool(this->result);
- isset_result = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 2:
- if (ftype == ::apache::thrift::protocol::T_STRING) {
- xfer += iprot->readString(this->errorDetails);
- this->__isset.errorDetails = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- default:
- xfer += iprot->skip(ftype);
- break;
- }
- xfer += iprot->readFieldEnd();
- }
-
- xfer += iprot->readStructEnd();
-
- if (!isset_result)
- throw TProtocolException(TProtocolException::INVALID_DATA);
- return xfer;
-}
-
-uint32_t ValidatorResult::write(::apache::thrift::protocol::TProtocol* oprot) const {
- uint32_t xfer = 0;
- xfer += oprot->writeStructBegin("ValidatorResult");
-
- xfer += oprot->writeFieldBegin("result", ::apache::thrift::protocol::T_BOOL, 1);
- xfer += oprot->writeBool(this->result);
- xfer += oprot->writeFieldEnd();
-
- if (this->__isset.errorDetails) {
- xfer += oprot->writeFieldBegin("errorDetails", ::apache::thrift::protocol::T_STRING, 2);
- xfer += oprot->writeString(this->errorDetails);
- xfer += oprot->writeFieldEnd();
- }
- xfer += oprot->writeFieldStop();
- xfer += oprot->writeStructEnd();
- return xfer;
-}
-
-void swap(ValidatorResult &a, ValidatorResult &b) {
- using ::std::swap;
- swap(a.result, b.result);
- swap(a.errorDetails, b.errorDetails);
- swap(a.__isset, b.__isset);
-}
-
-const char* ValidationResults::ascii_fingerprint = "E73BC8630EE405DA5FB801ED852143D2";
-const uint8_t ValidationResults::binary_fingerprint[16] = {0xE7,0x3B,0xC8,0x63,0x0E,0xE4,0x05,0xDA,0x5F,0xB8,0x01,0xED,0x85,0x21,0x43,0xD2};
-
-uint32_t ValidationResults::read(::apache::thrift::protocol::TProtocol* iprot) {
-
- uint32_t xfer = 0;
- std::string fname;
- ::apache::thrift::protoco
<TRUNCATED>
[20/47] Added c++ client samples for integrattion of airavata with
any other application's c++ interface
Posted by sm...@apache.org.
http://git-wip-us.apache.org/repos/asf/airavata/blob/f891b7dc/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/Workflow.h
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/Workflow.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/Workflow.h
new file mode 100644
index 0000000..a63a9d1
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/Workflow.h
@@ -0,0 +1,1154 @@
+/**
+ * Autogenerated by Thrift Compiler (0.9.1)
+ *
+ * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+ * @generated
+ */
+#ifndef Workflow_H
+#define Workflow_H
+
+#include <thrift/TDispatchProcessor.h>
+#include "workflowAPI_types.h"
+
+namespace airavata { namespace api { namespace workflow {
+
+class WorkflowIf {
+ public:
+ virtual ~WorkflowIf() {}
+ virtual void getAllWorkflows(std::vector<std::string> & _return) = 0;
+ virtual void getWorkflow( ::Workflow& _return, const std::string& workflowTemplateId) = 0;
+ virtual void deleteWorkflow(const std::string& workflowTemplateId) = 0;
+ virtual void registerWorkflow(std::string& _return, const ::Workflow& workflow) = 0;
+ virtual void updateWorkflow(const std::string& workflowTemplateId, const ::Workflow& workflow) = 0;
+ virtual void getWorkflowTemplateId(std::string& _return, const std::string& workflowName) = 0;
+ virtual bool isWorkflowExistWithName(const std::string& workflowName) = 0;
+};
+
+class WorkflowIfFactory {
+ public:
+ typedef WorkflowIf Handler;
+
+ virtual ~WorkflowIfFactory() {}
+
+ virtual WorkflowIf* getHandler(const ::apache::thrift::TConnectionInfo& connInfo) = 0;
+ virtual void releaseHandler(WorkflowIf* /* handler */) = 0;
+};
+
+class WorkflowIfSingletonFactory : virtual public WorkflowIfFactory {
+ public:
+ WorkflowIfSingletonFactory(const boost::shared_ptr<WorkflowIf>& iface) : iface_(iface) {}
+ virtual ~WorkflowIfSingletonFactory() {}
+
+ virtual WorkflowIf* getHandler(const ::apache::thrift::TConnectionInfo&) {
+ return iface_.get();
+ }
+ virtual void releaseHandler(WorkflowIf* /* handler */) {}
+
+ protected:
+ boost::shared_ptr<WorkflowIf> iface_;
+};
+
+class WorkflowNull : virtual public WorkflowIf {
+ public:
+ virtual ~WorkflowNull() {}
+ void getAllWorkflows(std::vector<std::string> & /* _return */) {
+ return;
+ }
+ void getWorkflow( ::Workflow& /* _return */, const std::string& /* workflowTemplateId */) {
+ return;
+ }
+ void deleteWorkflow(const std::string& /* workflowTemplateId */) {
+ return;
+ }
+ void registerWorkflow(std::string& /* _return */, const ::Workflow& /* workflow */) {
+ return;
+ }
+ void updateWorkflow(const std::string& /* workflowTemplateId */, const ::Workflow& /* workflow */) {
+ return;
+ }
+ void getWorkflowTemplateId(std::string& /* _return */, const std::string& /* workflowName */) {
+ return;
+ }
+ bool isWorkflowExistWithName(const std::string& /* workflowName */) {
+ bool _return = false;
+ return _return;
+ }
+};
+
+
+class Workflow_getAllWorkflows_args {
+ public:
+
+ Workflow_getAllWorkflows_args() {
+ }
+
+ virtual ~Workflow_getAllWorkflows_args() throw() {}
+
+
+ bool operator == (const Workflow_getAllWorkflows_args & /* rhs */) const
+ {
+ return true;
+ }
+ bool operator != (const Workflow_getAllWorkflows_args &rhs) const {
+ return !(*this == rhs);
+ }
+
+ bool operator < (const Workflow_getAllWorkflows_args & ) const;
+
+ uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+ uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+
+class Workflow_getAllWorkflows_pargs {
+ public:
+
+
+ virtual ~Workflow_getAllWorkflows_pargs() throw() {}
+
+
+ uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+typedef struct _Workflow_getAllWorkflows_result__isset {
+ _Workflow_getAllWorkflows_result__isset() : success(false), ire(false), ace(false), ase(false) {}
+ bool success;
+ bool ire;
+ bool ace;
+ bool ase;
+} _Workflow_getAllWorkflows_result__isset;
+
+class Workflow_getAllWorkflows_result {
+ public:
+
+ Workflow_getAllWorkflows_result() {
+ }
+
+ virtual ~Workflow_getAllWorkflows_result() throw() {}
+
+ std::vector<std::string> success;
+ ::apache::airavata::api::error::InvalidRequestException ire;
+ ::apache::airavata::api::error::AiravataClientException ace;
+ ::apache::airavata::api::error::AiravataSystemException ase;
+
+ _Workflow_getAllWorkflows_result__isset __isset;
+
+ void __set_success(const std::vector<std::string> & val) {
+ success = val;
+ }
+
+ void __set_ire(const ::apache::airavata::api::error::InvalidRequestException& val) {
+ ire = val;
+ }
+
+ void __set_ace(const ::apache::airavata::api::error::AiravataClientException& val) {
+ ace = val;
+ }
+
+ void __set_ase(const ::apache::airavata::api::error::AiravataSystemException& val) {
+ ase = val;
+ }
+
+ bool operator == (const Workflow_getAllWorkflows_result & rhs) const
+ {
+ if (!(success == rhs.success))
+ return false;
+ if (!(ire == rhs.ire))
+ return false;
+ if (!(ace == rhs.ace))
+ return false;
+ if (!(ase == rhs.ase))
+ return false;
+ return true;
+ }
+ bool operator != (const Workflow_getAllWorkflows_result &rhs) const {
+ return !(*this == rhs);
+ }
+
+ bool operator < (const Workflow_getAllWorkflows_result & ) const;
+
+ uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+ uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+typedef struct _Workflow_getAllWorkflows_presult__isset {
+ _Workflow_getAllWorkflows_presult__isset() : success(false), ire(false), ace(false), ase(false) {}
+ bool success;
+ bool ire;
+ bool ace;
+ bool ase;
+} _Workflow_getAllWorkflows_presult__isset;
+
+class Workflow_getAllWorkflows_presult {
+ public:
+
+
+ virtual ~Workflow_getAllWorkflows_presult() throw() {}
+
+ std::vector<std::string> * success;
+ ::apache::airavata::api::error::InvalidRequestException ire;
+ ::apache::airavata::api::error::AiravataClientException ace;
+ ::apache::airavata::api::error::AiravataSystemException ase;
+
+ _Workflow_getAllWorkflows_presult__isset __isset;
+
+ uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+
+};
+
+
+class Workflow_getWorkflow_args {
+ public:
+
+ Workflow_getWorkflow_args() : workflowTemplateId() {
+ }
+
+ virtual ~Workflow_getWorkflow_args() throw() {}
+
+ std::string workflowTemplateId;
+
+ void __set_workflowTemplateId(const std::string& val) {
+ workflowTemplateId = val;
+ }
+
+ bool operator == (const Workflow_getWorkflow_args & rhs) const
+ {
+ if (!(workflowTemplateId == rhs.workflowTemplateId))
+ return false;
+ return true;
+ }
+ bool operator != (const Workflow_getWorkflow_args &rhs) const {
+ return !(*this == rhs);
+ }
+
+ bool operator < (const Workflow_getWorkflow_args & ) const;
+
+ uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+ uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+
+class Workflow_getWorkflow_pargs {
+ public:
+
+
+ virtual ~Workflow_getWorkflow_pargs() throw() {}
+
+ const std::string* workflowTemplateId;
+
+ uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+typedef struct _Workflow_getWorkflow_result__isset {
+ _Workflow_getWorkflow_result__isset() : success(false), ire(false), ace(false), ase(false) {}
+ bool success;
+ bool ire;
+ bool ace;
+ bool ase;
+} _Workflow_getWorkflow_result__isset;
+
+class Workflow_getWorkflow_result {
+ public:
+
+ Workflow_getWorkflow_result() {
+ }
+
+ virtual ~Workflow_getWorkflow_result() throw() {}
+
+ ::Workflow success;
+ ::apache::airavata::api::error::InvalidRequestException ire;
+ ::apache::airavata::api::error::AiravataClientException ace;
+ ::apache::airavata::api::error::AiravataSystemException ase;
+
+ _Workflow_getWorkflow_result__isset __isset;
+
+ void __set_success(const ::Workflow& val) {
+ success = val;
+ }
+
+ void __set_ire(const ::apache::airavata::api::error::InvalidRequestException& val) {
+ ire = val;
+ }
+
+ void __set_ace(const ::apache::airavata::api::error::AiravataClientException& val) {
+ ace = val;
+ }
+
+ void __set_ase(const ::apache::airavata::api::error::AiravataSystemException& val) {
+ ase = val;
+ }
+
+ bool operator == (const Workflow_getWorkflow_result & rhs) const
+ {
+ if (!(success == rhs.success))
+ return false;
+ if (!(ire == rhs.ire))
+ return false;
+ if (!(ace == rhs.ace))
+ return false;
+ if (!(ase == rhs.ase))
+ return false;
+ return true;
+ }
+ bool operator != (const Workflow_getWorkflow_result &rhs) const {
+ return !(*this == rhs);
+ }
+
+ bool operator < (const Workflow_getWorkflow_result & ) const;
+
+ uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+ uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+typedef struct _Workflow_getWorkflow_presult__isset {
+ _Workflow_getWorkflow_presult__isset() : success(false), ire(false), ace(false), ase(false) {}
+ bool success;
+ bool ire;
+ bool ace;
+ bool ase;
+} _Workflow_getWorkflow_presult__isset;
+
+class Workflow_getWorkflow_presult {
+ public:
+
+
+ virtual ~Workflow_getWorkflow_presult() throw() {}
+
+ ::Workflow* success;
+ ::apache::airavata::api::error::InvalidRequestException ire;
+ ::apache::airavata::api::error::AiravataClientException ace;
+ ::apache::airavata::api::error::AiravataSystemException ase;
+
+ _Workflow_getWorkflow_presult__isset __isset;
+
+ uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+
+};
+
+
+class Workflow_deleteWorkflow_args {
+ public:
+
+ Workflow_deleteWorkflow_args() : workflowTemplateId() {
+ }
+
+ virtual ~Workflow_deleteWorkflow_args() throw() {}
+
+ std::string workflowTemplateId;
+
+ void __set_workflowTemplateId(const std::string& val) {
+ workflowTemplateId = val;
+ }
+
+ bool operator == (const Workflow_deleteWorkflow_args & rhs) const
+ {
+ if (!(workflowTemplateId == rhs.workflowTemplateId))
+ return false;
+ return true;
+ }
+ bool operator != (const Workflow_deleteWorkflow_args &rhs) const {
+ return !(*this == rhs);
+ }
+
+ bool operator < (const Workflow_deleteWorkflow_args & ) const;
+
+ uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+ uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+
+class Workflow_deleteWorkflow_pargs {
+ public:
+
+
+ virtual ~Workflow_deleteWorkflow_pargs() throw() {}
+
+ const std::string* workflowTemplateId;
+
+ uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+typedef struct _Workflow_deleteWorkflow_result__isset {
+ _Workflow_deleteWorkflow_result__isset() : ire(false), ace(false), ase(false) {}
+ bool ire;
+ bool ace;
+ bool ase;
+} _Workflow_deleteWorkflow_result__isset;
+
+class Workflow_deleteWorkflow_result {
+ public:
+
+ Workflow_deleteWorkflow_result() {
+ }
+
+ virtual ~Workflow_deleteWorkflow_result() throw() {}
+
+ ::apache::airavata::api::error::InvalidRequestException ire;
+ ::apache::airavata::api::error::AiravataClientException ace;
+ ::apache::airavata::api::error::AiravataSystemException ase;
+
+ _Workflow_deleteWorkflow_result__isset __isset;
+
+ void __set_ire(const ::apache::airavata::api::error::InvalidRequestException& val) {
+ ire = val;
+ }
+
+ void __set_ace(const ::apache::airavata::api::error::AiravataClientException& val) {
+ ace = val;
+ }
+
+ void __set_ase(const ::apache::airavata::api::error::AiravataSystemException& val) {
+ ase = val;
+ }
+
+ bool operator == (const Workflow_deleteWorkflow_result & rhs) const
+ {
+ if (!(ire == rhs.ire))
+ return false;
+ if (!(ace == rhs.ace))
+ return false;
+ if (!(ase == rhs.ase))
+ return false;
+ return true;
+ }
+ bool operator != (const Workflow_deleteWorkflow_result &rhs) const {
+ return !(*this == rhs);
+ }
+
+ bool operator < (const Workflow_deleteWorkflow_result & ) const;
+
+ uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+ uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+typedef struct _Workflow_deleteWorkflow_presult__isset {
+ _Workflow_deleteWorkflow_presult__isset() : ire(false), ace(false), ase(false) {}
+ bool ire;
+ bool ace;
+ bool ase;
+} _Workflow_deleteWorkflow_presult__isset;
+
+class Workflow_deleteWorkflow_presult {
+ public:
+
+
+ virtual ~Workflow_deleteWorkflow_presult() throw() {}
+
+ ::apache::airavata::api::error::InvalidRequestException ire;
+ ::apache::airavata::api::error::AiravataClientException ace;
+ ::apache::airavata::api::error::AiravataSystemException ase;
+
+ _Workflow_deleteWorkflow_presult__isset __isset;
+
+ uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+
+};
+
+
+class Workflow_registerWorkflow_args {
+ public:
+
+ Workflow_registerWorkflow_args() {
+ }
+
+ virtual ~Workflow_registerWorkflow_args() throw() {}
+
+ ::Workflow workflow;
+
+ void __set_workflow(const ::Workflow& val) {
+ workflow = val;
+ }
+
+ bool operator == (const Workflow_registerWorkflow_args & rhs) const
+ {
+ if (!(workflow == rhs.workflow))
+ return false;
+ return true;
+ }
+ bool operator != (const Workflow_registerWorkflow_args &rhs) const {
+ return !(*this == rhs);
+ }
+
+ bool operator < (const Workflow_registerWorkflow_args & ) const;
+
+ uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+ uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+
+class Workflow_registerWorkflow_pargs {
+ public:
+
+
+ virtual ~Workflow_registerWorkflow_pargs() throw() {}
+
+ const ::Workflow* workflow;
+
+ uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+typedef struct _Workflow_registerWorkflow_result__isset {
+ _Workflow_registerWorkflow_result__isset() : success(false), ire(false), ace(false), ase(false) {}
+ bool success;
+ bool ire;
+ bool ace;
+ bool ase;
+} _Workflow_registerWorkflow_result__isset;
+
+class Workflow_registerWorkflow_result {
+ public:
+
+ Workflow_registerWorkflow_result() : success() {
+ }
+
+ virtual ~Workflow_registerWorkflow_result() throw() {}
+
+ std::string success;
+ ::apache::airavata::api::error::InvalidRequestException ire;
+ ::apache::airavata::api::error::AiravataClientException ace;
+ ::apache::airavata::api::error::AiravataSystemException ase;
+
+ _Workflow_registerWorkflow_result__isset __isset;
+
+ void __set_success(const std::string& val) {
+ success = val;
+ }
+
+ void __set_ire(const ::apache::airavata::api::error::InvalidRequestException& val) {
+ ire = val;
+ }
+
+ void __set_ace(const ::apache::airavata::api::error::AiravataClientException& val) {
+ ace = val;
+ }
+
+ void __set_ase(const ::apache::airavata::api::error::AiravataSystemException& val) {
+ ase = val;
+ }
+
+ bool operator == (const Workflow_registerWorkflow_result & rhs) const
+ {
+ if (!(success == rhs.success))
+ return false;
+ if (!(ire == rhs.ire))
+ return false;
+ if (!(ace == rhs.ace))
+ return false;
+ if (!(ase == rhs.ase))
+ return false;
+ return true;
+ }
+ bool operator != (const Workflow_registerWorkflow_result &rhs) const {
+ return !(*this == rhs);
+ }
+
+ bool operator < (const Workflow_registerWorkflow_result & ) const;
+
+ uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+ uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+typedef struct _Workflow_registerWorkflow_presult__isset {
+ _Workflow_registerWorkflow_presult__isset() : success(false), ire(false), ace(false), ase(false) {}
+ bool success;
+ bool ire;
+ bool ace;
+ bool ase;
+} _Workflow_registerWorkflow_presult__isset;
+
+class Workflow_registerWorkflow_presult {
+ public:
+
+
+ virtual ~Workflow_registerWorkflow_presult() throw() {}
+
+ std::string* success;
+ ::apache::airavata::api::error::InvalidRequestException ire;
+ ::apache::airavata::api::error::AiravataClientException ace;
+ ::apache::airavata::api::error::AiravataSystemException ase;
+
+ _Workflow_registerWorkflow_presult__isset __isset;
+
+ uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+
+};
+
+
+class Workflow_updateWorkflow_args {
+ public:
+
+ Workflow_updateWorkflow_args() : workflowTemplateId() {
+ }
+
+ virtual ~Workflow_updateWorkflow_args() throw() {}
+
+ std::string workflowTemplateId;
+ ::Workflow workflow;
+
+ void __set_workflowTemplateId(const std::string& val) {
+ workflowTemplateId = val;
+ }
+
+ void __set_workflow(const ::Workflow& val) {
+ workflow = val;
+ }
+
+ bool operator == (const Workflow_updateWorkflow_args & rhs) const
+ {
+ if (!(workflowTemplateId == rhs.workflowTemplateId))
+ return false;
+ if (!(workflow == rhs.workflow))
+ return false;
+ return true;
+ }
+ bool operator != (const Workflow_updateWorkflow_args &rhs) const {
+ return !(*this == rhs);
+ }
+
+ bool operator < (const Workflow_updateWorkflow_args & ) const;
+
+ uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+ uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+
+class Workflow_updateWorkflow_pargs {
+ public:
+
+
+ virtual ~Workflow_updateWorkflow_pargs() throw() {}
+
+ const std::string* workflowTemplateId;
+ const ::Workflow* workflow;
+
+ uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+typedef struct _Workflow_updateWorkflow_result__isset {
+ _Workflow_updateWorkflow_result__isset() : ire(false), ace(false), ase(false) {}
+ bool ire;
+ bool ace;
+ bool ase;
+} _Workflow_updateWorkflow_result__isset;
+
+class Workflow_updateWorkflow_result {
+ public:
+
+ Workflow_updateWorkflow_result() {
+ }
+
+ virtual ~Workflow_updateWorkflow_result() throw() {}
+
+ ::apache::airavata::api::error::InvalidRequestException ire;
+ ::apache::airavata::api::error::AiravataClientException ace;
+ ::apache::airavata::api::error::AiravataSystemException ase;
+
+ _Workflow_updateWorkflow_result__isset __isset;
+
+ void __set_ire(const ::apache::airavata::api::error::InvalidRequestException& val) {
+ ire = val;
+ }
+
+ void __set_ace(const ::apache::airavata::api::error::AiravataClientException& val) {
+ ace = val;
+ }
+
+ void __set_ase(const ::apache::airavata::api::error::AiravataSystemException& val) {
+ ase = val;
+ }
+
+ bool operator == (const Workflow_updateWorkflow_result & rhs) const
+ {
+ if (!(ire == rhs.ire))
+ return false;
+ if (!(ace == rhs.ace))
+ return false;
+ if (!(ase == rhs.ase))
+ return false;
+ return true;
+ }
+ bool operator != (const Workflow_updateWorkflow_result &rhs) const {
+ return !(*this == rhs);
+ }
+
+ bool operator < (const Workflow_updateWorkflow_result & ) const;
+
+ uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+ uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+typedef struct _Workflow_updateWorkflow_presult__isset {
+ _Workflow_updateWorkflow_presult__isset() : ire(false), ace(false), ase(false) {}
+ bool ire;
+ bool ace;
+ bool ase;
+} _Workflow_updateWorkflow_presult__isset;
+
+class Workflow_updateWorkflow_presult {
+ public:
+
+
+ virtual ~Workflow_updateWorkflow_presult() throw() {}
+
+ ::apache::airavata::api::error::InvalidRequestException ire;
+ ::apache::airavata::api::error::AiravataClientException ace;
+ ::apache::airavata::api::error::AiravataSystemException ase;
+
+ _Workflow_updateWorkflow_presult__isset __isset;
+
+ uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+
+};
+
+
+class Workflow_getWorkflowTemplateId_args {
+ public:
+
+ Workflow_getWorkflowTemplateId_args() : workflowName() {
+ }
+
+ virtual ~Workflow_getWorkflowTemplateId_args() throw() {}
+
+ std::string workflowName;
+
+ void __set_workflowName(const std::string& val) {
+ workflowName = val;
+ }
+
+ bool operator == (const Workflow_getWorkflowTemplateId_args & rhs) const
+ {
+ if (!(workflowName == rhs.workflowName))
+ return false;
+ return true;
+ }
+ bool operator != (const Workflow_getWorkflowTemplateId_args &rhs) const {
+ return !(*this == rhs);
+ }
+
+ bool operator < (const Workflow_getWorkflowTemplateId_args & ) const;
+
+ uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+ uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+
+class Workflow_getWorkflowTemplateId_pargs {
+ public:
+
+
+ virtual ~Workflow_getWorkflowTemplateId_pargs() throw() {}
+
+ const std::string* workflowName;
+
+ uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+typedef struct _Workflow_getWorkflowTemplateId_result__isset {
+ _Workflow_getWorkflowTemplateId_result__isset() : success(false), ire(false), ace(false), ase(false) {}
+ bool success;
+ bool ire;
+ bool ace;
+ bool ase;
+} _Workflow_getWorkflowTemplateId_result__isset;
+
+class Workflow_getWorkflowTemplateId_result {
+ public:
+
+ Workflow_getWorkflowTemplateId_result() : success() {
+ }
+
+ virtual ~Workflow_getWorkflowTemplateId_result() throw() {}
+
+ std::string success;
+ ::apache::airavata::api::error::InvalidRequestException ire;
+ ::apache::airavata::api::error::AiravataClientException ace;
+ ::apache::airavata::api::error::AiravataSystemException ase;
+
+ _Workflow_getWorkflowTemplateId_result__isset __isset;
+
+ void __set_success(const std::string& val) {
+ success = val;
+ }
+
+ void __set_ire(const ::apache::airavata::api::error::InvalidRequestException& val) {
+ ire = val;
+ }
+
+ void __set_ace(const ::apache::airavata::api::error::AiravataClientException& val) {
+ ace = val;
+ }
+
+ void __set_ase(const ::apache::airavata::api::error::AiravataSystemException& val) {
+ ase = val;
+ }
+
+ bool operator == (const Workflow_getWorkflowTemplateId_result & rhs) const
+ {
+ if (!(success == rhs.success))
+ return false;
+ if (!(ire == rhs.ire))
+ return false;
+ if (!(ace == rhs.ace))
+ return false;
+ if (!(ase == rhs.ase))
+ return false;
+ return true;
+ }
+ bool operator != (const Workflow_getWorkflowTemplateId_result &rhs) const {
+ return !(*this == rhs);
+ }
+
+ bool operator < (const Workflow_getWorkflowTemplateId_result & ) const;
+
+ uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+ uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+typedef struct _Workflow_getWorkflowTemplateId_presult__isset {
+ _Workflow_getWorkflowTemplateId_presult__isset() : success(false), ire(false), ace(false), ase(false) {}
+ bool success;
+ bool ire;
+ bool ace;
+ bool ase;
+} _Workflow_getWorkflowTemplateId_presult__isset;
+
+class Workflow_getWorkflowTemplateId_presult {
+ public:
+
+
+ virtual ~Workflow_getWorkflowTemplateId_presult() throw() {}
+
+ std::string* success;
+ ::apache::airavata::api::error::InvalidRequestException ire;
+ ::apache::airavata::api::error::AiravataClientException ace;
+ ::apache::airavata::api::error::AiravataSystemException ase;
+
+ _Workflow_getWorkflowTemplateId_presult__isset __isset;
+
+ uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+
+};
+
+
+class Workflow_isWorkflowExistWithName_args {
+ public:
+
+ Workflow_isWorkflowExistWithName_args() : workflowName() {
+ }
+
+ virtual ~Workflow_isWorkflowExistWithName_args() throw() {}
+
+ std::string workflowName;
+
+ void __set_workflowName(const std::string& val) {
+ workflowName = val;
+ }
+
+ bool operator == (const Workflow_isWorkflowExistWithName_args & rhs) const
+ {
+ if (!(workflowName == rhs.workflowName))
+ return false;
+ return true;
+ }
+ bool operator != (const Workflow_isWorkflowExistWithName_args &rhs) const {
+ return !(*this == rhs);
+ }
+
+ bool operator < (const Workflow_isWorkflowExistWithName_args & ) const;
+
+ uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+ uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+
+class Workflow_isWorkflowExistWithName_pargs {
+ public:
+
+
+ virtual ~Workflow_isWorkflowExistWithName_pargs() throw() {}
+
+ const std::string* workflowName;
+
+ uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+typedef struct _Workflow_isWorkflowExistWithName_result__isset {
+ _Workflow_isWorkflowExistWithName_result__isset() : success(false), ire(false), ace(false), ase(false) {}
+ bool success;
+ bool ire;
+ bool ace;
+ bool ase;
+} _Workflow_isWorkflowExistWithName_result__isset;
+
+class Workflow_isWorkflowExistWithName_result {
+ public:
+
+ Workflow_isWorkflowExistWithName_result() : success(0) {
+ }
+
+ virtual ~Workflow_isWorkflowExistWithName_result() throw() {}
+
+ bool success;
+ ::apache::airavata::api::error::InvalidRequestException ire;
+ ::apache::airavata::api::error::AiravataClientException ace;
+ ::apache::airavata::api::error::AiravataSystemException ase;
+
+ _Workflow_isWorkflowExistWithName_result__isset __isset;
+
+ void __set_success(const bool val) {
+ success = val;
+ }
+
+ void __set_ire(const ::apache::airavata::api::error::InvalidRequestException& val) {
+ ire = val;
+ }
+
+ void __set_ace(const ::apache::airavata::api::error::AiravataClientException& val) {
+ ace = val;
+ }
+
+ void __set_ase(const ::apache::airavata::api::error::AiravataSystemException& val) {
+ ase = val;
+ }
+
+ bool operator == (const Workflow_isWorkflowExistWithName_result & rhs) const
+ {
+ if (!(success == rhs.success))
+ return false;
+ if (!(ire == rhs.ire))
+ return false;
+ if (!(ace == rhs.ace))
+ return false;
+ if (!(ase == rhs.ase))
+ return false;
+ return true;
+ }
+ bool operator != (const Workflow_isWorkflowExistWithName_result &rhs) const {
+ return !(*this == rhs);
+ }
+
+ bool operator < (const Workflow_isWorkflowExistWithName_result & ) const;
+
+ uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+ uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+typedef struct _Workflow_isWorkflowExistWithName_presult__isset {
+ _Workflow_isWorkflowExistWithName_presult__isset() : success(false), ire(false), ace(false), ase(false) {}
+ bool success;
+ bool ire;
+ bool ace;
+ bool ase;
+} _Workflow_isWorkflowExistWithName_presult__isset;
+
+class Workflow_isWorkflowExistWithName_presult {
+ public:
+
+
+ virtual ~Workflow_isWorkflowExistWithName_presult() throw() {}
+
+ bool* success;
+ ::apache::airavata::api::error::InvalidRequestException ire;
+ ::apache::airavata::api::error::AiravataClientException ace;
+ ::apache::airavata::api::error::AiravataSystemException ase;
+
+ _Workflow_isWorkflowExistWithName_presult__isset __isset;
+
+ uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+
+};
+
+class WorkflowClient : virtual public WorkflowIf {
+ public:
+ WorkflowClient(boost::shared_ptr< ::apache::thrift::protocol::TProtocol> prot) :
+ piprot_(prot),
+ poprot_(prot) {
+ iprot_ = prot.get();
+ oprot_ = prot.get();
+ }
+ WorkflowClient(boost::shared_ptr< ::apache::thrift::protocol::TProtocol> iprot, boost::shared_ptr< ::apache::thrift::protocol::TProtocol> oprot) :
+ piprot_(iprot),
+ poprot_(oprot) {
+ iprot_ = iprot.get();
+ oprot_ = oprot.get();
+ }
+ boost::shared_ptr< ::apache::thrift::protocol::TProtocol> getInputProtocol() {
+ return piprot_;
+ }
+ boost::shared_ptr< ::apache::thrift::protocol::TProtocol> getOutputProtocol() {
+ return poprot_;
+ }
+ void getAllWorkflows(std::vector<std::string> & _return);
+ void send_getAllWorkflows();
+ void recv_getAllWorkflows(std::vector<std::string> & _return);
+ void getWorkflow( ::Workflow& _return, const std::string& workflowTemplateId);
+ void send_getWorkflow(const std::string& workflowTemplateId);
+ void recv_getWorkflow( ::Workflow& _return);
+ void deleteWorkflow(const std::string& workflowTemplateId);
+ void send_deleteWorkflow(const std::string& workflowTemplateId);
+ void recv_deleteWorkflow();
+ void registerWorkflow(std::string& _return, const ::Workflow& workflow);
+ void send_registerWorkflow(const ::Workflow& workflow);
+ void recv_registerWorkflow(std::string& _return);
+ void updateWorkflow(const std::string& workflowTemplateId, const ::Workflow& workflow);
+ void send_updateWorkflow(const std::string& workflowTemplateId, const ::Workflow& workflow);
+ void recv_updateWorkflow();
+ void getWorkflowTemplateId(std::string& _return, const std::string& workflowName);
+ void send_getWorkflowTemplateId(const std::string& workflowName);
+ void recv_getWorkflowTemplateId(std::string& _return);
+ bool isWorkflowExistWithName(const std::string& workflowName);
+ void send_isWorkflowExistWithName(const std::string& workflowName);
+ bool recv_isWorkflowExistWithName();
+ protected:
+ boost::shared_ptr< ::apache::thrift::protocol::TProtocol> piprot_;
+ boost::shared_ptr< ::apache::thrift::protocol::TProtocol> poprot_;
+ ::apache::thrift::protocol::TProtocol* iprot_;
+ ::apache::thrift::protocol::TProtocol* oprot_;
+};
+
+class WorkflowProcessor : public ::apache::thrift::TDispatchProcessor {
+ protected:
+ boost::shared_ptr<WorkflowIf> iface_;
+ virtual bool dispatchCall(::apache::thrift::protocol::TProtocol* iprot, ::apache::thrift::protocol::TProtocol* oprot, const std::string& fname, int32_t seqid, void* callContext);
+ private:
+ typedef void (WorkflowProcessor::*ProcessFunction)(int32_t, ::apache::thrift::protocol::TProtocol*, ::apache::thrift::protocol::TProtocol*, void*);
+ typedef std::map<std::string, ProcessFunction> ProcessMap;
+ ProcessMap processMap_;
+ void process_getAllWorkflows(int32_t seqid, ::apache::thrift::protocol::TProtocol* iprot, ::apache::thrift::protocol::TProtocol* oprot, void* callContext);
+ void process_getWorkflow(int32_t seqid, ::apache::thrift::protocol::TProtocol* iprot, ::apache::thrift::protocol::TProtocol* oprot, void* callContext);
+ void process_deleteWorkflow(int32_t seqid, ::apache::thrift::protocol::TProtocol* iprot, ::apache::thrift::protocol::TProtocol* oprot, void* callContext);
+ void process_registerWorkflow(int32_t seqid, ::apache::thrift::protocol::TProtocol* iprot, ::apache::thrift::protocol::TProtocol* oprot, void* callContext);
+ void process_updateWorkflow(int32_t seqid, ::apache::thrift::protocol::TProtocol* iprot, ::apache::thrift::protocol::TProtocol* oprot, void* callContext);
+ void process_getWorkflowTemplateId(int32_t seqid, ::apache::thrift::protocol::TProtocol* iprot, ::apache::thrift::protocol::TProtocol* oprot, void* callContext);
+ void process_isWorkflowExistWithName(int32_t seqid, ::apache::thrift::protocol::TProtocol* iprot, ::apache::thrift::protocol::TProtocol* oprot, void* callContext);
+ public:
+ WorkflowProcessor(boost::shared_ptr<WorkflowIf> iface) :
+ iface_(iface) {
+ processMap_["getAllWorkflows"] = &WorkflowProcessor::process_getAllWorkflows;
+ processMap_["getWorkflow"] = &WorkflowProcessor::process_getWorkflow;
+ processMap_["deleteWorkflow"] = &WorkflowProcessor::process_deleteWorkflow;
+ processMap_["registerWorkflow"] = &WorkflowProcessor::process_registerWorkflow;
+ processMap_["updateWorkflow"] = &WorkflowProcessor::process_updateWorkflow;
+ processMap_["getWorkflowTemplateId"] = &WorkflowProcessor::process_getWorkflowTemplateId;
+ processMap_["isWorkflowExistWithName"] = &WorkflowProcessor::process_isWorkflowExistWithName;
+ }
+
+ virtual ~WorkflowProcessor() {}
+};
+
+class WorkflowProcessorFactory : public ::apache::thrift::TProcessorFactory {
+ public:
+ WorkflowProcessorFactory(const ::boost::shared_ptr< WorkflowIfFactory >& handlerFactory) :
+ handlerFactory_(handlerFactory) {}
+
+ ::boost::shared_ptr< ::apache::thrift::TProcessor > getProcessor(const ::apache::thrift::TConnectionInfo& connInfo);
+
+ protected:
+ ::boost::shared_ptr< WorkflowIfFactory > handlerFactory_;
+};
+
+class WorkflowMultiface : virtual public WorkflowIf {
+ public:
+ WorkflowMultiface(std::vector<boost::shared_ptr<WorkflowIf> >& ifaces) : ifaces_(ifaces) {
+ }
+ virtual ~WorkflowMultiface() {}
+ protected:
+ std::vector<boost::shared_ptr<WorkflowIf> > ifaces_;
+ WorkflowMultiface() {}
+ void add(boost::shared_ptr<WorkflowIf> iface) {
+ ifaces_.push_back(iface);
+ }
+ public:
+ void getAllWorkflows(std::vector<std::string> & _return) {
+ size_t sz = ifaces_.size();
+ size_t i = 0;
+ for (; i < (sz - 1); ++i) {
+ ifaces_[i]->getAllWorkflows(_return);
+ }
+ ifaces_[i]->getAllWorkflows(_return);
+ return;
+ }
+
+ void getWorkflow( ::Workflow& _return, const std::string& workflowTemplateId) {
+ size_t sz = ifaces_.size();
+ size_t i = 0;
+ for (; i < (sz - 1); ++i) {
+ ifaces_[i]->getWorkflow(_return, workflowTemplateId);
+ }
+ ifaces_[i]->getWorkflow(_return, workflowTemplateId);
+ return;
+ }
+
+ void deleteWorkflow(const std::string& workflowTemplateId) {
+ size_t sz = ifaces_.size();
+ size_t i = 0;
+ for (; i < (sz - 1); ++i) {
+ ifaces_[i]->deleteWorkflow(workflowTemplateId);
+ }
+ ifaces_[i]->deleteWorkflow(workflowTemplateId);
+ }
+
+ void registerWorkflow(std::string& _return, const ::Workflow& workflow) {
+ size_t sz = ifaces_.size();
+ size_t i = 0;
+ for (; i < (sz - 1); ++i) {
+ ifaces_[i]->registerWorkflow(_return, workflow);
+ }
+ ifaces_[i]->registerWorkflow(_return, workflow);
+ return;
+ }
+
+ void updateWorkflow(const std::string& workflowTemplateId, const ::Workflow& workflow) {
+ size_t sz = ifaces_.size();
+ size_t i = 0;
+ for (; i < (sz - 1); ++i) {
+ ifaces_[i]->updateWorkflow(workflowTemplateId, workflow);
+ }
+ ifaces_[i]->updateWorkflow(workflowTemplateId, workflow);
+ }
+
+ void getWorkflowTemplateId(std::string& _return, const std::string& workflowName) {
+ size_t sz = ifaces_.size();
+ size_t i = 0;
+ for (; i < (sz - 1); ++i) {
+ ifaces_[i]->getWorkflowTemplateId(_return, workflowName);
+ }
+ ifaces_[i]->getWorkflowTemplateId(_return, workflowName);
+ return;
+ }
+
+ bool isWorkflowExistWithName(const std::string& workflowName) {
+ size_t sz = ifaces_.size();
+ size_t i = 0;
+ for (; i < (sz - 1); ++i) {
+ ifaces_[i]->isWorkflowExistWithName(workflowName);
+ }
+ return ifaces_[i]->isWorkflowExistWithName(workflowName);
+ }
+
+};
+
+}}} // namespace
+
+#endif
http://git-wip-us.apache.org/repos/asf/airavata/blob/f891b7dc/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/Workflow_server.skeleton.cpp
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/Workflow_server.skeleton.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/Workflow_server.skeleton.cpp
new file mode 100644
index 0000000..4883b7b
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/Workflow_server.skeleton.cpp
@@ -0,0 +1,74 @@
+// This autogenerated skeleton file illustrates how to build a server.
+// You should copy it to another filename to avoid overwriting it.
+
+#include "Workflow.h"
+#include <thrift/protocol/TBinaryProtocol.h>
+#include <thrift/server/TSimpleServer.h>
+#include <thrift/transport/TServerSocket.h>
+#include <thrift/transport/TBufferTransports.h>
+
+using namespace ::apache::thrift;
+using namespace ::apache::thrift::protocol;
+using namespace ::apache::thrift::transport;
+using namespace ::apache::thrift::server;
+
+using boost::shared_ptr;
+
+using namespace ::airavata::api::workflow;
+
+class WorkflowHandler : virtual public WorkflowIf {
+ public:
+ WorkflowHandler() {
+ // Your initialization goes here
+ }
+
+ void getAllWorkflows(std::vector<std::string> & _return) {
+ // Your implementation goes here
+ printf("getAllWorkflows\n");
+ }
+
+ void getWorkflow( ::Workflow& _return, const std::string& workflowTemplateId) {
+ // Your implementation goes here
+ printf("getWorkflow\n");
+ }
+
+ void deleteWorkflow(const std::string& workflowTemplateId) {
+ // Your implementation goes here
+ printf("deleteWorkflow\n");
+ }
+
+ void registerWorkflow(std::string& _return, const ::Workflow& workflow) {
+ // Your implementation goes here
+ printf("registerWorkflow\n");
+ }
+
+ void updateWorkflow(const std::string& workflowTemplateId, const ::Workflow& workflow) {
+ // Your implementation goes here
+ printf("updateWorkflow\n");
+ }
+
+ void getWorkflowTemplateId(std::string& _return, const std::string& workflowName) {
+ // Your implementation goes here
+ printf("getWorkflowTemplateId\n");
+ }
+
+ bool isWorkflowExistWithName(const std::string& workflowName) {
+ // Your implementation goes here
+ printf("isWorkflowExistWithName\n");
+ }
+
+};
+
+int main(int argc, char **argv) {
+ int port = 9090;
+ shared_ptr<WorkflowHandler> handler(new WorkflowHandler());
+ shared_ptr<TProcessor> processor(new WorkflowProcessor(handler));
+ shared_ptr<TServerTransport> serverTransport(new TServerSocket(port));
+ shared_ptr<TTransportFactory> transportFactory(new TBufferedTransportFactory());
+ shared_ptr<TProtocolFactory> protocolFactory(new TBinaryProtocolFactory());
+
+ TSimpleServer server(processor, serverTransport, transportFactory, protocolFactory);
+ server.serve();
+ return 0;
+}
+
http://git-wip-us.apache.org/repos/asf/airavata/blob/f891b7dc/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/airavataAPI_constants.cpp
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/airavataAPI_constants.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/airavataAPI_constants.cpp
new file mode 100644
index 0000000..193d136
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/airavataAPI_constants.cpp
@@ -0,0 +1,19 @@
+/**
+ * Autogenerated by Thrift Compiler (0.9.1)
+ *
+ * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+ * @generated
+ */
+#include "airavataAPI_constants.h"
+
+namespace apache { namespace airavata { namespace api {
+
+const airavataAPIConstants g_airavataAPI_constants;
+
+airavataAPIConstants::airavataAPIConstants() {
+ AIRAVATA_API_VERSION = "0.13.0";
+
+}
+
+}}} // namespace
+
http://git-wip-us.apache.org/repos/asf/airavata/blob/f891b7dc/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/airavataAPI_constants.h
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/airavataAPI_constants.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/airavataAPI_constants.h
new file mode 100644
index 0000000..4761835
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/airavataAPI_constants.h
@@ -0,0 +1,25 @@
+/**
+ * Autogenerated by Thrift Compiler (0.9.1)
+ *
+ * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+ * @generated
+ */
+#ifndef airavataAPI_CONSTANTS_H
+#define airavataAPI_CONSTANTS_H
+
+#include "airavataAPI_types.h"
+
+namespace apache { namespace airavata { namespace api {
+
+class airavataAPIConstants {
+ public:
+ airavataAPIConstants();
+
+ std::string AIRAVATA_API_VERSION;
+};
+
+extern const airavataAPIConstants g_airavataAPI_constants;
+
+}}} // namespace
+
+#endif
http://git-wip-us.apache.org/repos/asf/airavata/blob/f891b7dc/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/airavataAPI_types.cpp
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/airavataAPI_types.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/airavataAPI_types.cpp
new file mode 100644
index 0000000..ab8c1ba
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/airavataAPI_types.cpp
@@ -0,0 +1,13 @@
+/**
+ * Autogenerated by Thrift Compiler (0.9.1)
+ *
+ * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+ * @generated
+ */
+#include "airavataAPI_types.h"
+
+#include <algorithm>
+
+namespace apache { namespace airavata { namespace api {
+
+}}} // namespace
http://git-wip-us.apache.org/repos/asf/airavata/blob/f891b7dc/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/airavataAPI_types.h
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/airavataAPI_types.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/airavataAPI_types.h
new file mode 100644
index 0000000..5e78871
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/airavataAPI_types.h
@@ -0,0 +1,30 @@
+/**
+ * Autogenerated by Thrift Compiler (0.9.1)
+ *
+ * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+ * @generated
+ */
+#ifndef airavataAPI_TYPES_H
+#define airavataAPI_TYPES_H
+
+#include <thrift/Thrift.h>
+#include <thrift/TApplicationException.h>
+#include <thrift/protocol/TProtocol.h>
+#include <thrift/transport/TTransport.h>
+
+#include <thrift/cxxfunctional.h>
+#include "airavataErrors_types.h"
+#include "airavataDataModel_types.h"
+#include "experimentModel_types.h"
+#include "workspaceModel_types.h"
+#include "computeResourceModel_types.h"
+#include "applicationDeploymentModel_types.h"
+#include "applicationInterfaceModel_types.h"
+#include "gatewayResourceProfileModel_types.h"
+
+
+namespace apache { namespace airavata { namespace api {
+
+}}} // namespace
+
+#endif
http://git-wip-us.apache.org/repos/asf/airavata/blob/f891b7dc/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/airavataDataModel_constants.cpp
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/airavataDataModel_constants.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/airavataDataModel_constants.cpp
new file mode 100644
index 0000000..301f322
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/airavataDataModel_constants.cpp
@@ -0,0 +1,17 @@
+/**
+ * Autogenerated by Thrift Compiler (0.9.1)
+ *
+ * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+ * @generated
+ */
+#include "airavataDataModel_constants.h"
+
+namespace apache { namespace airavata { namespace model {
+
+const airavataDataModelConstants g_airavataDataModel_constants;
+
+airavataDataModelConstants::airavataDataModelConstants() {
+}
+
+}}} // namespace
+
http://git-wip-us.apache.org/repos/asf/airavata/blob/f891b7dc/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/airavataDataModel_constants.h
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/airavataDataModel_constants.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/airavataDataModel_constants.h
new file mode 100644
index 0000000..d52ed08
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/airavataDataModel_constants.h
@@ -0,0 +1,24 @@
+/**
+ * Autogenerated by Thrift Compiler (0.9.1)
+ *
+ * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+ * @generated
+ */
+#ifndef airavataDataModel_CONSTANTS_H
+#define airavataDataModel_CONSTANTS_H
+
+#include "airavataDataModel_types.h"
+
+namespace apache { namespace airavata { namespace model {
+
+class airavataDataModelConstants {
+ public:
+ airavataDataModelConstants();
+
+};
+
+extern const airavataDataModelConstants g_airavataDataModel_constants;
+
+}}} // namespace
+
+#endif
http://git-wip-us.apache.org/repos/asf/airavata/blob/f891b7dc/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/airavataDataModel_types.cpp
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/airavataDataModel_types.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/airavataDataModel_types.cpp
new file mode 100644
index 0000000..936f3ba
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/airavataDataModel_types.cpp
@@ -0,0 +1,13 @@
+/**
+ * Autogenerated by Thrift Compiler (0.9.1)
+ *
+ * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+ * @generated
+ */
+#include "airavataDataModel_types.h"
+
+#include <algorithm>
+
+namespace apache { namespace airavata { namespace model {
+
+}}} // namespace
http://git-wip-us.apache.org/repos/asf/airavata/blob/f891b7dc/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/airavataDataModel_types.h
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/airavataDataModel_types.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/airavataDataModel_types.h
new file mode 100644
index 0000000..0957294
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/airavataDataModel_types.h
@@ -0,0 +1,24 @@
+/**
+ * Autogenerated by Thrift Compiler (0.9.1)
+ *
+ * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+ * @generated
+ */
+#ifndef airavataDataModel_TYPES_H
+#define airavataDataModel_TYPES_H
+
+#include <thrift/Thrift.h>
+#include <thrift/TApplicationException.h>
+#include <thrift/protocol/TProtocol.h>
+#include <thrift/transport/TTransport.h>
+
+#include <thrift/cxxfunctional.h>
+#include "workspaceModel_types.h"
+#include "airavataErrors_types.h"
+
+
+namespace apache { namespace airavata { namespace model {
+
+}}} // namespace
+
+#endif
http://git-wip-us.apache.org/repos/asf/airavata/blob/f891b7dc/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/airavataErrors_constants.cpp
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/airavataErrors_constants.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/airavataErrors_constants.cpp
new file mode 100644
index 0000000..6de251f
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/airavataErrors_constants.cpp
@@ -0,0 +1,17 @@
+/**
+ * Autogenerated by Thrift Compiler (0.9.1)
+ *
+ * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+ * @generated
+ */
+#include "airavataErrors_constants.h"
+
+namespace apache { namespace airavata { namespace api { namespace error {
+
+const airavataErrorsConstants g_airavataErrors_constants;
+
+airavataErrorsConstants::airavataErrorsConstants() {
+}
+
+}}}} // namespace
+
http://git-wip-us.apache.org/repos/asf/airavata/blob/f891b7dc/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/airavataErrors_constants.h
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/airavataErrors_constants.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/airavataErrors_constants.h
new file mode 100644
index 0000000..fec5eb9
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/airavataErrors_constants.h
@@ -0,0 +1,24 @@
+/**
+ * Autogenerated by Thrift Compiler (0.9.1)
+ *
+ * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+ * @generated
+ */
+#ifndef airavataErrors_CONSTANTS_H
+#define airavataErrors_CONSTANTS_H
+
+#include "airavataErrors_types.h"
+
+namespace apache { namespace airavata { namespace api { namespace error {
+
+class airavataErrorsConstants {
+ public:
+ airavataErrorsConstants();
+
+};
+
+extern const airavataErrorsConstants g_airavataErrors_constants;
+
+}}}} // namespace
+
+#endif
http://git-wip-us.apache.org/repos/asf/airavata/blob/f891b7dc/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/airavataErrors_types.cpp
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/airavataErrors_types.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/airavataErrors_types.cpp
new file mode 100644
index 0000000..fbcf8cb
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/airavataErrors_types.cpp
@@ -0,0 +1,820 @@
+/**
+ * Autogenerated by Thrift Compiler (0.9.1)
+ *
+ * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+ * @generated
+ */
+#include "airavataErrors_types.h"
+
+#include <algorithm>
+
+namespace apache { namespace airavata { namespace api { namespace error {
+
+int _kAiravataErrorTypeValues[] = {
+ AiravataErrorType::UNKNOWN,
+ AiravataErrorType::PERMISSION_DENIED,
+ AiravataErrorType::INTERNAL_ERROR,
+ AiravataErrorType::AUTHENTICATION_FAILURE,
+ AiravataErrorType::INVALID_AUTHORIZATION,
+ AiravataErrorType::AUTHORIZATION_EXPIRED,
+ AiravataErrorType::UNKNOWN_GATEWAY_ID,
+ AiravataErrorType::UNSUPPORTED_OPERATION
+};
+const char* _kAiravataErrorTypeNames[] = {
+ "UNKNOWN",
+ "PERMISSION_DENIED",
+ "INTERNAL_ERROR",
+ "AUTHENTICATION_FAILURE",
+ "INVALID_AUTHORIZATION",
+ "AUTHORIZATION_EXPIRED",
+ "UNKNOWN_GATEWAY_ID",
+ "UNSUPPORTED_OPERATION"
+};
+const std::map<int, const char*> _AiravataErrorType_VALUES_TO_NAMES(::apache::thrift::TEnumIterator(8, _kAiravataErrorTypeValues, _kAiravataErrorTypeNames), ::apache::thrift::TEnumIterator(-1, NULL, NULL));
+
+const char* ExperimentNotFoundException::ascii_fingerprint = "EFB929595D312AC8F305D5A794CFEDA1";
+const uint8_t ExperimentNotFoundException::binary_fingerprint[16] = {0xEF,0xB9,0x29,0x59,0x5D,0x31,0x2A,0xC8,0xF3,0x05,0xD5,0xA7,0x94,0xCF,0xED,0xA1};
+
+uint32_t ExperimentNotFoundException::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+ uint32_t xfer = 0;
+ std::string fname;
+ ::apache::thrift::protocol::TType ftype;
+ int16_t fid;
+
+ xfer += iprot->readStructBegin(fname);
+
+ using ::apache::thrift::protocol::TProtocolException;
+
+ bool isset_message = false;
+
+ while (true)
+ {
+ xfer += iprot->readFieldBegin(fname, ftype, fid);
+ if (ftype == ::apache::thrift::protocol::T_STOP) {
+ break;
+ }
+ switch (fid)
+ {
+ case 1:
+ if (ftype == ::apache::thrift::protocol::T_STRING) {
+ xfer += iprot->readString(this->message);
+ isset_message = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ default:
+ xfer += iprot->skip(ftype);
+ break;
+ }
+ xfer += iprot->readFieldEnd();
+ }
+
+ xfer += iprot->readStructEnd();
+
+ if (!isset_message)
+ throw TProtocolException(TProtocolException::INVALID_DATA);
+ return xfer;
+}
+
+uint32_t ExperimentNotFoundException::write(::apache::thrift::protocol::TProtocol* oprot) const {
+ uint32_t xfer = 0;
+ xfer += oprot->writeStructBegin("ExperimentNotFoundException");
+
+ xfer += oprot->writeFieldBegin("message", ::apache::thrift::protocol::T_STRING, 1);
+ xfer += oprot->writeString(this->message);
+ xfer += oprot->writeFieldEnd();
+
+ xfer += oprot->writeFieldStop();
+ xfer += oprot->writeStructEnd();
+ return xfer;
+}
+
+void swap(ExperimentNotFoundException &a, ExperimentNotFoundException &b) {
+ using ::std::swap;
+ swap(a.message, b.message);
+}
+
+const char* ProjectNotFoundException::ascii_fingerprint = "EFB929595D312AC8F305D5A794CFEDA1";
+const uint8_t ProjectNotFoundException::binary_fingerprint[16] = {0xEF,0xB9,0x29,0x59,0x5D,0x31,0x2A,0xC8,0xF3,0x05,0xD5,0xA7,0x94,0xCF,0xED,0xA1};
+
+uint32_t ProjectNotFoundException::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+ uint32_t xfer = 0;
+ std::string fname;
+ ::apache::thrift::protocol::TType ftype;
+ int16_t fid;
+
+ xfer += iprot->readStructBegin(fname);
+
+ using ::apache::thrift::protocol::TProtocolException;
+
+ bool isset_message = false;
+
+ while (true)
+ {
+ xfer += iprot->readFieldBegin(fname, ftype, fid);
+ if (ftype == ::apache::thrift::protocol::T_STOP) {
+ break;
+ }
+ switch (fid)
+ {
+ case 1:
+ if (ftype == ::apache::thrift::protocol::T_STRING) {
+ xfer += iprot->readString(this->message);
+ isset_message = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ default:
+ xfer += iprot->skip(ftype);
+ break;
+ }
+ xfer += iprot->readFieldEnd();
+ }
+
+ xfer += iprot->readStructEnd();
+
+ if (!isset_message)
+ throw TProtocolException(TProtocolException::INVALID_DATA);
+ return xfer;
+}
+
+uint32_t ProjectNotFoundException::write(::apache::thrift::protocol::TProtocol* oprot) const {
+ uint32_t xfer = 0;
+ xfer += oprot->writeStructBegin("ProjectNotFoundException");
+
+ xfer += oprot->writeFieldBegin("message", ::apache::thrift::protocol::T_STRING, 1);
+ xfer += oprot->writeString(this->message);
+ xfer += oprot->writeFieldEnd();
+
+ xfer += oprot->writeFieldStop();
+ xfer += oprot->writeStructEnd();
+ return xfer;
+}
+
+void swap(ProjectNotFoundException &a, ProjectNotFoundException &b) {
+ using ::std::swap;
+ swap(a.message, b.message);
+}
+
+const char* InvalidRequestException::ascii_fingerprint = "EFB929595D312AC8F305D5A794CFEDA1";
+const uint8_t InvalidRequestException::binary_fingerprint[16] = {0xEF,0xB9,0x29,0x59,0x5D,0x31,0x2A,0xC8,0xF3,0x05,0xD5,0xA7,0x94,0xCF,0xED,0xA1};
+
+uint32_t InvalidRequestException::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+ uint32_t xfer = 0;
+ std::string fname;
+ ::apache::thrift::protocol::TType ftype;
+ int16_t fid;
+
+ xfer += iprot->readStructBegin(fname);
+
+ using ::apache::thrift::protocol::TProtocolException;
+
+ bool isset_message = false;
+
+ while (true)
+ {
+ xfer += iprot->readFieldBegin(fname, ftype, fid);
+ if (ftype == ::apache::thrift::protocol::T_STOP) {
+ break;
+ }
+ switch (fid)
+ {
+ case 1:
+ if (ftype == ::apache::thrift::protocol::T_STRING) {
+ xfer += iprot->readString(this->message);
+ isset_message = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ default:
+ xfer += iprot->skip(ftype);
+ break;
+ }
+ xfer += iprot->readFieldEnd();
+ }
+
+ xfer += iprot->readStructEnd();
+
+ if (!isset_message)
+ throw TProtocolException(TProtocolException::INVALID_DATA);
+ return xfer;
+}
+
+uint32_t InvalidRequestException::write(::apache::thrift::protocol::TProtocol* oprot) const {
+ uint32_t xfer = 0;
+ xfer += oprot->writeStructBegin("InvalidRequestException");
+
+ xfer += oprot->writeFieldBegin("message", ::apache::thrift::protocol::T_STRING, 1);
+ xfer += oprot->writeString(this->message);
+ xfer += oprot->writeFieldEnd();
+
+ xfer += oprot->writeFieldStop();
+ xfer += oprot->writeStructEnd();
+ return xfer;
+}
+
+void swap(InvalidRequestException &a, InvalidRequestException &b) {
+ using ::std::swap;
+ swap(a.message, b.message);
+}
+
+const char* TimedOutException::ascii_fingerprint = "99914B932BD37A50B983C5E7C90AE93B";
+const uint8_t TimedOutException::binary_fingerprint[16] = {0x99,0x91,0x4B,0x93,0x2B,0xD3,0x7A,0x50,0xB9,0x83,0xC5,0xE7,0xC9,0x0A,0xE9,0x3B};
+
+uint32_t TimedOutException::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+ uint32_t xfer = 0;
+ std::string fname;
+ ::apache::thrift::protocol::TType ftype;
+ int16_t fid;
+
+ xfer += iprot->readStructBegin(fname);
+
+ using ::apache::thrift::protocol::TProtocolException;
+
+
+ while (true)
+ {
+ xfer += iprot->readFieldBegin(fname, ftype, fid);
+ if (ftype == ::apache::thrift::protocol::T_STOP) {
+ break;
+ }
+ xfer += iprot->skip(ftype);
+ xfer += iprot->readFieldEnd();
+ }
+
+ xfer += iprot->readStructEnd();
+
+ return xfer;
+}
+
+uint32_t TimedOutException::write(::apache::thrift::protocol::TProtocol* oprot) const {
+ uint32_t xfer = 0;
+ xfer += oprot->writeStructBegin("TimedOutException");
+
+ xfer += oprot->writeFieldStop();
+ xfer += oprot->writeStructEnd();
+ return xfer;
+}
+
+void swap(TimedOutException &a, TimedOutException &b) {
+ using ::std::swap;
+ (void) a;
+ (void) b;
+}
+
+const char* AuthenticationException::ascii_fingerprint = "EFB929595D312AC8F305D5A794CFEDA1";
+const uint8_t AuthenticationException::binary_fingerprint[16] = {0xEF,0xB9,0x29,0x59,0x5D,0x31,0x2A,0xC8,0xF3,0x05,0xD5,0xA7,0x94,0xCF,0xED,0xA1};
+
+uint32_t AuthenticationException::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+ uint32_t xfer = 0;
+ std::string fname;
+ ::apache::thrift::protocol::TType ftype;
+ int16_t fid;
+
+ xfer += iprot->readStructBegin(fname);
+
+ using ::apache::thrift::protocol::TProtocolException;
+
+ bool isset_message = false;
+
+ while (true)
+ {
+ xfer += iprot->readFieldBegin(fname, ftype, fid);
+ if (ftype == ::apache::thrift::protocol::T_STOP) {
+ break;
+ }
+ switch (fid)
+ {
+ case 1:
+ if (ftype == ::apache::thrift::protocol::T_STRING) {
+ xfer += iprot->readString(this->message);
+ isset_message = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ default:
+ xfer += iprot->skip(ftype);
+ break;
+ }
+ xfer += iprot->readFieldEnd();
+ }
+
+ xfer += iprot->readStructEnd();
+
+ if (!isset_message)
+ throw TProtocolException(TProtocolException::INVALID_DATA);
+ return xfer;
+}
+
+uint32_t AuthenticationException::write(::apache::thrift::protocol::TProtocol* oprot) const {
+ uint32_t xfer = 0;
+ xfer += oprot->writeStructBegin("AuthenticationException");
+
+ xfer += oprot->writeFieldBegin("message", ::apache::thrift::protocol::T_STRING, 1);
+ xfer += oprot->writeString(this->message);
+ xfer += oprot->writeFieldEnd();
+
+ xfer += oprot->writeFieldStop();
+ xfer += oprot->writeStructEnd();
+ return xfer;
+}
+
+void swap(AuthenticationException &a, AuthenticationException &b) {
+ using ::std::swap;
+ swap(a.message, b.message);
+}
+
+const char* AuthorizationException::ascii_fingerprint = "EFB929595D312AC8F305D5A794CFEDA1";
+const uint8_t AuthorizationException::binary_fingerprint[16] = {0xEF,0xB9,0x29,0x59,0x5D,0x31,0x2A,0xC8,0xF3,0x05,0xD5,0xA7,0x94,0xCF,0xED,0xA1};
+
+uint32_t AuthorizationException::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+ uint32_t xfer = 0;
+ std::string fname;
+ ::apache::thrift::protocol::TType ftype;
+ int16_t fid;
+
+ xfer += iprot->readStructBegin(fname);
+
+ using ::apache::thrift::protocol::TProtocolException;
+
+ bool isset_message = false;
+
+ while (true)
+ {
+ xfer += iprot->readFieldBegin(fname, ftype, fid);
+ if (ftype == ::apache::thrift::protocol::T_STOP) {
+ break;
+ }
+ switch (fid)
+ {
+ case 1:
+ if (ftype == ::apache::thrift::protocol::T_STRING) {
+ xfer += iprot->readString(this->message);
+ isset_message = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ default:
+ xfer += iprot->skip(ftype);
+ break;
+ }
+ xfer += iprot->readFieldEnd();
+ }
+
+ xfer += iprot->readStructEnd();
+
+ if (!isset_message)
+ throw TProtocolException(TProtocolException::INVALID_DATA);
+ return xfer;
+}
+
+uint32_t AuthorizationException::write(::apache::thrift::protocol::TProtocol* oprot) const {
+ uint32_t xfer = 0;
+ xfer += oprot->writeStructBegin("AuthorizationException");
+
+ xfer += oprot->writeFieldBegin("message", ::apache::thrift::protocol::T_STRING, 1);
+ xfer += oprot->writeString(this->message);
+ xfer += oprot->writeFieldEnd();
+
+ xfer += oprot->writeFieldStop();
+ xfer += oprot->writeStructEnd();
+ return xfer;
+}
+
+void swap(AuthorizationException &a, AuthorizationException &b) {
+ using ::std::swap;
+ swap(a.message, b.message);
+}
+
+const char* AiravataClientException::ascii_fingerprint = "24652790C81ECE22B629CB60A19F1E93";
+const uint8_t AiravataClientException::binary_fingerprint[16] = {0x24,0x65,0x27,0x90,0xC8,0x1E,0xCE,0x22,0xB6,0x29,0xCB,0x60,0xA1,0x9F,0x1E,0x93};
+
+uint32_t AiravataClientException::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+ uint32_t xfer = 0;
+ std::string fname;
+ ::apache::thrift::protocol::TType ftype;
+ int16_t fid;
+
+ xfer += iprot->readStructBegin(fname);
+
+ using ::apache::thrift::protocol::TProtocolException;
+
+ bool isset_airavataErrorType = false;
+
+ while (true)
+ {
+ xfer += iprot->readFieldBegin(fname, ftype, fid);
+ if (ftype == ::apache::thrift::protocol::T_STOP) {
+ break;
+ }
+ switch (fid)
+ {
+ case 1:
+ if (ftype == ::apache::thrift::protocol::T_I32) {
+ int32_t ecast0;
+ xfer += iprot->readI32(ecast0);
+ this->airavataErrorType = (AiravataErrorType::type)ecast0;
+ isset_airavataErrorType = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 2:
+ if (ftype == ::apache::thrift::protocol::T_STRING) {
+ xfer += iprot->readString(this->parameter);
+ this->__isset.parameter = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ default:
+ xfer += iprot->skip(ftype);
+ break;
+ }
+ xfer += iprot->readFieldEnd();
+ }
+
+ xfer += iprot->readStructEnd();
+
+ if (!isset_airavataErrorType)
+ throw TProtocolException(TProtocolException::INVALID_DATA);
+ return xfer;
+}
+
+uint32_t AiravataClientException::write(::apache::thrift::protocol::TProtocol* oprot) const {
+ uint32_t xfer = 0;
+ xfer += oprot->writeStructBegin("AiravataClientException");
+
+ xfer += oprot->writeFieldBegin("airavataErrorType", ::apache::thrift::protocol::T_I32, 1);
+ xfer += oprot->writeI32((int32_t)this->airavataErrorType);
+ xfer += oprot->writeFieldEnd();
+
+ if (this->__isset.parameter) {
+ xfer += oprot->writeFieldBegin("parameter", ::apache::thrift::protocol::T_STRING, 2);
+ xfer += oprot->writeString(this->parameter);
+ xfer += oprot->writeFieldEnd();
+ }
+ xfer += oprot->writeFieldStop();
+ xfer += oprot->writeStructEnd();
+ return xfer;
+}
+
+void swap(AiravataClientException &a, AiravataClientException &b) {
+ using ::std::swap;
+ swap(a.airavataErrorType, b.airavataErrorType);
+ swap(a.parameter, b.parameter);
+ swap(a.__isset, b.__isset);
+}
+
+const char* ValidatorResult::ascii_fingerprint = "EB04A806CFFC9025AEE48CFFDC378A86";
+const uint8_t ValidatorResult::binary_fingerprint[16] = {0xEB,0x04,0xA8,0x06,0xCF,0xFC,0x90,0x25,0xAE,0xE4,0x8C,0xFF,0xDC,0x37,0x8A,0x86};
+
+uint32_t ValidatorResult::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+ uint32_t xfer = 0;
+ std::string fname;
+ ::apache::thrift::protocol::TType ftype;
+ int16_t fid;
+
+ xfer += iprot->readStructBegin(fname);
+
+ using ::apache::thrift::protocol::TProtocolException;
+
+ bool isset_result = false;
+
+ while (true)
+ {
+ xfer += iprot->readFieldBegin(fname, ftype, fid);
+ if (ftype == ::apache::thrift::protocol::T_STOP) {
+ break;
+ }
+ switch (fid)
+ {
+ case 1:
+ if (ftype == ::apache::thrift::protocol::T_BOOL) {
+ xfer += iprot->readBool(this->result);
+ isset_result = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 2:
+ if (ftype == ::apache::thrift::protocol::T_STRING) {
+ xfer += iprot->readString(this->errorDetails);
+ this->__isset.errorDetails = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ default:
+ xfer += iprot->skip(ftype);
+ break;
+ }
+ xfer += iprot->readFieldEnd();
+ }
+
+ xfer += iprot->readStructEnd();
+
+ if (!isset_result)
+ throw TProtocolException(TProtocolException::INVALID_DATA);
+ return xfer;
+}
+
+uint32_t ValidatorResult::write(::apache::thrift::protocol::TProtocol* oprot) const {
+ uint32_t xfer = 0;
+ xfer += oprot->writeStructBegin("ValidatorResult");
+
+ xfer += oprot->writeFieldBegin("result", ::apache::thrift::protocol::T_BOOL, 1);
+ xfer += oprot->writeBool(this->result);
+ xfer += oprot->writeFieldEnd();
+
+ if (this->__isset.errorDetails) {
+ xfer += oprot->writeFieldBegin("errorDetails", ::apache::thrift::protocol::T_STRING, 2);
+ xfer += oprot->writeString(this->errorDetails);
+ xfer += oprot->writeFieldEnd();
+ }
+ xfer += oprot->writeFieldStop();
+ xfer += oprot->writeStructEnd();
+ return xfer;
+}
+
+void swap(ValidatorResult &a, ValidatorResult &b) {
+ using ::std::swap;
+ swap(a.result, b.result);
+ swap(a.errorDetails, b.errorDetails);
+ swap(a.__isset, b.__isset);
+}
+
+const char* ValidationResults::ascii_fingerprint = "E73BC8630EE405DA5FB801ED852143D2";
+const uint8_t ValidationResults::binary_fingerprint[16] = {0xE7,0x3B,0xC8,0x63,0x0E,0xE4,0x05,0xDA,0x5F,0xB8,0x01,0xED,0x85,0x21,0x43,0xD2};
+
+uint32_t ValidationResults::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+ uint32_t xfer = 0;
+ std::string fname;
+ ::apache::thrift::protocol::TType ftype;
+ int16_t fid;
+
+ xfer += iprot->readStructBegin(fname);
+
+ using ::apache::thrift::protocol::TProtocolException;
+
+ bool isset_validationState = false;
+ bool isset_validationResultList = false;
+
+ while (true)
+ {
+ xfer += iprot->readFieldBegin(fname, ftype, fid);
+ if (ftype == ::apache::thrift::protocol::T_STOP) {
+ break;
+ }
+ switch (fid)
+ {
+ case 1:
+ if (ftype == ::apache::thrift::protocol::T_BOOL) {
+ xfer += iprot->readBool(this->validationState);
+ isset_validationState = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 2:
+ if (ftype == ::apache::thrift::protocol::T_LIST) {
+ {
+ this->validationResultList.clear();
+ uint32_t _size1;
+ ::apache::thrift::protocol::TType _etype4;
+ xfer += iprot->readListBegin(_etype4, _size1);
+ this->validationResultList.resize(_size1);
+ uint32_t _i5;
+ for (_i5 = 0; _i5 < _size1; ++_i5)
+ {
+ xfer += this->validationResultList[_i5].read(iprot);
+ }
+ xfer += iprot->readListEnd();
+ }
+ isset_validationResultList = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ default:
+ xfer += iprot->skip(ftype);
+ break;
+ }
+ xfer += iprot->readFieldEnd();
+ }
+
+ xfer += iprot->readStructEnd();
+
+ if (!isset_validationState)
+ throw TProtocolException(TProtocolException::INVALID_DATA);
+ if (!isset_validationResultList)
+ throw TProtocolException(TProtocolException::INVALID_DATA);
+ return xfer;
+}
+
+uint32_t ValidationResults::write(::apache::thrift::protocol::TProtocol* oprot) const {
+ uint32_t xfer = 0;
+ xfer += oprot->writeStructBegin("ValidationResults");
+
+ xfer += oprot->writeFieldBegin("validationState", ::apache::thrift::protocol::T_BOOL, 1);
+ xfer += oprot->writeBool(this->validationState);
+ xfer += oprot->writeFieldEnd();
+
+ xfer += oprot->writeFieldBegin("validationResultList", ::apache::thrift::protocol::T_LIST, 2);
+ {
+ xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>(this->validationResultList.size()));
+ std::vector<ValidatorResult> ::const_iterator _iter6;
+ for (_iter6 = this->validationResultList.begin(); _iter6 != this->validationResultList.end(); ++_iter6)
+ {
+ xfer += (*_iter6).write(oprot);
+ }
+ xfer += oprot->writeListEnd();
+ }
+ xfer += oprot->writeFieldEnd();
+
+ xfer += oprot->writeFieldStop();
+ xfer += oprot->writeStructEnd();
+ return xfer;
+}
+
+void swap(ValidationResults &a, ValidationResults &b) {
+ using ::std::swap;
+ swap(a.validationState, b.validationState);
+ swap(a.validationResultList, b.validationResultList);
+}
+
+const char* LaunchValidationException::ascii_fingerprint = "99E9D28CC9613B8567277FD2B86021FA";
+const uint8_t LaunchValidationException::binary_fingerprint[16] = {0x99,0xE9,0xD2,0x8C,0xC9,0x61,0x3B,0x85,0x67,0x27,0x7F,0xD2,0xB8,0x60,0x21,0xFA};
+
+uint32_t LaunchValidationException::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+ uint32_t xfer = 0;
+ std::string fname;
+ ::apache::thrift::protocol::TType ftype;
+ int16_t fid;
+
+ xfer += iprot->readStructBegin(fname);
+
+ using ::apache::thrift::protocol::TProtocolException;
+
+ bool isset_validationResult = false;
+
+ while (true)
+ {
+ xfer += iprot->readFieldBegin(fname, ftype, fid);
+ if (ftype == ::apache::thrift::protocol::T_STOP) {
+ break;
+ }
+ switch (fid)
+ {
+ case 1:
+ if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+ xfer += this->validationResult.read(iprot);
+ isset_validationResult = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 2:
+ if (ftype == ::apache::thrift::protocol::T_STRING) {
+ xfer += iprot->readString(this->errorMessage);
+ this->__isset.errorMessage = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ default:
+ xfer += iprot->skip(ftype);
+ break;
+ }
+ xfer += iprot->readFieldEnd();
+ }
+
+ xfer += iprot->readStructEnd();
+
+ if (!isset_validationResult)
+ throw TProtocolException(TProtocolException::INVALID_DATA);
+ return xfer;
+}
+
+uint32_t LaunchValidationException::write(::apache::thrift::protocol::TProtocol* oprot) const {
+ uint32_t xfer = 0;
+ xfer += oprot->writeStructBegin("LaunchValidationException");
+
+ xfer += oprot->writeFieldBegin("validationResult", ::apache::thrift::protocol::T_STRUCT, 1);
+ xfer += this->validationResult.write(oprot);
+ xfer += oprot->writeFieldEnd();
+
+ if (this->__isset.errorMessage) {
+ xfer += oprot->writeFieldBegin("errorMessage", ::apache::thrift::protocol::T_STRING, 2);
+ xfer += oprot->writeString(this->errorMessage);
+ xfer += oprot->writeFieldEnd();
+ }
+ xfer += oprot->writeFieldStop();
+ xfer += oprot->writeStructEnd();
+ return xfer;
+}
+
+void swap(LaunchValidationException &a, LaunchValidationException &b) {
+ using ::std::swap;
+ swap(a.validationResult, b.validationResult);
+ swap(a.errorMessage, b.errorMessage);
+ swap(a.__isset, b.__isset);
+}
+
+const char* AiravataSystemException::ascii_fingerprint = "24652790C81ECE22B629CB60A19F1E93";
+const uint8_t AiravataSystemException::binary_fingerprint[16] = {0x24,0x65,0x27,0x90,0xC8,0x1E,0xCE,0x22,0xB6,0x29,0xCB,0x60,0xA1,0x9F,0x1E,0x93};
+
+uint32_t AiravataSystemException::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+ uint32_t xfer = 0;
+ std::string fname;
+ ::apache::thrift::protocol::TType ftype;
+ int16_t fid;
+
+ xfer += iprot->readStructBegin(fname);
+
+ using ::apache::thrift::protocol::TProtocolException;
+
+ bool isset_airavataErrorType = false;
+
+ while (true)
+ {
+ xfer += iprot->readFieldBegin(fname, ftype, fid);
+ if (ftype == ::apache::thrift::protocol::T_STOP) {
+ break;
+ }
+ switch (fid)
+ {
+ case 1:
+ if (ftype == ::apache::thrift::protocol::T_I32) {
+ int32_t ecast7;
+ xfer += iprot->readI32(ecast7);
+ this->airavataErrorType = (AiravataErrorType::type)ecast7;
+ isset_airavataErrorType = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 2:
+ if (ftype == ::apache::thrift::protocol::T_STRING) {
+ xfer += iprot->readString(this->message);
+ this->__isset.message = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ default:
+ xfer += iprot->skip(ftype);
+ break;
+ }
+ xfer += iprot->readFieldEnd();
+ }
+
+ xfer += iprot->readStructEnd();
+
+ if (!isset_airavataErrorType)
+ throw TProtocolException(TProtocolException::INVALID_DATA);
+ return xfer;
+}
+
+uint32_t AiravataSystemException::write(::apache::thrift::protocol::TProtocol* oprot) const {
+ uint32_t xfer = 0;
+ xfer += oprot->writeStructBegin("AiravataSystemException");
+
+ xfer += oprot->writeFieldBegin("airavataErrorType", ::apache::thrift::protocol::T_I32, 1);
+ xfer += oprot->writeI32((int32_t)this->airavataErrorType);
+ xfer += oprot->writeFieldEnd();
+
+ if (this->__isset.message) {
+ xfer += oprot->writeFieldBegin("message", ::apache::thrift::protocol::T_STRING, 2);
+ xfer += oprot->writeString(this->message);
+ xfer += oprot->writeFieldEnd();
+ }
+ xfer += oprot->writeFieldStop();
+ xfer += oprot->writeStructEnd();
+ return xfer;
+}
+
+void swap(AiravataSystemException &a, AiravataSystemException &b) {
+ using ::std::swap;
+ swap(a.airavataErrorType, b.airavataErrorType);
+ swap(a.message, b.message);
+ swap(a.__isset, b.__isset);
+}
+
+}}}} // namespace
http://git-wip-us.apache.org/repos/asf/airavata/blob/f891b7dc/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/airavataErrors_types.h
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/airavataErrors_types.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/airavataErrors_types.h
new file mode 100644
index 0000000..139287d
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/airavataErrors_types.h
@@ -0,0 +1,509 @@
+/**
+ * Autogenerated by Thrift Compiler (0.9.1)
+ *
+ * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+ * @generated
+ */
+#ifndef airavataErrors_TYPES_H
+#define airavataErrors_TYPES_H
+
+#include <thrift/Thrift.h>
+#include <thrift/TApplicationException.h>
+#include <thrift/protocol/TProtocol.h>
+#include <thrift/transport/TTransport.h>
+
+#include <thrift/cxxfunctional.h>
+#include "experimentModel_types.h"
+
+
+namespace apache { namespace airavata { namespace api { namespace error {
+
+struct AiravataErrorType {
+ enum type {
+ UNKNOWN = 0,
+ PERMISSION_DENIED = 1,
+ INTERNAL_ERROR = 2,
+ AUTHENTICATION_FAILURE = 3,
+ INVALID_AUTHORIZATION = 4,
+ AUTHORIZATION_EXPIRED = 5,
+ UNKNOWN_GATEWAY_ID = 6,
+ UNSUPPORTED_OPERATION = 7
+ };
+};
+
+extern const std::map<int, const char*> _AiravataErrorType_VALUES_TO_NAMES;
+
+
+class ExperimentNotFoundException : public ::apache::thrift::TException {
+ public:
+
+ static const char* ascii_fingerprint; // = "EFB929595D312AC8F305D5A794CFEDA1";
+ static const uint8_t binary_fingerprint[16]; // = {0xEF,0xB9,0x29,0x59,0x5D,0x31,0x2A,0xC8,0xF3,0x05,0xD5,0xA7,0x94,0xCF,0xED,0xA1};
+
+ ExperimentNotFoundException() : message() {
+ }
+
+ virtual ~ExperimentNotFoundException() throw() {}
+
+ std::string message;
+
+ void __set_message(const std::string& val) {
+ message = val;
+ }
+
+ bool operator == (const ExperimentNotFoundException & rhs) const
+ {
+ if (!(message == rhs.message))
+ return false;
+ return true;
+ }
+ bool operator != (const ExperimentNotFoundException &rhs) const {
+ return !(*this == rhs);
+ }
+
+ bool operator < (const ExperimentNotFoundException & ) const;
+
+ uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+ uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+void swap(ExperimentNotFoundException &a, ExperimentNotFoundException &b);
+
+
+class ProjectNotFoundException : public ::apache::thrift::TException {
+ public:
+
+ static const char* ascii_fingerprint; // = "EFB929595D312AC8F305D5A794CFEDA1";
+ static const uint8_t binary_fingerprint[16]; // = {0xEF,0xB9,0x29,0x59,0x5D,0x31,0x2A,0xC8,0xF3,0x05,0xD5,0xA7,0x94,0xCF,0xED,0xA1};
+
+ ProjectNotFoundException() : message() {
+ }
+
+ virtual ~ProjectNotFoundException() throw() {}
+
+ std::string message;
+
+ void __set_message(const std::string& val) {
+ message = val;
+ }
+
+ bool operator == (const ProjectNotFoundException & rhs) const
+ {
+ if (!(message == rhs.message))
+ return false;
+ return true;
+ }
+ bool operator != (const ProjectNotFoundException &rhs) const {
+ return !(*this == rhs);
+ }
+
+ bool operator < (const ProjectNotFoundException & ) const;
+
+ uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+ uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+void swap(ProjectNotFoundException &a, ProjectNotFoundException &b);
+
+
+class InvalidRequestException : public ::apache::thrift::TException {
+ public:
+
+ static const char* ascii_fingerprint; // = "EFB929595D312AC8F305D5A794CFEDA1";
+ static const uint8_t binary_fingerprint[16]; // = {0xEF,0xB9,0x29,0x59,0x5D,0x31,0x2A,0xC8,0xF3,0x05,0xD5,0xA7,0x94,0xCF,0xED,0xA1};
+
+ InvalidRequestException() : message() {
+ }
+
+ virtual ~InvalidRequestException() throw() {}
+
+ std::string message;
+
+ void __set_message(const std::string& val) {
+ message = val;
+ }
+
+ bool operator == (const InvalidRequestException & rhs) const
+ {
+ if (!(message == rhs.message))
+ return false;
+ return true;
+ }
+ bool operator != (const InvalidRequestException &rhs) const {
+ return !(*this == rhs);
+ }
+
+ bool operator < (const InvalidRequestException & ) const;
+
+ uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+ uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+void swap(InvalidRequestException &a, InvalidRequestException &b);
+
+
+class TimedOutException : public ::apache::thrift::TException {
+ public:
+
+ static const char* ascii_fingerprint; // = "99914B932BD37A50B983C5E7C90AE93B";
+ static const uint8_t binary_fingerprint[16]; // = {0x99,0x91,0x4B,0x93,0x2B,0xD3,0x7A,0x50,0xB9,0x83,0xC5,0xE7,0xC9,0x0A,0xE9,0x3B};
+
+ TimedOutException() {
+ }
+
+ virtual ~TimedOutException() throw() {}
+
+
+ bool operator == (const TimedOutException & /* rhs */) const
+ {
+ return true;
+ }
+ bool operator != (const TimedOutException &rhs) const {
+ return !(*this == rhs);
+ }
+
+ bool operator < (const TimedOutException & ) const;
+
+ uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+ uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+void swap(TimedOutException &a, TimedOutException &b);
+
+
+class AuthenticationException : public ::apache::thrift::TException {
+ public:
+
+ static const char* ascii_fingerprint; // = "EFB929595D312AC8F305D5A794CFEDA1";
+ static const uint8_t binary_fingerprint[16]; // = {0xEF,0xB9,0x29,0x59,0x5D,0x31,0x2A,0xC8,0xF3,0x05,0xD5,0xA7,0x94,0xCF,0xED,0xA1};
+
+ AuthenticationException() : message() {
+ }
+
+ virtual ~AuthenticationException() throw() {}
+
+ std::string message;
+
+ void __set_message(const std::string& val) {
+ message = val;
+ }
+
+ bool operator == (const AuthenticationException & rhs) const
+ {
+ if (!(message == rhs.message))
+ return false;
+ return true;
+ }
+ bool operator != (const AuthenticationException &rhs) const {
+ return !(*this == rhs);
+ }
+
+ bool operator < (const AuthenticationException & ) const;
+
+ uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+ uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+void swap(AuthenticationException &a, AuthenticationException &b);
+
+
+class AuthorizationException : public ::apache::thrift::TException {
+ public:
+
+ static const char* ascii_fingerprint; // = "EFB929595D312AC8F305D5A794CFEDA1";
+ static const uint8_t binary_fingerprint[16]; // = {0xEF,0xB9,0x29,0x59,0x5D,0x31,0x2A,0xC8,0xF3,0x05,0xD5,0xA7,0x94,0xCF,0xED,0xA1};
+
+ AuthorizationException() : message() {
+ }
+
+ virtual ~AuthorizationException() throw() {}
+
+ std::string message;
+
+ void __set_message(const std::string& val) {
+ message = val;
+ }
+
+ bool operator == (const AuthorizationException & rhs) const
+ {
+ if (!(message == rhs.message))
+ return false;
+ return true;
+ }
+ bool operator != (const AuthorizationException &rhs) const {
+ return !(*this == rhs);
+ }
+
+ bool operator < (const AuthorizationException & ) const;
+
+ uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+ uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+void swap(AuthorizationException &a, AuthorizationException &b);
+
+typedef struct _AiravataClientException__isset {
+ _AiravataClientException__isset() : parameter(false) {}
+ bool parameter;
+} _AiravataClientException__isset;
+
+class AiravataClientException : public ::apache::thrift::TException {
+ public:
+
+ static const char* ascii_fingerprint; // = "24652790C81ECE22B629CB60A19F1E93";
+ static const uint8_t binary_fingerprint[16]; // = {0x24,0x65,0x27,0x90,0xC8,0x1E,0xCE,0x22,0xB6,0x29,0xCB,0x60,0xA1,0x9F,0x1E,0x93};
+
+ AiravataClientException() : airavataErrorType((AiravataErrorType::type)0), parameter() {
+ }
+
+ virtual ~AiravataClientException() throw() {}
+
+ AiravataErrorType::type airavataErrorType;
+ std::string parameter;
+
+ _AiravataClientException__isset __isset;
+
+ void __set_airavataErrorType(const AiravataErrorType::type val) {
+ airavataErrorType = val;
+ }
+
+ void __set_parameter(const std::string& val) {
+ parameter = val;
+ __isset.parameter = true;
+ }
+
+ bool operator == (const AiravataClientException & rhs) const
+ {
+ if (!(airavataErrorType == rhs.airavataErrorType))
+ return false;
+ if (__isset.parameter != rhs.__isset.parameter)
+ return false;
+ else if (__isset.parameter && !(parameter == rhs.parameter))
+ return false;
+ return true;
+ }
+ bool operator != (const AiravataClientException &rhs) const {
+ return !(*this == rhs);
+ }
+
+ bool operator < (const AiravataClientException & ) const;
+
+ uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+ uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+void swap(AiravataClientException &a, AiravataClientException &b);
+
+typedef struct _ValidatorResult__isset {
+ _ValidatorResult__isset() : errorDetails(false) {}
+ bool errorDetails;
+} _ValidatorResult__isset;
+
+class ValidatorResult {
+ public:
+
+ static const char* ascii_fingerprint; // = "EB04A806CFFC9025AEE48CFFDC378A86";
+ static const uint8_t binary_fingerprint[16]; // = {0xEB,0x04,0xA8,0x06,0xCF,0xFC,0x90,0x25,0xAE,0xE4,0x8C,0xFF,0xDC,0x37,0x8A,0x86};
+
+ ValidatorResult() : result(0), errorDetails() {
+ }
+
+ virtual ~ValidatorResult() throw() {}
+
+ bool result;
+ std::string errorDetails;
+
+ _ValidatorResult__isset __isset;
+
+ void __set_result(const bool val) {
+ result = val;
+ }
+
+ void __set_errorDetails(const std::string& val) {
+ errorDetails = val;
+ __isset.errorDetails = true;
+ }
+
+ bool operator == (const ValidatorResult & rhs) const
+ {
+ if (!(result == rhs.result))
+ return false;
+ if (__isset.errorDetails != rhs.__isset.errorDetails)
+ return false;
+ else if (__isset.errorDetails && !(errorDetails == rhs.errorDetails))
+ return false;
+ return true;
+ }
+ bool operator != (const ValidatorResult &rhs) const {
+ return !(*this == rhs);
+ }
+
+ bool operator < (const ValidatorResult & ) const;
+
+ uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+ uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+void swap(ValidatorResult &a, ValidatorResult &b);
+
+
+class ValidationResults {
+ public:
+
+ static const char* ascii_fingerprint; // = "E73BC8630EE405DA5FB801ED852143D2";
+ static const uint8_t binary_fingerprint[16]; // = {0xE7,0x3B,0xC8,0x63,0x0E,0xE4,0x05,0xDA,0x5F,0xB8,0x01,0xED,0x85,0x21,0x43,0xD2};
+
+ ValidationResults() : validationState(0) {
+ }
+
+ virtual ~ValidationResults() throw() {}
+
+ bool validationState;
+ std::vector<ValidatorResult> validationResultList;
+
+ void __set_validationState(const bool val) {
+ validationState = val;
+ }
+
+ void __set_validationResultList(const std::vector<ValidatorResult> & val) {
+ validationResultList = val;
+ }
+
+ bool operator == (const ValidationResults & rhs) const
+ {
+ if (!(validationState == rhs.validationState))
+ return false;
+ if (!(validationResultList == rhs.validationResultList))
+ return false;
+ return true;
+ }
+ bool operator != (const ValidationResults &rhs) const {
+ return !(*this == rhs);
+ }
+
+ bool operator < (const ValidationResults & ) const;
+
+ uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+ uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+void swap(ValidationResults &a, ValidationResults &b);
+
+typedef struct _LaunchValidationException__isset {
+ _LaunchValidationException__isset() : errorMessage(false) {}
+ bool errorMessage;
+} _LaunchValidationException__isset;
+
+class LaunchValidationException : public ::apache::thrift::TException {
+ public:
+
+ static const char* ascii_fingerprint; // = "99E9D28CC9613B8567277FD2B86021FA";
+ static const uint8_t binary_fingerprint[16]; // = {0x99,0xE9,0xD2,0x8C,0xC9,0x61,0x3B,0x85,0x67,0x27,0x7F,0xD2,0xB8,0x60,0x21,0xFA};
+
+ LaunchValidationException() : errorMessage() {
+ }
+
+ virtual ~LaunchValidationException() throw() {}
+
+ ValidationResults validationResult;
+ std::string errorMessage;
+
+ _LaunchValidationException__isset __isset;
+
+ void __set_validationResult(const ValidationResults& val) {
+ validationResult = val;
+ }
+
+ void __set_errorMessage(const std::string& val) {
+ errorMessage = val;
+ __isset.errorMessage = true;
+ }
+
+ bool operator == (const LaunchValidationException & rhs) const
+ {
+ if (!(validationResult == rhs.validationResult))
+ return false;
+ if (__isset.errorMessage != rhs.__isset.errorMessage)
+ return false;
+ else if (__isset.errorMessage && !(errorMessage == rhs.errorMessage))
+ return false;
+ return true;
+ }
+ bool operator != (const LaunchValidationException &rhs) const {
+ return !(*this == rhs);
+ }
+
+ bool operator < (const LaunchValidationException & ) const;
+
+ uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+ uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+void swap(LaunchValidationException &a, LaunchValidationException &b);
+
+typedef struct _AiravataSystemException__isset {
+ _AiravataSystemException__isset() : message(false) {}
+ bool message;
+} _AiravataSystemException__isset;
+
+class AiravataSystemException : public ::apache::thrift::TException {
+ public:
+
+ static const char* ascii_fingerprint; // = "24652790C81ECE22B629CB60A19F1E93";
+ static const uint8_t binary_fingerprint[16]; // = {0x24,0x65,0x27,0x90,0xC8,0x1E,0xCE,0x22,0xB6,0x29,0xCB,0x60,0xA1,0x9F,0x1E,0x93};
+
+ AiravataSystemException() : airavataErrorType((AiravataErrorType::type)0), message() {
+ }
+
+ virtual ~AiravataSystemException() throw() {}
+
+ AiravataErrorType::type airavataErrorType;
+ std::string message;
+
+ _AiravataSystemException__isset __isset;
+
+ void __set_airavataErrorType(const AiravataErrorType::type val) {
+ airavataErrorType = val;
+ }
+
+ void __set_message(const std::string& val) {
+ message = val;
+ __isset.message = true;
+ }
+
+ bool operator == (const AiravataSystemException & rhs) const
+ {
+ if (!(airavataErrorType == rhs.airavataErrorType))
+ return false;
+ if (__isset.message != rhs.__isset.message)
+ return false;
+ else if (__isset.message && !(message == rhs.message))
+ return false;
+ return true;
+ }
+ bool operator != (const AiravataSystemException &rhs) const {
+ return !(*this == rhs);
+ }
+
+ bool operator < (const AiravataSystemException & ) const;
+
+ uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+ uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+void swap(AiravataSystemException &a, AiravataSystemException &b);
+
+}}}} // namespace
+
+#endif
[05/47] Added c++ client samples for integrattion of airavata with
any other application's c++ interface
Posted by sm...@apache.org.
http://git-wip-us.apache.org/repos/asf/airavata/blob/f891b7dc/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/server/TServer.h
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/server/TServer.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/server/TServer.h
new file mode 100644
index 0000000..c9e88b1
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/server/TServer.h
@@ -0,0 +1,315 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you 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 _THRIFT_SERVER_TSERVER_H_
+#define _THRIFT_SERVER_TSERVER_H_ 1
+
+#include <thrift/TProcessor.h>
+#include <thrift/transport/TServerTransport.h>
+#include <thrift/protocol/TBinaryProtocol.h>
+#include <thrift/concurrency/Thread.h>
+
+#include <boost/shared_ptr.hpp>
+
+namespace apache { namespace thrift { namespace server {
+
+using apache::thrift::TProcessor;
+using apache::thrift::protocol::TBinaryProtocolFactory;
+using apache::thrift::protocol::TProtocol;
+using apache::thrift::protocol::TProtocolFactory;
+using apache::thrift::transport::TServerTransport;
+using apache::thrift::transport::TTransport;
+using apache::thrift::transport::TTransportFactory;
+
+/**
+ * Virtual interface class that can handle events from the server core. To
+ * use this you should subclass it and implement the methods that you care
+ * about. Your subclass can also store local data that you may care about,
+ * such as additional "arguments" to these methods (stored in the object
+ * instance's state).
+ */
+class TServerEventHandler {
+ public:
+
+ virtual ~TServerEventHandler() {}
+
+ /**
+ * Called before the server begins.
+ */
+ virtual void preServe() {}
+
+ /**
+ * Called when a new client has connected and is about to being processing.
+ */
+ virtual void* createContext(boost::shared_ptr<TProtocol> input,
+ boost::shared_ptr<TProtocol> output) {
+ (void)input;
+ (void)output;
+ return NULL;
+ }
+
+ /**
+ * Called when a client has finished request-handling to delete server
+ * context.
+ */
+ virtual void deleteContext(void* serverContext,
+ boost::shared_ptr<TProtocol>input,
+ boost::shared_ptr<TProtocol>output) {
+ (void)serverContext;
+ (void)input;
+ (void)output;
+ }
+
+ /**
+ * Called when a client is about to call the processor.
+ */
+ virtual void processContext(void* serverContext,
+ boost::shared_ptr<TTransport> transport) {
+ (void)serverContext;
+ (void)transport;
+}
+
+ protected:
+
+ /**
+ * Prevent direct instantiation.
+ */
+ TServerEventHandler() {}
+
+};
+
+/**
+ * Thrift server.
+ *
+ */
+class TServer : public concurrency::Runnable {
+ public:
+
+ virtual ~TServer() {}
+
+ virtual void serve() = 0;
+
+ virtual void stop() {}
+
+ // Allows running the server as a Runnable thread
+ virtual void run() {
+ serve();
+ }
+
+ boost::shared_ptr<TProcessorFactory> getProcessorFactory() {
+ return processorFactory_;
+ }
+
+ boost::shared_ptr<TServerTransport> getServerTransport() {
+ return serverTransport_;
+ }
+
+ boost::shared_ptr<TTransportFactory> getInputTransportFactory() {
+ return inputTransportFactory_;
+ }
+
+ boost::shared_ptr<TTransportFactory> getOutputTransportFactory() {
+ return outputTransportFactory_;
+ }
+
+ boost::shared_ptr<TProtocolFactory> getInputProtocolFactory() {
+ return inputProtocolFactory_;
+ }
+
+ boost::shared_ptr<TProtocolFactory> getOutputProtocolFactory() {
+ return outputProtocolFactory_;
+ }
+
+ boost::shared_ptr<TServerEventHandler> getEventHandler() {
+ return eventHandler_;
+ }
+
+protected:
+ template<typename ProcessorFactory>
+ TServer(const boost::shared_ptr<ProcessorFactory>& processorFactory,
+ THRIFT_OVERLOAD_IF(ProcessorFactory, TProcessorFactory)):
+ processorFactory_(processorFactory) {
+ setInputTransportFactory(boost::shared_ptr<TTransportFactory>(
+ new TTransportFactory()));
+ setOutputTransportFactory(boost::shared_ptr<TTransportFactory>(
+ new TTransportFactory()));
+ setInputProtocolFactory(boost::shared_ptr<TProtocolFactory>(
+ new TBinaryProtocolFactory()));
+ setOutputProtocolFactory(boost::shared_ptr<TProtocolFactory>(
+ new TBinaryProtocolFactory()));
+ }
+
+ template<typename Processor>
+ TServer(const boost::shared_ptr<Processor>& processor,
+ THRIFT_OVERLOAD_IF(Processor, TProcessor)):
+ processorFactory_(new TSingletonProcessorFactory(processor)) {
+ setInputTransportFactory(boost::shared_ptr<TTransportFactory>(new TTransportFactory()));
+ setOutputTransportFactory(boost::shared_ptr<TTransportFactory>(new TTransportFactory()));
+ setInputProtocolFactory(boost::shared_ptr<TProtocolFactory>(new TBinaryProtocolFactory()));
+ setOutputProtocolFactory(boost::shared_ptr<TProtocolFactory>(new TBinaryProtocolFactory()));
+ }
+
+ template<typename ProcessorFactory>
+ TServer(const boost::shared_ptr<ProcessorFactory>& processorFactory,
+ const boost::shared_ptr<TServerTransport>& serverTransport,
+ THRIFT_OVERLOAD_IF(ProcessorFactory, TProcessorFactory)):
+ processorFactory_(processorFactory),
+ serverTransport_(serverTransport) {
+ setInputTransportFactory(boost::shared_ptr<TTransportFactory>(
+ new TTransportFactory()));
+ setOutputTransportFactory(boost::shared_ptr<TTransportFactory>(
+ new TTransportFactory()));
+ setInputProtocolFactory(boost::shared_ptr<TProtocolFactory>(
+ new TBinaryProtocolFactory()));
+ setOutputProtocolFactory(boost::shared_ptr<TProtocolFactory>(
+ new TBinaryProtocolFactory()));
+ }
+
+ template<typename Processor>
+ TServer(const boost::shared_ptr<Processor>& processor,
+ const boost::shared_ptr<TServerTransport>& serverTransport,
+ THRIFT_OVERLOAD_IF(Processor, TProcessor)):
+ processorFactory_(new TSingletonProcessorFactory(processor)),
+ serverTransport_(serverTransport) {
+ setInputTransportFactory(boost::shared_ptr<TTransportFactory>(new TTransportFactory()));
+ setOutputTransportFactory(boost::shared_ptr<TTransportFactory>(new TTransportFactory()));
+ setInputProtocolFactory(boost::shared_ptr<TProtocolFactory>(new TBinaryProtocolFactory()));
+ setOutputProtocolFactory(boost::shared_ptr<TProtocolFactory>(new TBinaryProtocolFactory()));
+ }
+
+ template<typename ProcessorFactory>
+ TServer(const boost::shared_ptr<ProcessorFactory>& processorFactory,
+ const boost::shared_ptr<TServerTransport>& serverTransport,
+ const boost::shared_ptr<TTransportFactory>& transportFactory,
+ const boost::shared_ptr<TProtocolFactory>& protocolFactory,
+ THRIFT_OVERLOAD_IF(ProcessorFactory, TProcessorFactory)):
+ processorFactory_(processorFactory),
+ serverTransport_(serverTransport),
+ inputTransportFactory_(transportFactory),
+ outputTransportFactory_(transportFactory),
+ inputProtocolFactory_(protocolFactory),
+ outputProtocolFactory_(protocolFactory) {}
+
+ template<typename Processor>
+ TServer(const boost::shared_ptr<Processor>& processor,
+ const boost::shared_ptr<TServerTransport>& serverTransport,
+ const boost::shared_ptr<TTransportFactory>& transportFactory,
+ const boost::shared_ptr<TProtocolFactory>& protocolFactory,
+ THRIFT_OVERLOAD_IF(Processor, TProcessor)):
+ processorFactory_(new TSingletonProcessorFactory(processor)),
+ serverTransport_(serverTransport),
+ inputTransportFactory_(transportFactory),
+ outputTransportFactory_(transportFactory),
+ inputProtocolFactory_(protocolFactory),
+ outputProtocolFactory_(protocolFactory) {}
+
+ template<typename ProcessorFactory>
+ TServer(const boost::shared_ptr<ProcessorFactory>& processorFactory,
+ const boost::shared_ptr<TServerTransport>& serverTransport,
+ const boost::shared_ptr<TTransportFactory>& inputTransportFactory,
+ const boost::shared_ptr<TTransportFactory>& outputTransportFactory,
+ const boost::shared_ptr<TProtocolFactory>& inputProtocolFactory,
+ const boost::shared_ptr<TProtocolFactory>& outputProtocolFactory,
+ THRIFT_OVERLOAD_IF(ProcessorFactory, TProcessorFactory)):
+ processorFactory_(processorFactory),
+ serverTransport_(serverTransport),
+ inputTransportFactory_(inputTransportFactory),
+ outputTransportFactory_(outputTransportFactory),
+ inputProtocolFactory_(inputProtocolFactory),
+ outputProtocolFactory_(outputProtocolFactory) {}
+
+ template<typename Processor>
+ TServer(const boost::shared_ptr<Processor>& processor,
+ const boost::shared_ptr<TServerTransport>& serverTransport,
+ const boost::shared_ptr<TTransportFactory>& inputTransportFactory,
+ const boost::shared_ptr<TTransportFactory>& outputTransportFactory,
+ const boost::shared_ptr<TProtocolFactory>& inputProtocolFactory,
+ const boost::shared_ptr<TProtocolFactory>& outputProtocolFactory,
+ THRIFT_OVERLOAD_IF(Processor, TProcessor)):
+ processorFactory_(new TSingletonProcessorFactory(processor)),
+ serverTransport_(serverTransport),
+ inputTransportFactory_(inputTransportFactory),
+ outputTransportFactory_(outputTransportFactory),
+ inputProtocolFactory_(inputProtocolFactory),
+ outputProtocolFactory_(outputProtocolFactory) {}
+
+ /**
+ * Get a TProcessor to handle calls on a particular connection.
+ *
+ * This method should only be called once per connection (never once per
+ * call). This allows the TProcessorFactory to return a different processor
+ * for each connection if it desires.
+ */
+ boost::shared_ptr<TProcessor> getProcessor(
+ boost::shared_ptr<TProtocol> inputProtocol,
+ boost::shared_ptr<TProtocol> outputProtocol,
+ boost::shared_ptr<TTransport> transport) {
+ TConnectionInfo connInfo;
+ connInfo.input = inputProtocol;
+ connInfo.output = outputProtocol;
+ connInfo.transport = transport;
+ return processorFactory_->getProcessor(connInfo);
+ }
+
+ // Class variables
+ boost::shared_ptr<TProcessorFactory> processorFactory_;
+ boost::shared_ptr<TServerTransport> serverTransport_;
+
+ boost::shared_ptr<TTransportFactory> inputTransportFactory_;
+ boost::shared_ptr<TTransportFactory> outputTransportFactory_;
+
+ boost::shared_ptr<TProtocolFactory> inputProtocolFactory_;
+ boost::shared_ptr<TProtocolFactory> outputProtocolFactory_;
+
+ boost::shared_ptr<TServerEventHandler> eventHandler_;
+
+public:
+ void setInputTransportFactory(boost::shared_ptr<TTransportFactory> inputTransportFactory) {
+ inputTransportFactory_ = inputTransportFactory;
+ }
+
+ void setOutputTransportFactory(boost::shared_ptr<TTransportFactory> outputTransportFactory) {
+ outputTransportFactory_ = outputTransportFactory;
+ }
+
+ void setInputProtocolFactory(boost::shared_ptr<TProtocolFactory> inputProtocolFactory) {
+ inputProtocolFactory_ = inputProtocolFactory;
+ }
+
+ void setOutputProtocolFactory(boost::shared_ptr<TProtocolFactory> outputProtocolFactory) {
+ outputProtocolFactory_ = outputProtocolFactory;
+ }
+
+ void setServerEventHandler(boost::shared_ptr<TServerEventHandler> eventHandler) {
+ eventHandler_ = eventHandler;
+ }
+
+};
+
+/**
+ * Helper function to increase the max file descriptors limit
+ * for the current process and all of its children.
+ * By default, tries to increase it to as much as 2^24.
+ */
+ int increase_max_fds(int max_fds=(1<<24));
+
+
+}}} // apache::thrift::server
+
+#endif // #ifndef _THRIFT_SERVER_TSERVER_H_
http://git-wip-us.apache.org/repos/asf/airavata/blob/f891b7dc/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/server/TSimpleServer.cpp
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/server/TSimpleServer.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/server/TSimpleServer.cpp
new file mode 100644
index 0000000..5fc4c97
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/server/TSimpleServer.cpp
@@ -0,0 +1,153 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you 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 <thrift/server/TSimpleServer.h>
+#include <thrift/transport/TTransportException.h>
+#include <string>
+#include <iostream>
+
+namespace apache { namespace thrift { namespace server {
+
+using namespace std;
+using namespace apache::thrift;
+using namespace apache::thrift::protocol;
+using namespace apache::thrift::transport;
+using boost::shared_ptr;
+
+/**
+ * A simple single-threaded application server. Perfect for unit tests!
+ *
+ */
+void TSimpleServer::serve() {
+
+ shared_ptr<TTransport> client;
+ shared_ptr<TTransport> inputTransport;
+ shared_ptr<TTransport> outputTransport;
+ shared_ptr<TProtocol> inputProtocol;
+ shared_ptr<TProtocol> outputProtocol;
+
+ // Start the server listening
+ serverTransport_->listen();
+
+ // Run the preServe event
+ if (eventHandler_) {
+ eventHandler_->preServe();
+ }
+
+ // Fetch client from server
+ while (!stop_) {
+ try {
+ client = serverTransport_->accept();
+ inputTransport = inputTransportFactory_->getTransport(client);
+ outputTransport = outputTransportFactory_->getTransport(client);
+ inputProtocol = inputProtocolFactory_->getProtocol(inputTransport);
+ outputProtocol = outputProtocolFactory_->getProtocol(outputTransport);
+ } catch (TTransportException& ttx) {
+ if (inputTransport) { inputTransport->close(); }
+ if (outputTransport) { outputTransport->close(); }
+ if (client) { client->close(); }
+ if (!stop_ || ttx.getType() != TTransportException::INTERRUPTED) {
+ string errStr = string("TServerTransport died on accept: ") + ttx.what();
+ GlobalOutput(errStr.c_str());
+ }
+ continue;
+ } catch (TException& tx) {
+ if (inputTransport) { inputTransport->close(); }
+ if (outputTransport) { outputTransport->close(); }
+ if (client) { client->close(); }
+ string errStr = string("Some kind of accept exception: ") + tx.what();
+ GlobalOutput(errStr.c_str());
+ continue;
+ } catch (string s) {
+ if (inputTransport) { inputTransport->close(); }
+ if (outputTransport) { outputTransport->close(); }
+ if (client) { client->close(); }
+ string errStr = string("Some kind of accept exception: ") + s;
+ GlobalOutput(errStr.c_str());
+ break;
+ }
+
+ // Get the processor
+ shared_ptr<TProcessor> processor = getProcessor(inputProtocol,
+ outputProtocol, client);
+
+ void* connectionContext = NULL;
+ if (eventHandler_) {
+ connectionContext = eventHandler_->createContext(inputProtocol, outputProtocol);
+ }
+ try {
+ for (;;) {
+ if (eventHandler_) {
+ eventHandler_->processContext(connectionContext, client);
+ }
+ if (!processor->process(inputProtocol, outputProtocol,
+ connectionContext) ||
+ // Peek ahead, is the remote side closed?
+ !inputProtocol->getTransport()->peek()) {
+ break;
+ }
+ }
+ } catch (const TTransportException& ttx) {
+ string errStr = string("TSimpleServer client died: ") + ttx.what();
+ GlobalOutput(errStr.c_str());
+ } catch (const std::exception& x) {
+ GlobalOutput.printf("TSimpleServer exception: %s: %s",
+ typeid(x).name(), x.what());
+ } catch (...) {
+ GlobalOutput("TSimpleServer uncaught exception.");
+ }
+ if (eventHandler_) {
+ eventHandler_->deleteContext(connectionContext, inputProtocol, outputProtocol);
+ }
+
+ try {
+ inputTransport->close();
+ } catch (const TTransportException& ttx) {
+ string errStr = string("TSimpleServer input close failed: ")
+ + ttx.what();
+ GlobalOutput(errStr.c_str());
+ }
+ try {
+ outputTransport->close();
+ } catch (const TTransportException& ttx) {
+ string errStr = string("TSimpleServer output close failed: ")
+ + ttx.what();
+ GlobalOutput(errStr.c_str());
+ }
+ try {
+ client->close();
+ } catch (const TTransportException& ttx) {
+ string errStr = string("TSimpleServer client close failed: ")
+ + ttx.what();
+ GlobalOutput(errStr.c_str());
+ }
+ }
+
+ if (stop_) {
+ try {
+ serverTransport_->close();
+ } catch (TTransportException &ttx) {
+ string errStr = string("TServerTransport failed on close: ") + ttx.what();
+ GlobalOutput(errStr.c_str());
+ }
+ stop_ = false;
+ }
+}
+
+}}} // apache::thrift::server
http://git-wip-us.apache.org/repos/asf/airavata/blob/f891b7dc/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/server/TSimpleServer.h
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/server/TSimpleServer.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/server/TSimpleServer.h
new file mode 100644
index 0000000..f9e0e2b
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/server/TSimpleServer.h
@@ -0,0 +1,102 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you 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 _THRIFT_SERVER_TSIMPLESERVER_H_
+#define _THRIFT_SERVER_TSIMPLESERVER_H_ 1
+
+#include <thrift/server/TServer.h>
+#include <thrift/transport/TServerTransport.h>
+
+namespace apache { namespace thrift { namespace server {
+
+/**
+ * This is the most basic simple server. It is single-threaded and runs a
+ * continuous loop of accepting a single connection, processing requests on
+ * that connection until it closes, and then repeating. It is a good example
+ * of how to extend the TServer interface.
+ *
+ */
+class TSimpleServer : public TServer {
+ public:
+ template<typename ProcessorFactory>
+ TSimpleServer(
+ const boost::shared_ptr<ProcessorFactory>& processorFactory,
+ const boost::shared_ptr<TServerTransport>& serverTransport,
+ const boost::shared_ptr<TTransportFactory>& transportFactory,
+ const boost::shared_ptr<TProtocolFactory>& protocolFactory,
+ THRIFT_OVERLOAD_IF(ProcessorFactory, TProcessorFactory)) :
+ TServer(processorFactory, serverTransport, transportFactory,
+ protocolFactory),
+ stop_(false) {}
+
+ template<typename Processor>
+ TSimpleServer(
+ const boost::shared_ptr<Processor>& processor,
+ const boost::shared_ptr<TServerTransport>& serverTransport,
+ const boost::shared_ptr<TTransportFactory>& transportFactory,
+ const boost::shared_ptr<TProtocolFactory>& protocolFactory,
+ THRIFT_OVERLOAD_IF(Processor, TProcessor)) :
+ TServer(processor, serverTransport, transportFactory, protocolFactory),
+ stop_(false) {}
+
+ template<typename ProcessorFactory>
+ TSimpleServer(
+ const boost::shared_ptr<ProcessorFactory>& processorFactory,
+ const boost::shared_ptr<TServerTransport>& serverTransport,
+ const boost::shared_ptr<TTransportFactory>& inputTransportFactory,
+ const boost::shared_ptr<TTransportFactory>& outputTransportFactory,
+ const boost::shared_ptr<TProtocolFactory>& inputProtocolFactory,
+ const boost::shared_ptr<TProtocolFactory>& outputProtocolFactory,
+ THRIFT_OVERLOAD_IF(ProcessorFactory, TProcessorFactory)) :
+ TServer(processorFactory, serverTransport,
+ inputTransportFactory, outputTransportFactory,
+ inputProtocolFactory, outputProtocolFactory),
+ stop_(false) {}
+
+ template<typename Processor>
+ TSimpleServer(
+ const boost::shared_ptr<Processor>& processor,
+ const boost::shared_ptr<TServerTransport>& serverTransport,
+ const boost::shared_ptr<TTransportFactory>& inputTransportFactory,
+ const boost::shared_ptr<TTransportFactory>& outputTransportFactory,
+ const boost::shared_ptr<TProtocolFactory>& inputProtocolFactory,
+ const boost::shared_ptr<TProtocolFactory>& outputProtocolFactory,
+ THRIFT_OVERLOAD_IF(Processor, TProcessor)) :
+ TServer(processor, serverTransport,
+ inputTransportFactory, outputTransportFactory,
+ inputProtocolFactory, outputProtocolFactory),
+ stop_(false) {}
+
+ ~TSimpleServer() {}
+
+ void serve();
+
+ void stop() {
+ stop_ = true;
+ serverTransport_->interrupt();
+ }
+
+ protected:
+ bool stop_;
+
+};
+
+}}} // apache::thrift::server
+
+#endif // #ifndef _THRIFT_SERVER_TSIMPLESERVER_H_
http://git-wip-us.apache.org/repos/asf/airavata/blob/f891b7dc/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/server/TThreadPoolServer.cpp
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/server/TThreadPoolServer.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/server/TThreadPoolServer.cpp
new file mode 100644
index 0000000..da33ec2
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/server/TThreadPoolServer.cpp
@@ -0,0 +1,211 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you 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 <thrift/thrift-config.h>
+
+#include <thrift/server/TThreadPoolServer.h>
+#include <thrift/transport/TTransportException.h>
+#include <thrift/concurrency/Thread.h>
+#include <thrift/concurrency/ThreadManager.h>
+#include <string>
+#include <iostream>
+
+namespace apache { namespace thrift { namespace server {
+
+using boost::shared_ptr;
+using namespace std;
+using namespace apache::thrift;
+using namespace apache::thrift::concurrency;
+using namespace apache::thrift::protocol;
+using namespace apache::thrift::transport;
+
+class TThreadPoolServer::Task : public Runnable {
+
+public:
+
+ Task(TThreadPoolServer &server,
+ shared_ptr<TProcessor> processor,
+ shared_ptr<TProtocol> input,
+ shared_ptr<TProtocol> output,
+ shared_ptr<TTransport> transport) :
+ server_(server),
+ processor_(processor),
+ input_(input),
+ output_(output),
+ transport_(transport) {
+ }
+
+ ~Task() {}
+
+ void run() {
+ boost::shared_ptr<TServerEventHandler> eventHandler =
+ server_.getEventHandler();
+ void* connectionContext = NULL;
+ if (eventHandler) {
+ connectionContext = eventHandler->createContext(input_, output_);
+ }
+ try {
+ for (;;) {
+ if (eventHandler) {
+ eventHandler->processContext(connectionContext, transport_);
+ }
+ if (!processor_->process(input_, output_, connectionContext) ||
+ !input_->getTransport()->peek()) {
+ break;
+ }
+ }
+ } catch (const TTransportException&) {
+ // This is reasonably expected, client didn't send a full request so just
+ // ignore him
+ // string errStr = string("TThreadPoolServer client died: ") + ttx.what();
+ // GlobalOutput(errStr.c_str());
+ } catch (const std::exception& x) {
+ GlobalOutput.printf("TThreadPoolServer exception %s: %s",
+ typeid(x).name(), x.what());
+ } catch (...) {
+ GlobalOutput("TThreadPoolServer, unexpected exception in "
+ "TThreadPoolServer::Task::run()");
+ }
+
+ if (eventHandler) {
+ eventHandler->deleteContext(connectionContext, input_, output_);
+ }
+
+ try {
+ input_->getTransport()->close();
+ } catch (TTransportException& ttx) {
+ string errStr = string("TThreadPoolServer input close failed: ") + ttx.what();
+ GlobalOutput(errStr.c_str());
+ }
+ try {
+ output_->getTransport()->close();
+ } catch (TTransportException& ttx) {
+ string errStr = string("TThreadPoolServer output close failed: ") + ttx.what();
+ GlobalOutput(errStr.c_str());
+ }
+
+ }
+
+ private:
+ TServer& server_;
+ shared_ptr<TProcessor> processor_;
+ shared_ptr<TProtocol> input_;
+ shared_ptr<TProtocol> output_;
+ shared_ptr<TTransport> transport_;
+};
+
+TThreadPoolServer::~TThreadPoolServer() {}
+
+void TThreadPoolServer::serve() {
+ shared_ptr<TTransport> client;
+ shared_ptr<TTransport> inputTransport;
+ shared_ptr<TTransport> outputTransport;
+ shared_ptr<TProtocol> inputProtocol;
+ shared_ptr<TProtocol> outputProtocol;
+
+ // Start the server listening
+ serverTransport_->listen();
+
+ // Run the preServe event
+ if (eventHandler_) {
+ eventHandler_->preServe();
+ }
+
+ while (!stop_) {
+ try {
+ client.reset();
+ inputTransport.reset();
+ outputTransport.reset();
+ inputProtocol.reset();
+ outputProtocol.reset();
+
+ // Fetch client from server
+ client = serverTransport_->accept();
+
+ // Make IO transports
+ inputTransport = inputTransportFactory_->getTransport(client);
+ outputTransport = outputTransportFactory_->getTransport(client);
+ inputProtocol = inputProtocolFactory_->getProtocol(inputTransport);
+ outputProtocol = outputProtocolFactory_->getProtocol(outputTransport);
+
+ shared_ptr<TProcessor> processor = getProcessor(inputProtocol,
+ outputProtocol, client);
+
+ // Add to threadmanager pool
+ shared_ptr<TThreadPoolServer::Task> task(new TThreadPoolServer::Task(
+ *this, processor, inputProtocol, outputProtocol, client));
+ threadManager_->add(task, timeout_, taskExpiration_);
+
+ } catch (TTransportException& ttx) {
+ if (inputTransport) { inputTransport->close(); }
+ if (outputTransport) { outputTransport->close(); }
+ if (client) { client->close(); }
+ if (!stop_ || ttx.getType() != TTransportException::INTERRUPTED) {
+ string errStr = string("TThreadPoolServer: TServerTransport died on accept: ") + ttx.what();
+ GlobalOutput(errStr.c_str());
+ }
+ continue;
+ } catch (TException& tx) {
+ if (inputTransport) { inputTransport->close(); }
+ if (outputTransport) { outputTransport->close(); }
+ if (client) { client->close(); }
+ string errStr = string("TThreadPoolServer: Caught TException: ") + tx.what();
+ GlobalOutput(errStr.c_str());
+ continue;
+ } catch (string s) {
+ if (inputTransport) { inputTransport->close(); }
+ if (outputTransport) { outputTransport->close(); }
+ if (client) { client->close(); }
+ string errStr = "TThreadPoolServer: Unknown exception: " + s;
+ GlobalOutput(errStr.c_str());
+ break;
+ }
+ }
+
+ // If stopped manually, join the existing threads
+ if (stop_) {
+ try {
+ serverTransport_->close();
+ threadManager_->join();
+ } catch (TException &tx) {
+ string errStr = string("TThreadPoolServer: Exception shutting down: ") + tx.what();
+ GlobalOutput(errStr.c_str());
+ }
+ stop_ = false;
+ }
+
+}
+
+int64_t TThreadPoolServer::getTimeout() const {
+ return timeout_;
+}
+
+void TThreadPoolServer::setTimeout(int64_t value) {
+ timeout_ = value;
+}
+
+int64_t TThreadPoolServer::getTaskExpiration() const {
+ return taskExpiration_;
+}
+
+void TThreadPoolServer::setTaskExpiration(int64_t value) {
+ taskExpiration_ = value;
+}
+
+}}} // apache::thrift::server
http://git-wip-us.apache.org/repos/asf/airavata/blob/f891b7dc/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/server/TThreadPoolServer.h
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/server/TThreadPoolServer.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/server/TThreadPoolServer.h
new file mode 100644
index 0000000..8a1fc16
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/server/TThreadPoolServer.h
@@ -0,0 +1,136 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you 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 _THRIFT_SERVER_TTHREADPOOLSERVER_H_
+#define _THRIFT_SERVER_TTHREADPOOLSERVER_H_ 1
+
+#include <thrift/concurrency/ThreadManager.h>
+#include <thrift/server/TServer.h>
+#include <thrift/transport/TServerTransport.h>
+
+#include <boost/shared_ptr.hpp>
+
+namespace apache { namespace thrift { namespace server {
+
+using apache::thrift::concurrency::ThreadManager;
+using apache::thrift::protocol::TProtocolFactory;
+using apache::thrift::transport::TServerTransport;
+using apache::thrift::transport::TTransportFactory;
+
+class TThreadPoolServer : public TServer {
+ public:
+ class Task;
+
+ template<typename ProcessorFactory>
+ TThreadPoolServer(
+ const boost::shared_ptr<ProcessorFactory>& processorFactory,
+ const boost::shared_ptr<TServerTransport>& serverTransport,
+ const boost::shared_ptr<TTransportFactory>& transportFactory,
+ const boost::shared_ptr<TProtocolFactory>& protocolFactory,
+ const boost::shared_ptr<ThreadManager>& threadManager,
+ THRIFT_OVERLOAD_IF(ProcessorFactory, TProcessorFactory)) :
+ TServer(processorFactory, serverTransport, transportFactory,
+ protocolFactory),
+ threadManager_(threadManager),
+ stop_(false),
+ timeout_(0),
+ taskExpiration_(0) {}
+
+ template<typename Processor>
+ TThreadPoolServer(
+ const boost::shared_ptr<Processor>& processor,
+ const boost::shared_ptr<TServerTransport>& serverTransport,
+ const boost::shared_ptr<TTransportFactory>& transportFactory,
+ const boost::shared_ptr<TProtocolFactory>& protocolFactory,
+ const boost::shared_ptr<ThreadManager>& threadManager,
+ THRIFT_OVERLOAD_IF(Processor, TProcessor)) :
+ TServer(processor, serverTransport, transportFactory, protocolFactory),
+ threadManager_(threadManager),
+ stop_(false),
+ timeout_(0),
+ taskExpiration_(0) {}
+
+ template<typename ProcessorFactory>
+ TThreadPoolServer(
+ const boost::shared_ptr<ProcessorFactory>& processorFactory,
+ const boost::shared_ptr<TServerTransport>& serverTransport,
+ const boost::shared_ptr<TTransportFactory>& inputTransportFactory,
+ const boost::shared_ptr<TTransportFactory>& outputTransportFactory,
+ const boost::shared_ptr<TProtocolFactory>& inputProtocolFactory,
+ const boost::shared_ptr<TProtocolFactory>& outputProtocolFactory,
+ const boost::shared_ptr<ThreadManager>& threadManager,
+ THRIFT_OVERLOAD_IF(ProcessorFactory, TProcessorFactory)) :
+ TServer(processorFactory, serverTransport,
+ inputTransportFactory, outputTransportFactory,
+ inputProtocolFactory, outputProtocolFactory),
+ threadManager_(threadManager),
+ stop_(false),
+ timeout_(0),
+ taskExpiration_(0) {}
+
+ template<typename Processor>
+ TThreadPoolServer(
+ const boost::shared_ptr<Processor>& processor,
+ const boost::shared_ptr<TServerTransport>& serverTransport,
+ const boost::shared_ptr<TTransportFactory>& inputTransportFactory,
+ const boost::shared_ptr<TTransportFactory>& outputTransportFactory,
+ const boost::shared_ptr<TProtocolFactory>& inputProtocolFactory,
+ const boost::shared_ptr<TProtocolFactory>& outputProtocolFactory,
+ const boost::shared_ptr<ThreadManager>& threadManager,
+ THRIFT_OVERLOAD_IF(Processor, TProcessor)) :
+ TServer(processor, serverTransport,
+ inputTransportFactory, outputTransportFactory,
+ inputProtocolFactory, outputProtocolFactory),
+ threadManager_(threadManager),
+ stop_(false),
+ timeout_(0),
+ taskExpiration_(0) {}
+
+ virtual ~TThreadPoolServer();
+
+ virtual void serve();
+
+ virtual int64_t getTimeout() const;
+
+ virtual void setTimeout(int64_t value);
+
+ virtual void stop() {
+ stop_ = true;
+ serverTransport_->interrupt();
+ }
+
+ virtual int64_t getTaskExpiration() const;
+
+ virtual void setTaskExpiration(int64_t value);
+
+ protected:
+
+ boost::shared_ptr<ThreadManager> threadManager_;
+
+ volatile bool stop_;
+
+ volatile int64_t timeout_;
+
+ volatile int64_t taskExpiration_;
+
+};
+
+}}} // apache::thrift::server
+
+#endif // #ifndef _THRIFT_SERVER_TTHREADPOOLSERVER_H_
http://git-wip-us.apache.org/repos/asf/airavata/blob/f891b7dc/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/server/TThreadedServer.cpp
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/server/TThreadedServer.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/server/TThreadedServer.cpp
new file mode 100644
index 0000000..909c3ce
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/server/TThreadedServer.cpp
@@ -0,0 +1,241 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you 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 <thrift/server/TThreadedServer.h>
+#include <thrift/transport/TTransportException.h>
+#include <thrift/concurrency/PlatformThreadFactory.h>
+
+#include <string>
+#include <iostream>
+
+#ifdef HAVE_UNISTD_H
+#include <unistd.h>
+#endif
+
+namespace apache { namespace thrift { namespace server {
+
+using boost::shared_ptr;
+using namespace std;
+using namespace apache::thrift;
+using namespace apache::thrift::protocol;
+using namespace apache::thrift::transport;
+using namespace apache::thrift::concurrency;
+
+class TThreadedServer::Task: public Runnable {
+
+public:
+
+ Task(TThreadedServer& server,
+ shared_ptr<TProcessor> processor,
+ shared_ptr<TProtocol> input,
+ shared_ptr<TProtocol> output,
+ shared_ptr<TTransport> transport) :
+ server_(server),
+ processor_(processor),
+ input_(input),
+ output_(output),
+ transport_(transport) {
+ }
+
+ ~Task() {}
+
+ void run() {
+ boost::shared_ptr<TServerEventHandler> eventHandler =
+ server_.getEventHandler();
+ void* connectionContext = NULL;
+ if (eventHandler) {
+ connectionContext = eventHandler->createContext(input_, output_);
+ }
+ try {
+ for (;;) {
+ if (eventHandler) {
+ eventHandler->processContext(connectionContext, transport_);
+ }
+ if (!processor_->process(input_, output_, connectionContext) ||
+ !input_->getTransport()->peek()) {
+ break;
+ }
+ }
+ } catch (const TTransportException& ttx) {
+ if (ttx.getType() != TTransportException::END_OF_FILE) {
+ string errStr = string("TThreadedServer client died: ") + ttx.what();
+ GlobalOutput(errStr.c_str());
+ }
+ } catch (const std::exception &x) {
+ GlobalOutput.printf("TThreadedServer exception: %s: %s",
+ typeid(x).name(), x.what());
+ } catch (...) {
+ GlobalOutput("TThreadedServer uncaught exception.");
+ }
+ if (eventHandler) {
+ eventHandler->deleteContext(connectionContext, input_, output_);
+ }
+
+ try {
+ input_->getTransport()->close();
+ } catch (TTransportException& ttx) {
+ string errStr = string("TThreadedServer input close failed: ") + ttx.what();
+ GlobalOutput(errStr.c_str());
+ }
+ try {
+ output_->getTransport()->close();
+ } catch (TTransportException& ttx) {
+ string errStr = string("TThreadedServer output close failed: ") + ttx.what();
+ GlobalOutput(errStr.c_str());
+ }
+
+ // Remove this task from parent bookkeeping
+ {
+ Synchronized s(server_.tasksMonitor_);
+ server_.tasks_.erase(this);
+ if (server_.tasks_.empty()) {
+ server_.tasksMonitor_.notify();
+ }
+ }
+
+ }
+
+ private:
+ TThreadedServer& server_;
+ friend class TThreadedServer;
+
+ shared_ptr<TProcessor> processor_;
+ shared_ptr<TProtocol> input_;
+ shared_ptr<TProtocol> output_;
+ shared_ptr<TTransport> transport_;
+};
+
+void TThreadedServer::init() {
+ stop_ = false;
+
+ if (!threadFactory_) {
+ threadFactory_.reset(new PlatformThreadFactory);
+ }
+}
+
+TThreadedServer::~TThreadedServer() {}
+
+void TThreadedServer::serve() {
+
+ shared_ptr<TTransport> client;
+ shared_ptr<TTransport> inputTransport;
+ shared_ptr<TTransport> outputTransport;
+ shared_ptr<TProtocol> inputProtocol;
+ shared_ptr<TProtocol> outputProtocol;
+
+ // Start the server listening
+ serverTransport_->listen();
+
+ // Run the preServe event
+ if (eventHandler_) {
+ eventHandler_->preServe();
+ }
+
+ while (!stop_) {
+ try {
+ client.reset();
+ inputTransport.reset();
+ outputTransport.reset();
+ inputProtocol.reset();
+ outputProtocol.reset();
+
+ // Fetch client from server
+ client = serverTransport_->accept();
+
+ // Make IO transports
+ inputTransport = inputTransportFactory_->getTransport(client);
+ outputTransport = outputTransportFactory_->getTransport(client);
+ inputProtocol = inputProtocolFactory_->getProtocol(inputTransport);
+ outputProtocol = outputProtocolFactory_->getProtocol(outputTransport);
+
+ shared_ptr<TProcessor> processor = getProcessor(inputProtocol,
+ outputProtocol, client);
+
+ TThreadedServer::Task* task = new TThreadedServer::Task(*this,
+ processor,
+ inputProtocol,
+ outputProtocol,
+ client);
+
+ // Create a task
+ shared_ptr<Runnable> runnable =
+ shared_ptr<Runnable>(task);
+
+ // Create a thread for this task
+ shared_ptr<Thread> thread =
+ shared_ptr<Thread>(threadFactory_->newThread(runnable));
+
+ // Insert thread into the set of threads
+ {
+ Synchronized s(tasksMonitor_);
+ tasks_.insert(task);
+ }
+
+ // Start the thread!
+ thread->start();
+
+ } catch (TTransportException& ttx) {
+ if (inputTransport) { inputTransport->close(); }
+ if (outputTransport) { outputTransport->close(); }
+ if (client) { client->close(); }
+ if (!stop_ || ttx.getType() != TTransportException::INTERRUPTED) {
+ string errStr = string("TThreadedServer: TServerTransport died on accept: ") + ttx.what();
+ GlobalOutput(errStr.c_str());
+ }
+ continue;
+ } catch (TException& tx) {
+ if (inputTransport) { inputTransport->close(); }
+ if (outputTransport) { outputTransport->close(); }
+ if (client) { client->close(); }
+ string errStr = string("TThreadedServer: Caught TException: ") + tx.what();
+ GlobalOutput(errStr.c_str());
+ continue;
+ } catch (string s) {
+ if (inputTransport) { inputTransport->close(); }
+ if (outputTransport) { outputTransport->close(); }
+ if (client) { client->close(); }
+ string errStr = "TThreadedServer: Unknown exception: " + s;
+ GlobalOutput(errStr.c_str());
+ break;
+ }
+ }
+
+ // If stopped manually, make sure to close server transport
+ if (stop_) {
+ try {
+ serverTransport_->close();
+ } catch (TException &tx) {
+ string errStr = string("TThreadedServer: Exception shutting down: ") + tx.what();
+ GlobalOutput(errStr.c_str());
+ }
+ try {
+ Synchronized s(tasksMonitor_);
+ while (!tasks_.empty()) {
+ tasksMonitor_.wait();
+ }
+ } catch (TException &tx) {
+ string errStr = string("TThreadedServer: Exception joining workers: ") + tx.what();
+ GlobalOutput(errStr.c_str());
+ }
+ stop_ = false;
+ }
+
+}
+
+}}} // apache::thrift::server
http://git-wip-us.apache.org/repos/asf/airavata/blob/f891b7dc/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/server/TThreadedServer.h
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/server/TThreadedServer.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/server/TThreadedServer.h
new file mode 100644
index 0000000..f965fcd
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/server/TThreadedServer.h
@@ -0,0 +1,145 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you 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 _THRIFT_SERVER_TTHREADEDSERVER_H_
+#define _THRIFT_SERVER_TTHREADEDSERVER_H_ 1
+
+#include <thrift/server/TServer.h>
+#include <thrift/transport/TServerTransport.h>
+#include <thrift/concurrency/Monitor.h>
+#include <thrift/concurrency/Thread.h>
+
+#include <boost/shared_ptr.hpp>
+
+namespace apache { namespace thrift { namespace server {
+
+using apache::thrift::TProcessor;
+using apache::thrift::transport::TServerTransport;
+using apache::thrift::transport::TTransportFactory;
+using apache::thrift::concurrency::Monitor;
+using apache::thrift::concurrency::ThreadFactory;
+
+class TThreadedServer : public TServer {
+
+ public:
+ class Task;
+
+ template<typename ProcessorFactory>
+ TThreadedServer(const boost::shared_ptr<ProcessorFactory>& processorFactory,
+ const boost::shared_ptr<TServerTransport>& serverTransport,
+ const boost::shared_ptr<TTransportFactory>& transportFactory,
+ const boost::shared_ptr<TProtocolFactory>& protocolFactory,
+ THRIFT_OVERLOAD_IF(ProcessorFactory, TProcessorFactory));
+
+ template<typename ProcessorFactory>
+ TThreadedServer(const boost::shared_ptr<ProcessorFactory>& processorFactory,
+ const boost::shared_ptr<TServerTransport>& serverTransport,
+ const boost::shared_ptr<TTransportFactory>& transportFactory,
+ const boost::shared_ptr<TProtocolFactory>& protocolFactory,
+ const boost::shared_ptr<ThreadFactory>& threadFactory,
+ THRIFT_OVERLOAD_IF(ProcessorFactory, TProcessorFactory));
+
+ template<typename Processor>
+ TThreadedServer(const boost::shared_ptr<Processor>& processor,
+ const boost::shared_ptr<TServerTransport>& serverTransport,
+ const boost::shared_ptr<TTransportFactory>& transportFactory,
+ const boost::shared_ptr<TProtocolFactory>& protocolFactory,
+ THRIFT_OVERLOAD_IF(Processor, TProcessor));
+
+ template<typename Processor>
+ TThreadedServer(const boost::shared_ptr<Processor>& processor,
+ const boost::shared_ptr<TServerTransport>& serverTransport,
+ const boost::shared_ptr<TTransportFactory>& transportFactory,
+ const boost::shared_ptr<TProtocolFactory>& protocolFactory,
+ const boost::shared_ptr<ThreadFactory>& threadFactory,
+ THRIFT_OVERLOAD_IF(Processor, TProcessor));
+
+ virtual ~TThreadedServer();
+
+ virtual void serve();
+
+ void stop() {
+ stop_ = true;
+ serverTransport_->interrupt();
+ }
+
+ protected:
+ void init();
+
+ boost::shared_ptr<ThreadFactory> threadFactory_;
+ volatile bool stop_;
+
+ Monitor tasksMonitor_;
+ std::set<Task*> tasks_;
+
+};
+
+template<typename ProcessorFactory>
+TThreadedServer::TThreadedServer(
+ const boost::shared_ptr<ProcessorFactory>& processorFactory,
+ const boost::shared_ptr<TServerTransport>& serverTransport,
+ const boost::shared_ptr<TTransportFactory>& transportFactory,
+ const boost::shared_ptr<TProtocolFactory>& protocolFactory,
+ THRIFT_OVERLOAD_IF_DEFN(ProcessorFactory, TProcessorFactory)) :
+ TServer(processorFactory, serverTransport, transportFactory,
+ protocolFactory) {
+ init();
+}
+
+template<typename ProcessorFactory>
+TThreadedServer::TThreadedServer(
+ const boost::shared_ptr<ProcessorFactory>& processorFactory,
+ const boost::shared_ptr<TServerTransport>& serverTransport,
+ const boost::shared_ptr<TTransportFactory>& transportFactory,
+ const boost::shared_ptr<TProtocolFactory>& protocolFactory,
+ const boost::shared_ptr<ThreadFactory>& threadFactory,
+ THRIFT_OVERLOAD_IF_DEFN(ProcessorFactory, TProcessorFactory)) :
+ TServer(processorFactory, serverTransport, transportFactory,
+ protocolFactory),
+ threadFactory_(threadFactory) {
+ init();
+}
+
+template<typename Processor>
+TThreadedServer::TThreadedServer(
+ const boost::shared_ptr<Processor>& processor,
+ const boost::shared_ptr<TServerTransport>& serverTransport,
+ const boost::shared_ptr<TTransportFactory>& transportFactory,
+ const boost::shared_ptr<TProtocolFactory>& protocolFactory,
+ THRIFT_OVERLOAD_IF_DEFN(Processor, TProcessor)) :
+ TServer(processor, serverTransport, transportFactory, protocolFactory) {
+ init();
+}
+
+template<typename Processor>
+TThreadedServer::TThreadedServer(
+ const boost::shared_ptr<Processor>& processor,
+ const boost::shared_ptr<TServerTransport>& serverTransport,
+ const boost::shared_ptr<TTransportFactory>& transportFactory,
+ const boost::shared_ptr<TProtocolFactory>& protocolFactory,
+ const boost::shared_ptr<ThreadFactory>& threadFactory,
+ THRIFT_OVERLOAD_IF_DEFN(Processor, TProcessor)) :
+ TServer(processor, serverTransport, transportFactory, protocolFactory),
+ threadFactory_(threadFactory) {
+ init();
+}
+
+}}} // apache::thrift::server
+
+#endif // #ifndef _THRIFT_SERVER_TTHREADEDSERVER_H_
http://git-wip-us.apache.org/repos/asf/airavata/blob/f891b7dc/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/stamp-h2
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/stamp-h2 b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/stamp-h2
new file mode 100644
index 0000000..c089805
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/stamp-h2
@@ -0,0 +1 @@
+timestamp for lib/cpp/src/thrift/config.h
http://git-wip-us.apache.org/repos/asf/airavata/blob/f891b7dc/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/thrift-config.h
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/thrift-config.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/thrift-config.h
new file mode 100755
index 0000000..b1bcccb
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/thrift-config.h
@@ -0,0 +1,24 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you 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.
+ */
+
+#ifdef _WIN32
+# include <thrift/windows/config.h>
+#else
+# include <thrift/config.h>
+#endif
http://git-wip-us.apache.org/repos/asf/airavata/blob/f891b7dc/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/transport/PlatformSocket.h
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/transport/PlatformSocket.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/transport/PlatformSocket.h
new file mode 100644
index 0000000..58d68a4
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/transport/PlatformSocket.h
@@ -0,0 +1,96 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you 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 _THRIFT_TRANSPORT_PLATFORM_SOCKET_H_
+# define _THRIFT_TRANSPORT_PLATFORM_SOCKET_H_
+
+#ifdef _WIN32
+# define THRIFT_GET_SOCKET_ERROR ::WSAGetLastError()
+# define THRIFT_EINPROGRESS WSAEINPROGRESS
+# define THRIFT_EAGAIN WSAEWOULDBLOCK
+# define THRIFT_EINTR WSAEINTR
+# define THRIFT_ECONNRESET WSAECONNRESET
+# define THRIFT_ENOTCONN WSAENOTCONN
+# define THRIFT_ETIMEDOUT WSAETIMEDOUT
+# define THRIFT_EWOULDBLOCK WSAEWOULDBLOCK
+# define THRIFT_EPIPE WSAECONNRESET
+# define THRIFT_NO_SOCKET_CACHING SO_EXCLUSIVEADDRUSE
+# define THRIFT_SOCKET SOCKET
+# define THRIFT_INVALID_SOCKET INVALID_SOCKET
+# define THRIFT_SOCKETPAIR thrift_socketpair
+# define THRIFT_FCNTL thrift_fcntl
+# define THRIFT_O_NONBLOCK 1
+# define THRIFT_F_GETFL 0
+# define THRIFT_F_SETFL 1
+# define THRIFT_GETTIMEOFDAY thrift_gettimeofday
+# define THRIFT_CLOSESOCKET closesocket
+# define THRIFT_GAI_STRERROR gai_strerrorA
+# define THRIFT_SSIZET ptrdiff_t
+# define THRIFT_SNPRINTF _snprintf
+# define THRIFT_SLEEP_SEC thrift_sleep
+# define THRIFT_SLEEP_USEC thrift_usleep
+# define THRIFT_TIMESPEC thrift_timespec
+# define THRIFT_CTIME_R thrift_ctime_r
+# define THRIFT_POLL thrift_poll
+# if WINVER <= 0x0502 //XP, Server2003
+# define THRIFT_POLLFD thrift_pollfd
+# define THRIFT_POLLIN 0x0300
+# define THRIFT_POLLOUT 0x0010
+# else //Vista, Win7...
+# define THRIFT_POLLFD pollfd
+# define THRIFT_POLLIN POLLIN
+# define THRIFT_POLLOUT POLLOUT
+# endif //WINVER
+# define THRIFT_SHUT_RDWR SD_BOTH
+#else //not _WIN32
+# include <errno.h>
+# define THRIFT_GET_SOCKET_ERROR errno
+# define THRIFT_EINTR EINTR
+# define THRIFT_EINPROGRESS EINPROGRESS
+# define THRIFT_ECONNRESET ECONNRESET
+# define THRIFT_ENOTCONN ENOTCONN
+# define THRIFT_ETIMEDOUT ETIMEDOUT
+# define THRIFT_EWOULDBLOCK EWOULDBLOCK
+# define THRIFT_EAGAIN EAGAIN
+# define THRIFT_EPIPE EPIPE
+# define THRIFT_NO_SOCKET_CACHING SO_REUSEADDR
+# define THRIFT_SOCKET int
+# define THRIFT_INVALID_SOCKET (-1)
+# define THRIFT_SOCKETPAIR socketpair
+# define THRIFT_FCNTL fcntl
+# define THRIFT_O_NONBLOCK O_NONBLOCK
+# define THRIFT_F_GETFL F_GETFL
+# define THRIFT_F_SETFL F_SETFL
+# define THRIFT_GETTIMEOFDAY gettimeofday
+# define THRIFT_CLOSESOCKET close
+# define THRIFT_GAI_STRERROR gai_strerror
+# define THRIFT_SSIZET ssize_t
+# define THRIFT_SNPRINTF snprintf
+# define THRIFT_SLEEP_SEC sleep
+# define THRIFT_SLEEP_USEC usleep
+# define THRIFT_TIMESPEC timespec
+# define THRIFT_CTIME_R ctime_r
+# define THRIFT_POLL poll
+# define THRIFT_POLLFD pollfd
+# define THRIFT_POLLIN POLLIN
+# define THRIFT_POLLOUT POLLOUT
+# define THRIFT_SHUT_RDWR SHUT_RDWR
+#endif
+
+#endif // _THRIFT_TRANSPORT_PLATFORM_SOCKET_H_
http://git-wip-us.apache.org/repos/asf/airavata/blob/f891b7dc/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/transport/TBufferTransports.cpp
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/transport/TBufferTransports.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/transport/TBufferTransports.cpp
new file mode 100644
index 0000000..a307748
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/transport/TBufferTransports.cpp
@@ -0,0 +1,391 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you 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 <cassert>
+#include <algorithm>
+
+#include <thrift/transport/TBufferTransports.h>
+
+using std::string;
+
+namespace apache { namespace thrift { namespace transport {
+
+
+uint32_t TBufferedTransport::readSlow(uint8_t* buf, uint32_t len) {
+ uint32_t have = static_cast<uint32_t>(rBound_ - rBase_);
+
+ // We should only take the slow path if we can't satisfy the read
+ // with the data already in the buffer.
+ assert(have < len);
+
+ // If we have some data in the buffer, copy it out and return it.
+ // We have to return it without attempting to read more, since we aren't
+ // guaranteed that the underlying transport actually has more data, so
+ // attempting to read from it could block.
+ if (have > 0) {
+ memcpy(buf, rBase_, have);
+ setReadBuffer(rBuf_.get(), 0);
+ return have;
+ }
+
+ // No data is available in our buffer.
+ // Get more from underlying transport up to buffer size.
+ // Note that this makes a lot of sense if len < rBufSize_
+ // and almost no sense otherwise. TODO(dreiss): Fix that
+ // case (possibly including some readv hotness).
+ setReadBuffer(rBuf_.get(), transport_->read(rBuf_.get(), rBufSize_));
+
+ // Hand over whatever we have.
+ uint32_t give = (std::min)(len, static_cast<uint32_t>(rBound_ - rBase_));
+ memcpy(buf, rBase_, give);
+ rBase_ += give;
+
+ return give;
+}
+
+void TBufferedTransport::writeSlow(const uint8_t* buf, uint32_t len) {
+ uint32_t have_bytes = static_cast<uint32_t>(wBase_ - wBuf_.get());
+ uint32_t space = static_cast<uint32_t>(wBound_ - wBase_);
+ // We should only take the slow path if we can't accomodate the write
+ // with the free space already in the buffer.
+ assert(wBound_ - wBase_ < static_cast<ptrdiff_t>(len));
+
+ // Now here's the tricky question: should we copy data from buf into our
+ // internal buffer and write it from there, or should we just write out
+ // the current internal buffer in one syscall and write out buf in another.
+ // If our currently buffered data plus buf is at least double our buffer
+ // size, we will have to do two syscalls no matter what (except in the
+ // degenerate case when our buffer is empty), so there is no use copying.
+ // Otherwise, there is sort of a sliding scale. If we have N-1 bytes
+ // buffered and need to write 2, it would be crazy to do two syscalls.
+ // On the other hand, if we have 2 bytes buffered and are writing 2N-3,
+ // we can save a syscall in the short term by loading up our buffer, writing
+ // it out, and copying the rest of the bytes into our buffer. Of course,
+ // if we get another 2-byte write, we haven't saved any syscalls at all,
+ // and have just copied nearly 2N bytes for nothing. Finding a perfect
+ // policy would require predicting the size of future writes, so we're just
+ // going to always eschew syscalls if we have less than 2N bytes to write.
+
+ // The case where we have to do two syscalls.
+ // This case also covers the case where the buffer is empty,
+ // but it is clearer (I think) to think of it as two separate cases.
+ if ((have_bytes + len >= 2*wBufSize_) || (have_bytes == 0)) {
+ // TODO(dreiss): writev
+ if (have_bytes > 0) {
+ transport_->write(wBuf_.get(), have_bytes);
+ }
+ transport_->write(buf, len);
+ wBase_ = wBuf_.get();
+ return;
+ }
+
+ // Fill up our internal buffer for a write.
+ memcpy(wBase_, buf, space);
+ buf += space;
+ len -= space;
+ transport_->write(wBuf_.get(), wBufSize_);
+
+ // Copy the rest into our buffer.
+ assert(len < wBufSize_);
+ memcpy(wBuf_.get(), buf, len);
+ wBase_ = wBuf_.get() + len;
+ return;
+}
+
+const uint8_t* TBufferedTransport::borrowSlow(uint8_t* buf, uint32_t* len) {
+ (void) buf;
+ (void) len;
+ // Simply return NULL. We don't know if there is actually data available on
+ // the underlying transport, so calling read() might block.
+ return NULL;
+}
+
+void TBufferedTransport::flush() {
+ // Write out any data waiting in the write buffer.
+ uint32_t have_bytes = static_cast<uint32_t>(wBase_ - wBuf_.get());
+ if (have_bytes > 0) {
+ // Note that we reset wBase_ prior to the underlying write
+ // to ensure we're in a sane state (i.e. internal buffer cleaned)
+ // if the underlying write throws up an exception
+ wBase_ = wBuf_.get();
+ transport_->write(wBuf_.get(), have_bytes);
+ }
+
+ // Flush the underlying transport.
+ transport_->flush();
+}
+
+
+uint32_t TFramedTransport::readSlow(uint8_t* buf, uint32_t len) {
+ uint32_t want = len;
+ uint32_t have = static_cast<uint32_t>(rBound_ - rBase_);
+
+ // We should only take the slow path if we can't satisfy the read
+ // with the data already in the buffer.
+ assert(have < want);
+
+ // If we have some data in the buffer, copy it out and return it.
+ // We have to return it without attempting to read more, since we aren't
+ // guaranteed that the underlying transport actually has more data, so
+ // attempting to read from it could block.
+ if (have > 0) {
+ memcpy(buf, rBase_, have);
+ setReadBuffer(rBuf_.get(), 0);
+ return have;
+ }
+
+ // Read another frame.
+ if (!readFrame()) {
+ // EOF. No frame available.
+ return 0;
+ }
+
+ // TODO(dreiss): Should we warn when reads cross frames?
+
+ // Hand over whatever we have.
+ uint32_t give = (std::min)(want, static_cast<uint32_t>(rBound_ - rBase_));
+ memcpy(buf, rBase_, give);
+ rBase_ += give;
+ want -= give;
+
+ return (len - want);
+}
+
+bool TFramedTransport::readFrame() {
+ // TODO(dreiss): Think about using readv here, even though it would
+ // result in (gasp) read-ahead.
+
+ // Read the size of the next frame.
+ // We can't use readAll(&sz, sizeof(sz)), since that always throws an
+ // exception on EOF. We want to throw an exception only if EOF occurs after
+ // partial size data.
+ int32_t sz;
+ uint32_t size_bytes_read = 0;
+ while (size_bytes_read < sizeof(sz)) {
+ uint8_t* szp = reinterpret_cast<uint8_t*>(&sz) + size_bytes_read;
+ uint32_t bytes_read = transport_->read(
+ szp,
+ static_cast<uint32_t>(sizeof(sz)) - size_bytes_read);
+ if (bytes_read == 0) {
+ if (size_bytes_read == 0) {
+ // EOF before any data was read.
+ return false;
+ } else {
+ // EOF after a partial frame header. Raise an exception.
+ throw TTransportException(TTransportException::END_OF_FILE,
+ "No more data to read after "
+ "partial frame header.");
+ }
+ }
+ size_bytes_read += bytes_read;
+ }
+
+ sz = ntohl(sz);
+
+ if (sz < 0) {
+ throw TTransportException("Frame size has negative value");
+ }
+
+ // Read the frame payload, and reset markers.
+ if (sz > static_cast<int32_t>(rBufSize_)) {
+ rBuf_.reset(new uint8_t[sz]);
+ rBufSize_ = sz;
+ }
+ transport_->readAll(rBuf_.get(), sz);
+ setReadBuffer(rBuf_.get(), sz);
+ return true;
+}
+
+void TFramedTransport::writeSlow(const uint8_t* buf, uint32_t len) {
+ // Double buffer size until sufficient.
+ uint32_t have = static_cast<uint32_t>(wBase_ - wBuf_.get());
+ uint32_t new_size = wBufSize_;
+ if (len + have < have /* overflow */ || len + have > 0x7fffffff) {
+ throw TTransportException(TTransportException::BAD_ARGS,
+ "Attempted to write over 2 GB to TFramedTransport.");
+ }
+ while (new_size < len + have) {
+ new_size = new_size > 0 ? new_size * 2 : 1;
+ }
+
+ // TODO(dreiss): Consider modifying this class to use malloc/free
+ // so we can use realloc here.
+
+ // Allocate new buffer.
+ uint8_t* new_buf = new uint8_t[new_size];
+
+ // Copy the old buffer to the new one.
+ memcpy(new_buf, wBuf_.get(), have);
+
+ // Now point buf to the new one.
+ wBuf_.reset(new_buf);
+ wBufSize_ = new_size;
+ wBase_ = wBuf_.get() + have;
+ wBound_ = wBuf_.get() + wBufSize_;
+
+ // Copy the data into the new buffer.
+ memcpy(wBase_, buf, len);
+ wBase_ += len;
+}
+
+void TFramedTransport::flush() {
+ int32_t sz_hbo, sz_nbo;
+ assert(wBufSize_ > sizeof(sz_nbo));
+
+ // Slip the frame size into the start of the buffer.
+ sz_hbo = static_cast<uint32_t>(wBase_ - (wBuf_.get() + sizeof(sz_nbo)));
+ sz_nbo = (int32_t)htonl((uint32_t)(sz_hbo));
+ memcpy(wBuf_.get(), (uint8_t*)&sz_nbo, sizeof(sz_nbo));
+
+ if (sz_hbo > 0) {
+ // Note that we reset wBase_ (with a pad for the frame size)
+ // prior to the underlying write to ensure we're in a sane state
+ // (i.e. internal buffer cleaned) if the underlying write throws
+ // up an exception
+ wBase_ = wBuf_.get() + sizeof(sz_nbo);
+
+ // Write size and frame body.
+ transport_->write(
+ wBuf_.get(),
+ static_cast<uint32_t>(sizeof(sz_nbo))+sz_hbo);
+ }
+
+ // Flush the underlying transport.
+ transport_->flush();
+}
+
+uint32_t TFramedTransport::writeEnd() {
+ return static_cast<uint32_t>(wBase_ - wBuf_.get());
+}
+
+const uint8_t* TFramedTransport::borrowSlow(uint8_t* buf, uint32_t* len) {
+ (void) buf;
+ (void) len;
+ // Don't try to be clever with shifting buffers.
+ // If the fast path failed let the protocol use its slow path.
+ // Besides, who is going to try to borrow across messages?
+ return NULL;
+}
+
+uint32_t TFramedTransport::readEnd() {
+ // include framing bytes
+ return static_cast<uint32_t>(rBound_ - rBuf_.get() + sizeof(uint32_t));
+}
+
+void TMemoryBuffer::computeRead(uint32_t len, uint8_t** out_start, uint32_t* out_give) {
+ // Correct rBound_ so we can use the fast path in the future.
+ rBound_ = wBase_;
+
+ // Decide how much to give.
+ uint32_t give = (std::min)(len, available_read());
+
+ *out_start = rBase_;
+ *out_give = give;
+
+ // Preincrement rBase_ so the caller doesn't have to.
+ rBase_ += give;
+}
+
+uint32_t TMemoryBuffer::readSlow(uint8_t* buf, uint32_t len) {
+ uint8_t* start;
+ uint32_t give;
+ computeRead(len, &start, &give);
+
+ // Copy into the provided buffer.
+ memcpy(buf, start, give);
+
+ return give;
+}
+
+uint32_t TMemoryBuffer::readAppendToString(std::string& str, uint32_t len) {
+ // Don't get some stupid assertion failure.
+ if (buffer_ == NULL) {
+ return 0;
+ }
+
+ uint8_t* start;
+ uint32_t give;
+ computeRead(len, &start, &give);
+
+ // Append to the provided string.
+ str.append((char*)start, give);
+
+ return give;
+}
+
+void TMemoryBuffer::ensureCanWrite(uint32_t len) {
+ // Check available space
+ uint32_t avail = available_write();
+ if (len <= avail) {
+ return;
+ }
+
+ if (!owner_) {
+ throw TTransportException("Insufficient space in external MemoryBuffer");
+ }
+
+ // Grow the buffer as necessary.
+ uint32_t new_size = bufferSize_;
+ while (len > avail) {
+ new_size = new_size > 0 ? new_size * 2 : 1;
+ avail = available_write() + (new_size - bufferSize_);
+ }
+
+ // Allocate into a new pointer so we don't bork ours if it fails.
+ void* new_buffer = std::realloc(buffer_, new_size);
+ if (new_buffer == NULL) {
+ throw std::bad_alloc();
+ }
+ bufferSize_ = new_size;
+
+ ptrdiff_t offset = (uint8_t*)new_buffer - buffer_;
+ buffer_ += offset;
+ rBase_ += offset;
+ rBound_ += offset;
+ wBase_ += offset;
+ wBound_ = buffer_ + bufferSize_;
+}
+
+void TMemoryBuffer::writeSlow(const uint8_t* buf, uint32_t len) {
+ ensureCanWrite(len);
+
+ // Copy into the buffer and increment wBase_.
+ memcpy(wBase_, buf, len);
+ wBase_ += len;
+}
+
+void TMemoryBuffer::wroteBytes(uint32_t len) {
+ uint32_t avail = available_write();
+ if (len > avail) {
+ throw TTransportException("Client wrote more bytes than size of buffer.");
+ }
+ wBase_ += len;
+}
+
+const uint8_t* TMemoryBuffer::borrowSlow(uint8_t* buf, uint32_t* len) {
+ (void) buf;
+ rBound_ = wBase_;
+ if (available_read() >= *len) {
+ *len = available_read();
+ return rBase_;
+ }
+ return NULL;
+}
+
+}}} // apache::thrift::transport
[47/47] git commit: Merge branch 'master' of
https://git-wip-us.apache.org/repos/asf/airavata into HEAD
Posted by sm...@apache.org.
Merge branch 'master' of https://git-wip-us.apache.org/repos/asf/airavata into HEAD
Project: http://git-wip-us.apache.org/repos/asf/airavata/repo
Commit: http://git-wip-us.apache.org/repos/asf/airavata/commit/69769b8d
Tree: http://git-wip-us.apache.org/repos/asf/airavata/tree/69769b8d
Diff: http://git-wip-us.apache.org/repos/asf/airavata/diff/69769b8d
Branch: refs/heads/master
Commit: 69769b8df043dc9173261832851a453f19dc457a
Parents: c9af283 a0f5419
Author: Suresh Marru <sm...@apache.org>
Authored: Sat Jul 12 00:07:33 2014 -0400
Committer: Suresh Marru <sm...@apache.org>
Committed: Sat Jul 12 00:07:33 2014 -0400
----------------------------------------------------------------------
.../server/handler/AiravataServerHandler.java | 15 +
.../airavata-php-sdk/pom.xml | 2 +-
.../conf/airavata-client-properties.ini | 1 +
.../resources/conf/app-catalog-identifiers.ini | 8 +
.../php-cli-samples/createExperiment.php | 16 +-
.../php-cli-samples/deleteComputeResource.php | 49 +
.../getAllComputeResourceNames.php | 39 +
.../resources/php-cli-samples/getAppModule.php | 68 -
.../getApplicationDeployment.php | 46 +
.../php-cli-samples/getApplicationModule.php | 68 +
.../php-cli-samples/getComputeResource.php | 46 +
.../php-cli-samples/launchExperiment.php | 2 +-
.../updateApplicationInterface.php | 32 +-
.../client/samples/CreateLaunchExperiment.java | 331 +-
.../tools/RegisterSampleApplications.java | 813 +++++
.../tools/RegisterSampleApplicationsUtils.java | 158 +
.../applicationDeploymentModel.thrift | 2 +-
.../client/tools/DocumentCreatorNew.java | 511 ++-
.../data/impl/ApplicationDeploymentImpl.java | 32 +-
.../data/impl/ApplicationInterfaceImpl.java | 47 +-
.../catalog/data/impl/ComputeResourceImpl.java | 15 +-
.../catalog/data/util/AppCatalogJPAUtils.java | 368 ++-
.../app/catalog/test/AppDeploymentTest.java | 147 -
.../app/catalog/test/AppInterfaceTest.java | 173 -
.../app/catalog/test/ComputeResourceTest.java | 278 --
.../app/catalog/test/GatewayProfileTest.java | 127 -
.../app/catalog/test/util/Initialize.java | 321 --
.../server/src/main/resources/PBSTemplate.xslt | 14 +-
.../src/main/resources/SLURMTemplate.xslt | 5 +
.../main/resources/airavata-server.properties | 4 +-
.../server/src/main/resources/gfac-config.xml | 2 +-
.../airavata/gfac/server/GfacServerHandler.java | 6 +-
.../airavata/gfac/core/cpi/BetterGfacImpl.java | 232 +-
.../apache/airavata/gfac/core/cpi/GFacImpl.java | 4 +-
.../AiravataExperimentStatusUpdator.java | 2 +-
.../AiravataWorkflowNodeStatusUpdator.java | 2 +-
.../airavata/gfac/core/utils/GFacUtils.java | 1917 ++++++-----
.../gfac/gsissh/util/GFACGSISSHUtils.java | 2 +-
.../monitor/impl/pull/qstat/HPCPullMonitor.java | 11 +
.../gfac/ssh/handler/SSHOutputHandler.java | 20 +
.../airavata/gfac/ssh/util/GFACSSHUtils.java | 1 +
.../airavata/integration/SimpleEchoIT.java | 8 +-
.../SingleAppIntegrationTestBase.java | 2 +-
.../cpi/impl/AbstractOrchestrator.java | 12 +-
.../orchestrator/core/BaseOrchestratorTest.java | 8 +-
.../registry/jpa/impl/ExperimentRegistry.java | 70 +-
.../registry/jpa/impl/RegistryImpl.java | 44 +-
.../registry/jpa/resources/Utils.java | 17 +-
.../registry/jpa/resources/WorkerResource.java | 18 +-
.../resources/WorkflowNodeDetailResource.java | 3 +-
.../jpa/utils/ThriftDataModelConversion.java | 24 +-
modules/xbaya-gui/pom.xml | 20 +-
.../apache/airavata/xbaya/ThriftClientData.java | 70 +
.../airavata/xbaya/ThriftServiceType.java | 27 +
.../java/org/apache/airavata/xbaya/XBaya.java | 42 -
.../airavata/xbaya/XBayaConfiguration.java | 140 +-
.../org/apache/airavata/xbaya/XBayaEngine.java | 99 +-
.../registry/ComponentRegistryLoader.java | 15 +-
.../xbaya/core/generators/ScuflFiler.java | 89 +-
.../xbaya/interpretor/DoWhileHandler.java | 9 +-
.../xbaya/interpretor/ExperimentTemplate.java | 74 +-
.../GUIWorkflowInterpreterInteractorImpl.java | 418 +--
.../SSWorkflowInterpreterInteractorImpl.java | 232 +-
.../interpretor/WorkflowExecutionTemplate.java | 102 +-
.../xbaya/interpretor/WorkflowInterpreter.java | 3008 +++++++++---------
.../WorkflowInterpreterConfiguration.java | 464 +--
.../WorkflowInterpreterInteractor.java | 180 +-
.../WorkflowInterpretorEventListener.java | 772 ++---
...WorkflowInterpretorMessageReceiverInOut.java | 524 +--
.../WorkflowInterpretorSkeleton.java | 1135 ++++---
.../xbaya/invoker/EmbeddedGFacInvoker.java | 1364 ++++----
.../xbaya/jython/script/JythonScript.java | 1 -
.../xbaya/lead/LeadContextHeaderHelper.java | 1 -
.../registrybrowser/AiravataConfigurations.java | 54 -
.../ApplicationDeploymentDescriptionWrap.java | 98 -
.../ApplicationDeploymentDescriptions.java | 107 -
.../registrybrowser/EventingServiceURL.java | 54 -
.../registrybrowser/EventingServiceURLs.java | 54 -
.../xbaya/model/registrybrowser/GFacURL.java | 54 -
.../xbaya/model/registrybrowser/GFacURLs.java | 56 -
.../model/registrybrowser/HostDescriptions.java | 50 -
.../model/registrybrowser/InputParameters.java | 36 -
.../registrybrowser/InterpreterServiceURL.java | 54 -
.../registrybrowser/InterpreterServiceURLs.java | 56 -
.../model/registrybrowser/MessageBoxURL.java | 54 -
.../model/registrybrowser/MessageBoxURLs.java | 54 -
.../model/registrybrowser/NodeParameter.java | 60 -
.../model/registrybrowser/OutputParameters.java | 36 -
.../registrybrowser/ServiceDescriptions.java | 50 -
.../registrybrowser/ServiceParameters.java | 57 -
.../model/registrybrowser/XBayaWorkflow.java | 94 -
.../XBayaWorkflowExperiment.java | 81 -
.../XBayaWorkflowExperiments.java | 65 -
.../XBayaWorkflowNodeElement.java | 107 -
.../registrybrowser/XBayaWorkflowTemplate.java | 50 -
.../registrybrowser/XBayaWorkflowTemplates.java | 63 -
.../xbaya/provenance/ProvenanceReader.java | 64 -
.../xbaya/provenance/ProvenanceWrite.java | 217 --
.../provenance/WorkflowNodeStatusUpdater.java | 135 -
.../xbaya/provenance/WorkflowStatusUpdater.java | 103 -
.../xbaya/registry/RegistryAccesser.java | 212 --
.../nodes/AbstractAiravataTreeNode.java | 255 --
.../nodes/AiravataConfigurationsNode.java | 94 -
.../nodes/AiravataTreeNodeFactory.java | 112 -
.../ApplicationDeploymentDescriptionNode.java | 131 -
.../ApplicationDeploymentDescriptionsNode.java | 139 -
.../nodes/EventingServiceURLNode.java | 98 -
.../nodes/EventingServiceURLsNode.java | 91 -
.../registrybrowser/nodes/GFacURLNode.java | 98 -
.../registrybrowser/nodes/GFacURLsNode.java | 91 -
.../nodes/HostDescriptionNode.java | 127 -
.../nodes/HostDescriptionsNode.java | 131 -
.../nodes/InputParametersNode.java | 46 -
.../nodes/InterpreterServiceURLNode.java | 98 -
.../nodes/InterpreterServiceURLsNode.java | 90 -
.../registrybrowser/nodes/JCRBrowserIcons.java | 50 -
.../nodes/MessageBoxURLNode.java | 98 -
.../nodes/MessageBoxURLsNode.java | 90 -
.../nodes/OutputParametersNode.java | 46 -
.../registrybrowser/nodes/ParameterNode.java | 136 -
.../nodes/ParameterValueNode.java | 90 -
.../registrybrowser/nodes/ParametersNode.java | 90 -
.../registrybrowser/nodes/RegistryNode.java | 130 -
.../nodes/RegistryTreeCellRenderer.java | 43 -
.../nodes/ServiceDescriptionNode.java | 142 -
.../nodes/ServiceDescriptionsNode.java | 137 -
.../nodes/XBayaWorkflowExperimentNode.java | 141 -
.../nodes/XBayaWorkflowExperimentsNode.java | 89 -
.../nodes/XBayaWorkflowNode.java | 107 -
.../nodes/XBayaWorkflowNodeElementNode.java | 101 -
.../nodes/XBayaWorkflowTemplateNode.java | 130 -
.../nodes/XBayaWorkflowTemplatesNode.java | 99 -
.../xbaya/scufl/script/ScuflScript.java | 1078 +++----
.../airavata/xbaya/test/BPELScriptTestCase.java | 209 --
.../airavata/xbaya/test/BrowserTestCase.java | 38 -
.../apache/airavata/xbaya/test/DSCTestCase.java | 131 -
.../airavata/xbaya/test/DSCUtilTestCase.java | 79 -
.../xbaya/test/GFacServiceCreaterTestCase.java | 120 -
.../airavata/xbaya/test/GraphTestCase.java | 54 -
.../airavata/xbaya/test/MetadataTestCase.java | 221 --
.../airavata/xbaya/test/MonitorTestCase.java | 67 -
.../xbaya/test/ResourceNotifierTestCase.java | 59 -
.../airavata/xbaya/test/StringUtilTestCase.java | 55 -
.../airavata/xbaya/test/WSDLTestCase.java | 92 -
.../airavata/xbaya/test/WSDLUtilTestCase.java | 51 -
.../airavata/xbaya/test/WSIFTestCase.java | 53 -
.../airavata/xbaya/test/WaitDialogTestCase.java | 282 --
.../WebComponentRegistryClientTestCase.java | 173 -
.../test/WorkflowModificationTestCase.java | 373 ---
.../airavata/xbaya/test/WorkflowTestCase.java | 120 -
.../xbaya/test/XBayaSecurityTestCase.java | 68 -
.../airavata/xbaya/test/XBayaTestCase.java | 77 -
.../apache/airavata/xbaya/test/XppTestCase.java | 71 -
.../test/jython/JythonClassLoaderTestCase.java | 44 -
.../xbaya/test/jython/JythonLibraryTest.java | 115 -
.../jython/JythonOneTimeRunnerTestCase.java | 70 -
.../xbaya/test/jython/JythonRunnerTestCase.java | 74 -
.../xbaya/test/jython/JythonScriptTestCase.java | 131 -
.../xbaya/test/service/AllServices.java | 115 -
.../airavata/xbaya/test/service/Service.java | 44 -
.../test/service/ServiceNotificationSender.java | 161 -
.../xbaya/test/service/adder/Adder.java | 54 -
.../xbaya/test/service/adder/AdderClient.java | 114 -
.../xbaya/test/service/adder/AdderImpl.java | 79 -
.../xbaya/test/service/adder/AdderService.java | 131 -
.../xbaya/test/service/approver/Approver.java | 54 -
.../test/service/approver/ApproverClient.java | 113 -
.../test/service/approver/ApproverImpl.java | 74 -
.../test/service/approver/ApproverService.java | 131 -
.../test/service/arrayadder/ArrayAdder.java | 54 -
.../service/arrayadder/ArrayAdderClient.java | 121 -
.../test/service/arrayadder/ArrayAdderImpl.java | 83 -
.../service/arrayadder/ArrayAdderService.java | 131 -
.../test/service/arraygen/ArrayGenerator.java | 54 -
.../service/arraygen/ArrayGeneratorClient.java | 113 -
.../service/arraygen/ArrayGeneratorImpl.java | 77 -
.../service/arraygen/ArrayGeneratorService.java | 131 -
.../airavata/xbaya/test/service/echo/Echo.java | 54 -
.../xbaya/test/service/echo/EchoClient.java | 116 -
.../xbaya/test/service/echo/EchoImpl.java | 73 -
.../xbaya/test/service/echo/EchoService.java | 113 -
.../test/service/multiplier/Multiplier.java | 54 -
.../test/service/multiplier/MultiplierImpl.java | 80 -
.../service/multiplier/MultiplierService.java | 132 -
.../xbaya/test/util/WorkflowCreator.java | 1482 ++++-----
.../org/apache/airavata/xbaya/ui/XBayaGUI.java | 72 +-
...licationDescriptionAdvancedOptionDialog.java | 358 ---
.../ApplicationDescriptionDialog.java | 822 -----
...tionDescriptionHostAdvancedOptionDialog.java | 459 ---
.../DeploymentDescriptionDialog.java | 816 -----
.../descriptors/DescriptorEditorDialog.java | 424 ---
.../descriptors/DescriptorListDialog.java | 261 --
.../descriptors/HostDeploymentDialog.java | 617 ----
.../descriptors/HostDescriptionDialog.java | 592 ----
.../descriptors/ServiceDescriptionDialog.java | 727 -----
.../dynamic/DynamicWorkflowRunnerWindow.java | 774 ++---
.../xbaya/ui/dialogs/graph/ws/WSNodeWindow.java | 12 +-
.../ui/dialogs/registry/RegistryWindow.java | 268 +-
.../registry/browser/JCRBrowserDialog.java | 3 +-
.../xbaya/ui/experiment/ExperimentMenu.java | 45 +-
.../ui/experiment/RegistryLoaderWindow.java | 239 --
.../WorkflowInterpreterLaunchWindow.java | 69 +-
.../airavata/xbaya/ui/menues/EditMenuItem.java | 91 +-
.../airavata/xbaya/ui/menues/RunMenuItem.java | 56 +-
.../airavata/xbaya/ui/menues/ViewMenuItem.java | 22 +-
.../airavata/xbaya/ui/menues/XBayaMenuItem.java | 177 +-
.../xbaya/ui/views/JCRBrowserPanel.java | 574 ++--
.../airavata/xbaya/util/InterpreterUtil.java | 42 +-
.../apache/airavata/xbaya/util/XBayaUtil.java | 154 +-
.../interpreter/ComplexForEachWorkflowTest.java | 146 +-
.../interpreter/ComplexMathWorkflowTest.java | 142 +-
.../interpreter/CrossProductWorkflowTest.java | 142 +-
.../xbaya/interpreter/ForEachWorkflowTest.java | 146 +-
.../xbaya/interpreter/RegistryServiceTest.java | 210 +-
.../interpreter/SimpleForEachWorkflowTest.java | 144 +-
.../interpreter/SimpleMathWorkflowTest.java | 146 +-
.../xbaya/interpreter/WorkflowTest.java | 148 +-
.../xbaya/interpreter/WorkflowTrackingTest.java | 210 +-
.../interpreter/XBayaConsolidatedTestSuite.java | 134 +-
.../xbaya/interpreter/utils/TestUtilServer.java | 486 +--
.../interpreter/utils/WorkflowTestUtils.java | 194 +-
.../airavata/gsi/ssh/api/job/JobDescriptor.java | 8 +
.../gsi/ssh/impl/StandardOutReader.java | 6 +
.../src/main/resources/SLURMTemplate.xslt | 5 +
.../main/resources/schemas/PBSJobDescriptor.xsd | 1 +
225 files changed, 11432 insertions(+), 26777 deletions(-)
----------------------------------------------------------------------
[32/47] removed unnecessary files, updated ini file
Posted by sm...@apache.org.
http://git-wip-us.apache.org/repos/asf/airavata/blob/00b8aaf0/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/applicationDeploymentModel_types.cpp
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/applicationDeploymentModel_types.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/applicationDeploymentModel_types.cpp
deleted file mode 100644
index 6eee268..0000000
--- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/applicationDeploymentModel_types.cpp
+++ /dev/null
@@ -1,497 +0,0 @@
-/**
- * Autogenerated by Thrift Compiler (0.9.1)
- *
- * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
- * @generated
- */
-#include "applicationDeploymentModel_types.h"
-
-#include <algorithm>
-
-namespace apache { namespace airavata { namespace model { namespace appcatalog { namespace appdeployment {
-
-int _kApplicationParallelismTypeValues[] = {
- ApplicationParallelismType::SERIAL,
- ApplicationParallelismType::MPI,
- ApplicationParallelismType::OPENMP,
- ApplicationParallelismType::OPENMP_MPI
-};
-const char* _kApplicationParallelismTypeNames[] = {
- "SERIAL",
- "MPI",
- "OPENMP",
- "OPENMP_MPI"
-};
-const std::map<int, const char*> _ApplicationParallelismType_VALUES_TO_NAMES(::apache::thrift::TEnumIterator(4, _kApplicationParallelismTypeValues, _kApplicationParallelismTypeNames), ::apache::thrift::TEnumIterator(-1, NULL, NULL));
-
-const char* SetEnvPaths::ascii_fingerprint = "07A9615F837F7D0A952B595DD3020972";
-const uint8_t SetEnvPaths::binary_fingerprint[16] = {0x07,0xA9,0x61,0x5F,0x83,0x7F,0x7D,0x0A,0x95,0x2B,0x59,0x5D,0xD3,0x02,0x09,0x72};
-
-uint32_t SetEnvPaths::read(::apache::thrift::protocol::TProtocol* iprot) {
-
- uint32_t xfer = 0;
- std::string fname;
- ::apache::thrift::protocol::TType ftype;
- int16_t fid;
-
- xfer += iprot->readStructBegin(fname);
-
- using ::apache::thrift::protocol::TProtocolException;
-
- bool isset_name = false;
- bool isset_value = false;
-
- while (true)
- {
- xfer += iprot->readFieldBegin(fname, ftype, fid);
- if (ftype == ::apache::thrift::protocol::T_STOP) {
- break;
- }
- switch (fid)
- {
- case 1:
- if (ftype == ::apache::thrift::protocol::T_STRING) {
- xfer += iprot->readString(this->name);
- isset_name = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 2:
- if (ftype == ::apache::thrift::protocol::T_STRING) {
- xfer += iprot->readString(this->value);
- isset_value = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- default:
- xfer += iprot->skip(ftype);
- break;
- }
- xfer += iprot->readFieldEnd();
- }
-
- xfer += iprot->readStructEnd();
-
- if (!isset_name)
- throw TProtocolException(TProtocolException::INVALID_DATA);
- if (!isset_value)
- throw TProtocolException(TProtocolException::INVALID_DATA);
- return xfer;
-}
-
-uint32_t SetEnvPaths::write(::apache::thrift::protocol::TProtocol* oprot) const {
- uint32_t xfer = 0;
- xfer += oprot->writeStructBegin("SetEnvPaths");
-
- xfer += oprot->writeFieldBegin("name", ::apache::thrift::protocol::T_STRING, 1);
- xfer += oprot->writeString(this->name);
- xfer += oprot->writeFieldEnd();
-
- xfer += oprot->writeFieldBegin("value", ::apache::thrift::protocol::T_STRING, 2);
- xfer += oprot->writeString(this->value);
- xfer += oprot->writeFieldEnd();
-
- xfer += oprot->writeFieldStop();
- xfer += oprot->writeStructEnd();
- return xfer;
-}
-
-void swap(SetEnvPaths &a, SetEnvPaths &b) {
- using ::std::swap;
- swap(a.name, b.name);
- swap(a.value, b.value);
-}
-
-const char* ApplicationModule::ascii_fingerprint = "FED0FBEAA0C90D1589E8B650561B7675";
-const uint8_t ApplicationModule::binary_fingerprint[16] = {0xFE,0xD0,0xFB,0xEA,0xA0,0xC9,0x0D,0x15,0x89,0xE8,0xB6,0x50,0x56,0x1B,0x76,0x75};
-
-uint32_t ApplicationModule::read(::apache::thrift::protocol::TProtocol* iprot) {
-
- uint32_t xfer = 0;
- std::string fname;
- ::apache::thrift::protocol::TType ftype;
- int16_t fid;
-
- xfer += iprot->readStructBegin(fname);
-
- using ::apache::thrift::protocol::TProtocolException;
-
- bool isset_appModuleId = false;
- bool isset_appModuleName = false;
-
- while (true)
- {
- xfer += iprot->readFieldBegin(fname, ftype, fid);
- if (ftype == ::apache::thrift::protocol::T_STOP) {
- break;
- }
- switch (fid)
- {
- case 1:
- if (ftype == ::apache::thrift::protocol::T_STRING) {
- xfer += iprot->readString(this->appModuleId);
- isset_appModuleId = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 2:
- if (ftype == ::apache::thrift::protocol::T_STRING) {
- xfer += iprot->readString(this->appModuleName);
- isset_appModuleName = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 3:
- if (ftype == ::apache::thrift::protocol::T_STRING) {
- xfer += iprot->readString(this->appModuleVersion);
- this->__isset.appModuleVersion = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 4:
- if (ftype == ::apache::thrift::protocol::T_STRING) {
- xfer += iprot->readString(this->appModuleDescription);
- this->__isset.appModuleDescription = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- default:
- xfer += iprot->skip(ftype);
- break;
- }
- xfer += iprot->readFieldEnd();
- }
-
- xfer += iprot->readStructEnd();
-
- if (!isset_appModuleId)
- throw TProtocolException(TProtocolException::INVALID_DATA);
- if (!isset_appModuleName)
- throw TProtocolException(TProtocolException::INVALID_DATA);
- return xfer;
-}
-
-uint32_t ApplicationModule::write(::apache::thrift::protocol::TProtocol* oprot) const {
- uint32_t xfer = 0;
- xfer += oprot->writeStructBegin("ApplicationModule");
-
- xfer += oprot->writeFieldBegin("appModuleId", ::apache::thrift::protocol::T_STRING, 1);
- xfer += oprot->writeString(this->appModuleId);
- xfer += oprot->writeFieldEnd();
-
- xfer += oprot->writeFieldBegin("appModuleName", ::apache::thrift::protocol::T_STRING, 2);
- xfer += oprot->writeString(this->appModuleName);
- xfer += oprot->writeFieldEnd();
-
- if (this->__isset.appModuleVersion) {
- xfer += oprot->writeFieldBegin("appModuleVersion", ::apache::thrift::protocol::T_STRING, 3);
- xfer += oprot->writeString(this->appModuleVersion);
- xfer += oprot->writeFieldEnd();
- }
- if (this->__isset.appModuleDescription) {
- xfer += oprot->writeFieldBegin("appModuleDescription", ::apache::thrift::protocol::T_STRING, 4);
- xfer += oprot->writeString(this->appModuleDescription);
- xfer += oprot->writeFieldEnd();
- }
- xfer += oprot->writeFieldStop();
- xfer += oprot->writeStructEnd();
- return xfer;
-}
-
-void swap(ApplicationModule &a, ApplicationModule &b) {
- using ::std::swap;
- swap(a.appModuleId, b.appModuleId);
- swap(a.appModuleName, b.appModuleName);
- swap(a.appModuleVersion, b.appModuleVersion);
- swap(a.appModuleDescription, b.appModuleDescription);
- swap(a.__isset, b.__isset);
-}
-
-const char* ApplicationDeploymentDescription::ascii_fingerprint = "179A145BD54BBE10649DEF31C71143C9";
-const uint8_t ApplicationDeploymentDescription::binary_fingerprint[16] = {0x17,0x9A,0x14,0x5B,0xD5,0x4B,0xBE,0x10,0x64,0x9D,0xEF,0x31,0xC7,0x11,0x43,0xC9};
-
-uint32_t ApplicationDeploymentDescription::read(::apache::thrift::protocol::TProtocol* iprot) {
-
- uint32_t xfer = 0;
- std::string fname;
- ::apache::thrift::protocol::TType ftype;
- int16_t fid;
-
- xfer += iprot->readStructBegin(fname);
-
- using ::apache::thrift::protocol::TProtocolException;
-
- bool isset_appDeploymentId = false;
- bool isset_appModuleId = false;
- bool isset_computeHostId = false;
- bool isset_executablePath = false;
- bool isset_parallelism = false;
-
- while (true)
- {
- xfer += iprot->readFieldBegin(fname, ftype, fid);
- if (ftype == ::apache::thrift::protocol::T_STOP) {
- break;
- }
- switch (fid)
- {
- case 1:
- if (ftype == ::apache::thrift::protocol::T_STRING) {
- xfer += iprot->readString(this->appDeploymentId);
- isset_appDeploymentId = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 2:
- if (ftype == ::apache::thrift::protocol::T_STRING) {
- xfer += iprot->readString(this->appModuleId);
- isset_appModuleId = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 3:
- if (ftype == ::apache::thrift::protocol::T_STRING) {
- xfer += iprot->readString(this->computeHostId);
- isset_computeHostId = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 4:
- if (ftype == ::apache::thrift::protocol::T_STRING) {
- xfer += iprot->readString(this->executablePath);
- isset_executablePath = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 5:
- if (ftype == ::apache::thrift::protocol::T_I32) {
- int32_t ecast0;
- xfer += iprot->readI32(ecast0);
- this->parallelism = (ApplicationParallelismType::type)ecast0;
- isset_parallelism = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 6:
- if (ftype == ::apache::thrift::protocol::T_STRING) {
- xfer += iprot->readString(this->appDeploymentDescription);
- this->__isset.appDeploymentDescription = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 7:
- if (ftype == ::apache::thrift::protocol::T_LIST) {
- {
- this->moduleLoadCmds.clear();
- uint32_t _size1;
- ::apache::thrift::protocol::TType _etype4;
- xfer += iprot->readListBegin(_etype4, _size1);
- this->moduleLoadCmds.resize(_size1);
- uint32_t _i5;
- for (_i5 = 0; _i5 < _size1; ++_i5)
- {
- xfer += iprot->readString(this->moduleLoadCmds[_i5]);
- }
- xfer += iprot->readListEnd();
- }
- this->__isset.moduleLoadCmds = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 8:
- if (ftype == ::apache::thrift::protocol::T_LIST) {
- {
- this->libPrependPaths.clear();
- uint32_t _size6;
- ::apache::thrift::protocol::TType _etype9;
- xfer += iprot->readListBegin(_etype9, _size6);
- this->libPrependPaths.resize(_size6);
- uint32_t _i10;
- for (_i10 = 0; _i10 < _size6; ++_i10)
- {
- xfer += this->libPrependPaths[_i10].read(iprot);
- }
- xfer += iprot->readListEnd();
- }
- this->__isset.libPrependPaths = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 9:
- if (ftype == ::apache::thrift::protocol::T_LIST) {
- {
- this->libAppendPaths.clear();
- uint32_t _size11;
- ::apache::thrift::protocol::TType _etype14;
- xfer += iprot->readListBegin(_etype14, _size11);
- this->libAppendPaths.resize(_size11);
- uint32_t _i15;
- for (_i15 = 0; _i15 < _size11; ++_i15)
- {
- xfer += this->libAppendPaths[_i15].read(iprot);
- }
- xfer += iprot->readListEnd();
- }
- this->__isset.libAppendPaths = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 10:
- if (ftype == ::apache::thrift::protocol::T_LIST) {
- {
- this->setEnvironment.clear();
- uint32_t _size16;
- ::apache::thrift::protocol::TType _etype19;
- xfer += iprot->readListBegin(_etype19, _size16);
- this->setEnvironment.resize(_size16);
- uint32_t _i20;
- for (_i20 = 0; _i20 < _size16; ++_i20)
- {
- xfer += this->setEnvironment[_i20].read(iprot);
- }
- xfer += iprot->readListEnd();
- }
- this->__isset.setEnvironment = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- default:
- xfer += iprot->skip(ftype);
- break;
- }
- xfer += iprot->readFieldEnd();
- }
-
- xfer += iprot->readStructEnd();
-
- if (!isset_appDeploymentId)
- throw TProtocolException(TProtocolException::INVALID_DATA);
- if (!isset_appModuleId)
- throw TProtocolException(TProtocolException::INVALID_DATA);
- if (!isset_computeHostId)
- throw TProtocolException(TProtocolException::INVALID_DATA);
- if (!isset_executablePath)
- throw TProtocolException(TProtocolException::INVALID_DATA);
- if (!isset_parallelism)
- throw TProtocolException(TProtocolException::INVALID_DATA);
- return xfer;
-}
-
-uint32_t ApplicationDeploymentDescription::write(::apache::thrift::protocol::TProtocol* oprot) const {
- uint32_t xfer = 0;
- xfer += oprot->writeStructBegin("ApplicationDeploymentDescription");
-
- xfer += oprot->writeFieldBegin("appDeploymentId", ::apache::thrift::protocol::T_STRING, 1);
- xfer += oprot->writeString(this->appDeploymentId);
- xfer += oprot->writeFieldEnd();
-
- xfer += oprot->writeFieldBegin("appModuleId", ::apache::thrift::protocol::T_STRING, 2);
- xfer += oprot->writeString(this->appModuleId);
- xfer += oprot->writeFieldEnd();
-
- xfer += oprot->writeFieldBegin("computeHostId", ::apache::thrift::protocol::T_STRING, 3);
- xfer += oprot->writeString(this->computeHostId);
- xfer += oprot->writeFieldEnd();
-
- xfer += oprot->writeFieldBegin("executablePath", ::apache::thrift::protocol::T_STRING, 4);
- xfer += oprot->writeString(this->executablePath);
- xfer += oprot->writeFieldEnd();
-
- xfer += oprot->writeFieldBegin("parallelism", ::apache::thrift::protocol::T_I32, 5);
- xfer += oprot->writeI32((int32_t)this->parallelism);
- xfer += oprot->writeFieldEnd();
-
- if (this->__isset.appDeploymentDescription) {
- xfer += oprot->writeFieldBegin("appDeploymentDescription", ::apache::thrift::protocol::T_STRING, 6);
- xfer += oprot->writeString(this->appDeploymentDescription);
- xfer += oprot->writeFieldEnd();
- }
- if (this->__isset.moduleLoadCmds) {
- xfer += oprot->writeFieldBegin("moduleLoadCmds", ::apache::thrift::protocol::T_LIST, 7);
- {
- xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRING, static_cast<uint32_t>(this->moduleLoadCmds.size()));
- std::vector<std::string> ::const_iterator _iter21;
- for (_iter21 = this->moduleLoadCmds.begin(); _iter21 != this->moduleLoadCmds.end(); ++_iter21)
- {
- xfer += oprot->writeString((*_iter21));
- }
- xfer += oprot->writeListEnd();
- }
- xfer += oprot->writeFieldEnd();
- }
- if (this->__isset.libPrependPaths) {
- xfer += oprot->writeFieldBegin("libPrependPaths", ::apache::thrift::protocol::T_LIST, 8);
- {
- xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>(this->libPrependPaths.size()));
- std::vector<SetEnvPaths> ::const_iterator _iter22;
- for (_iter22 = this->libPrependPaths.begin(); _iter22 != this->libPrependPaths.end(); ++_iter22)
- {
- xfer += (*_iter22).write(oprot);
- }
- xfer += oprot->writeListEnd();
- }
- xfer += oprot->writeFieldEnd();
- }
- if (this->__isset.libAppendPaths) {
- xfer += oprot->writeFieldBegin("libAppendPaths", ::apache::thrift::protocol::T_LIST, 9);
- {
- xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>(this->libAppendPaths.size()));
- std::vector<SetEnvPaths> ::const_iterator _iter23;
- for (_iter23 = this->libAppendPaths.begin(); _iter23 != this->libAppendPaths.end(); ++_iter23)
- {
- xfer += (*_iter23).write(oprot);
- }
- xfer += oprot->writeListEnd();
- }
- xfer += oprot->writeFieldEnd();
- }
- if (this->__isset.setEnvironment) {
- xfer += oprot->writeFieldBegin("setEnvironment", ::apache::thrift::protocol::T_LIST, 10);
- {
- xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>(this->setEnvironment.size()));
- std::vector<SetEnvPaths> ::const_iterator _iter24;
- for (_iter24 = this->setEnvironment.begin(); _iter24 != this->setEnvironment.end(); ++_iter24)
- {
- xfer += (*_iter24).write(oprot);
- }
- xfer += oprot->writeListEnd();
- }
- xfer += oprot->writeFieldEnd();
- }
- xfer += oprot->writeFieldStop();
- xfer += oprot->writeStructEnd();
- return xfer;
-}
-
-void swap(ApplicationDeploymentDescription &a, ApplicationDeploymentDescription &b) {
- using ::std::swap;
- swap(a.appDeploymentId, b.appDeploymentId);
- swap(a.appModuleId, b.appModuleId);
- swap(a.computeHostId, b.computeHostId);
- swap(a.executablePath, b.executablePath);
- swap(a.parallelism, b.parallelism);
- swap(a.appDeploymentDescription, b.appDeploymentDescription);
- swap(a.moduleLoadCmds, b.moduleLoadCmds);
- swap(a.libPrependPaths, b.libPrependPaths);
- swap(a.libAppendPaths, b.libAppendPaths);
- swap(a.setEnvironment, b.setEnvironment);
- swap(a.__isset, b.__isset);
-}
-
-}}}}} // namespace
http://git-wip-us.apache.org/repos/asf/airavata/blob/00b8aaf0/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/applicationDeploymentModel_types.h
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/applicationDeploymentModel_types.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/applicationDeploymentModel_types.h
deleted file mode 100644
index 62439bb..0000000
--- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/applicationDeploymentModel_types.h
+++ /dev/null
@@ -1,275 +0,0 @@
-/**
- * Autogenerated by Thrift Compiler (0.9.1)
- *
- * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
- * @generated
- */
-#ifndef applicationDeploymentModel_TYPES_H
-#define applicationDeploymentModel_TYPES_H
-
-#include <thrift/Thrift.h>
-#include <thrift/TApplicationException.h>
-#include <thrift/protocol/TProtocol.h>
-#include <thrift/transport/TTransport.h>
-
-#include <thrift/cxxfunctional.h>
-
-
-namespace apache { namespace airavata { namespace model { namespace appcatalog { namespace appdeployment {
-
-struct ApplicationParallelismType {
- enum type {
- SERIAL = 0,
- MPI = 1,
- OPENMP = 2,
- OPENMP_MPI = 3
- };
-};
-
-extern const std::map<int, const char*> _ApplicationParallelismType_VALUES_TO_NAMES;
-
-
-class SetEnvPaths {
- public:
-
- static const char* ascii_fingerprint; // = "07A9615F837F7D0A952B595DD3020972";
- static const uint8_t binary_fingerprint[16]; // = {0x07,0xA9,0x61,0x5F,0x83,0x7F,0x7D,0x0A,0x95,0x2B,0x59,0x5D,0xD3,0x02,0x09,0x72};
-
- SetEnvPaths() : name(), value() {
- }
-
- virtual ~SetEnvPaths() throw() {}
-
- std::string name;
- std::string value;
-
- void __set_name(const std::string& val) {
- name = val;
- }
-
- void __set_value(const std::string& val) {
- value = val;
- }
-
- bool operator == (const SetEnvPaths & rhs) const
- {
- if (!(name == rhs.name))
- return false;
- if (!(value == rhs.value))
- return false;
- return true;
- }
- bool operator != (const SetEnvPaths &rhs) const {
- return !(*this == rhs);
- }
-
- bool operator < (const SetEnvPaths & ) const;
-
- uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
- uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-};
-
-void swap(SetEnvPaths &a, SetEnvPaths &b);
-
-typedef struct _ApplicationModule__isset {
- _ApplicationModule__isset() : appModuleVersion(false), appModuleDescription(false) {}
- bool appModuleVersion;
- bool appModuleDescription;
-} _ApplicationModule__isset;
-
-class ApplicationModule {
- public:
-
- static const char* ascii_fingerprint; // = "FED0FBEAA0C90D1589E8B650561B7675";
- static const uint8_t binary_fingerprint[16]; // = {0xFE,0xD0,0xFB,0xEA,0xA0,0xC9,0x0D,0x15,0x89,0xE8,0xB6,0x50,0x56,0x1B,0x76,0x75};
-
- ApplicationModule() : appModuleId("DO_NOT_SET_AT_CLIENTS"), appModuleName(), appModuleVersion(), appModuleDescription() {
- }
-
- virtual ~ApplicationModule() throw() {}
-
- std::string appModuleId;
- std::string appModuleName;
- std::string appModuleVersion;
- std::string appModuleDescription;
-
- _ApplicationModule__isset __isset;
-
- void __set_appModuleId(const std::string& val) {
- appModuleId = val;
- }
-
- void __set_appModuleName(const std::string& val) {
- appModuleName = val;
- }
-
- void __set_appModuleVersion(const std::string& val) {
- appModuleVersion = val;
- __isset.appModuleVersion = true;
- }
-
- void __set_appModuleDescription(const std::string& val) {
- appModuleDescription = val;
- __isset.appModuleDescription = true;
- }
-
- bool operator == (const ApplicationModule & rhs) const
- {
- if (!(appModuleId == rhs.appModuleId))
- return false;
- if (!(appModuleName == rhs.appModuleName))
- return false;
- if (__isset.appModuleVersion != rhs.__isset.appModuleVersion)
- return false;
- else if (__isset.appModuleVersion && !(appModuleVersion == rhs.appModuleVersion))
- return false;
- if (__isset.appModuleDescription != rhs.__isset.appModuleDescription)
- return false;
- else if (__isset.appModuleDescription && !(appModuleDescription == rhs.appModuleDescription))
- return false;
- return true;
- }
- bool operator != (const ApplicationModule &rhs) const {
- return !(*this == rhs);
- }
-
- bool operator < (const ApplicationModule & ) const;
-
- uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
- uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-};
-
-void swap(ApplicationModule &a, ApplicationModule &b);
-
-typedef struct _ApplicationDeploymentDescription__isset {
- _ApplicationDeploymentDescription__isset() : appDeploymentDescription(false), moduleLoadCmds(false), libPrependPaths(false), libAppendPaths(false), setEnvironment(false) {}
- bool appDeploymentDescription;
- bool moduleLoadCmds;
- bool libPrependPaths;
- bool libAppendPaths;
- bool setEnvironment;
-} _ApplicationDeploymentDescription__isset;
-
-class ApplicationDeploymentDescription {
- public:
-
- static const char* ascii_fingerprint; // = "179A145BD54BBE10649DEF31C71143C9";
- static const uint8_t binary_fingerprint[16]; // = {0x17,0x9A,0x14,0x5B,0xD5,0x4B,0xBE,0x10,0x64,0x9D,0xEF,0x31,0xC7,0x11,0x43,0xC9};
-
- ApplicationDeploymentDescription() : appDeploymentId("DO_NOT_SET_AT_CLIENTS"), appModuleId(), computeHostId(), executablePath(), parallelism((ApplicationParallelismType::type)0), appDeploymentDescription() {
- parallelism = (ApplicationParallelismType::type)0;
-
- }
-
- virtual ~ApplicationDeploymentDescription() throw() {}
-
- std::string appDeploymentId;
- std::string appModuleId;
- std::string computeHostId;
- std::string executablePath;
- ApplicationParallelismType::type parallelism;
- std::string appDeploymentDescription;
- std::vector<std::string> moduleLoadCmds;
- std::vector<SetEnvPaths> libPrependPaths;
- std::vector<SetEnvPaths> libAppendPaths;
- std::vector<SetEnvPaths> setEnvironment;
-
- _ApplicationDeploymentDescription__isset __isset;
-
- void __set_appDeploymentId(const std::string& val) {
- appDeploymentId = val;
- }
-
- void __set_appModuleId(const std::string& val) {
- appModuleId = val;
- }
-
- void __set_computeHostId(const std::string& val) {
- computeHostId = val;
- }
-
- void __set_executablePath(const std::string& val) {
- executablePath = val;
- }
-
- void __set_parallelism(const ApplicationParallelismType::type val) {
- parallelism = val;
- }
-
- void __set_appDeploymentDescription(const std::string& val) {
- appDeploymentDescription = val;
- __isset.appDeploymentDescription = true;
- }
-
- void __set_moduleLoadCmds(const std::vector<std::string> & val) {
- moduleLoadCmds = val;
- __isset.moduleLoadCmds = true;
- }
-
- void __set_libPrependPaths(const std::vector<SetEnvPaths> & val) {
- libPrependPaths = val;
- __isset.libPrependPaths = true;
- }
-
- void __set_libAppendPaths(const std::vector<SetEnvPaths> & val) {
- libAppendPaths = val;
- __isset.libAppendPaths = true;
- }
-
- void __set_setEnvironment(const std::vector<SetEnvPaths> & val) {
- setEnvironment = val;
- __isset.setEnvironment = true;
- }
-
- bool operator == (const ApplicationDeploymentDescription & rhs) const
- {
- if (!(appDeploymentId == rhs.appDeploymentId))
- return false;
- if (!(appModuleId == rhs.appModuleId))
- return false;
- if (!(computeHostId == rhs.computeHostId))
- return false;
- if (!(executablePath == rhs.executablePath))
- return false;
- if (!(parallelism == rhs.parallelism))
- return false;
- if (__isset.appDeploymentDescription != rhs.__isset.appDeploymentDescription)
- return false;
- else if (__isset.appDeploymentDescription && !(appDeploymentDescription == rhs.appDeploymentDescription))
- return false;
- if (__isset.moduleLoadCmds != rhs.__isset.moduleLoadCmds)
- return false;
- else if (__isset.moduleLoadCmds && !(moduleLoadCmds == rhs.moduleLoadCmds))
- return false;
- if (__isset.libPrependPaths != rhs.__isset.libPrependPaths)
- return false;
- else if (__isset.libPrependPaths && !(libPrependPaths == rhs.libPrependPaths))
- return false;
- if (__isset.libAppendPaths != rhs.__isset.libAppendPaths)
- return false;
- else if (__isset.libAppendPaths && !(libAppendPaths == rhs.libAppendPaths))
- return false;
- if (__isset.setEnvironment != rhs.__isset.setEnvironment)
- return false;
- else if (__isset.setEnvironment && !(setEnvironment == rhs.setEnvironment))
- return false;
- return true;
- }
- bool operator != (const ApplicationDeploymentDescription &rhs) const {
- return !(*this == rhs);
- }
-
- bool operator < (const ApplicationDeploymentDescription & ) const;
-
- uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
- uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-};
-
-void swap(ApplicationDeploymentDescription &a, ApplicationDeploymentDescription &b);
-
-}}}}} // namespace
-
-#endif
http://git-wip-us.apache.org/repos/asf/airavata/blob/00b8aaf0/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/applicationInterfaceModel_constants.cpp
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/applicationInterfaceModel_constants.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/applicationInterfaceModel_constants.cpp
deleted file mode 100644
index da96617..0000000
--- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/applicationInterfaceModel_constants.cpp
+++ /dev/null
@@ -1,19 +0,0 @@
-/**
- * Autogenerated by Thrift Compiler (0.9.1)
- *
- * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
- * @generated
- */
-#include "applicationInterfaceModel_constants.h"
-
-namespace apache { namespace airavata { namespace model { namespace appcatalog { namespace appinterface {
-
-const applicationInterfaceModelConstants g_applicationInterfaceModel_constants;
-
-applicationInterfaceModelConstants::applicationInterfaceModelConstants() {
- DEFAULT_ID = "DO_NOT_SET_AT_CLIENTS";
-
-}
-
-}}}}} // namespace
-
http://git-wip-us.apache.org/repos/asf/airavata/blob/00b8aaf0/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/applicationInterfaceModel_constants.h
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/applicationInterfaceModel_constants.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/applicationInterfaceModel_constants.h
deleted file mode 100644
index cf2a471..0000000
--- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/applicationInterfaceModel_constants.h
+++ /dev/null
@@ -1,25 +0,0 @@
-/**
- * Autogenerated by Thrift Compiler (0.9.1)
- *
- * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
- * @generated
- */
-#ifndef applicationInterfaceModel_CONSTANTS_H
-#define applicationInterfaceModel_CONSTANTS_H
-
-#include "applicationInterfaceModel_types.h"
-
-namespace apache { namespace airavata { namespace model { namespace appcatalog { namespace appinterface {
-
-class applicationInterfaceModelConstants {
- public:
- applicationInterfaceModelConstants();
-
- std::string DEFAULT_ID;
-};
-
-extern const applicationInterfaceModelConstants g_applicationInterfaceModel_constants;
-
-}}}}} // namespace
-
-#endif
http://git-wip-us.apache.org/repos/asf/airavata/blob/00b8aaf0/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/applicationInterfaceModel_types.cpp
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/applicationInterfaceModel_types.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/applicationInterfaceModel_types.cpp
deleted file mode 100644
index 7b0c4ba..0000000
--- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/applicationInterfaceModel_types.cpp
+++ /dev/null
@@ -1,470 +0,0 @@
-/**
- * Autogenerated by Thrift Compiler (0.9.1)
- *
- * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
- * @generated
- */
-#include "applicationInterfaceModel_types.h"
-
-#include <algorithm>
-
-namespace apache { namespace airavata { namespace model { namespace appcatalog { namespace appinterface {
-
-int _kDataTypeValues[] = {
- DataType::STRING,
- DataType::INTEGER,
- DataType::FLOAT,
- DataType::URI
-};
-const char* _kDataTypeNames[] = {
- "STRING",
- "INTEGER",
- "FLOAT",
- "URI"
-};
-const std::map<int, const char*> _DataType_VALUES_TO_NAMES(::apache::thrift::TEnumIterator(4, _kDataTypeValues, _kDataTypeNames), ::apache::thrift::TEnumIterator(-1, NULL, NULL));
-
-const char* InputDataObjectType::ascii_fingerprint = "24F962C1CE4BE9FBD0F5D5EE9D1D5C00";
-const uint8_t InputDataObjectType::binary_fingerprint[16] = {0x24,0xF9,0x62,0xC1,0xCE,0x4B,0xE9,0xFB,0xD0,0xF5,0xD5,0xEE,0x9D,0x1D,0x5C,0x00};
-
-uint32_t InputDataObjectType::read(::apache::thrift::protocol::TProtocol* iprot) {
-
- uint32_t xfer = 0;
- std::string fname;
- ::apache::thrift::protocol::TType ftype;
- int16_t fid;
-
- xfer += iprot->readStructBegin(fname);
-
- using ::apache::thrift::protocol::TProtocolException;
-
- bool isset_name = false;
-
- while (true)
- {
- xfer += iprot->readFieldBegin(fname, ftype, fid);
- if (ftype == ::apache::thrift::protocol::T_STOP) {
- break;
- }
- switch (fid)
- {
- case 1:
- if (ftype == ::apache::thrift::protocol::T_STRING) {
- xfer += iprot->readString(this->name);
- isset_name = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 2:
- if (ftype == ::apache::thrift::protocol::T_STRING) {
- xfer += iprot->readString(this->value);
- this->__isset.value = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 3:
- if (ftype == ::apache::thrift::protocol::T_I32) {
- int32_t ecast0;
- xfer += iprot->readI32(ecast0);
- this->type = (DataType::type)ecast0;
- this->__isset.type = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 4:
- if (ftype == ::apache::thrift::protocol::T_STRING) {
- xfer += iprot->readString(this->applicationArgument);
- this->__isset.applicationArgument = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 5:
- if (ftype == ::apache::thrift::protocol::T_BOOL) {
- xfer += iprot->readBool(this->standardInput);
- this->__isset.standardInput = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 6:
- if (ftype == ::apache::thrift::protocol::T_STRING) {
- xfer += iprot->readString(this->userFriendlyDescription);
- this->__isset.userFriendlyDescription = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 7:
- if (ftype == ::apache::thrift::protocol::T_STRING) {
- xfer += iprot->readString(this->metaData);
- this->__isset.metaData = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- default:
- xfer += iprot->skip(ftype);
- break;
- }
- xfer += iprot->readFieldEnd();
- }
-
- xfer += iprot->readStructEnd();
-
- if (!isset_name)
- throw TProtocolException(TProtocolException::INVALID_DATA);
- return xfer;
-}
-
-uint32_t InputDataObjectType::write(::apache::thrift::protocol::TProtocol* oprot) const {
- uint32_t xfer = 0;
- xfer += oprot->writeStructBegin("InputDataObjectType");
-
- xfer += oprot->writeFieldBegin("name", ::apache::thrift::protocol::T_STRING, 1);
- xfer += oprot->writeString(this->name);
- xfer += oprot->writeFieldEnd();
-
- if (this->__isset.value) {
- xfer += oprot->writeFieldBegin("value", ::apache::thrift::protocol::T_STRING, 2);
- xfer += oprot->writeString(this->value);
- xfer += oprot->writeFieldEnd();
- }
- if (this->__isset.type) {
- xfer += oprot->writeFieldBegin("type", ::apache::thrift::protocol::T_I32, 3);
- xfer += oprot->writeI32((int32_t)this->type);
- xfer += oprot->writeFieldEnd();
- }
- if (this->__isset.applicationArgument) {
- xfer += oprot->writeFieldBegin("applicationArgument", ::apache::thrift::protocol::T_STRING, 4);
- xfer += oprot->writeString(this->applicationArgument);
- xfer += oprot->writeFieldEnd();
- }
- if (this->__isset.standardInput) {
- xfer += oprot->writeFieldBegin("standardInput", ::apache::thrift::protocol::T_BOOL, 5);
- xfer += oprot->writeBool(this->standardInput);
- xfer += oprot->writeFieldEnd();
- }
- if (this->__isset.userFriendlyDescription) {
- xfer += oprot->writeFieldBegin("userFriendlyDescription", ::apache::thrift::protocol::T_STRING, 6);
- xfer += oprot->writeString(this->userFriendlyDescription);
- xfer += oprot->writeFieldEnd();
- }
- if (this->__isset.metaData) {
- xfer += oprot->writeFieldBegin("metaData", ::apache::thrift::protocol::T_STRING, 7);
- xfer += oprot->writeString(this->metaData);
- xfer += oprot->writeFieldEnd();
- }
- xfer += oprot->writeFieldStop();
- xfer += oprot->writeStructEnd();
- return xfer;
-}
-
-void swap(InputDataObjectType &a, InputDataObjectType &b) {
- using ::std::swap;
- swap(a.name, b.name);
- swap(a.value, b.value);
- swap(a.type, b.type);
- swap(a.applicationArgument, b.applicationArgument);
- swap(a.standardInput, b.standardInput);
- swap(a.userFriendlyDescription, b.userFriendlyDescription);
- swap(a.metaData, b.metaData);
- swap(a.__isset, b.__isset);
-}
-
-const char* OutputDataObjectType::ascii_fingerprint = "B33AE596EF78C48424CF96BCA5D1DF99";
-const uint8_t OutputDataObjectType::binary_fingerprint[16] = {0xB3,0x3A,0xE5,0x96,0xEF,0x78,0xC4,0x84,0x24,0xCF,0x96,0xBC,0xA5,0xD1,0xDF,0x99};
-
-uint32_t OutputDataObjectType::read(::apache::thrift::protocol::TProtocol* iprot) {
-
- uint32_t xfer = 0;
- std::string fname;
- ::apache::thrift::protocol::TType ftype;
- int16_t fid;
-
- xfer += iprot->readStructBegin(fname);
-
- using ::apache::thrift::protocol::TProtocolException;
-
- bool isset_name = false;
-
- while (true)
- {
- xfer += iprot->readFieldBegin(fname, ftype, fid);
- if (ftype == ::apache::thrift::protocol::T_STOP) {
- break;
- }
- switch (fid)
- {
- case 1:
- if (ftype == ::apache::thrift::protocol::T_STRING) {
- xfer += iprot->readString(this->name);
- isset_name = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 2:
- if (ftype == ::apache::thrift::protocol::T_STRING) {
- xfer += iprot->readString(this->value);
- this->__isset.value = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 3:
- if (ftype == ::apache::thrift::protocol::T_I32) {
- int32_t ecast1;
- xfer += iprot->readI32(ecast1);
- this->type = (DataType::type)ecast1;
- this->__isset.type = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- default:
- xfer += iprot->skip(ftype);
- break;
- }
- xfer += iprot->readFieldEnd();
- }
-
- xfer += iprot->readStructEnd();
-
- if (!isset_name)
- throw TProtocolException(TProtocolException::INVALID_DATA);
- return xfer;
-}
-
-uint32_t OutputDataObjectType::write(::apache::thrift::protocol::TProtocol* oprot) const {
- uint32_t xfer = 0;
- xfer += oprot->writeStructBegin("OutputDataObjectType");
-
- xfer += oprot->writeFieldBegin("name", ::apache::thrift::protocol::T_STRING, 1);
- xfer += oprot->writeString(this->name);
- xfer += oprot->writeFieldEnd();
-
- if (this->__isset.value) {
- xfer += oprot->writeFieldBegin("value", ::apache::thrift::protocol::T_STRING, 2);
- xfer += oprot->writeString(this->value);
- xfer += oprot->writeFieldEnd();
- }
- if (this->__isset.type) {
- xfer += oprot->writeFieldBegin("type", ::apache::thrift::protocol::T_I32, 3);
- xfer += oprot->writeI32((int32_t)this->type);
- xfer += oprot->writeFieldEnd();
- }
- xfer += oprot->writeFieldStop();
- xfer += oprot->writeStructEnd();
- return xfer;
-}
-
-void swap(OutputDataObjectType &a, OutputDataObjectType &b) {
- using ::std::swap;
- swap(a.name, b.name);
- swap(a.value, b.value);
- swap(a.type, b.type);
- swap(a.__isset, b.__isset);
-}
-
-const char* ApplicationInterfaceDescription::ascii_fingerprint = "355A0972969341C2A113049339427849";
-const uint8_t ApplicationInterfaceDescription::binary_fingerprint[16] = {0x35,0x5A,0x09,0x72,0x96,0x93,0x41,0xC2,0xA1,0x13,0x04,0x93,0x39,0x42,0x78,0x49};
-
-uint32_t ApplicationInterfaceDescription::read(::apache::thrift::protocol::TProtocol* iprot) {
-
- uint32_t xfer = 0;
- std::string fname;
- ::apache::thrift::protocol::TType ftype;
- int16_t fid;
-
- xfer += iprot->readStructBegin(fname);
-
- using ::apache::thrift::protocol::TProtocolException;
-
- bool isset_applicationInterfaceId = false;
- bool isset_applicationName = false;
-
- while (true)
- {
- xfer += iprot->readFieldBegin(fname, ftype, fid);
- if (ftype == ::apache::thrift::protocol::T_STOP) {
- break;
- }
- switch (fid)
- {
- case 1:
- if (ftype == ::apache::thrift::protocol::T_STRING) {
- xfer += iprot->readString(this->applicationInterfaceId);
- isset_applicationInterfaceId = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 2:
- if (ftype == ::apache::thrift::protocol::T_STRING) {
- xfer += iprot->readString(this->applicationName);
- isset_applicationName = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 3:
- if (ftype == ::apache::thrift::protocol::T_STRING) {
- xfer += iprot->readString(this->applicationDesription);
- this->__isset.applicationDesription = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 4:
- if (ftype == ::apache::thrift::protocol::T_LIST) {
- {
- this->applicationModules.clear();
- uint32_t _size2;
- ::apache::thrift::protocol::TType _etype5;
- xfer += iprot->readListBegin(_etype5, _size2);
- this->applicationModules.resize(_size2);
- uint32_t _i6;
- for (_i6 = 0; _i6 < _size2; ++_i6)
- {
- xfer += iprot->readString(this->applicationModules[_i6]);
- }
- xfer += iprot->readListEnd();
- }
- this->__isset.applicationModules = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 5:
- if (ftype == ::apache::thrift::protocol::T_LIST) {
- {
- this->applicationInputs.clear();
- uint32_t _size7;
- ::apache::thrift::protocol::TType _etype10;
- xfer += iprot->readListBegin(_etype10, _size7);
- this->applicationInputs.resize(_size7);
- uint32_t _i11;
- for (_i11 = 0; _i11 < _size7; ++_i11)
- {
- xfer += this->applicationInputs[_i11].read(iprot);
- }
- xfer += iprot->readListEnd();
- }
- this->__isset.applicationInputs = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 6:
- if (ftype == ::apache::thrift::protocol::T_LIST) {
- {
- this->applicationOutputs.clear();
- uint32_t _size12;
- ::apache::thrift::protocol::TType _etype15;
- xfer += iprot->readListBegin(_etype15, _size12);
- this->applicationOutputs.resize(_size12);
- uint32_t _i16;
- for (_i16 = 0; _i16 < _size12; ++_i16)
- {
- xfer += this->applicationOutputs[_i16].read(iprot);
- }
- xfer += iprot->readListEnd();
- }
- this->__isset.applicationOutputs = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- default:
- xfer += iprot->skip(ftype);
- break;
- }
- xfer += iprot->readFieldEnd();
- }
-
- xfer += iprot->readStructEnd();
-
- if (!isset_applicationInterfaceId)
- throw TProtocolException(TProtocolException::INVALID_DATA);
- if (!isset_applicationName)
- throw TProtocolException(TProtocolException::INVALID_DATA);
- return xfer;
-}
-
-uint32_t ApplicationInterfaceDescription::write(::apache::thrift::protocol::TProtocol* oprot) const {
- uint32_t xfer = 0;
- xfer += oprot->writeStructBegin("ApplicationInterfaceDescription");
-
- xfer += oprot->writeFieldBegin("applicationInterfaceId", ::apache::thrift::protocol::T_STRING, 1);
- xfer += oprot->writeString(this->applicationInterfaceId);
- xfer += oprot->writeFieldEnd();
-
- xfer += oprot->writeFieldBegin("applicationName", ::apache::thrift::protocol::T_STRING, 2);
- xfer += oprot->writeString(this->applicationName);
- xfer += oprot->writeFieldEnd();
-
- if (this->__isset.applicationDesription) {
- xfer += oprot->writeFieldBegin("applicationDesription", ::apache::thrift::protocol::T_STRING, 3);
- xfer += oprot->writeString(this->applicationDesription);
- xfer += oprot->writeFieldEnd();
- }
- if (this->__isset.applicationModules) {
- xfer += oprot->writeFieldBegin("applicationModules", ::apache::thrift::protocol::T_LIST, 4);
- {
- xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRING, static_cast<uint32_t>(this->applicationModules.size()));
- std::vector<std::string> ::const_iterator _iter17;
- for (_iter17 = this->applicationModules.begin(); _iter17 != this->applicationModules.end(); ++_iter17)
- {
- xfer += oprot->writeString((*_iter17));
- }
- xfer += oprot->writeListEnd();
- }
- xfer += oprot->writeFieldEnd();
- }
- if (this->__isset.applicationInputs) {
- xfer += oprot->writeFieldBegin("applicationInputs", ::apache::thrift::protocol::T_LIST, 5);
- {
- xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>(this->applicationInputs.size()));
- std::vector<InputDataObjectType> ::const_iterator _iter18;
- for (_iter18 = this->applicationInputs.begin(); _iter18 != this->applicationInputs.end(); ++_iter18)
- {
- xfer += (*_iter18).write(oprot);
- }
- xfer += oprot->writeListEnd();
- }
- xfer += oprot->writeFieldEnd();
- }
- if (this->__isset.applicationOutputs) {
- xfer += oprot->writeFieldBegin("applicationOutputs", ::apache::thrift::protocol::T_LIST, 6);
- {
- xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>(this->applicationOutputs.size()));
- std::vector<OutputDataObjectType> ::const_iterator _iter19;
- for (_iter19 = this->applicationOutputs.begin(); _iter19 != this->applicationOutputs.end(); ++_iter19)
- {
- xfer += (*_iter19).write(oprot);
- }
- xfer += oprot->writeListEnd();
- }
- xfer += oprot->writeFieldEnd();
- }
- xfer += oprot->writeFieldStop();
- xfer += oprot->writeStructEnd();
- return xfer;
-}
-
-void swap(ApplicationInterfaceDescription &a, ApplicationInterfaceDescription &b) {
- using ::std::swap;
- swap(a.applicationInterfaceId, b.applicationInterfaceId);
- swap(a.applicationName, b.applicationName);
- swap(a.applicationDesription, b.applicationDesription);
- swap(a.applicationModules, b.applicationModules);
- swap(a.applicationInputs, b.applicationInputs);
- swap(a.applicationOutputs, b.applicationOutputs);
- swap(a.__isset, b.__isset);
-}
-
-}}}}} // namespace
http://git-wip-us.apache.org/repos/asf/airavata/blob/00b8aaf0/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/applicationInterfaceModel_types.h
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/applicationInterfaceModel_types.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/applicationInterfaceModel_types.h
deleted file mode 100644
index 5627cfa..0000000
--- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/applicationInterfaceModel_types.h
+++ /dev/null
@@ -1,298 +0,0 @@
-/**
- * Autogenerated by Thrift Compiler (0.9.1)
- *
- * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
- * @generated
- */
-#ifndef applicationInterfaceModel_TYPES_H
-#define applicationInterfaceModel_TYPES_H
-
-#include <thrift/Thrift.h>
-#include <thrift/TApplicationException.h>
-#include <thrift/protocol/TProtocol.h>
-#include <thrift/transport/TTransport.h>
-
-#include <thrift/cxxfunctional.h>
-
-
-namespace apache { namespace airavata { namespace model { namespace appcatalog { namespace appinterface {
-
-struct DataType {
- enum type {
- STRING = 0,
- INTEGER = 1,
- FLOAT = 2,
- URI = 3
- };
-};
-
-extern const std::map<int, const char*> _DataType_VALUES_TO_NAMES;
-
-typedef struct _InputDataObjectType__isset {
- _InputDataObjectType__isset() : value(false), type(false), applicationArgument(false), standardInput(true), userFriendlyDescription(false), metaData(false) {}
- bool value;
- bool type;
- bool applicationArgument;
- bool standardInput;
- bool userFriendlyDescription;
- bool metaData;
-} _InputDataObjectType__isset;
-
-class InputDataObjectType {
- public:
-
- static const char* ascii_fingerprint; // = "24F962C1CE4BE9FBD0F5D5EE9D1D5C00";
- static const uint8_t binary_fingerprint[16]; // = {0x24,0xF9,0x62,0xC1,0xCE,0x4B,0xE9,0xFB,0xD0,0xF5,0xD5,0xEE,0x9D,0x1D,0x5C,0x00};
-
- InputDataObjectType() : name(), value(), type((DataType::type)0), applicationArgument(), standardInput(false), userFriendlyDescription(), metaData() {
- }
-
- virtual ~InputDataObjectType() throw() {}
-
- std::string name;
- std::string value;
- DataType::type type;
- std::string applicationArgument;
- bool standardInput;
- std::string userFriendlyDescription;
- std::string metaData;
-
- _InputDataObjectType__isset __isset;
-
- void __set_name(const std::string& val) {
- name = val;
- }
-
- void __set_value(const std::string& val) {
- value = val;
- __isset.value = true;
- }
-
- void __set_type(const DataType::type val) {
- type = val;
- __isset.type = true;
- }
-
- void __set_applicationArgument(const std::string& val) {
- applicationArgument = val;
- __isset.applicationArgument = true;
- }
-
- void __set_standardInput(const bool val) {
- standardInput = val;
- __isset.standardInput = true;
- }
-
- void __set_userFriendlyDescription(const std::string& val) {
- userFriendlyDescription = val;
- __isset.userFriendlyDescription = true;
- }
-
- void __set_metaData(const std::string& val) {
- metaData = val;
- __isset.metaData = true;
- }
-
- bool operator == (const InputDataObjectType & rhs) const
- {
- if (!(name == rhs.name))
- return false;
- if (__isset.value != rhs.__isset.value)
- return false;
- else if (__isset.value && !(value == rhs.value))
- return false;
- if (__isset.type != rhs.__isset.type)
- return false;
- else if (__isset.type && !(type == rhs.type))
- return false;
- if (__isset.applicationArgument != rhs.__isset.applicationArgument)
- return false;
- else if (__isset.applicationArgument && !(applicationArgument == rhs.applicationArgument))
- return false;
- if (__isset.standardInput != rhs.__isset.standardInput)
- return false;
- else if (__isset.standardInput && !(standardInput == rhs.standardInput))
- return false;
- if (__isset.userFriendlyDescription != rhs.__isset.userFriendlyDescription)
- return false;
- else if (__isset.userFriendlyDescription && !(userFriendlyDescription == rhs.userFriendlyDescription))
- return false;
- if (__isset.metaData != rhs.__isset.metaData)
- return false;
- else if (__isset.metaData && !(metaData == rhs.metaData))
- return false;
- return true;
- }
- bool operator != (const InputDataObjectType &rhs) const {
- return !(*this == rhs);
- }
-
- bool operator < (const InputDataObjectType & ) const;
-
- uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
- uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-};
-
-void swap(InputDataObjectType &a, InputDataObjectType &b);
-
-typedef struct _OutputDataObjectType__isset {
- _OutputDataObjectType__isset() : value(false), type(false) {}
- bool value;
- bool type;
-} _OutputDataObjectType__isset;
-
-class OutputDataObjectType {
- public:
-
- static const char* ascii_fingerprint; // = "B33AE596EF78C48424CF96BCA5D1DF99";
- static const uint8_t binary_fingerprint[16]; // = {0xB3,0x3A,0xE5,0x96,0xEF,0x78,0xC4,0x84,0x24,0xCF,0x96,0xBC,0xA5,0xD1,0xDF,0x99};
-
- OutputDataObjectType() : name(), value(), type((DataType::type)0) {
- }
-
- virtual ~OutputDataObjectType() throw() {}
-
- std::string name;
- std::string value;
- DataType::type type;
-
- _OutputDataObjectType__isset __isset;
-
- void __set_name(const std::string& val) {
- name = val;
- }
-
- void __set_value(const std::string& val) {
- value = val;
- __isset.value = true;
- }
-
- void __set_type(const DataType::type val) {
- type = val;
- __isset.type = true;
- }
-
- bool operator == (const OutputDataObjectType & rhs) const
- {
- if (!(name == rhs.name))
- return false;
- if (__isset.value != rhs.__isset.value)
- return false;
- else if (__isset.value && !(value == rhs.value))
- return false;
- if (__isset.type != rhs.__isset.type)
- return false;
- else if (__isset.type && !(type == rhs.type))
- return false;
- return true;
- }
- bool operator != (const OutputDataObjectType &rhs) const {
- return !(*this == rhs);
- }
-
- bool operator < (const OutputDataObjectType & ) const;
-
- uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
- uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-};
-
-void swap(OutputDataObjectType &a, OutputDataObjectType &b);
-
-typedef struct _ApplicationInterfaceDescription__isset {
- _ApplicationInterfaceDescription__isset() : applicationDesription(false), applicationModules(false), applicationInputs(false), applicationOutputs(false) {}
- bool applicationDesription;
- bool applicationModules;
- bool applicationInputs;
- bool applicationOutputs;
-} _ApplicationInterfaceDescription__isset;
-
-class ApplicationInterfaceDescription {
- public:
-
- static const char* ascii_fingerprint; // = "355A0972969341C2A113049339427849";
- static const uint8_t binary_fingerprint[16]; // = {0x35,0x5A,0x09,0x72,0x96,0x93,0x41,0xC2,0xA1,0x13,0x04,0x93,0x39,0x42,0x78,0x49};
-
- ApplicationInterfaceDescription() : applicationInterfaceId("DO_NOT_SET_AT_CLIENTS"), applicationName(), applicationDesription() {
- }
-
- virtual ~ApplicationInterfaceDescription() throw() {}
-
- std::string applicationInterfaceId;
- std::string applicationName;
- std::string applicationDesription;
- std::vector<std::string> applicationModules;
- std::vector<InputDataObjectType> applicationInputs;
- std::vector<OutputDataObjectType> applicationOutputs;
-
- _ApplicationInterfaceDescription__isset __isset;
-
- void __set_applicationInterfaceId(const std::string& val) {
- applicationInterfaceId = val;
- }
-
- void __set_applicationName(const std::string& val) {
- applicationName = val;
- }
-
- void __set_applicationDesription(const std::string& val) {
- applicationDesription = val;
- __isset.applicationDesription = true;
- }
-
- void __set_applicationModules(const std::vector<std::string> & val) {
- applicationModules = val;
- __isset.applicationModules = true;
- }
-
- void __set_applicationInputs(const std::vector<InputDataObjectType> & val) {
- applicationInputs = val;
- __isset.applicationInputs = true;
- }
-
- void __set_applicationOutputs(const std::vector<OutputDataObjectType> & val) {
- applicationOutputs = val;
- __isset.applicationOutputs = true;
- }
-
- bool operator == (const ApplicationInterfaceDescription & rhs) const
- {
- if (!(applicationInterfaceId == rhs.applicationInterfaceId))
- return false;
- if (!(applicationName == rhs.applicationName))
- return false;
- if (__isset.applicationDesription != rhs.__isset.applicationDesription)
- return false;
- else if (__isset.applicationDesription && !(applicationDesription == rhs.applicationDesription))
- return false;
- if (__isset.applicationModules != rhs.__isset.applicationModules)
- return false;
- else if (__isset.applicationModules && !(applicationModules == rhs.applicationModules))
- return false;
- if (__isset.applicationInputs != rhs.__isset.applicationInputs)
- return false;
- else if (__isset.applicationInputs && !(applicationInputs == rhs.applicationInputs))
- return false;
- if (__isset.applicationOutputs != rhs.__isset.applicationOutputs)
- return false;
- else if (__isset.applicationOutputs && !(applicationOutputs == rhs.applicationOutputs))
- return false;
- return true;
- }
- bool operator != (const ApplicationInterfaceDescription &rhs) const {
- return !(*this == rhs);
- }
-
- bool operator < (const ApplicationInterfaceDescription & ) const;
-
- uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
- uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-};
-
-void swap(ApplicationInterfaceDescription &a, ApplicationInterfaceDescription &b);
-
-}}}}} // namespace
-
-#endif
http://git-wip-us.apache.org/repos/asf/airavata/blob/00b8aaf0/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/computeResourceModel_constants.cpp
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/computeResourceModel_constants.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/computeResourceModel_constants.cpp
deleted file mode 100644
index 4ea6bcb..0000000
--- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/computeResourceModel_constants.cpp
+++ /dev/null
@@ -1,19 +0,0 @@
-/**
- * Autogenerated by Thrift Compiler (0.9.1)
- *
- * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
- * @generated
- */
-#include "computeResourceModel_constants.h"
-
-namespace apache { namespace airavata { namespace model { namespace appcatalog { namespace computeresource {
-
-const computeResourceModelConstants g_computeResourceModel_constants;
-
-computeResourceModelConstants::computeResourceModelConstants() {
- DEFAULT_ID = "DO_NOT_SET_AT_CLIENTS";
-
-}
-
-}}}}} // namespace
-
http://git-wip-us.apache.org/repos/asf/airavata/blob/00b8aaf0/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/computeResourceModel_constants.h
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/computeResourceModel_constants.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/computeResourceModel_constants.h
deleted file mode 100644
index abdab96..0000000
--- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/computeResourceModel_constants.h
+++ /dev/null
@@ -1,25 +0,0 @@
-/**
- * Autogenerated by Thrift Compiler (0.9.1)
- *
- * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
- * @generated
- */
-#ifndef computeResourceModel_CONSTANTS_H
-#define computeResourceModel_CONSTANTS_H
-
-#include "computeResourceModel_types.h"
-
-namespace apache { namespace airavata { namespace model { namespace appcatalog { namespace computeresource {
-
-class computeResourceModelConstants {
- public:
- computeResourceModelConstants();
-
- std::string DEFAULT_ID;
-};
-
-extern const computeResourceModelConstants g_computeResourceModel_constants;
-
-}}}}} // namespace
-
-#endif
[34/47] removed unnecessary files, updated ini file
Posted by sm...@apache.org.
http://git-wip-us.apache.org/repos/asf/airavata/blob/00b8aaf0/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/Workflow.h
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/Workflow.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/Workflow.h
deleted file mode 100644
index a63a9d1..0000000
--- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/Workflow.h
+++ /dev/null
@@ -1,1154 +0,0 @@
-/**
- * Autogenerated by Thrift Compiler (0.9.1)
- *
- * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
- * @generated
- */
-#ifndef Workflow_H
-#define Workflow_H
-
-#include <thrift/TDispatchProcessor.h>
-#include "workflowAPI_types.h"
-
-namespace airavata { namespace api { namespace workflow {
-
-class WorkflowIf {
- public:
- virtual ~WorkflowIf() {}
- virtual void getAllWorkflows(std::vector<std::string> & _return) = 0;
- virtual void getWorkflow( ::Workflow& _return, const std::string& workflowTemplateId) = 0;
- virtual void deleteWorkflow(const std::string& workflowTemplateId) = 0;
- virtual void registerWorkflow(std::string& _return, const ::Workflow& workflow) = 0;
- virtual void updateWorkflow(const std::string& workflowTemplateId, const ::Workflow& workflow) = 0;
- virtual void getWorkflowTemplateId(std::string& _return, const std::string& workflowName) = 0;
- virtual bool isWorkflowExistWithName(const std::string& workflowName) = 0;
-};
-
-class WorkflowIfFactory {
- public:
- typedef WorkflowIf Handler;
-
- virtual ~WorkflowIfFactory() {}
-
- virtual WorkflowIf* getHandler(const ::apache::thrift::TConnectionInfo& connInfo) = 0;
- virtual void releaseHandler(WorkflowIf* /* handler */) = 0;
-};
-
-class WorkflowIfSingletonFactory : virtual public WorkflowIfFactory {
- public:
- WorkflowIfSingletonFactory(const boost::shared_ptr<WorkflowIf>& iface) : iface_(iface) {}
- virtual ~WorkflowIfSingletonFactory() {}
-
- virtual WorkflowIf* getHandler(const ::apache::thrift::TConnectionInfo&) {
- return iface_.get();
- }
- virtual void releaseHandler(WorkflowIf* /* handler */) {}
-
- protected:
- boost::shared_ptr<WorkflowIf> iface_;
-};
-
-class WorkflowNull : virtual public WorkflowIf {
- public:
- virtual ~WorkflowNull() {}
- void getAllWorkflows(std::vector<std::string> & /* _return */) {
- return;
- }
- void getWorkflow( ::Workflow& /* _return */, const std::string& /* workflowTemplateId */) {
- return;
- }
- void deleteWorkflow(const std::string& /* workflowTemplateId */) {
- return;
- }
- void registerWorkflow(std::string& /* _return */, const ::Workflow& /* workflow */) {
- return;
- }
- void updateWorkflow(const std::string& /* workflowTemplateId */, const ::Workflow& /* workflow */) {
- return;
- }
- void getWorkflowTemplateId(std::string& /* _return */, const std::string& /* workflowName */) {
- return;
- }
- bool isWorkflowExistWithName(const std::string& /* workflowName */) {
- bool _return = false;
- return _return;
- }
-};
-
-
-class Workflow_getAllWorkflows_args {
- public:
-
- Workflow_getAllWorkflows_args() {
- }
-
- virtual ~Workflow_getAllWorkflows_args() throw() {}
-
-
- bool operator == (const Workflow_getAllWorkflows_args & /* rhs */) const
- {
- return true;
- }
- bool operator != (const Workflow_getAllWorkflows_args &rhs) const {
- return !(*this == rhs);
- }
-
- bool operator < (const Workflow_getAllWorkflows_args & ) const;
-
- uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
- uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-};
-
-
-class Workflow_getAllWorkflows_pargs {
- public:
-
-
- virtual ~Workflow_getAllWorkflows_pargs() throw() {}
-
-
- uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-};
-
-typedef struct _Workflow_getAllWorkflows_result__isset {
- _Workflow_getAllWorkflows_result__isset() : success(false), ire(false), ace(false), ase(false) {}
- bool success;
- bool ire;
- bool ace;
- bool ase;
-} _Workflow_getAllWorkflows_result__isset;
-
-class Workflow_getAllWorkflows_result {
- public:
-
- Workflow_getAllWorkflows_result() {
- }
-
- virtual ~Workflow_getAllWorkflows_result() throw() {}
-
- std::vector<std::string> success;
- ::apache::airavata::api::error::InvalidRequestException ire;
- ::apache::airavata::api::error::AiravataClientException ace;
- ::apache::airavata::api::error::AiravataSystemException ase;
-
- _Workflow_getAllWorkflows_result__isset __isset;
-
- void __set_success(const std::vector<std::string> & val) {
- success = val;
- }
-
- void __set_ire(const ::apache::airavata::api::error::InvalidRequestException& val) {
- ire = val;
- }
-
- void __set_ace(const ::apache::airavata::api::error::AiravataClientException& val) {
- ace = val;
- }
-
- void __set_ase(const ::apache::airavata::api::error::AiravataSystemException& val) {
- ase = val;
- }
-
- bool operator == (const Workflow_getAllWorkflows_result & rhs) const
- {
- if (!(success == rhs.success))
- return false;
- if (!(ire == rhs.ire))
- return false;
- if (!(ace == rhs.ace))
- return false;
- if (!(ase == rhs.ase))
- return false;
- return true;
- }
- bool operator != (const Workflow_getAllWorkflows_result &rhs) const {
- return !(*this == rhs);
- }
-
- bool operator < (const Workflow_getAllWorkflows_result & ) const;
-
- uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
- uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-};
-
-typedef struct _Workflow_getAllWorkflows_presult__isset {
- _Workflow_getAllWorkflows_presult__isset() : success(false), ire(false), ace(false), ase(false) {}
- bool success;
- bool ire;
- bool ace;
- bool ase;
-} _Workflow_getAllWorkflows_presult__isset;
-
-class Workflow_getAllWorkflows_presult {
- public:
-
-
- virtual ~Workflow_getAllWorkflows_presult() throw() {}
-
- std::vector<std::string> * success;
- ::apache::airavata::api::error::InvalidRequestException ire;
- ::apache::airavata::api::error::AiravataClientException ace;
- ::apache::airavata::api::error::AiravataSystemException ase;
-
- _Workflow_getAllWorkflows_presult__isset __isset;
-
- uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
-
-};
-
-
-class Workflow_getWorkflow_args {
- public:
-
- Workflow_getWorkflow_args() : workflowTemplateId() {
- }
-
- virtual ~Workflow_getWorkflow_args() throw() {}
-
- std::string workflowTemplateId;
-
- void __set_workflowTemplateId(const std::string& val) {
- workflowTemplateId = val;
- }
-
- bool operator == (const Workflow_getWorkflow_args & rhs) const
- {
- if (!(workflowTemplateId == rhs.workflowTemplateId))
- return false;
- return true;
- }
- bool operator != (const Workflow_getWorkflow_args &rhs) const {
- return !(*this == rhs);
- }
-
- bool operator < (const Workflow_getWorkflow_args & ) const;
-
- uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
- uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-};
-
-
-class Workflow_getWorkflow_pargs {
- public:
-
-
- virtual ~Workflow_getWorkflow_pargs() throw() {}
-
- const std::string* workflowTemplateId;
-
- uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-};
-
-typedef struct _Workflow_getWorkflow_result__isset {
- _Workflow_getWorkflow_result__isset() : success(false), ire(false), ace(false), ase(false) {}
- bool success;
- bool ire;
- bool ace;
- bool ase;
-} _Workflow_getWorkflow_result__isset;
-
-class Workflow_getWorkflow_result {
- public:
-
- Workflow_getWorkflow_result() {
- }
-
- virtual ~Workflow_getWorkflow_result() throw() {}
-
- ::Workflow success;
- ::apache::airavata::api::error::InvalidRequestException ire;
- ::apache::airavata::api::error::AiravataClientException ace;
- ::apache::airavata::api::error::AiravataSystemException ase;
-
- _Workflow_getWorkflow_result__isset __isset;
-
- void __set_success(const ::Workflow& val) {
- success = val;
- }
-
- void __set_ire(const ::apache::airavata::api::error::InvalidRequestException& val) {
- ire = val;
- }
-
- void __set_ace(const ::apache::airavata::api::error::AiravataClientException& val) {
- ace = val;
- }
-
- void __set_ase(const ::apache::airavata::api::error::AiravataSystemException& val) {
- ase = val;
- }
-
- bool operator == (const Workflow_getWorkflow_result & rhs) const
- {
- if (!(success == rhs.success))
- return false;
- if (!(ire == rhs.ire))
- return false;
- if (!(ace == rhs.ace))
- return false;
- if (!(ase == rhs.ase))
- return false;
- return true;
- }
- bool operator != (const Workflow_getWorkflow_result &rhs) const {
- return !(*this == rhs);
- }
-
- bool operator < (const Workflow_getWorkflow_result & ) const;
-
- uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
- uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-};
-
-typedef struct _Workflow_getWorkflow_presult__isset {
- _Workflow_getWorkflow_presult__isset() : success(false), ire(false), ace(false), ase(false) {}
- bool success;
- bool ire;
- bool ace;
- bool ase;
-} _Workflow_getWorkflow_presult__isset;
-
-class Workflow_getWorkflow_presult {
- public:
-
-
- virtual ~Workflow_getWorkflow_presult() throw() {}
-
- ::Workflow* success;
- ::apache::airavata::api::error::InvalidRequestException ire;
- ::apache::airavata::api::error::AiravataClientException ace;
- ::apache::airavata::api::error::AiravataSystemException ase;
-
- _Workflow_getWorkflow_presult__isset __isset;
-
- uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
-
-};
-
-
-class Workflow_deleteWorkflow_args {
- public:
-
- Workflow_deleteWorkflow_args() : workflowTemplateId() {
- }
-
- virtual ~Workflow_deleteWorkflow_args() throw() {}
-
- std::string workflowTemplateId;
-
- void __set_workflowTemplateId(const std::string& val) {
- workflowTemplateId = val;
- }
-
- bool operator == (const Workflow_deleteWorkflow_args & rhs) const
- {
- if (!(workflowTemplateId == rhs.workflowTemplateId))
- return false;
- return true;
- }
- bool operator != (const Workflow_deleteWorkflow_args &rhs) const {
- return !(*this == rhs);
- }
-
- bool operator < (const Workflow_deleteWorkflow_args & ) const;
-
- uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
- uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-};
-
-
-class Workflow_deleteWorkflow_pargs {
- public:
-
-
- virtual ~Workflow_deleteWorkflow_pargs() throw() {}
-
- const std::string* workflowTemplateId;
-
- uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-};
-
-typedef struct _Workflow_deleteWorkflow_result__isset {
- _Workflow_deleteWorkflow_result__isset() : ire(false), ace(false), ase(false) {}
- bool ire;
- bool ace;
- bool ase;
-} _Workflow_deleteWorkflow_result__isset;
-
-class Workflow_deleteWorkflow_result {
- public:
-
- Workflow_deleteWorkflow_result() {
- }
-
- virtual ~Workflow_deleteWorkflow_result() throw() {}
-
- ::apache::airavata::api::error::InvalidRequestException ire;
- ::apache::airavata::api::error::AiravataClientException ace;
- ::apache::airavata::api::error::AiravataSystemException ase;
-
- _Workflow_deleteWorkflow_result__isset __isset;
-
- void __set_ire(const ::apache::airavata::api::error::InvalidRequestException& val) {
- ire = val;
- }
-
- void __set_ace(const ::apache::airavata::api::error::AiravataClientException& val) {
- ace = val;
- }
-
- void __set_ase(const ::apache::airavata::api::error::AiravataSystemException& val) {
- ase = val;
- }
-
- bool operator == (const Workflow_deleteWorkflow_result & rhs) const
- {
- if (!(ire == rhs.ire))
- return false;
- if (!(ace == rhs.ace))
- return false;
- if (!(ase == rhs.ase))
- return false;
- return true;
- }
- bool operator != (const Workflow_deleteWorkflow_result &rhs) const {
- return !(*this == rhs);
- }
-
- bool operator < (const Workflow_deleteWorkflow_result & ) const;
-
- uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
- uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-};
-
-typedef struct _Workflow_deleteWorkflow_presult__isset {
- _Workflow_deleteWorkflow_presult__isset() : ire(false), ace(false), ase(false) {}
- bool ire;
- bool ace;
- bool ase;
-} _Workflow_deleteWorkflow_presult__isset;
-
-class Workflow_deleteWorkflow_presult {
- public:
-
-
- virtual ~Workflow_deleteWorkflow_presult() throw() {}
-
- ::apache::airavata::api::error::InvalidRequestException ire;
- ::apache::airavata::api::error::AiravataClientException ace;
- ::apache::airavata::api::error::AiravataSystemException ase;
-
- _Workflow_deleteWorkflow_presult__isset __isset;
-
- uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
-
-};
-
-
-class Workflow_registerWorkflow_args {
- public:
-
- Workflow_registerWorkflow_args() {
- }
-
- virtual ~Workflow_registerWorkflow_args() throw() {}
-
- ::Workflow workflow;
-
- void __set_workflow(const ::Workflow& val) {
- workflow = val;
- }
-
- bool operator == (const Workflow_registerWorkflow_args & rhs) const
- {
- if (!(workflow == rhs.workflow))
- return false;
- return true;
- }
- bool operator != (const Workflow_registerWorkflow_args &rhs) const {
- return !(*this == rhs);
- }
-
- bool operator < (const Workflow_registerWorkflow_args & ) const;
-
- uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
- uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-};
-
-
-class Workflow_registerWorkflow_pargs {
- public:
-
-
- virtual ~Workflow_registerWorkflow_pargs() throw() {}
-
- const ::Workflow* workflow;
-
- uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-};
-
-typedef struct _Workflow_registerWorkflow_result__isset {
- _Workflow_registerWorkflow_result__isset() : success(false), ire(false), ace(false), ase(false) {}
- bool success;
- bool ire;
- bool ace;
- bool ase;
-} _Workflow_registerWorkflow_result__isset;
-
-class Workflow_registerWorkflow_result {
- public:
-
- Workflow_registerWorkflow_result() : success() {
- }
-
- virtual ~Workflow_registerWorkflow_result() throw() {}
-
- std::string success;
- ::apache::airavata::api::error::InvalidRequestException ire;
- ::apache::airavata::api::error::AiravataClientException ace;
- ::apache::airavata::api::error::AiravataSystemException ase;
-
- _Workflow_registerWorkflow_result__isset __isset;
-
- void __set_success(const std::string& val) {
- success = val;
- }
-
- void __set_ire(const ::apache::airavata::api::error::InvalidRequestException& val) {
- ire = val;
- }
-
- void __set_ace(const ::apache::airavata::api::error::AiravataClientException& val) {
- ace = val;
- }
-
- void __set_ase(const ::apache::airavata::api::error::AiravataSystemException& val) {
- ase = val;
- }
-
- bool operator == (const Workflow_registerWorkflow_result & rhs) const
- {
- if (!(success == rhs.success))
- return false;
- if (!(ire == rhs.ire))
- return false;
- if (!(ace == rhs.ace))
- return false;
- if (!(ase == rhs.ase))
- return false;
- return true;
- }
- bool operator != (const Workflow_registerWorkflow_result &rhs) const {
- return !(*this == rhs);
- }
-
- bool operator < (const Workflow_registerWorkflow_result & ) const;
-
- uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
- uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-};
-
-typedef struct _Workflow_registerWorkflow_presult__isset {
- _Workflow_registerWorkflow_presult__isset() : success(false), ire(false), ace(false), ase(false) {}
- bool success;
- bool ire;
- bool ace;
- bool ase;
-} _Workflow_registerWorkflow_presult__isset;
-
-class Workflow_registerWorkflow_presult {
- public:
-
-
- virtual ~Workflow_registerWorkflow_presult() throw() {}
-
- std::string* success;
- ::apache::airavata::api::error::InvalidRequestException ire;
- ::apache::airavata::api::error::AiravataClientException ace;
- ::apache::airavata::api::error::AiravataSystemException ase;
-
- _Workflow_registerWorkflow_presult__isset __isset;
-
- uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
-
-};
-
-
-class Workflow_updateWorkflow_args {
- public:
-
- Workflow_updateWorkflow_args() : workflowTemplateId() {
- }
-
- virtual ~Workflow_updateWorkflow_args() throw() {}
-
- std::string workflowTemplateId;
- ::Workflow workflow;
-
- void __set_workflowTemplateId(const std::string& val) {
- workflowTemplateId = val;
- }
-
- void __set_workflow(const ::Workflow& val) {
- workflow = val;
- }
-
- bool operator == (const Workflow_updateWorkflow_args & rhs) const
- {
- if (!(workflowTemplateId == rhs.workflowTemplateId))
- return false;
- if (!(workflow == rhs.workflow))
- return false;
- return true;
- }
- bool operator != (const Workflow_updateWorkflow_args &rhs) const {
- return !(*this == rhs);
- }
-
- bool operator < (const Workflow_updateWorkflow_args & ) const;
-
- uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
- uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-};
-
-
-class Workflow_updateWorkflow_pargs {
- public:
-
-
- virtual ~Workflow_updateWorkflow_pargs() throw() {}
-
- const std::string* workflowTemplateId;
- const ::Workflow* workflow;
-
- uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-};
-
-typedef struct _Workflow_updateWorkflow_result__isset {
- _Workflow_updateWorkflow_result__isset() : ire(false), ace(false), ase(false) {}
- bool ire;
- bool ace;
- bool ase;
-} _Workflow_updateWorkflow_result__isset;
-
-class Workflow_updateWorkflow_result {
- public:
-
- Workflow_updateWorkflow_result() {
- }
-
- virtual ~Workflow_updateWorkflow_result() throw() {}
-
- ::apache::airavata::api::error::InvalidRequestException ire;
- ::apache::airavata::api::error::AiravataClientException ace;
- ::apache::airavata::api::error::AiravataSystemException ase;
-
- _Workflow_updateWorkflow_result__isset __isset;
-
- void __set_ire(const ::apache::airavata::api::error::InvalidRequestException& val) {
- ire = val;
- }
-
- void __set_ace(const ::apache::airavata::api::error::AiravataClientException& val) {
- ace = val;
- }
-
- void __set_ase(const ::apache::airavata::api::error::AiravataSystemException& val) {
- ase = val;
- }
-
- bool operator == (const Workflow_updateWorkflow_result & rhs) const
- {
- if (!(ire == rhs.ire))
- return false;
- if (!(ace == rhs.ace))
- return false;
- if (!(ase == rhs.ase))
- return false;
- return true;
- }
- bool operator != (const Workflow_updateWorkflow_result &rhs) const {
- return !(*this == rhs);
- }
-
- bool operator < (const Workflow_updateWorkflow_result & ) const;
-
- uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
- uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-};
-
-typedef struct _Workflow_updateWorkflow_presult__isset {
- _Workflow_updateWorkflow_presult__isset() : ire(false), ace(false), ase(false) {}
- bool ire;
- bool ace;
- bool ase;
-} _Workflow_updateWorkflow_presult__isset;
-
-class Workflow_updateWorkflow_presult {
- public:
-
-
- virtual ~Workflow_updateWorkflow_presult() throw() {}
-
- ::apache::airavata::api::error::InvalidRequestException ire;
- ::apache::airavata::api::error::AiravataClientException ace;
- ::apache::airavata::api::error::AiravataSystemException ase;
-
- _Workflow_updateWorkflow_presult__isset __isset;
-
- uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
-
-};
-
-
-class Workflow_getWorkflowTemplateId_args {
- public:
-
- Workflow_getWorkflowTemplateId_args() : workflowName() {
- }
-
- virtual ~Workflow_getWorkflowTemplateId_args() throw() {}
-
- std::string workflowName;
-
- void __set_workflowName(const std::string& val) {
- workflowName = val;
- }
-
- bool operator == (const Workflow_getWorkflowTemplateId_args & rhs) const
- {
- if (!(workflowName == rhs.workflowName))
- return false;
- return true;
- }
- bool operator != (const Workflow_getWorkflowTemplateId_args &rhs) const {
- return !(*this == rhs);
- }
-
- bool operator < (const Workflow_getWorkflowTemplateId_args & ) const;
-
- uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
- uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-};
-
-
-class Workflow_getWorkflowTemplateId_pargs {
- public:
-
-
- virtual ~Workflow_getWorkflowTemplateId_pargs() throw() {}
-
- const std::string* workflowName;
-
- uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-};
-
-typedef struct _Workflow_getWorkflowTemplateId_result__isset {
- _Workflow_getWorkflowTemplateId_result__isset() : success(false), ire(false), ace(false), ase(false) {}
- bool success;
- bool ire;
- bool ace;
- bool ase;
-} _Workflow_getWorkflowTemplateId_result__isset;
-
-class Workflow_getWorkflowTemplateId_result {
- public:
-
- Workflow_getWorkflowTemplateId_result() : success() {
- }
-
- virtual ~Workflow_getWorkflowTemplateId_result() throw() {}
-
- std::string success;
- ::apache::airavata::api::error::InvalidRequestException ire;
- ::apache::airavata::api::error::AiravataClientException ace;
- ::apache::airavata::api::error::AiravataSystemException ase;
-
- _Workflow_getWorkflowTemplateId_result__isset __isset;
-
- void __set_success(const std::string& val) {
- success = val;
- }
-
- void __set_ire(const ::apache::airavata::api::error::InvalidRequestException& val) {
- ire = val;
- }
-
- void __set_ace(const ::apache::airavata::api::error::AiravataClientException& val) {
- ace = val;
- }
-
- void __set_ase(const ::apache::airavata::api::error::AiravataSystemException& val) {
- ase = val;
- }
-
- bool operator == (const Workflow_getWorkflowTemplateId_result & rhs) const
- {
- if (!(success == rhs.success))
- return false;
- if (!(ire == rhs.ire))
- return false;
- if (!(ace == rhs.ace))
- return false;
- if (!(ase == rhs.ase))
- return false;
- return true;
- }
- bool operator != (const Workflow_getWorkflowTemplateId_result &rhs) const {
- return !(*this == rhs);
- }
-
- bool operator < (const Workflow_getWorkflowTemplateId_result & ) const;
-
- uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
- uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-};
-
-typedef struct _Workflow_getWorkflowTemplateId_presult__isset {
- _Workflow_getWorkflowTemplateId_presult__isset() : success(false), ire(false), ace(false), ase(false) {}
- bool success;
- bool ire;
- bool ace;
- bool ase;
-} _Workflow_getWorkflowTemplateId_presult__isset;
-
-class Workflow_getWorkflowTemplateId_presult {
- public:
-
-
- virtual ~Workflow_getWorkflowTemplateId_presult() throw() {}
-
- std::string* success;
- ::apache::airavata::api::error::InvalidRequestException ire;
- ::apache::airavata::api::error::AiravataClientException ace;
- ::apache::airavata::api::error::AiravataSystemException ase;
-
- _Workflow_getWorkflowTemplateId_presult__isset __isset;
-
- uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
-
-};
-
-
-class Workflow_isWorkflowExistWithName_args {
- public:
-
- Workflow_isWorkflowExistWithName_args() : workflowName() {
- }
-
- virtual ~Workflow_isWorkflowExistWithName_args() throw() {}
-
- std::string workflowName;
-
- void __set_workflowName(const std::string& val) {
- workflowName = val;
- }
-
- bool operator == (const Workflow_isWorkflowExistWithName_args & rhs) const
- {
- if (!(workflowName == rhs.workflowName))
- return false;
- return true;
- }
- bool operator != (const Workflow_isWorkflowExistWithName_args &rhs) const {
- return !(*this == rhs);
- }
-
- bool operator < (const Workflow_isWorkflowExistWithName_args & ) const;
-
- uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
- uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-};
-
-
-class Workflow_isWorkflowExistWithName_pargs {
- public:
-
-
- virtual ~Workflow_isWorkflowExistWithName_pargs() throw() {}
-
- const std::string* workflowName;
-
- uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-};
-
-typedef struct _Workflow_isWorkflowExistWithName_result__isset {
- _Workflow_isWorkflowExistWithName_result__isset() : success(false), ire(false), ace(false), ase(false) {}
- bool success;
- bool ire;
- bool ace;
- bool ase;
-} _Workflow_isWorkflowExistWithName_result__isset;
-
-class Workflow_isWorkflowExistWithName_result {
- public:
-
- Workflow_isWorkflowExistWithName_result() : success(0) {
- }
-
- virtual ~Workflow_isWorkflowExistWithName_result() throw() {}
-
- bool success;
- ::apache::airavata::api::error::InvalidRequestException ire;
- ::apache::airavata::api::error::AiravataClientException ace;
- ::apache::airavata::api::error::AiravataSystemException ase;
-
- _Workflow_isWorkflowExistWithName_result__isset __isset;
-
- void __set_success(const bool val) {
- success = val;
- }
-
- void __set_ire(const ::apache::airavata::api::error::InvalidRequestException& val) {
- ire = val;
- }
-
- void __set_ace(const ::apache::airavata::api::error::AiravataClientException& val) {
- ace = val;
- }
-
- void __set_ase(const ::apache::airavata::api::error::AiravataSystemException& val) {
- ase = val;
- }
-
- bool operator == (const Workflow_isWorkflowExistWithName_result & rhs) const
- {
- if (!(success == rhs.success))
- return false;
- if (!(ire == rhs.ire))
- return false;
- if (!(ace == rhs.ace))
- return false;
- if (!(ase == rhs.ase))
- return false;
- return true;
- }
- bool operator != (const Workflow_isWorkflowExistWithName_result &rhs) const {
- return !(*this == rhs);
- }
-
- bool operator < (const Workflow_isWorkflowExistWithName_result & ) const;
-
- uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
- uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-};
-
-typedef struct _Workflow_isWorkflowExistWithName_presult__isset {
- _Workflow_isWorkflowExistWithName_presult__isset() : success(false), ire(false), ace(false), ase(false) {}
- bool success;
- bool ire;
- bool ace;
- bool ase;
-} _Workflow_isWorkflowExistWithName_presult__isset;
-
-class Workflow_isWorkflowExistWithName_presult {
- public:
-
-
- virtual ~Workflow_isWorkflowExistWithName_presult() throw() {}
-
- bool* success;
- ::apache::airavata::api::error::InvalidRequestException ire;
- ::apache::airavata::api::error::AiravataClientException ace;
- ::apache::airavata::api::error::AiravataSystemException ase;
-
- _Workflow_isWorkflowExistWithName_presult__isset __isset;
-
- uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
-
-};
-
-class WorkflowClient : virtual public WorkflowIf {
- public:
- WorkflowClient(boost::shared_ptr< ::apache::thrift::protocol::TProtocol> prot) :
- piprot_(prot),
- poprot_(prot) {
- iprot_ = prot.get();
- oprot_ = prot.get();
- }
- WorkflowClient(boost::shared_ptr< ::apache::thrift::protocol::TProtocol> iprot, boost::shared_ptr< ::apache::thrift::protocol::TProtocol> oprot) :
- piprot_(iprot),
- poprot_(oprot) {
- iprot_ = iprot.get();
- oprot_ = oprot.get();
- }
- boost::shared_ptr< ::apache::thrift::protocol::TProtocol> getInputProtocol() {
- return piprot_;
- }
- boost::shared_ptr< ::apache::thrift::protocol::TProtocol> getOutputProtocol() {
- return poprot_;
- }
- void getAllWorkflows(std::vector<std::string> & _return);
- void send_getAllWorkflows();
- void recv_getAllWorkflows(std::vector<std::string> & _return);
- void getWorkflow( ::Workflow& _return, const std::string& workflowTemplateId);
- void send_getWorkflow(const std::string& workflowTemplateId);
- void recv_getWorkflow( ::Workflow& _return);
- void deleteWorkflow(const std::string& workflowTemplateId);
- void send_deleteWorkflow(const std::string& workflowTemplateId);
- void recv_deleteWorkflow();
- void registerWorkflow(std::string& _return, const ::Workflow& workflow);
- void send_registerWorkflow(const ::Workflow& workflow);
- void recv_registerWorkflow(std::string& _return);
- void updateWorkflow(const std::string& workflowTemplateId, const ::Workflow& workflow);
- void send_updateWorkflow(const std::string& workflowTemplateId, const ::Workflow& workflow);
- void recv_updateWorkflow();
- void getWorkflowTemplateId(std::string& _return, const std::string& workflowName);
- void send_getWorkflowTemplateId(const std::string& workflowName);
- void recv_getWorkflowTemplateId(std::string& _return);
- bool isWorkflowExistWithName(const std::string& workflowName);
- void send_isWorkflowExistWithName(const std::string& workflowName);
- bool recv_isWorkflowExistWithName();
- protected:
- boost::shared_ptr< ::apache::thrift::protocol::TProtocol> piprot_;
- boost::shared_ptr< ::apache::thrift::protocol::TProtocol> poprot_;
- ::apache::thrift::protocol::TProtocol* iprot_;
- ::apache::thrift::protocol::TProtocol* oprot_;
-};
-
-class WorkflowProcessor : public ::apache::thrift::TDispatchProcessor {
- protected:
- boost::shared_ptr<WorkflowIf> iface_;
- virtual bool dispatchCall(::apache::thrift::protocol::TProtocol* iprot, ::apache::thrift::protocol::TProtocol* oprot, const std::string& fname, int32_t seqid, void* callContext);
- private:
- typedef void (WorkflowProcessor::*ProcessFunction)(int32_t, ::apache::thrift::protocol::TProtocol*, ::apache::thrift::protocol::TProtocol*, void*);
- typedef std::map<std::string, ProcessFunction> ProcessMap;
- ProcessMap processMap_;
- void process_getAllWorkflows(int32_t seqid, ::apache::thrift::protocol::TProtocol* iprot, ::apache::thrift::protocol::TProtocol* oprot, void* callContext);
- void process_getWorkflow(int32_t seqid, ::apache::thrift::protocol::TProtocol* iprot, ::apache::thrift::protocol::TProtocol* oprot, void* callContext);
- void process_deleteWorkflow(int32_t seqid, ::apache::thrift::protocol::TProtocol* iprot, ::apache::thrift::protocol::TProtocol* oprot, void* callContext);
- void process_registerWorkflow(int32_t seqid, ::apache::thrift::protocol::TProtocol* iprot, ::apache::thrift::protocol::TProtocol* oprot, void* callContext);
- void process_updateWorkflow(int32_t seqid, ::apache::thrift::protocol::TProtocol* iprot, ::apache::thrift::protocol::TProtocol* oprot, void* callContext);
- void process_getWorkflowTemplateId(int32_t seqid, ::apache::thrift::protocol::TProtocol* iprot, ::apache::thrift::protocol::TProtocol* oprot, void* callContext);
- void process_isWorkflowExistWithName(int32_t seqid, ::apache::thrift::protocol::TProtocol* iprot, ::apache::thrift::protocol::TProtocol* oprot, void* callContext);
- public:
- WorkflowProcessor(boost::shared_ptr<WorkflowIf> iface) :
- iface_(iface) {
- processMap_["getAllWorkflows"] = &WorkflowProcessor::process_getAllWorkflows;
- processMap_["getWorkflow"] = &WorkflowProcessor::process_getWorkflow;
- processMap_["deleteWorkflow"] = &WorkflowProcessor::process_deleteWorkflow;
- processMap_["registerWorkflow"] = &WorkflowProcessor::process_registerWorkflow;
- processMap_["updateWorkflow"] = &WorkflowProcessor::process_updateWorkflow;
- processMap_["getWorkflowTemplateId"] = &WorkflowProcessor::process_getWorkflowTemplateId;
- processMap_["isWorkflowExistWithName"] = &WorkflowProcessor::process_isWorkflowExistWithName;
- }
-
- virtual ~WorkflowProcessor() {}
-};
-
-class WorkflowProcessorFactory : public ::apache::thrift::TProcessorFactory {
- public:
- WorkflowProcessorFactory(const ::boost::shared_ptr< WorkflowIfFactory >& handlerFactory) :
- handlerFactory_(handlerFactory) {}
-
- ::boost::shared_ptr< ::apache::thrift::TProcessor > getProcessor(const ::apache::thrift::TConnectionInfo& connInfo);
-
- protected:
- ::boost::shared_ptr< WorkflowIfFactory > handlerFactory_;
-};
-
-class WorkflowMultiface : virtual public WorkflowIf {
- public:
- WorkflowMultiface(std::vector<boost::shared_ptr<WorkflowIf> >& ifaces) : ifaces_(ifaces) {
- }
- virtual ~WorkflowMultiface() {}
- protected:
- std::vector<boost::shared_ptr<WorkflowIf> > ifaces_;
- WorkflowMultiface() {}
- void add(boost::shared_ptr<WorkflowIf> iface) {
- ifaces_.push_back(iface);
- }
- public:
- void getAllWorkflows(std::vector<std::string> & _return) {
- size_t sz = ifaces_.size();
- size_t i = 0;
- for (; i < (sz - 1); ++i) {
- ifaces_[i]->getAllWorkflows(_return);
- }
- ifaces_[i]->getAllWorkflows(_return);
- return;
- }
-
- void getWorkflow( ::Workflow& _return, const std::string& workflowTemplateId) {
- size_t sz = ifaces_.size();
- size_t i = 0;
- for (; i < (sz - 1); ++i) {
- ifaces_[i]->getWorkflow(_return, workflowTemplateId);
- }
- ifaces_[i]->getWorkflow(_return, workflowTemplateId);
- return;
- }
-
- void deleteWorkflow(const std::string& workflowTemplateId) {
- size_t sz = ifaces_.size();
- size_t i = 0;
- for (; i < (sz - 1); ++i) {
- ifaces_[i]->deleteWorkflow(workflowTemplateId);
- }
- ifaces_[i]->deleteWorkflow(workflowTemplateId);
- }
-
- void registerWorkflow(std::string& _return, const ::Workflow& workflow) {
- size_t sz = ifaces_.size();
- size_t i = 0;
- for (; i < (sz - 1); ++i) {
- ifaces_[i]->registerWorkflow(_return, workflow);
- }
- ifaces_[i]->registerWorkflow(_return, workflow);
- return;
- }
-
- void updateWorkflow(const std::string& workflowTemplateId, const ::Workflow& workflow) {
- size_t sz = ifaces_.size();
- size_t i = 0;
- for (; i < (sz - 1); ++i) {
- ifaces_[i]->updateWorkflow(workflowTemplateId, workflow);
- }
- ifaces_[i]->updateWorkflow(workflowTemplateId, workflow);
- }
-
- void getWorkflowTemplateId(std::string& _return, const std::string& workflowName) {
- size_t sz = ifaces_.size();
- size_t i = 0;
- for (; i < (sz - 1); ++i) {
- ifaces_[i]->getWorkflowTemplateId(_return, workflowName);
- }
- ifaces_[i]->getWorkflowTemplateId(_return, workflowName);
- return;
- }
-
- bool isWorkflowExistWithName(const std::string& workflowName) {
- size_t sz = ifaces_.size();
- size_t i = 0;
- for (; i < (sz - 1); ++i) {
- ifaces_[i]->isWorkflowExistWithName(workflowName);
- }
- return ifaces_[i]->isWorkflowExistWithName(workflowName);
- }
-
-};
-
-}}} // namespace
-
-#endif
http://git-wip-us.apache.org/repos/asf/airavata/blob/00b8aaf0/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/Workflow_server.skeleton.cpp
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/Workflow_server.skeleton.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/Workflow_server.skeleton.cpp
deleted file mode 100644
index 4883b7b..0000000
--- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/Workflow_server.skeleton.cpp
+++ /dev/null
@@ -1,74 +0,0 @@
-// This autogenerated skeleton file illustrates how to build a server.
-// You should copy it to another filename to avoid overwriting it.
-
-#include "Workflow.h"
-#include <thrift/protocol/TBinaryProtocol.h>
-#include <thrift/server/TSimpleServer.h>
-#include <thrift/transport/TServerSocket.h>
-#include <thrift/transport/TBufferTransports.h>
-
-using namespace ::apache::thrift;
-using namespace ::apache::thrift::protocol;
-using namespace ::apache::thrift::transport;
-using namespace ::apache::thrift::server;
-
-using boost::shared_ptr;
-
-using namespace ::airavata::api::workflow;
-
-class WorkflowHandler : virtual public WorkflowIf {
- public:
- WorkflowHandler() {
- // Your initialization goes here
- }
-
- void getAllWorkflows(std::vector<std::string> & _return) {
- // Your implementation goes here
- printf("getAllWorkflows\n");
- }
-
- void getWorkflow( ::Workflow& _return, const std::string& workflowTemplateId) {
- // Your implementation goes here
- printf("getWorkflow\n");
- }
-
- void deleteWorkflow(const std::string& workflowTemplateId) {
- // Your implementation goes here
- printf("deleteWorkflow\n");
- }
-
- void registerWorkflow(std::string& _return, const ::Workflow& workflow) {
- // Your implementation goes here
- printf("registerWorkflow\n");
- }
-
- void updateWorkflow(const std::string& workflowTemplateId, const ::Workflow& workflow) {
- // Your implementation goes here
- printf("updateWorkflow\n");
- }
-
- void getWorkflowTemplateId(std::string& _return, const std::string& workflowName) {
- // Your implementation goes here
- printf("getWorkflowTemplateId\n");
- }
-
- bool isWorkflowExistWithName(const std::string& workflowName) {
- // Your implementation goes here
- printf("isWorkflowExistWithName\n");
- }
-
-};
-
-int main(int argc, char **argv) {
- int port = 9090;
- shared_ptr<WorkflowHandler> handler(new WorkflowHandler());
- shared_ptr<TProcessor> processor(new WorkflowProcessor(handler));
- shared_ptr<TServerTransport> serverTransport(new TServerSocket(port));
- shared_ptr<TTransportFactory> transportFactory(new TBufferedTransportFactory());
- shared_ptr<TProtocolFactory> protocolFactory(new TBinaryProtocolFactory());
-
- TSimpleServer server(processor, serverTransport, transportFactory, protocolFactory);
- server.serve();
- return 0;
-}
-
http://git-wip-us.apache.org/repos/asf/airavata/blob/00b8aaf0/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavataAPI_constants.cpp
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavataAPI_constants.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavataAPI_constants.cpp
deleted file mode 100644
index 193d136..0000000
--- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavataAPI_constants.cpp
+++ /dev/null
@@ -1,19 +0,0 @@
-/**
- * Autogenerated by Thrift Compiler (0.9.1)
- *
- * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
- * @generated
- */
-#include "airavataAPI_constants.h"
-
-namespace apache { namespace airavata { namespace api {
-
-const airavataAPIConstants g_airavataAPI_constants;
-
-airavataAPIConstants::airavataAPIConstants() {
- AIRAVATA_API_VERSION = "0.13.0";
-
-}
-
-}}} // namespace
-
http://git-wip-us.apache.org/repos/asf/airavata/blob/00b8aaf0/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavataAPI_constants.h
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavataAPI_constants.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavataAPI_constants.h
deleted file mode 100644
index 4761835..0000000
--- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavataAPI_constants.h
+++ /dev/null
@@ -1,25 +0,0 @@
-/**
- * Autogenerated by Thrift Compiler (0.9.1)
- *
- * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
- * @generated
- */
-#ifndef airavataAPI_CONSTANTS_H
-#define airavataAPI_CONSTANTS_H
-
-#include "airavataAPI_types.h"
-
-namespace apache { namespace airavata { namespace api {
-
-class airavataAPIConstants {
- public:
- airavataAPIConstants();
-
- std::string AIRAVATA_API_VERSION;
-};
-
-extern const airavataAPIConstants g_airavataAPI_constants;
-
-}}} // namespace
-
-#endif
http://git-wip-us.apache.org/repos/asf/airavata/blob/00b8aaf0/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavataAPI_types.cpp
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavataAPI_types.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavataAPI_types.cpp
deleted file mode 100644
index ab8c1ba..0000000
--- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavataAPI_types.cpp
+++ /dev/null
@@ -1,13 +0,0 @@
-/**
- * Autogenerated by Thrift Compiler (0.9.1)
- *
- * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
- * @generated
- */
-#include "airavataAPI_types.h"
-
-#include <algorithm>
-
-namespace apache { namespace airavata { namespace api {
-
-}}} // namespace
http://git-wip-us.apache.org/repos/asf/airavata/blob/00b8aaf0/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavataAPI_types.h
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavataAPI_types.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavataAPI_types.h
deleted file mode 100644
index 5e78871..0000000
--- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavataAPI_types.h
+++ /dev/null
@@ -1,30 +0,0 @@
-/**
- * Autogenerated by Thrift Compiler (0.9.1)
- *
- * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
- * @generated
- */
-#ifndef airavataAPI_TYPES_H
-#define airavataAPI_TYPES_H
-
-#include <thrift/Thrift.h>
-#include <thrift/TApplicationException.h>
-#include <thrift/protocol/TProtocol.h>
-#include <thrift/transport/TTransport.h>
-
-#include <thrift/cxxfunctional.h>
-#include "airavataErrors_types.h"
-#include "airavataDataModel_types.h"
-#include "experimentModel_types.h"
-#include "workspaceModel_types.h"
-#include "computeResourceModel_types.h"
-#include "applicationDeploymentModel_types.h"
-#include "applicationInterfaceModel_types.h"
-#include "gatewayResourceProfileModel_types.h"
-
-
-namespace apache { namespace airavata { namespace api {
-
-}}} // namespace
-
-#endif
http://git-wip-us.apache.org/repos/asf/airavata/blob/00b8aaf0/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavataDataModel_constants.cpp
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavataDataModel_constants.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavataDataModel_constants.cpp
deleted file mode 100644
index 301f322..0000000
--- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavataDataModel_constants.cpp
+++ /dev/null
@@ -1,17 +0,0 @@
-/**
- * Autogenerated by Thrift Compiler (0.9.1)
- *
- * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
- * @generated
- */
-#include "airavataDataModel_constants.h"
-
-namespace apache { namespace airavata { namespace model {
-
-const airavataDataModelConstants g_airavataDataModel_constants;
-
-airavataDataModelConstants::airavataDataModelConstants() {
-}
-
-}}} // namespace
-
http://git-wip-us.apache.org/repos/asf/airavata/blob/00b8aaf0/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavataDataModel_constants.h
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavataDataModel_constants.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavataDataModel_constants.h
deleted file mode 100644
index d52ed08..0000000
--- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavataDataModel_constants.h
+++ /dev/null
@@ -1,24 +0,0 @@
-/**
- * Autogenerated by Thrift Compiler (0.9.1)
- *
- * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
- * @generated
- */
-#ifndef airavataDataModel_CONSTANTS_H
-#define airavataDataModel_CONSTANTS_H
-
-#include "airavataDataModel_types.h"
-
-namespace apache { namespace airavata { namespace model {
-
-class airavataDataModelConstants {
- public:
- airavataDataModelConstants();
-
-};
-
-extern const airavataDataModelConstants g_airavataDataModel_constants;
-
-}}} // namespace
-
-#endif
http://git-wip-us.apache.org/repos/asf/airavata/blob/00b8aaf0/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavataDataModel_types.cpp
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavataDataModel_types.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavataDataModel_types.cpp
deleted file mode 100644
index 936f3ba..0000000
--- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavataDataModel_types.cpp
+++ /dev/null
@@ -1,13 +0,0 @@
-/**
- * Autogenerated by Thrift Compiler (0.9.1)
- *
- * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
- * @generated
- */
-#include "airavataDataModel_types.h"
-
-#include <algorithm>
-
-namespace apache { namespace airavata { namespace model {
-
-}}} // namespace
http://git-wip-us.apache.org/repos/asf/airavata/blob/00b8aaf0/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavataDataModel_types.h
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavataDataModel_types.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavataDataModel_types.h
deleted file mode 100644
index 0957294..0000000
--- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavataDataModel_types.h
+++ /dev/null
@@ -1,24 +0,0 @@
-/**
- * Autogenerated by Thrift Compiler (0.9.1)
- *
- * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
- * @generated
- */
-#ifndef airavataDataModel_TYPES_H
-#define airavataDataModel_TYPES_H
-
-#include <thrift/Thrift.h>
-#include <thrift/TApplicationException.h>
-#include <thrift/protocol/TProtocol.h>
-#include <thrift/transport/TTransport.h>
-
-#include <thrift/cxxfunctional.h>
-#include "workspaceModel_types.h"
-#include "airavataErrors_types.h"
-
-
-namespace apache { namespace airavata { namespace model {
-
-}}} // namespace
-
-#endif
http://git-wip-us.apache.org/repos/asf/airavata/blob/00b8aaf0/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavataErrors_constants.cpp
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavataErrors_constants.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavataErrors_constants.cpp
deleted file mode 100644
index 6de251f..0000000
--- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavataErrors_constants.cpp
+++ /dev/null
@@ -1,17 +0,0 @@
-/**
- * Autogenerated by Thrift Compiler (0.9.1)
- *
- * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
- * @generated
- */
-#include "airavataErrors_constants.h"
-
-namespace apache { namespace airavata { namespace api { namespace error {
-
-const airavataErrorsConstants g_airavataErrors_constants;
-
-airavataErrorsConstants::airavataErrorsConstants() {
-}
-
-}}}} // namespace
-
http://git-wip-us.apache.org/repos/asf/airavata/blob/00b8aaf0/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavataErrors_constants.h
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavataErrors_constants.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavataErrors_constants.h
deleted file mode 100644
index fec5eb9..0000000
--- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavataErrors_constants.h
+++ /dev/null
@@ -1,24 +0,0 @@
-/**
- * Autogenerated by Thrift Compiler (0.9.1)
- *
- * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
- * @generated
- */
-#ifndef airavataErrors_CONSTANTS_H
-#define airavataErrors_CONSTANTS_H
-
-#include "airavataErrors_types.h"
-
-namespace apache { namespace airavata { namespace api { namespace error {
-
-class airavataErrorsConstants {
- public:
- airavataErrorsConstants();
-
-};
-
-extern const airavataErrorsConstants g_airavataErrors_constants;
-
-}}}} // namespace
-
-#endif
http://git-wip-us.apache.org/repos/asf/airavata/blob/00b8aaf0/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavataErrors_types.cpp
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavataErrors_types.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavataErrors_types.cpp
deleted file mode 100644
index fbcf8cb..0000000
--- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavataErrors_types.cpp
+++ /dev/null
@@ -1,820 +0,0 @@
-/**
- * Autogenerated by Thrift Compiler (0.9.1)
- *
- * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
- * @generated
- */
-#include "airavataErrors_types.h"
-
-#include <algorithm>
-
-namespace apache { namespace airavata { namespace api { namespace error {
-
-int _kAiravataErrorTypeValues[] = {
- AiravataErrorType::UNKNOWN,
- AiravataErrorType::PERMISSION_DENIED,
- AiravataErrorType::INTERNAL_ERROR,
- AiravataErrorType::AUTHENTICATION_FAILURE,
- AiravataErrorType::INVALID_AUTHORIZATION,
- AiravataErrorType::AUTHORIZATION_EXPIRED,
- AiravataErrorType::UNKNOWN_GATEWAY_ID,
- AiravataErrorType::UNSUPPORTED_OPERATION
-};
-const char* _kAiravataErrorTypeNames[] = {
- "UNKNOWN",
- "PERMISSION_DENIED",
- "INTERNAL_ERROR",
- "AUTHENTICATION_FAILURE",
- "INVALID_AUTHORIZATION",
- "AUTHORIZATION_EXPIRED",
- "UNKNOWN_GATEWAY_ID",
- "UNSUPPORTED_OPERATION"
-};
-const std::map<int, const char*> _AiravataErrorType_VALUES_TO_NAMES(::apache::thrift::TEnumIterator(8, _kAiravataErrorTypeValues, _kAiravataErrorTypeNames), ::apache::thrift::TEnumIterator(-1, NULL, NULL));
-
-const char* ExperimentNotFoundException::ascii_fingerprint = "EFB929595D312AC8F305D5A794CFEDA1";
-const uint8_t ExperimentNotFoundException::binary_fingerprint[16] = {0xEF,0xB9,0x29,0x59,0x5D,0x31,0x2A,0xC8,0xF3,0x05,0xD5,0xA7,0x94,0xCF,0xED,0xA1};
-
-uint32_t ExperimentNotFoundException::read(::apache::thrift::protocol::TProtocol* iprot) {
-
- uint32_t xfer = 0;
- std::string fname;
- ::apache::thrift::protocol::TType ftype;
- int16_t fid;
-
- xfer += iprot->readStructBegin(fname);
-
- using ::apache::thrift::protocol::TProtocolException;
-
- bool isset_message = false;
-
- while (true)
- {
- xfer += iprot->readFieldBegin(fname, ftype, fid);
- if (ftype == ::apache::thrift::protocol::T_STOP) {
- break;
- }
- switch (fid)
- {
- case 1:
- if (ftype == ::apache::thrift::protocol::T_STRING) {
- xfer += iprot->readString(this->message);
- isset_message = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- default:
- xfer += iprot->skip(ftype);
- break;
- }
- xfer += iprot->readFieldEnd();
- }
-
- xfer += iprot->readStructEnd();
-
- if (!isset_message)
- throw TProtocolException(TProtocolException::INVALID_DATA);
- return xfer;
-}
-
-uint32_t ExperimentNotFoundException::write(::apache::thrift::protocol::TProtocol* oprot) const {
- uint32_t xfer = 0;
- xfer += oprot->writeStructBegin("ExperimentNotFoundException");
-
- xfer += oprot->writeFieldBegin("message", ::apache::thrift::protocol::T_STRING, 1);
- xfer += oprot->writeString(this->message);
- xfer += oprot->writeFieldEnd();
-
- xfer += oprot->writeFieldStop();
- xfer += oprot->writeStructEnd();
- return xfer;
-}
-
-void swap(ExperimentNotFoundException &a, ExperimentNotFoundException &b) {
- using ::std::swap;
- swap(a.message, b.message);
-}
-
-const char* ProjectNotFoundException::ascii_fingerprint = "EFB929595D312AC8F305D5A794CFEDA1";
-const uint8_t ProjectNotFoundException::binary_fingerprint[16] = {0xEF,0xB9,0x29,0x59,0x5D,0x31,0x2A,0xC8,0xF3,0x05,0xD5,0xA7,0x94,0xCF,0xED,0xA1};
-
-uint32_t ProjectNotFoundException::read(::apache::thrift::protocol::TProtocol* iprot) {
-
- uint32_t xfer = 0;
- std::string fname;
- ::apache::thrift::protocol::TType ftype;
- int16_t fid;
-
- xfer += iprot->readStructBegin(fname);
-
- using ::apache::thrift::protocol::TProtocolException;
-
- bool isset_message = false;
-
- while (true)
- {
- xfer += iprot->readFieldBegin(fname, ftype, fid);
- if (ftype == ::apache::thrift::protocol::T_STOP) {
- break;
- }
- switch (fid)
- {
- case 1:
- if (ftype == ::apache::thrift::protocol::T_STRING) {
- xfer += iprot->readString(this->message);
- isset_message = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- default:
- xfer += iprot->skip(ftype);
- break;
- }
- xfer += iprot->readFieldEnd();
- }
-
- xfer += iprot->readStructEnd();
-
- if (!isset_message)
- throw TProtocolException(TProtocolException::INVALID_DATA);
- return xfer;
-}
-
-uint32_t ProjectNotFoundException::write(::apache::thrift::protocol::TProtocol* oprot) const {
- uint32_t xfer = 0;
- xfer += oprot->writeStructBegin("ProjectNotFoundException");
-
- xfer += oprot->writeFieldBegin("message", ::apache::thrift::protocol::T_STRING, 1);
- xfer += oprot->writeString(this->message);
- xfer += oprot->writeFieldEnd();
-
- xfer += oprot->writeFieldStop();
- xfer += oprot->writeStructEnd();
- return xfer;
-}
-
-void swap(ProjectNotFoundException &a, ProjectNotFoundException &b) {
- using ::std::swap;
- swap(a.message, b.message);
-}
-
-const char* InvalidRequestException::ascii_fingerprint = "EFB929595D312AC8F305D5A794CFEDA1";
-const uint8_t InvalidRequestException::binary_fingerprint[16] = {0xEF,0xB9,0x29,0x59,0x5D,0x31,0x2A,0xC8,0xF3,0x05,0xD5,0xA7,0x94,0xCF,0xED,0xA1};
-
-uint32_t InvalidRequestException::read(::apache::thrift::protocol::TProtocol* iprot) {
-
- uint32_t xfer = 0;
- std::string fname;
- ::apache::thrift::protocol::TType ftype;
- int16_t fid;
-
- xfer += iprot->readStructBegin(fname);
-
- using ::apache::thrift::protocol::TProtocolException;
-
- bool isset_message = false;
-
- while (true)
- {
- xfer += iprot->readFieldBegin(fname, ftype, fid);
- if (ftype == ::apache::thrift::protocol::T_STOP) {
- break;
- }
- switch (fid)
- {
- case 1:
- if (ftype == ::apache::thrift::protocol::T_STRING) {
- xfer += iprot->readString(this->message);
- isset_message = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- default:
- xfer += iprot->skip(ftype);
- break;
- }
- xfer += iprot->readFieldEnd();
- }
-
- xfer += iprot->readStructEnd();
-
- if (!isset_message)
- throw TProtocolException(TProtocolException::INVALID_DATA);
- return xfer;
-}
-
-uint32_t InvalidRequestException::write(::apache::thrift::protocol::TProtocol* oprot) const {
- uint32_t xfer = 0;
- xfer += oprot->writeStructBegin("InvalidRequestException");
-
- xfer += oprot->writeFieldBegin("message", ::apache::thrift::protocol::T_STRING, 1);
- xfer += oprot->writeString(this->message);
- xfer += oprot->writeFieldEnd();
-
- xfer += oprot->writeFieldStop();
- xfer += oprot->writeStructEnd();
- return xfer;
-}
-
-void swap(InvalidRequestException &a, InvalidRequestException &b) {
- using ::std::swap;
- swap(a.message, b.message);
-}
-
-const char* TimedOutException::ascii_fingerprint = "99914B932BD37A50B983C5E7C90AE93B";
-const uint8_t TimedOutException::binary_fingerprint[16] = {0x99,0x91,0x4B,0x93,0x2B,0xD3,0x7A,0x50,0xB9,0x83,0xC5,0xE7,0xC9,0x0A,0xE9,0x3B};
-
-uint32_t TimedOutException::read(::apache::thrift::protocol::TProtocol* iprot) {
-
- uint32_t xfer = 0;
- std::string fname;
- ::apache::thrift::protocol::TType ftype;
- int16_t fid;
-
- xfer += iprot->readStructBegin(fname);
-
- using ::apache::thrift::protocol::TProtocolException;
-
-
- while (true)
- {
- xfer += iprot->readFieldBegin(fname, ftype, fid);
- if (ftype == ::apache::thrift::protocol::T_STOP) {
- break;
- }
- xfer += iprot->skip(ftype);
- xfer += iprot->readFieldEnd();
- }
-
- xfer += iprot->readStructEnd();
-
- return xfer;
-}
-
-uint32_t TimedOutException::write(::apache::thrift::protocol::TProtocol* oprot) const {
- uint32_t xfer = 0;
- xfer += oprot->writeStructBegin("TimedOutException");
-
- xfer += oprot->writeFieldStop();
- xfer += oprot->writeStructEnd();
- return xfer;
-}
-
-void swap(TimedOutException &a, TimedOutException &b) {
- using ::std::swap;
- (void) a;
- (void) b;
-}
-
-const char* AuthenticationException::ascii_fingerprint = "EFB929595D312AC8F305D5A794CFEDA1";
-const uint8_t AuthenticationException::binary_fingerprint[16] = {0xEF,0xB9,0x29,0x59,0x5D,0x31,0x2A,0xC8,0xF3,0x05,0xD5,0xA7,0x94,0xCF,0xED,0xA1};
-
-uint32_t AuthenticationException::read(::apache::thrift::protocol::TProtocol* iprot) {
-
- uint32_t xfer = 0;
- std::string fname;
- ::apache::thrift::protocol::TType ftype;
- int16_t fid;
-
- xfer += iprot->readStructBegin(fname);
-
- using ::apache::thrift::protocol::TProtocolException;
-
- bool isset_message = false;
-
- while (true)
- {
- xfer += iprot->readFieldBegin(fname, ftype, fid);
- if (ftype == ::apache::thrift::protocol::T_STOP) {
- break;
- }
- switch (fid)
- {
- case 1:
- if (ftype == ::apache::thrift::protocol::T_STRING) {
- xfer += iprot->readString(this->message);
- isset_message = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- default:
- xfer += iprot->skip(ftype);
- break;
- }
- xfer += iprot->readFieldEnd();
- }
-
- xfer += iprot->readStructEnd();
-
- if (!isset_message)
- throw TProtocolException(TProtocolException::INVALID_DATA);
- return xfer;
-}
-
-uint32_t AuthenticationException::write(::apache::thrift::protocol::TProtocol* oprot) const {
- uint32_t xfer = 0;
- xfer += oprot->writeStructBegin("AuthenticationException");
-
- xfer += oprot->writeFieldBegin("message", ::apache::thrift::protocol::T_STRING, 1);
- xfer += oprot->writeString(this->message);
- xfer += oprot->writeFieldEnd();
-
- xfer += oprot->writeFieldStop();
- xfer += oprot->writeStructEnd();
- return xfer;
-}
-
-void swap(AuthenticationException &a, AuthenticationException &b) {
- using ::std::swap;
- swap(a.message, b.message);
-}
-
-const char* AuthorizationException::ascii_fingerprint = "EFB929595D312AC8F305D5A794CFEDA1";
-const uint8_t AuthorizationException::binary_fingerprint[16] = {0xEF,0xB9,0x29,0x59,0x5D,0x31,0x2A,0xC8,0xF3,0x05,0xD5,0xA7,0x94,0xCF,0xED,0xA1};
-
-uint32_t AuthorizationException::read(::apache::thrift::protocol::TProtocol* iprot) {
-
- uint32_t xfer = 0;
- std::string fname;
- ::apache::thrift::protocol::TType ftype;
- int16_t fid;
-
- xfer += iprot->readStructBegin(fname);
-
- using ::apache::thrift::protocol::TProtocolException;
-
- bool isset_message = false;
-
- while (true)
- {
- xfer += iprot->readFieldBegin(fname, ftype, fid);
- if (ftype == ::apache::thrift::protocol::T_STOP) {
- break;
- }
- switch (fid)
- {
- case 1:
- if (ftype == ::apache::thrift::protocol::T_STRING) {
- xfer += iprot->readString(this->message);
- isset_message = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- default:
- xfer += iprot->skip(ftype);
- break;
- }
- xfer += iprot->readFieldEnd();
- }
-
- xfer += iprot->readStructEnd();
-
- if (!isset_message)
- throw TProtocolException(TProtocolException::INVALID_DATA);
- return xfer;
-}
-
-uint32_t AuthorizationException::write(::apache::thrift::protocol::TProtocol* oprot) const {
- uint32_t xfer = 0;
- xfer += oprot->writeStructBegin("AuthorizationException");
-
- xfer += oprot->writeFieldBegin("message", ::apache::thrift::protocol::T_STRING, 1);
- xfer += oprot->writeString(this->message);
- xfer += oprot->writeFieldEnd();
-
- xfer += oprot->writeFieldStop();
- xfer += oprot->writeStructEnd();
- return xfer;
-}
-
-void swap(AuthorizationException &a, AuthorizationException &b) {
- using ::std::swap;
- swap(a.message, b.message);
-}
-
-const char* AiravataClientException::ascii_fingerprint = "24652790C81ECE22B629CB60A19F1E93";
-const uint8_t AiravataClientException::binary_fingerprint[16] = {0x24,0x65,0x27,0x90,0xC8,0x1E,0xCE,0x22,0xB6,0x29,0xCB,0x60,0xA1,0x9F,0x1E,0x93};
-
-uint32_t AiravataClientException::read(::apache::thrift::protocol::TProtocol* iprot) {
-
- uint32_t xfer = 0;
- std::string fname;
- ::apache::thrift::protocol::TType ftype;
- int16_t fid;
-
- xfer += iprot->readStructBegin(fname);
-
- using ::apache::thrift::protocol::TProtocolException;
-
- bool isset_airavataErrorType = false;
-
- while (true)
- {
- xfer += iprot->readFieldBegin(fname, ftype, fid);
- if (ftype == ::apache::thrift::protocol::T_STOP) {
- break;
- }
- switch (fid)
- {
- case 1:
- if (ftype == ::apache::thrift::protocol::T_I32) {
- int32_t ecast0;
- xfer += iprot->readI32(ecast0);
- this->airavataErrorType = (AiravataErrorType::type)ecast0;
- isset_airavataErrorType = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 2:
- if (ftype == ::apache::thrift::protocol::T_STRING) {
- xfer += iprot->readString(this->parameter);
- this->__isset.parameter = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- default:
- xfer += iprot->skip(ftype);
- break;
- }
- xfer += iprot->readFieldEnd();
- }
-
- xfer += iprot->readStructEnd();
-
- if (!isset_airavataErrorType)
- throw TProtocolException(TProtocolException::INVALID_DATA);
- return xfer;
-}
-
-uint32_t AiravataClientException::write(::apache::thrift::protocol::TProtocol* oprot) const {
- uint32_t xfer = 0;
- xfer += oprot->writeStructBegin("AiravataClientException");
-
- xfer += oprot->writeFieldBegin("airavataErrorType", ::apache::thrift::protocol::T_I32, 1);
- xfer += oprot->writeI32((int32_t)this->airavataErrorType);
- xfer += oprot->writeFieldEnd();
-
- if (this->__isset.parameter) {
- xfer += oprot->writeFieldBegin("parameter", ::apache::thrift::protocol::T_STRING, 2);
- xfer += oprot->writeString(this->parameter);
- xfer += oprot->writeFieldEnd();
- }
- xfer += oprot->writeFieldStop();
- xfer += oprot->writeStructEnd();
- return xfer;
-}
-
-void swap(AiravataClientException &a, AiravataClientException &b) {
- using ::std::swap;
- swap(a.airavataErrorType, b.airavataErrorType);
- swap(a.parameter, b.parameter);
- swap(a.__isset, b.__isset);
-}
-
-const char* ValidatorResult::ascii_fingerprint = "EB04A806CFFC9025AEE48CFFDC378A86";
-const uint8_t ValidatorResult::binary_fingerprint[16] = {0xEB,0x04,0xA8,0x06,0xCF,0xFC,0x90,0x25,0xAE,0xE4,0x8C,0xFF,0xDC,0x37,0x8A,0x86};
-
-uint32_t ValidatorResult::read(::apache::thrift::protocol::TProtocol* iprot) {
-
- uint32_t xfer = 0;
- std::string fname;
- ::apache::thrift::protocol::TType ftype;
- int16_t fid;
-
- xfer += iprot->readStructBegin(fname);
-
- using ::apache::thrift::protocol::TProtocolException;
-
- bool isset_result = false;
-
- while (true)
- {
- xfer += iprot->readFieldBegin(fname, ftype, fid);
- if (ftype == ::apache::thrift::protocol::T_STOP) {
- break;
- }
- switch (fid)
- {
- case 1:
- if (ftype == ::apache::thrift::protocol::T_BOOL) {
- xfer += iprot->readBool(this->result);
- isset_result = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 2:
- if (ftype == ::apache::thrift::protocol::T_STRING) {
- xfer += iprot->readString(this->errorDetails);
- this->__isset.errorDetails = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- default:
- xfer += iprot->skip(ftype);
- break;
- }
- xfer += iprot->readFieldEnd();
- }
-
- xfer += iprot->readStructEnd();
-
- if (!isset_result)
- throw TProtocolException(TProtocolException::INVALID_DATA);
- return xfer;
-}
-
-uint32_t ValidatorResult::write(::apache::thrift::protocol::TProtocol* oprot) const {
- uint32_t xfer = 0;
- xfer += oprot->writeStructBegin("ValidatorResult");
-
- xfer += oprot->writeFieldBegin("result", ::apache::thrift::protocol::T_BOOL, 1);
- xfer += oprot->writeBool(this->result);
- xfer += oprot->writeFieldEnd();
-
- if (this->__isset.errorDetails) {
- xfer += oprot->writeFieldBegin("errorDetails", ::apache::thrift::protocol::T_STRING, 2);
- xfer += oprot->writeString(this->errorDetails);
- xfer += oprot->writeFieldEnd();
- }
- xfer += oprot->writeFieldStop();
- xfer += oprot->writeStructEnd();
- return xfer;
-}
-
-void swap(ValidatorResult &a, ValidatorResult &b) {
- using ::std::swap;
- swap(a.result, b.result);
- swap(a.errorDetails, b.errorDetails);
- swap(a.__isset, b.__isset);
-}
-
-const char* ValidationResults::ascii_fingerprint = "E73BC8630EE405DA5FB801ED852143D2";
-const uint8_t ValidationResults::binary_fingerprint[16] = {0xE7,0x3B,0xC8,0x63,0x0E,0xE4,0x05,0xDA,0x5F,0xB8,0x01,0xED,0x85,0x21,0x43,0xD2};
-
-uint32_t ValidationResults::read(::apache::thrift::protocol::TProtocol* iprot) {
-
- uint32_t xfer = 0;
- std::string fname;
- ::apache::thrift::protocol::TType ftype;
- int16_t fid;
-
- xfer += iprot->readStructBegin(fname);
-
- using ::apache::thrift::protocol::TProtocolException;
-
- bool isset_validationState = false;
- bool isset_validationResultList = false;
-
- while (true)
- {
- xfer += iprot->readFieldBegin(fname, ftype, fid);
- if (ftype == ::apache::thrift::protocol::T_STOP) {
- break;
- }
- switch (fid)
- {
- case 1:
- if (ftype == ::apache::thrift::protocol::T_BOOL) {
- xfer += iprot->readBool(this->validationState);
- isset_validationState = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 2:
- if (ftype == ::apache::thrift::protocol::T_LIST) {
- {
- this->validationResultList.clear();
- uint32_t _size1;
- ::apache::thrift::protocol::TType _etype4;
- xfer += iprot->readListBegin(_etype4, _size1);
- this->validationResultList.resize(_size1);
- uint32_t _i5;
- for (_i5 = 0; _i5 < _size1; ++_i5)
- {
- xfer += this->validationResultList[_i5].read(iprot);
- }
- xfer += iprot->readListEnd();
- }
- isset_validationResultList = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- default:
- xfer += iprot->skip(ftype);
- break;
- }
- xfer += iprot->readFieldEnd();
- }
-
- xfer += iprot->readStructEnd();
-
- if (!isset_validationState)
- throw TProtocolException(TProtocolException::INVALID_DATA);
- if (!isset_validationResultList)
- throw TProtocolException(TProtocolException::INVALID_DATA);
- return xfer;
-}
-
-uint32_t ValidationResults::write(::apache::thrift::protocol::TProtocol* oprot) const {
- uint32_t xfer = 0;
- xfer += oprot->writeStructBegin("ValidationResults");
-
- xfer += oprot->writeFieldBegin("validationState", ::apache::thrift::protocol::T_BOOL, 1);
- xfer += oprot->writeBool(this->validationState);
- xfer += oprot->writeFieldEnd();
-
- xfer += oprot->writeFieldBegin("validationResultList", ::apache::thrift::protocol::T_LIST, 2);
- {
- xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>(this->validationResultList.size()));
- std::vector<ValidatorResult> ::const_iterator _iter6;
- for (_iter6 = this->validationResultList.begin(); _iter6 != this->validationResultList.end(); ++_iter6)
- {
- xfer += (*_iter6).write(oprot);
- }
- xfer += oprot->writeListEnd();
- }
- xfer += oprot->writeFieldEnd();
-
- xfer += oprot->writeFieldStop();
- xfer += oprot->writeStructEnd();
- return xfer;
-}
-
-void swap(ValidationResults &a, ValidationResults &b) {
- using ::std::swap;
- swap(a.validationState, b.validationState);
- swap(a.validationResultList, b.validationResultList);
-}
-
-const char* LaunchValidationException::ascii_fingerprint = "99E9D28CC9613B8567277FD2B86021FA";
-const uint8_t LaunchValidationException::binary_fingerprint[16] = {0x99,0xE9,0xD2,0x8C,0xC9,0x61,0x3B,0x85,0x67,0x27,0x7F,0xD2,0xB8,0x60,0x21,0xFA};
-
-uint32_t LaunchValidationException::read(::apache::thrift::protocol::TProtocol* iprot) {
-
- uint32_t xfer = 0;
- std::string fname;
- ::apache::thrift::protocol::TType ftype;
- int16_t fid;
-
- xfer += iprot->readStructBegin(fname);
-
- using ::apache::thrift::protocol::TProtocolException;
-
- bool isset_validationResult = false;
-
- while (true)
- {
- xfer += iprot->readFieldBegin(fname, ftype, fid);
- if (ftype == ::apache::thrift::protocol::T_STOP) {
- break;
- }
- switch (fid)
- {
- case 1:
- if (ftype == ::apache::thrift::protocol::T_STRUCT) {
- xfer += this->validationResult.read(iprot);
- isset_validationResult = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 2:
- if (ftype == ::apache::thrift::protocol::T_STRING) {
- xfer += iprot->readString(this->errorMessage);
- this->__isset.errorMessage = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- default:
- xfer += iprot->skip(ftype);
- break;
- }
- xfer += iprot->readFieldEnd();
- }
-
- xfer += iprot->readStructEnd();
-
- if (!isset_validationResult)
- throw TProtocolException(TProtocolException::INVALID_DATA);
- return xfer;
-}
-
-uint32_t LaunchValidationException::write(::apache::thrift::protocol::TProtocol* oprot) const {
- uint32_t xfer = 0;
- xfer += oprot->writeStructBegin("LaunchValidationException");
-
- xfer += oprot->writeFieldBegin("validationResult", ::apache::thrift::protocol::T_STRUCT, 1);
- xfer += this->validationResult.write(oprot);
- xfer += oprot->writeFieldEnd();
-
- if (this->__isset.errorMessage) {
- xfer += oprot->writeFieldBegin("errorMessage", ::apache::thrift::protocol::T_STRING, 2);
- xfer += oprot->writeString(this->errorMessage);
- xfer += oprot->writeFieldEnd();
- }
- xfer += oprot->writeFieldStop();
- xfer += oprot->writeStructEnd();
- return xfer;
-}
-
-void swap(LaunchValidationException &a, LaunchValidationException &b) {
- using ::std::swap;
- swap(a.validationResult, b.validationResult);
- swap(a.errorMessage, b.errorMessage);
- swap(a.__isset, b.__isset);
-}
-
-const char* AiravataSystemException::ascii_fingerprint = "24652790C81ECE22B629CB60A19F1E93";
-const uint8_t AiravataSystemException::binary_fingerprint[16] = {0x24,0x65,0x27,0x90,0xC8,0x1E,0xCE,0x22,0xB6,0x29,0xCB,0x60,0xA1,0x9F,0x1E,0x93};
-
-uint32_t AiravataSystemException::read(::apache::thrift::protocol::TProtocol* iprot) {
-
- uint32_t xfer = 0;
- std::string fname;
- ::apache::thrift::protocol::TType ftype;
- int16_t fid;
-
- xfer += iprot->readStructBegin(fname);
-
- using ::apache::thrift::protocol::TProtocolException;
-
- bool isset_airavataErrorType = false;
-
- while (true)
- {
- xfer += iprot->readFieldBegin(fname, ftype, fid);
- if (ftype == ::apache::thrift::protocol::T_STOP) {
- break;
- }
- switch (fid)
- {
- case 1:
- if (ftype == ::apache::thrift::protocol::T_I32) {
- int32_t ecast7;
- xfer += iprot->readI32(ecast7);
- this->airavataErrorType = (AiravataErrorType::type)ecast7;
- isset_airavataErrorType = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 2:
- if (ftype == ::apache::thrift::protocol::T_STRING) {
- xfer += iprot->readString(this->message);
- this->__isset.message = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- default:
- xfer += iprot->skip(ftype);
- break;
- }
- xfer += iprot->readFieldEnd();
- }
-
- xfer += iprot->readStructEnd();
-
- if (!isset_airavataErrorType)
- throw TProtocolException(TProtocolException::INVALID_DATA);
- return xfer;
-}
-
-uint32_t AiravataSystemException::write(::apache::thrift::protocol::TProtocol* oprot) const {
- uint32_t xfer = 0;
- xfer += oprot->writeStructBegin("AiravataSystemException");
-
- xfer += oprot->writeFieldBegin("airavataErrorType", ::apache::thrift::protocol::T_I32, 1);
- xfer += oprot->writeI32((int32_t)this->airavataErrorType);
- xfer += oprot->writeFieldEnd();
-
- if (this->__isset.message) {
- xfer += oprot->writeFieldBegin("message", ::apache::thrift::protocol::T_STRING, 2);
- xfer += oprot->writeString(this->message);
- xfer += oprot->writeFieldEnd();
- }
- xfer += oprot->writeFieldStop();
- xfer += oprot->writeStructEnd();
- return xfer;
-}
-
-void swap(AiravataSystemException &a, AiravataSystemException &b) {
- using ::std::swap;
- swap(a.airavataErrorType, b.airavataErrorType);
- swap(a.message, b.message);
- swap(a.__isset, b.__isset);
-}
-
-}}}} // namespace
http://git-wip-us.apache.org/repos/asf/airavata/blob/00b8aaf0/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavataErrors_types.h
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavataErrors_types.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavataErrors_types.h
deleted file mode 100644
index 139287d..0000000
--- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavataErrors_types.h
+++ /dev/null
@@ -1,509 +0,0 @@
-/**
- * Autogenerated by Thrift Compiler (0.9.1)
- *
- * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
- * @generated
- */
-#ifndef airavataErrors_TYPES_H
-#define airavataErrors_TYPES_H
-
-#include <thrift/Thrift.h>
-#include <thrift/TApplicationException.h>
-#include <thrift/protocol/TProtocol.h>
-#include <thrift/transport/TTransport.h>
-
-#include <thrift/cxxfunctional.h>
-#include "experimentModel_types.h"
-
-
-namespace apache { namespace airavata { namespace api { namespace error {
-
-struct AiravataErrorType {
- enum type {
- UNKNOWN = 0,
- PERMISSION_DENIED = 1,
- INTERNAL_ERROR = 2,
- AUTHENTICATION_FAILURE = 3,
- INVALID_AUTHORIZATION = 4,
- AUTHORIZATION_EXPIRED = 5,
- UNKNOWN_GATEWAY_ID = 6,
- UNSUPPORTED_OPERATION = 7
- };
-};
-
-extern const std::map<int, const char*> _AiravataErrorType_VALUES_TO_NAMES;
-
-
-class ExperimentNotFoundException : public ::apache::thrift::TException {
- public:
-
- static const char* ascii_fingerprint; // = "EFB929595D312AC8F305D5A794CFEDA1";
- static const uint8_t binary_fingerprint[16]; // = {0xEF,0xB9,0x29,0x59,0x5D,0x31,0x2A,0xC8,0xF3,0x05,0xD5,0xA7,0x94,0xCF,0xED,0xA1};
-
- ExperimentNotFoundException() : message() {
- }
-
- virtual ~ExperimentNotFoundException() throw() {}
-
- std::string message;
-
- void __set_message(const std::string& val) {
- message = val;
- }
-
- bool operator == (const ExperimentNotFoundException & rhs) const
- {
- if (!(message == rhs.message))
- return false;
- return true;
- }
- bool operator != (const ExperimentNotFoundException &rhs) const {
- return !(*this == rhs);
- }
-
- bool operator < (const ExperimentNotFoundException & ) const;
-
- uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
- uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-};
-
-void swap(ExperimentNotFoundException &a, ExperimentNotFoundException &b);
-
-
-class ProjectNotFoundException : public ::apache::thrift::TException {
- public:
-
- static const char* ascii_fingerprint; // = "EFB929595D312AC8F305D5A794CFEDA1";
- static const uint8_t binary_fingerprint[16]; // = {0xEF,0xB9,0x29,0x59,0x5D,0x31,0x2A,0xC8,0xF3,0x05,0xD5,0xA7,0x94,0xCF,0xED,0xA1};
-
- ProjectNotFoundException() : message() {
- }
-
- virtual ~ProjectNotFoundException() throw() {}
-
- std::string message;
-
- void __set_message(const std::string& val) {
- message = val;
- }
-
- bool operator == (const ProjectNotFoundException & rhs) const
- {
- if (!(message == rhs.message))
- return false;
- return true;
- }
- bool operator != (const ProjectNotFoundException &rhs) const {
- return !(*this == rhs);
- }
-
- bool operator < (const ProjectNotFoundException & ) const;
-
- uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
- uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-};
-
-void swap(ProjectNotFoundException &a, ProjectNotFoundException &b);
-
-
-class InvalidRequestException : public ::apache::thrift::TException {
- public:
-
- static const char* ascii_fingerprint; // = "EFB929595D312AC8F305D5A794CFEDA1";
- static const uint8_t binary_fingerprint[16]; // = {0xEF,0xB9,0x29,0x59,0x5D,0x31,0x2A,0xC8,0xF3,0x05,0xD5,0xA7,0x94,0xCF,0xED,0xA1};
-
- InvalidRequestException() : message() {
- }
-
- virtual ~InvalidRequestException() throw() {}
-
- std::string message;
-
- void __set_message(const std::string& val) {
- message = val;
- }
-
- bool operator == (const InvalidRequestException & rhs) const
- {
- if (!(message == rhs.message))
- return false;
- return true;
- }
- bool operator != (const InvalidRequestException &rhs) const {
- return !(*this == rhs);
- }
-
- bool operator < (const InvalidRequestException & ) const;
-
- uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
- uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-};
-
-void swap(InvalidRequestException &a, InvalidRequestException &b);
-
-
-class TimedOutException : public ::apache::thrift::TException {
- public:
-
- static const char* ascii_fingerprint; // = "99914B932BD37A50B983C5E7C90AE93B";
- static const uint8_t binary_fingerprint[16]; // = {0x99,0x91,0x4B,0x93,0x2B,0xD3,0x7A,0x50,0xB9,0x83,0xC5,0xE7,0xC9,0x0A,0xE9,0x3B};
-
- TimedOutException() {
- }
-
- virtual ~TimedOutException() throw() {}
-
-
- bool operator == (const TimedOutException & /* rhs */) const
- {
- return true;
- }
- bool operator != (const TimedOutException &rhs) const {
- return !(*this == rhs);
- }
-
- bool operator < (const TimedOutException & ) const;
-
- uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
- uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-};
-
-void swap(TimedOutException &a, TimedOutException &b);
-
-
-class AuthenticationException : public ::apache::thrift::TException {
- public:
-
- static const char* ascii_fingerprint; // = "EFB929595D312AC8F305D5A794CFEDA1";
- static const uint8_t binary_fingerprint[16]; // = {0xEF,0xB9,0x29,0x59,0x5D,0x31,0x2A,0xC8,0xF3,0x05,0xD5,0xA7,0x94,0xCF,0xED,0xA1};
-
- AuthenticationException() : message() {
- }
-
- virtual ~AuthenticationException() throw() {}
-
- std::string message;
-
- void __set_message(const std::string& val) {
- message = val;
- }
-
- bool operator == (const AuthenticationException & rhs) const
- {
- if (!(message == rhs.message))
- return false;
- return true;
- }
- bool operator != (const AuthenticationException &rhs) const {
- return !(*this == rhs);
- }
-
- bool operator < (const AuthenticationException & ) const;
-
- uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
- uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-};
-
-void swap(AuthenticationException &a, AuthenticationException &b);
-
-
-class AuthorizationException : public ::apache::thrift::TException {
- public:
-
- static const char* ascii_fingerprint; // = "EFB929595D312AC8F305D5A794CFEDA1";
- static const uint8_t binary_fingerprint[16]; // = {0xEF,0xB9,0x29,0x59,0x5D,0x31,0x2A,0xC8,0xF3,0x05,0xD5,0xA7,0x94,0xCF,0xED,0xA1};
-
- AuthorizationException() : message() {
- }
-
- virtual ~AuthorizationException() throw() {}
-
- std::string message;
-
- void __set_message(const std::string& val) {
- message = val;
- }
-
- bool operator == (const AuthorizationException & rhs) const
- {
- if (!(message == rhs.message))
- return false;
- return true;
- }
- bool operator != (const AuthorizationException &rhs) const {
- return !(*this == rhs);
- }
-
- bool operator < (const AuthorizationException & ) const;
-
- uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
- uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-};
-
-void swap(AuthorizationException &a, AuthorizationException &b);
-
-typedef struct _AiravataClientException__isset {
- _AiravataClientException__isset() : parameter(false) {}
- bool parameter;
-} _AiravataClientException__isset;
-
-class AiravataClientException : public ::apache::thrift::TException {
- public:
-
- static const char* ascii_fingerprint; // = "24652790C81ECE22B629CB60A19F1E93";
- static const uint8_t binary_fingerprint[16]; // = {0x24,0x65,0x27,0x90,0xC8,0x1E,0xCE,0x22,0xB6,0x29,0xCB,0x60,0xA1,0x9F,0x1E,0x93};
-
- AiravataClientException() : airavataErrorType((AiravataErrorType::type)0), parameter() {
- }
-
- virtual ~AiravataClientException() throw() {}
-
- AiravataErrorType::type airavataErrorType;
- std::string parameter;
-
- _AiravataClientException__isset __isset;
-
- void __set_airavataErrorType(const AiravataErrorType::type val) {
- airavataErrorType = val;
- }
-
- void __set_parameter(const std::string& val) {
- parameter = val;
- __isset.parameter = true;
- }
-
- bool operator == (const AiravataClientException & rhs) const
- {
- if (!(airavataErrorType == rhs.airavataErrorType))
- return false;
- if (__isset.parameter != rhs.__isset.parameter)
- return false;
- else if (__isset.parameter && !(parameter == rhs.parameter))
- return false;
- return true;
- }
- bool operator != (const AiravataClientException &rhs) const {
- return !(*this == rhs);
- }
-
- bool operator < (const AiravataClientException & ) const;
-
- uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
- uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-};
-
-void swap(AiravataClientException &a, AiravataClientException &b);
-
-typedef struct _ValidatorResult__isset {
- _ValidatorResult__isset() : errorDetails(false) {}
- bool errorDetails;
-} _ValidatorResult__isset;
-
-class ValidatorResult {
- public:
-
- static const char* ascii_fingerprint; // = "EB04A806CFFC9025AEE48CFFDC378A86";
- static const uint8_t binary_fingerprint[16]; // = {0xEB,0x04,0xA8,0x06,0xCF,0xFC,0x90,0x25,0xAE,0xE4,0x8C,0xFF,0xDC,0x37,0x8A,0x86};
-
- ValidatorResult() : result(0), errorDetails() {
- }
-
- virtual ~ValidatorResult() throw() {}
-
- bool result;
- std::string errorDetails;
-
- _ValidatorResult__isset __isset;
-
- void __set_result(const bool val) {
- result = val;
- }
-
- void __set_errorDetails(const std::string& val) {
- errorDetails = val;
- __isset.errorDetails = true;
- }
-
- bool operator == (const ValidatorResult & rhs) const
- {
- if (!(result == rhs.result))
- return false;
- if (__isset.errorDetails != rhs.__isset.errorDetails)
- return false;
- else if (__isset.errorDetails && !(errorDetails == rhs.errorDetails))
- return false;
- return true;
- }
- bool operator != (const ValidatorResult &rhs) const {
- return !(*this == rhs);
- }
-
- bool operator < (const ValidatorResult & ) const;
-
- uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
- uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-};
-
-void swap(ValidatorResult &a, ValidatorResult &b);
-
-
-class ValidationResults {
- public:
-
- static const char* ascii_fingerprint; // = "E73BC8630EE405DA5FB801ED852143D2";
- static const uint8_t binary_fingerprint[16]; // = {0xE7,0x3B,0xC8,0x63,0x0E,0xE4,0x05,0xDA,0x5F,0xB8,0x01,0xED,0x85,0x21,0x43,0xD2};
-
- ValidationResults() : validationState(0) {
- }
-
- virtual ~ValidationResults() throw() {}
-
- bool validationState;
- std::vector<ValidatorResult> validationResultList;
-
- void __set_validationState(const bool val) {
- validationState = val;
- }
-
- void __set_validationResultList(const std::vector<ValidatorResult> & val) {
- validationResultList = val;
- }
-
- bool operator == (const ValidationResults & rhs) const
- {
- if (!(validationState == rhs.validationState))
- return false;
- if (!(validationResultList == rhs.validationResultList))
- return false;
- return true;
- }
- bool operator != (const ValidationResults &rhs) const {
- return !(*this == rhs);
- }
-
- bool operator < (const ValidationResults & ) const;
-
- uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
- uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-};
-
-void swap(ValidationResults &a, ValidationResults &b);
-
-typedef struct _LaunchValidationException__isset {
- _LaunchValidationException__isset() : errorMessage(false) {}
- bool errorMessage;
-} _LaunchValidationException__isset;
-
-class LaunchValidationException : public ::apache::thrift::TException {
- public:
-
- static const char* ascii_fingerprint; // = "99E9D28CC9613B8567277FD2B86021FA";
- static const uint8_t binary_fingerprint[16]; // = {0x99,0xE9,0xD2,0x8C,0xC9,0x61,0x3B,0x85,0x67,0x27,0x7F,0xD2,0xB8,0x60,0x21,0xFA};
-
- LaunchValidationException() : errorMessage() {
- }
-
- virtual ~LaunchValidationException() throw() {}
-
- ValidationResults validationResult;
- std::string errorMessage;
-
- _LaunchValidationException__isset __isset;
-
- void __set_validationResult(const ValidationResults& val) {
- validationResult = val;
- }
-
- void __set_errorMessage(const std::string& val) {
- errorMessage = val;
- __isset.errorMessage = true;
- }
-
- bool operator == (const LaunchValidationException & rhs) const
- {
- if (!(validationResult == rhs.validationResult))
- return false;
- if (__isset.errorMessage != rhs.__isset.errorMessage)
- return false;
- else if (__isset.errorMessage && !(errorMessage == rhs.errorMessage))
- return false;
- return true;
- }
- bool operator != (const LaunchValidationException &rhs) const {
- return !(*this == rhs);
- }
-
- bool operator < (const LaunchValidationException & ) const;
-
- uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
- uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-};
-
-void swap(LaunchValidationException &a, LaunchValidationException &b);
-
-typedef struct _AiravataSystemException__isset {
- _AiravataSystemException__isset() : message(false) {}
- bool message;
-} _AiravataSystemException__isset;
-
-class AiravataSystemException : public ::apache::thrift::TException {
- public:
-
- static const char* ascii_fingerprint; // = "24652790C81ECE22B629CB60A19F1E93";
- static const uint8_t binary_fingerprint[16]; // = {0x24,0x65,0x27,0x90,0xC8,0x1E,0xCE,0x22,0xB6,0x29,0xCB,0x60,0xA1,0x9F,0x1E,0x93};
-
- AiravataSystemException() : airavataErrorType((AiravataErrorType::type)0), message() {
- }
-
- virtual ~AiravataSystemException() throw() {}
-
- AiravataErrorType::type airavataErrorType;
- std::string message;
-
- _AiravataSystemException__isset __isset;
-
- void __set_airavataErrorType(const AiravataErrorType::type val) {
- airavataErrorType = val;
- }
-
- void __set_message(const std::string& val) {
- message = val;
- __isset.message = true;
- }
-
- bool operator == (const AiravataSystemException & rhs) const
- {
- if (!(airavataErrorType == rhs.airavataErrorType))
- return false;
- if (__isset.message != rhs.__isset.message)
- return false;
- else if (__isset.message && !(message == rhs.message))
- return false;
- return true;
- }
- bool operator != (const AiravataSystemException &rhs) const {
- return !(*this == rhs);
- }
-
- bool operator < (const AiravataSystemException & ) const;
-
- uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
- uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-};
-
-void swap(AiravataSystemException &a, AiravataSystemException &b);
-
-}}}} // namespace
-
-#endif
[17/47] Added c++ client samples for integrattion of airavata with
any other application's c++ interface
Posted by sm...@apache.org.
http://git-wip-us.apache.org/repos/asf/airavata/blob/f891b7dc/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/computeResourceModel_types.cpp
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/computeResourceModel_types.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/computeResourceModel_types.cpp
new file mode 100644
index 0000000..08eb394
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/computeResourceModel_types.cpp
@@ -0,0 +1,1515 @@
+/**
+ * Autogenerated by Thrift Compiler (0.9.1)
+ *
+ * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+ * @generated
+ */
+#include "computeResourceModel_types.h"
+
+#include <algorithm>
+
+namespace apache { namespace airavata { namespace model { namespace appcatalog { namespace computeresource {
+
+int _kResourceJobManagerTypeValues[] = {
+ ResourceJobManagerType::FORK,
+ ResourceJobManagerType::PBS,
+ ResourceJobManagerType::UGE,
+ ResourceJobManagerType::SLURM
+};
+const char* _kResourceJobManagerTypeNames[] = {
+ "FORK",
+ "PBS",
+ "UGE",
+ "SLURM"
+};
+const std::map<int, const char*> _ResourceJobManagerType_VALUES_TO_NAMES(::apache::thrift::TEnumIterator(4, _kResourceJobManagerTypeValues, _kResourceJobManagerTypeNames), ::apache::thrift::TEnumIterator(-1, NULL, NULL));
+
+int _kJobManagerCommandValues[] = {
+ JobManagerCommand::SUBMISSION,
+ JobManagerCommand::JOB_MONITORING,
+ JobManagerCommand::DELETION,
+ JobManagerCommand::CHECK_JOB,
+ JobManagerCommand::SHOW_QUEUE,
+ JobManagerCommand::SHOW_RESERVATION,
+ JobManagerCommand::SHOW_START
+};
+const char* _kJobManagerCommandNames[] = {
+ "SUBMISSION",
+ "JOB_MONITORING",
+ "DELETION",
+ "CHECK_JOB",
+ "SHOW_QUEUE",
+ "SHOW_RESERVATION",
+ "SHOW_START"
+};
+const std::map<int, const char*> _JobManagerCommand_VALUES_TO_NAMES(::apache::thrift::TEnumIterator(7, _kJobManagerCommandValues, _kJobManagerCommandNames), ::apache::thrift::TEnumIterator(-1, NULL, NULL));
+
+int _kFileSystemsValues[] = {
+ FileSystems::HOME,
+ FileSystems::WORK,
+ FileSystems::LOCALTMP,
+ FileSystems::SCRATCH,
+ FileSystems::ARCHIVE
+};
+const char* _kFileSystemsNames[] = {
+ "HOME",
+ "WORK",
+ "LOCALTMP",
+ "SCRATCH",
+ "ARCHIVE"
+};
+const std::map<int, const char*> _FileSystems_VALUES_TO_NAMES(::apache::thrift::TEnumIterator(5, _kFileSystemsValues, _kFileSystemsNames), ::apache::thrift::TEnumIterator(-1, NULL, NULL));
+
+int _kSecurityProtocolValues[] = {
+ SecurityProtocol::USERNAME_PASSWORD,
+ SecurityProtocol::SSH_KEYS,
+ SecurityProtocol::GSI,
+ SecurityProtocol::KERBEROS,
+ SecurityProtocol::OAUTH
+};
+const char* _kSecurityProtocolNames[] = {
+ "USERNAME_PASSWORD",
+ "SSH_KEYS",
+ "GSI",
+ "KERBEROS",
+ "OAUTH"
+};
+const std::map<int, const char*> _SecurityProtocol_VALUES_TO_NAMES(::apache::thrift::TEnumIterator(5, _kSecurityProtocolValues, _kSecurityProtocolNames), ::apache::thrift::TEnumIterator(-1, NULL, NULL));
+
+int _kJobSubmissionProtocolValues[] = {
+ JobSubmissionProtocol::LOCAL,
+ JobSubmissionProtocol::SSH,
+ JobSubmissionProtocol::GLOBUS,
+ JobSubmissionProtocol::UNICORE
+};
+const char* _kJobSubmissionProtocolNames[] = {
+ "LOCAL",
+ "SSH",
+ "GLOBUS",
+ "UNICORE"
+};
+const std::map<int, const char*> _JobSubmissionProtocol_VALUES_TO_NAMES(::apache::thrift::TEnumIterator(4, _kJobSubmissionProtocolValues, _kJobSubmissionProtocolNames), ::apache::thrift::TEnumIterator(-1, NULL, NULL));
+
+int _kDataMovementProtocolValues[] = {
+ DataMovementProtocol::LOCAL,
+ DataMovementProtocol::SCP,
+ DataMovementProtocol::SFTP,
+ DataMovementProtocol::GridFTP,
+ DataMovementProtocol::UNICORE_STORAGE_SERVICE
+};
+const char* _kDataMovementProtocolNames[] = {
+ "LOCAL",
+ "SCP",
+ "SFTP",
+ "GridFTP",
+ "UNICORE_STORAGE_SERVICE"
+};
+const std::map<int, const char*> _DataMovementProtocol_VALUES_TO_NAMES(::apache::thrift::TEnumIterator(5, _kDataMovementProtocolValues, _kDataMovementProtocolNames), ::apache::thrift::TEnumIterator(-1, NULL, NULL));
+
+const char* ResourceJobManager::ascii_fingerprint = "F61CAF80247D0E44C8D52504F3A43BED";
+const uint8_t ResourceJobManager::binary_fingerprint[16] = {0xF6,0x1C,0xAF,0x80,0x24,0x7D,0x0E,0x44,0xC8,0xD5,0x25,0x04,0xF3,0xA4,0x3B,0xED};
+
+uint32_t ResourceJobManager::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+ uint32_t xfer = 0;
+ std::string fname;
+ ::apache::thrift::protocol::TType ftype;
+ int16_t fid;
+
+ xfer += iprot->readStructBegin(fname);
+
+ using ::apache::thrift::protocol::TProtocolException;
+
+ bool isset_resourceJobManagerId = false;
+ bool isset_resourceJobManagerType = false;
+
+ while (true)
+ {
+ xfer += iprot->readFieldBegin(fname, ftype, fid);
+ if (ftype == ::apache::thrift::protocol::T_STOP) {
+ break;
+ }
+ switch (fid)
+ {
+ case 1:
+ if (ftype == ::apache::thrift::protocol::T_STRING) {
+ xfer += iprot->readString(this->resourceJobManagerId);
+ isset_resourceJobManagerId = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 2:
+ if (ftype == ::apache::thrift::protocol::T_I32) {
+ int32_t ecast0;
+ xfer += iprot->readI32(ecast0);
+ this->resourceJobManagerType = (ResourceJobManagerType::type)ecast0;
+ isset_resourceJobManagerType = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 3:
+ if (ftype == ::apache::thrift::protocol::T_STRING) {
+ xfer += iprot->readString(this->pushMonitoringEndpoint);
+ this->__isset.pushMonitoringEndpoint = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 4:
+ if (ftype == ::apache::thrift::protocol::T_STRING) {
+ xfer += iprot->readString(this->jobManagerBinPath);
+ this->__isset.jobManagerBinPath = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 5:
+ if (ftype == ::apache::thrift::protocol::T_MAP) {
+ {
+ this->jobManagerCommands.clear();
+ uint32_t _size1;
+ ::apache::thrift::protocol::TType _ktype2;
+ ::apache::thrift::protocol::TType _vtype3;
+ xfer += iprot->readMapBegin(_ktype2, _vtype3, _size1);
+ uint32_t _i5;
+ for (_i5 = 0; _i5 < _size1; ++_i5)
+ {
+ JobManagerCommand::type _key6;
+ int32_t ecast8;
+ xfer += iprot->readI32(ecast8);
+ _key6 = (JobManagerCommand::type)ecast8;
+ std::string& _val7 = this->jobManagerCommands[_key6];
+ xfer += iprot->readString(_val7);
+ }
+ xfer += iprot->readMapEnd();
+ }
+ this->__isset.jobManagerCommands = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ default:
+ xfer += iprot->skip(ftype);
+ break;
+ }
+ xfer += iprot->readFieldEnd();
+ }
+
+ xfer += iprot->readStructEnd();
+
+ if (!isset_resourceJobManagerId)
+ throw TProtocolException(TProtocolException::INVALID_DATA);
+ if (!isset_resourceJobManagerType)
+ throw TProtocolException(TProtocolException::INVALID_DATA);
+ return xfer;
+}
+
+uint32_t ResourceJobManager::write(::apache::thrift::protocol::TProtocol* oprot) const {
+ uint32_t xfer = 0;
+ xfer += oprot->writeStructBegin("ResourceJobManager");
+
+ xfer += oprot->writeFieldBegin("resourceJobManagerId", ::apache::thrift::protocol::T_STRING, 1);
+ xfer += oprot->writeString(this->resourceJobManagerId);
+ xfer += oprot->writeFieldEnd();
+
+ xfer += oprot->writeFieldBegin("resourceJobManagerType", ::apache::thrift::protocol::T_I32, 2);
+ xfer += oprot->writeI32((int32_t)this->resourceJobManagerType);
+ xfer += oprot->writeFieldEnd();
+
+ if (this->__isset.pushMonitoringEndpoint) {
+ xfer += oprot->writeFieldBegin("pushMonitoringEndpoint", ::apache::thrift::protocol::T_STRING, 3);
+ xfer += oprot->writeString(this->pushMonitoringEndpoint);
+ xfer += oprot->writeFieldEnd();
+ }
+ if (this->__isset.jobManagerBinPath) {
+ xfer += oprot->writeFieldBegin("jobManagerBinPath", ::apache::thrift::protocol::T_STRING, 4);
+ xfer += oprot->writeString(this->jobManagerBinPath);
+ xfer += oprot->writeFieldEnd();
+ }
+ if (this->__isset.jobManagerCommands) {
+ xfer += oprot->writeFieldBegin("jobManagerCommands", ::apache::thrift::protocol::T_MAP, 5);
+ {
+ xfer += oprot->writeMapBegin(::apache::thrift::protocol::T_I32, ::apache::thrift::protocol::T_STRING, static_cast<uint32_t>(this->jobManagerCommands.size()));
+ std::map<JobManagerCommand::type, std::string> ::const_iterator _iter9;
+ for (_iter9 = this->jobManagerCommands.begin(); _iter9 != this->jobManagerCommands.end(); ++_iter9)
+ {
+ xfer += oprot->writeI32((int32_t)_iter9->first);
+ xfer += oprot->writeString(_iter9->second);
+ }
+ xfer += oprot->writeMapEnd();
+ }
+ xfer += oprot->writeFieldEnd();
+ }
+ xfer += oprot->writeFieldStop();
+ xfer += oprot->writeStructEnd();
+ return xfer;
+}
+
+void swap(ResourceJobManager &a, ResourceJobManager &b) {
+ using ::std::swap;
+ swap(a.resourceJobManagerId, b.resourceJobManagerId);
+ swap(a.resourceJobManagerType, b.resourceJobManagerType);
+ swap(a.pushMonitoringEndpoint, b.pushMonitoringEndpoint);
+ swap(a.jobManagerBinPath, b.jobManagerBinPath);
+ swap(a.jobManagerCommands, b.jobManagerCommands);
+ swap(a.__isset, b.__isset);
+}
+
+const char* BatchQueue::ascii_fingerprint = "DA59FF8EE453E1822971C1CE1471EEA1";
+const uint8_t BatchQueue::binary_fingerprint[16] = {0xDA,0x59,0xFF,0x8E,0xE4,0x53,0xE1,0x82,0x29,0x71,0xC1,0xCE,0x14,0x71,0xEE,0xA1};
+
+uint32_t BatchQueue::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+ uint32_t xfer = 0;
+ std::string fname;
+ ::apache::thrift::protocol::TType ftype;
+ int16_t fid;
+
+ xfer += iprot->readStructBegin(fname);
+
+ using ::apache::thrift::protocol::TProtocolException;
+
+ bool isset_queueName = false;
+
+ while (true)
+ {
+ xfer += iprot->readFieldBegin(fname, ftype, fid);
+ if (ftype == ::apache::thrift::protocol::T_STOP) {
+ break;
+ }
+ switch (fid)
+ {
+ case 1:
+ if (ftype == ::apache::thrift::protocol::T_STRING) {
+ xfer += iprot->readString(this->queueName);
+ isset_queueName = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 2:
+ if (ftype == ::apache::thrift::protocol::T_STRING) {
+ xfer += iprot->readString(this->queueDescription);
+ this->__isset.queueDescription = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 3:
+ if (ftype == ::apache::thrift::protocol::T_I32) {
+ xfer += iprot->readI32(this->maxRunTime);
+ this->__isset.maxRunTime = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 4:
+ if (ftype == ::apache::thrift::protocol::T_I32) {
+ xfer += iprot->readI32(this->maxNodes);
+ this->__isset.maxNodes = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 5:
+ if (ftype == ::apache::thrift::protocol::T_I32) {
+ xfer += iprot->readI32(this->maxProcessors);
+ this->__isset.maxProcessors = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 6:
+ if (ftype == ::apache::thrift::protocol::T_I32) {
+ xfer += iprot->readI32(this->maxJobsInQueue);
+ this->__isset.maxJobsInQueue = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ default:
+ xfer += iprot->skip(ftype);
+ break;
+ }
+ xfer += iprot->readFieldEnd();
+ }
+
+ xfer += iprot->readStructEnd();
+
+ if (!isset_queueName)
+ throw TProtocolException(TProtocolException::INVALID_DATA);
+ return xfer;
+}
+
+uint32_t BatchQueue::write(::apache::thrift::protocol::TProtocol* oprot) const {
+ uint32_t xfer = 0;
+ xfer += oprot->writeStructBegin("BatchQueue");
+
+ xfer += oprot->writeFieldBegin("queueName", ::apache::thrift::protocol::T_STRING, 1);
+ xfer += oprot->writeString(this->queueName);
+ xfer += oprot->writeFieldEnd();
+
+ if (this->__isset.queueDescription) {
+ xfer += oprot->writeFieldBegin("queueDescription", ::apache::thrift::protocol::T_STRING, 2);
+ xfer += oprot->writeString(this->queueDescription);
+ xfer += oprot->writeFieldEnd();
+ }
+ if (this->__isset.maxRunTime) {
+ xfer += oprot->writeFieldBegin("maxRunTime", ::apache::thrift::protocol::T_I32, 3);
+ xfer += oprot->writeI32(this->maxRunTime);
+ xfer += oprot->writeFieldEnd();
+ }
+ if (this->__isset.maxNodes) {
+ xfer += oprot->writeFieldBegin("maxNodes", ::apache::thrift::protocol::T_I32, 4);
+ xfer += oprot->writeI32(this->maxNodes);
+ xfer += oprot->writeFieldEnd();
+ }
+ if (this->__isset.maxProcessors) {
+ xfer += oprot->writeFieldBegin("maxProcessors", ::apache::thrift::protocol::T_I32, 5);
+ xfer += oprot->writeI32(this->maxProcessors);
+ xfer += oprot->writeFieldEnd();
+ }
+ if (this->__isset.maxJobsInQueue) {
+ xfer += oprot->writeFieldBegin("maxJobsInQueue", ::apache::thrift::protocol::T_I32, 6);
+ xfer += oprot->writeI32(this->maxJobsInQueue);
+ xfer += oprot->writeFieldEnd();
+ }
+ xfer += oprot->writeFieldStop();
+ xfer += oprot->writeStructEnd();
+ return xfer;
+}
+
+void swap(BatchQueue &a, BatchQueue &b) {
+ using ::std::swap;
+ swap(a.queueName, b.queueName);
+ swap(a.queueDescription, b.queueDescription);
+ swap(a.maxRunTime, b.maxRunTime);
+ swap(a.maxNodes, b.maxNodes);
+ swap(a.maxProcessors, b.maxProcessors);
+ swap(a.maxJobsInQueue, b.maxJobsInQueue);
+ swap(a.__isset, b.__isset);
+}
+
+const char* SCPDataMovement::ascii_fingerprint = "63CAE6EE336A7DBD91CCCD6E22628F4A";
+const uint8_t SCPDataMovement::binary_fingerprint[16] = {0x63,0xCA,0xE6,0xEE,0x33,0x6A,0x7D,0xBD,0x91,0xCC,0xCD,0x6E,0x22,0x62,0x8F,0x4A};
+
+uint32_t SCPDataMovement::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+ uint32_t xfer = 0;
+ std::string fname;
+ ::apache::thrift::protocol::TType ftype;
+ int16_t fid;
+
+ xfer += iprot->readStructBegin(fname);
+
+ using ::apache::thrift::protocol::TProtocolException;
+
+ bool isset_dataMovementInterfaceId = false;
+ bool isset_securityProtocol = false;
+
+ while (true)
+ {
+ xfer += iprot->readFieldBegin(fname, ftype, fid);
+ if (ftype == ::apache::thrift::protocol::T_STOP) {
+ break;
+ }
+ switch (fid)
+ {
+ case 1:
+ if (ftype == ::apache::thrift::protocol::T_STRING) {
+ xfer += iprot->readString(this->dataMovementInterfaceId);
+ isset_dataMovementInterfaceId = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 2:
+ if (ftype == ::apache::thrift::protocol::T_I32) {
+ int32_t ecast10;
+ xfer += iprot->readI32(ecast10);
+ this->securityProtocol = (SecurityProtocol::type)ecast10;
+ isset_securityProtocol = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 3:
+ if (ftype == ::apache::thrift::protocol::T_STRING) {
+ xfer += iprot->readString(this->alternativeSCPHostName);
+ this->__isset.alternativeSCPHostName = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 4:
+ if (ftype == ::apache::thrift::protocol::T_I32) {
+ xfer += iprot->readI32(this->sshPort);
+ this->__isset.sshPort = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ default:
+ xfer += iprot->skip(ftype);
+ break;
+ }
+ xfer += iprot->readFieldEnd();
+ }
+
+ xfer += iprot->readStructEnd();
+
+ if (!isset_dataMovementInterfaceId)
+ throw TProtocolException(TProtocolException::INVALID_DATA);
+ if (!isset_securityProtocol)
+ throw TProtocolException(TProtocolException::INVALID_DATA);
+ return xfer;
+}
+
+uint32_t SCPDataMovement::write(::apache::thrift::protocol::TProtocol* oprot) const {
+ uint32_t xfer = 0;
+ xfer += oprot->writeStructBegin("SCPDataMovement");
+
+ xfer += oprot->writeFieldBegin("dataMovementInterfaceId", ::apache::thrift::protocol::T_STRING, 1);
+ xfer += oprot->writeString(this->dataMovementInterfaceId);
+ xfer += oprot->writeFieldEnd();
+
+ xfer += oprot->writeFieldBegin("securityProtocol", ::apache::thrift::protocol::T_I32, 2);
+ xfer += oprot->writeI32((int32_t)this->securityProtocol);
+ xfer += oprot->writeFieldEnd();
+
+ if (this->__isset.alternativeSCPHostName) {
+ xfer += oprot->writeFieldBegin("alternativeSCPHostName", ::apache::thrift::protocol::T_STRING, 3);
+ xfer += oprot->writeString(this->alternativeSCPHostName);
+ xfer += oprot->writeFieldEnd();
+ }
+ if (this->__isset.sshPort) {
+ xfer += oprot->writeFieldBegin("sshPort", ::apache::thrift::protocol::T_I32, 4);
+ xfer += oprot->writeI32(this->sshPort);
+ xfer += oprot->writeFieldEnd();
+ }
+ xfer += oprot->writeFieldStop();
+ xfer += oprot->writeStructEnd();
+ return xfer;
+}
+
+void swap(SCPDataMovement &a, SCPDataMovement &b) {
+ using ::std::swap;
+ swap(a.dataMovementInterfaceId, b.dataMovementInterfaceId);
+ swap(a.securityProtocol, b.securityProtocol);
+ swap(a.alternativeSCPHostName, b.alternativeSCPHostName);
+ swap(a.sshPort, b.sshPort);
+ swap(a.__isset, b.__isset);
+}
+
+const char* GridFTPDataMovement::ascii_fingerprint = "790EE8B1D56A3B9B76C41DD063726E75";
+const uint8_t GridFTPDataMovement::binary_fingerprint[16] = {0x79,0x0E,0xE8,0xB1,0xD5,0x6A,0x3B,0x9B,0x76,0xC4,0x1D,0xD0,0x63,0x72,0x6E,0x75};
+
+uint32_t GridFTPDataMovement::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+ uint32_t xfer = 0;
+ std::string fname;
+ ::apache::thrift::protocol::TType ftype;
+ int16_t fid;
+
+ xfer += iprot->readStructBegin(fname);
+
+ using ::apache::thrift::protocol::TProtocolException;
+
+ bool isset_dataMovementInterfaceId = false;
+ bool isset_securityProtocol = false;
+ bool isset_gridFTPEndPoints = false;
+
+ while (true)
+ {
+ xfer += iprot->readFieldBegin(fname, ftype, fid);
+ if (ftype == ::apache::thrift::protocol::T_STOP) {
+ break;
+ }
+ switch (fid)
+ {
+ case 1:
+ if (ftype == ::apache::thrift::protocol::T_STRING) {
+ xfer += iprot->readString(this->dataMovementInterfaceId);
+ isset_dataMovementInterfaceId = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 2:
+ if (ftype == ::apache::thrift::protocol::T_I32) {
+ int32_t ecast11;
+ xfer += iprot->readI32(ecast11);
+ this->securityProtocol = (SecurityProtocol::type)ecast11;
+ isset_securityProtocol = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 3:
+ if (ftype == ::apache::thrift::protocol::T_LIST) {
+ {
+ this->gridFTPEndPoints.clear();
+ uint32_t _size12;
+ ::apache::thrift::protocol::TType _etype15;
+ xfer += iprot->readListBegin(_etype15, _size12);
+ this->gridFTPEndPoints.resize(_size12);
+ uint32_t _i16;
+ for (_i16 = 0; _i16 < _size12; ++_i16)
+ {
+ xfer += iprot->readString(this->gridFTPEndPoints[_i16]);
+ }
+ xfer += iprot->readListEnd();
+ }
+ isset_gridFTPEndPoints = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ default:
+ xfer += iprot->skip(ftype);
+ break;
+ }
+ xfer += iprot->readFieldEnd();
+ }
+
+ xfer += iprot->readStructEnd();
+
+ if (!isset_dataMovementInterfaceId)
+ throw TProtocolException(TProtocolException::INVALID_DATA);
+ if (!isset_securityProtocol)
+ throw TProtocolException(TProtocolException::INVALID_DATA);
+ if (!isset_gridFTPEndPoints)
+ throw TProtocolException(TProtocolException::INVALID_DATA);
+ return xfer;
+}
+
+uint32_t GridFTPDataMovement::write(::apache::thrift::protocol::TProtocol* oprot) const {
+ uint32_t xfer = 0;
+ xfer += oprot->writeStructBegin("GridFTPDataMovement");
+
+ xfer += oprot->writeFieldBegin("dataMovementInterfaceId", ::apache::thrift::protocol::T_STRING, 1);
+ xfer += oprot->writeString(this->dataMovementInterfaceId);
+ xfer += oprot->writeFieldEnd();
+
+ xfer += oprot->writeFieldBegin("securityProtocol", ::apache::thrift::protocol::T_I32, 2);
+ xfer += oprot->writeI32((int32_t)this->securityProtocol);
+ xfer += oprot->writeFieldEnd();
+
+ xfer += oprot->writeFieldBegin("gridFTPEndPoints", ::apache::thrift::protocol::T_LIST, 3);
+ {
+ xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRING, static_cast<uint32_t>(this->gridFTPEndPoints.size()));
+ std::vector<std::string> ::const_iterator _iter17;
+ for (_iter17 = this->gridFTPEndPoints.begin(); _iter17 != this->gridFTPEndPoints.end(); ++_iter17)
+ {
+ xfer += oprot->writeString((*_iter17));
+ }
+ xfer += oprot->writeListEnd();
+ }
+ xfer += oprot->writeFieldEnd();
+
+ xfer += oprot->writeFieldStop();
+ xfer += oprot->writeStructEnd();
+ return xfer;
+}
+
+void swap(GridFTPDataMovement &a, GridFTPDataMovement &b) {
+ using ::std::swap;
+ swap(a.dataMovementInterfaceId, b.dataMovementInterfaceId);
+ swap(a.securityProtocol, b.securityProtocol);
+ swap(a.gridFTPEndPoints, b.gridFTPEndPoints);
+}
+
+const char* LOCALSubmission::ascii_fingerprint = "A5A35C842CBE1CA9D6A13C5974C6FB8F";
+const uint8_t LOCALSubmission::binary_fingerprint[16] = {0xA5,0xA3,0x5C,0x84,0x2C,0xBE,0x1C,0xA9,0xD6,0xA1,0x3C,0x59,0x74,0xC6,0xFB,0x8F};
+
+uint32_t LOCALSubmission::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+ uint32_t xfer = 0;
+ std::string fname;
+ ::apache::thrift::protocol::TType ftype;
+ int16_t fid;
+
+ xfer += iprot->readStructBegin(fname);
+
+ using ::apache::thrift::protocol::TProtocolException;
+
+ bool isset_jobSubmissionInterfaceId = false;
+ bool isset_resourceJobManager = false;
+
+ while (true)
+ {
+ xfer += iprot->readFieldBegin(fname, ftype, fid);
+ if (ftype == ::apache::thrift::protocol::T_STOP) {
+ break;
+ }
+ switch (fid)
+ {
+ case 1:
+ if (ftype == ::apache::thrift::protocol::T_STRING) {
+ xfer += iprot->readString(this->jobSubmissionInterfaceId);
+ isset_jobSubmissionInterfaceId = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 2:
+ if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+ xfer += this->resourceJobManager.read(iprot);
+ isset_resourceJobManager = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ default:
+ xfer += iprot->skip(ftype);
+ break;
+ }
+ xfer += iprot->readFieldEnd();
+ }
+
+ xfer += iprot->readStructEnd();
+
+ if (!isset_jobSubmissionInterfaceId)
+ throw TProtocolException(TProtocolException::INVALID_DATA);
+ if (!isset_resourceJobManager)
+ throw TProtocolException(TProtocolException::INVALID_DATA);
+ return xfer;
+}
+
+uint32_t LOCALSubmission::write(::apache::thrift::protocol::TProtocol* oprot) const {
+ uint32_t xfer = 0;
+ xfer += oprot->writeStructBegin("LOCALSubmission");
+
+ xfer += oprot->writeFieldBegin("jobSubmissionInterfaceId", ::apache::thrift::protocol::T_STRING, 1);
+ xfer += oprot->writeString(this->jobSubmissionInterfaceId);
+ xfer += oprot->writeFieldEnd();
+
+ xfer += oprot->writeFieldBegin("resourceJobManager", ::apache::thrift::protocol::T_STRUCT, 2);
+ xfer += this->resourceJobManager.write(oprot);
+ xfer += oprot->writeFieldEnd();
+
+ xfer += oprot->writeFieldStop();
+ xfer += oprot->writeStructEnd();
+ return xfer;
+}
+
+void swap(LOCALSubmission &a, LOCALSubmission &b) {
+ using ::std::swap;
+ swap(a.jobSubmissionInterfaceId, b.jobSubmissionInterfaceId);
+ swap(a.resourceJobManager, b.resourceJobManager);
+}
+
+const char* LOCALDataMovement::ascii_fingerprint = "EFB929595D312AC8F305D5A794CFEDA1";
+const uint8_t LOCALDataMovement::binary_fingerprint[16] = {0xEF,0xB9,0x29,0x59,0x5D,0x31,0x2A,0xC8,0xF3,0x05,0xD5,0xA7,0x94,0xCF,0xED,0xA1};
+
+uint32_t LOCALDataMovement::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+ uint32_t xfer = 0;
+ std::string fname;
+ ::apache::thrift::protocol::TType ftype;
+ int16_t fid;
+
+ xfer += iprot->readStructBegin(fname);
+
+ using ::apache::thrift::protocol::TProtocolException;
+
+ bool isset_dataMovementInterfaceId = false;
+
+ while (true)
+ {
+ xfer += iprot->readFieldBegin(fname, ftype, fid);
+ if (ftype == ::apache::thrift::protocol::T_STOP) {
+ break;
+ }
+ switch (fid)
+ {
+ case 1:
+ if (ftype == ::apache::thrift::protocol::T_STRING) {
+ xfer += iprot->readString(this->dataMovementInterfaceId);
+ isset_dataMovementInterfaceId = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ default:
+ xfer += iprot->skip(ftype);
+ break;
+ }
+ xfer += iprot->readFieldEnd();
+ }
+
+ xfer += iprot->readStructEnd();
+
+ if (!isset_dataMovementInterfaceId)
+ throw TProtocolException(TProtocolException::INVALID_DATA);
+ return xfer;
+}
+
+uint32_t LOCALDataMovement::write(::apache::thrift::protocol::TProtocol* oprot) const {
+ uint32_t xfer = 0;
+ xfer += oprot->writeStructBegin("LOCALDataMovement");
+
+ xfer += oprot->writeFieldBegin("dataMovementInterfaceId", ::apache::thrift::protocol::T_STRING, 1);
+ xfer += oprot->writeString(this->dataMovementInterfaceId);
+ xfer += oprot->writeFieldEnd();
+
+ xfer += oprot->writeFieldStop();
+ xfer += oprot->writeStructEnd();
+ return xfer;
+}
+
+void swap(LOCALDataMovement &a, LOCALDataMovement &b) {
+ using ::std::swap;
+ swap(a.dataMovementInterfaceId, b.dataMovementInterfaceId);
+}
+
+const char* SSHJobSubmission::ascii_fingerprint = "8BC403A3B093DDB0CB8F04ED699DBA3D";
+const uint8_t SSHJobSubmission::binary_fingerprint[16] = {0x8B,0xC4,0x03,0xA3,0xB0,0x93,0xDD,0xB0,0xCB,0x8F,0x04,0xED,0x69,0x9D,0xBA,0x3D};
+
+uint32_t SSHJobSubmission::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+ uint32_t xfer = 0;
+ std::string fname;
+ ::apache::thrift::protocol::TType ftype;
+ int16_t fid;
+
+ xfer += iprot->readStructBegin(fname);
+
+ using ::apache::thrift::protocol::TProtocolException;
+
+ bool isset_jobSubmissionInterfaceId = false;
+ bool isset_securityProtocol = false;
+ bool isset_resourceJobManager = false;
+
+ while (true)
+ {
+ xfer += iprot->readFieldBegin(fname, ftype, fid);
+ if (ftype == ::apache::thrift::protocol::T_STOP) {
+ break;
+ }
+ switch (fid)
+ {
+ case 1:
+ if (ftype == ::apache::thrift::protocol::T_STRING) {
+ xfer += iprot->readString(this->jobSubmissionInterfaceId);
+ isset_jobSubmissionInterfaceId = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 2:
+ if (ftype == ::apache::thrift::protocol::T_I32) {
+ int32_t ecast18;
+ xfer += iprot->readI32(ecast18);
+ this->securityProtocol = (SecurityProtocol::type)ecast18;
+ isset_securityProtocol = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 3:
+ if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+ xfer += this->resourceJobManager.read(iprot);
+ isset_resourceJobManager = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 4:
+ if (ftype == ::apache::thrift::protocol::T_STRING) {
+ xfer += iprot->readString(this->alternativeSSHHostName);
+ this->__isset.alternativeSSHHostName = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 5:
+ if (ftype == ::apache::thrift::protocol::T_I32) {
+ xfer += iprot->readI32(this->sshPort);
+ this->__isset.sshPort = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ default:
+ xfer += iprot->skip(ftype);
+ break;
+ }
+ xfer += iprot->readFieldEnd();
+ }
+
+ xfer += iprot->readStructEnd();
+
+ if (!isset_jobSubmissionInterfaceId)
+ throw TProtocolException(TProtocolException::INVALID_DATA);
+ if (!isset_securityProtocol)
+ throw TProtocolException(TProtocolException::INVALID_DATA);
+ if (!isset_resourceJobManager)
+ throw TProtocolException(TProtocolException::INVALID_DATA);
+ return xfer;
+}
+
+uint32_t SSHJobSubmission::write(::apache::thrift::protocol::TProtocol* oprot) const {
+ uint32_t xfer = 0;
+ xfer += oprot->writeStructBegin("SSHJobSubmission");
+
+ xfer += oprot->writeFieldBegin("jobSubmissionInterfaceId", ::apache::thrift::protocol::T_STRING, 1);
+ xfer += oprot->writeString(this->jobSubmissionInterfaceId);
+ xfer += oprot->writeFieldEnd();
+
+ xfer += oprot->writeFieldBegin("securityProtocol", ::apache::thrift::protocol::T_I32, 2);
+ xfer += oprot->writeI32((int32_t)this->securityProtocol);
+ xfer += oprot->writeFieldEnd();
+
+ xfer += oprot->writeFieldBegin("resourceJobManager", ::apache::thrift::protocol::T_STRUCT, 3);
+ xfer += this->resourceJobManager.write(oprot);
+ xfer += oprot->writeFieldEnd();
+
+ if (this->__isset.alternativeSSHHostName) {
+ xfer += oprot->writeFieldBegin("alternativeSSHHostName", ::apache::thrift::protocol::T_STRING, 4);
+ xfer += oprot->writeString(this->alternativeSSHHostName);
+ xfer += oprot->writeFieldEnd();
+ }
+ if (this->__isset.sshPort) {
+ xfer += oprot->writeFieldBegin("sshPort", ::apache::thrift::protocol::T_I32, 5);
+ xfer += oprot->writeI32(this->sshPort);
+ xfer += oprot->writeFieldEnd();
+ }
+ xfer += oprot->writeFieldStop();
+ xfer += oprot->writeStructEnd();
+ return xfer;
+}
+
+void swap(SSHJobSubmission &a, SSHJobSubmission &b) {
+ using ::std::swap;
+ swap(a.jobSubmissionInterfaceId, b.jobSubmissionInterfaceId);
+ swap(a.securityProtocol, b.securityProtocol);
+ swap(a.resourceJobManager, b.resourceJobManager);
+ swap(a.alternativeSSHHostName, b.alternativeSSHHostName);
+ swap(a.sshPort, b.sshPort);
+ swap(a.__isset, b.__isset);
+}
+
+const char* GlobusJobSubmission::ascii_fingerprint = "AF422FFD77BB68BA57079B8B33BC8CF7";
+const uint8_t GlobusJobSubmission::binary_fingerprint[16] = {0xAF,0x42,0x2F,0xFD,0x77,0xBB,0x68,0xBA,0x57,0x07,0x9B,0x8B,0x33,0xBC,0x8C,0xF7};
+
+uint32_t GlobusJobSubmission::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+ uint32_t xfer = 0;
+ std::string fname;
+ ::apache::thrift::protocol::TType ftype;
+ int16_t fid;
+
+ xfer += iprot->readStructBegin(fname);
+
+ using ::apache::thrift::protocol::TProtocolException;
+
+ bool isset_jobSubmissionInterfaceId = false;
+ bool isset_securityProtocol = false;
+
+ while (true)
+ {
+ xfer += iprot->readFieldBegin(fname, ftype, fid);
+ if (ftype == ::apache::thrift::protocol::T_STOP) {
+ break;
+ }
+ switch (fid)
+ {
+ case 1:
+ if (ftype == ::apache::thrift::protocol::T_STRING) {
+ xfer += iprot->readString(this->jobSubmissionInterfaceId);
+ isset_jobSubmissionInterfaceId = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 2:
+ if (ftype == ::apache::thrift::protocol::T_I32) {
+ int32_t ecast19;
+ xfer += iprot->readI32(ecast19);
+ this->securityProtocol = (SecurityProtocol::type)ecast19;
+ isset_securityProtocol = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 3:
+ if (ftype == ::apache::thrift::protocol::T_LIST) {
+ {
+ this->globusGateKeeperEndPoint.clear();
+ uint32_t _size20;
+ ::apache::thrift::protocol::TType _etype23;
+ xfer += iprot->readListBegin(_etype23, _size20);
+ this->globusGateKeeperEndPoint.resize(_size20);
+ uint32_t _i24;
+ for (_i24 = 0; _i24 < _size20; ++_i24)
+ {
+ xfer += iprot->readString(this->globusGateKeeperEndPoint[_i24]);
+ }
+ xfer += iprot->readListEnd();
+ }
+ this->__isset.globusGateKeeperEndPoint = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ default:
+ xfer += iprot->skip(ftype);
+ break;
+ }
+ xfer += iprot->readFieldEnd();
+ }
+
+ xfer += iprot->readStructEnd();
+
+ if (!isset_jobSubmissionInterfaceId)
+ throw TProtocolException(TProtocolException::INVALID_DATA);
+ if (!isset_securityProtocol)
+ throw TProtocolException(TProtocolException::INVALID_DATA);
+ return xfer;
+}
+
+uint32_t GlobusJobSubmission::write(::apache::thrift::protocol::TProtocol* oprot) const {
+ uint32_t xfer = 0;
+ xfer += oprot->writeStructBegin("GlobusJobSubmission");
+
+ xfer += oprot->writeFieldBegin("jobSubmissionInterfaceId", ::apache::thrift::protocol::T_STRING, 1);
+ xfer += oprot->writeString(this->jobSubmissionInterfaceId);
+ xfer += oprot->writeFieldEnd();
+
+ xfer += oprot->writeFieldBegin("securityProtocol", ::apache::thrift::protocol::T_I32, 2);
+ xfer += oprot->writeI32((int32_t)this->securityProtocol);
+ xfer += oprot->writeFieldEnd();
+
+ if (this->__isset.globusGateKeeperEndPoint) {
+ xfer += oprot->writeFieldBegin("globusGateKeeperEndPoint", ::apache::thrift::protocol::T_LIST, 3);
+ {
+ xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRING, static_cast<uint32_t>(this->globusGateKeeperEndPoint.size()));
+ std::vector<std::string> ::const_iterator _iter25;
+ for (_iter25 = this->globusGateKeeperEndPoint.begin(); _iter25 != this->globusGateKeeperEndPoint.end(); ++_iter25)
+ {
+ xfer += oprot->writeString((*_iter25));
+ }
+ xfer += oprot->writeListEnd();
+ }
+ xfer += oprot->writeFieldEnd();
+ }
+ xfer += oprot->writeFieldStop();
+ xfer += oprot->writeStructEnd();
+ return xfer;
+}
+
+void swap(GlobusJobSubmission &a, GlobusJobSubmission &b) {
+ using ::std::swap;
+ swap(a.jobSubmissionInterfaceId, b.jobSubmissionInterfaceId);
+ swap(a.securityProtocol, b.securityProtocol);
+ swap(a.globusGateKeeperEndPoint, b.globusGateKeeperEndPoint);
+ swap(a.__isset, b.__isset);
+}
+
+const char* JobSubmissionInterface::ascii_fingerprint = "A0A4DD7B8243FB842E64EAC6E5DA6C7B";
+const uint8_t JobSubmissionInterface::binary_fingerprint[16] = {0xA0,0xA4,0xDD,0x7B,0x82,0x43,0xFB,0x84,0x2E,0x64,0xEA,0xC6,0xE5,0xDA,0x6C,0x7B};
+
+uint32_t JobSubmissionInterface::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+ uint32_t xfer = 0;
+ std::string fname;
+ ::apache::thrift::protocol::TType ftype;
+ int16_t fid;
+
+ xfer += iprot->readStructBegin(fname);
+
+ using ::apache::thrift::protocol::TProtocolException;
+
+ bool isset_jobSubmissionInterfaceId = false;
+ bool isset_jobSubmissionProtocol = false;
+ bool isset_priorityOrder = false;
+
+ while (true)
+ {
+ xfer += iprot->readFieldBegin(fname, ftype, fid);
+ if (ftype == ::apache::thrift::protocol::T_STOP) {
+ break;
+ }
+ switch (fid)
+ {
+ case 1:
+ if (ftype == ::apache::thrift::protocol::T_STRING) {
+ xfer += iprot->readString(this->jobSubmissionInterfaceId);
+ isset_jobSubmissionInterfaceId = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 2:
+ if (ftype == ::apache::thrift::protocol::T_I32) {
+ int32_t ecast26;
+ xfer += iprot->readI32(ecast26);
+ this->jobSubmissionProtocol = (JobSubmissionProtocol::type)ecast26;
+ isset_jobSubmissionProtocol = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 3:
+ if (ftype == ::apache::thrift::protocol::T_I32) {
+ xfer += iprot->readI32(this->priorityOrder);
+ isset_priorityOrder = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ default:
+ xfer += iprot->skip(ftype);
+ break;
+ }
+ xfer += iprot->readFieldEnd();
+ }
+
+ xfer += iprot->readStructEnd();
+
+ if (!isset_jobSubmissionInterfaceId)
+ throw TProtocolException(TProtocolException::INVALID_DATA);
+ if (!isset_jobSubmissionProtocol)
+ throw TProtocolException(TProtocolException::INVALID_DATA);
+ if (!isset_priorityOrder)
+ throw TProtocolException(TProtocolException::INVALID_DATA);
+ return xfer;
+}
+
+uint32_t JobSubmissionInterface::write(::apache::thrift::protocol::TProtocol* oprot) const {
+ uint32_t xfer = 0;
+ xfer += oprot->writeStructBegin("JobSubmissionInterface");
+
+ xfer += oprot->writeFieldBegin("jobSubmissionInterfaceId", ::apache::thrift::protocol::T_STRING, 1);
+ xfer += oprot->writeString(this->jobSubmissionInterfaceId);
+ xfer += oprot->writeFieldEnd();
+
+ xfer += oprot->writeFieldBegin("jobSubmissionProtocol", ::apache::thrift::protocol::T_I32, 2);
+ xfer += oprot->writeI32((int32_t)this->jobSubmissionProtocol);
+ xfer += oprot->writeFieldEnd();
+
+ xfer += oprot->writeFieldBegin("priorityOrder", ::apache::thrift::protocol::T_I32, 3);
+ xfer += oprot->writeI32(this->priorityOrder);
+ xfer += oprot->writeFieldEnd();
+
+ xfer += oprot->writeFieldStop();
+ xfer += oprot->writeStructEnd();
+ return xfer;
+}
+
+void swap(JobSubmissionInterface &a, JobSubmissionInterface &b) {
+ using ::std::swap;
+ swap(a.jobSubmissionInterfaceId, b.jobSubmissionInterfaceId);
+ swap(a.jobSubmissionProtocol, b.jobSubmissionProtocol);
+ swap(a.priorityOrder, b.priorityOrder);
+}
+
+const char* DataMovementInterface::ascii_fingerprint = "A0A4DD7B8243FB842E64EAC6E5DA6C7B";
+const uint8_t DataMovementInterface::binary_fingerprint[16] = {0xA0,0xA4,0xDD,0x7B,0x82,0x43,0xFB,0x84,0x2E,0x64,0xEA,0xC6,0xE5,0xDA,0x6C,0x7B};
+
+uint32_t DataMovementInterface::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+ uint32_t xfer = 0;
+ std::string fname;
+ ::apache::thrift::protocol::TType ftype;
+ int16_t fid;
+
+ xfer += iprot->readStructBegin(fname);
+
+ using ::apache::thrift::protocol::TProtocolException;
+
+ bool isset_dataMovementInterfaceId = false;
+ bool isset_dataMovementProtocol = false;
+ bool isset_priorityOrder = false;
+
+ while (true)
+ {
+ xfer += iprot->readFieldBegin(fname, ftype, fid);
+ if (ftype == ::apache::thrift::protocol::T_STOP) {
+ break;
+ }
+ switch (fid)
+ {
+ case 1:
+ if (ftype == ::apache::thrift::protocol::T_STRING) {
+ xfer += iprot->readString(this->dataMovementInterfaceId);
+ isset_dataMovementInterfaceId = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 2:
+ if (ftype == ::apache::thrift::protocol::T_I32) {
+ int32_t ecast27;
+ xfer += iprot->readI32(ecast27);
+ this->dataMovementProtocol = (DataMovementProtocol::type)ecast27;
+ isset_dataMovementProtocol = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 3:
+ if (ftype == ::apache::thrift::protocol::T_I32) {
+ xfer += iprot->readI32(this->priorityOrder);
+ isset_priorityOrder = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ default:
+ xfer += iprot->skip(ftype);
+ break;
+ }
+ xfer += iprot->readFieldEnd();
+ }
+
+ xfer += iprot->readStructEnd();
+
+ if (!isset_dataMovementInterfaceId)
+ throw TProtocolException(TProtocolException::INVALID_DATA);
+ if (!isset_dataMovementProtocol)
+ throw TProtocolException(TProtocolException::INVALID_DATA);
+ if (!isset_priorityOrder)
+ throw TProtocolException(TProtocolException::INVALID_DATA);
+ return xfer;
+}
+
+uint32_t DataMovementInterface::write(::apache::thrift::protocol::TProtocol* oprot) const {
+ uint32_t xfer = 0;
+ xfer += oprot->writeStructBegin("DataMovementInterface");
+
+ xfer += oprot->writeFieldBegin("dataMovementInterfaceId", ::apache::thrift::protocol::T_STRING, 1);
+ xfer += oprot->writeString(this->dataMovementInterfaceId);
+ xfer += oprot->writeFieldEnd();
+
+ xfer += oprot->writeFieldBegin("dataMovementProtocol", ::apache::thrift::protocol::T_I32, 2);
+ xfer += oprot->writeI32((int32_t)this->dataMovementProtocol);
+ xfer += oprot->writeFieldEnd();
+
+ xfer += oprot->writeFieldBegin("priorityOrder", ::apache::thrift::protocol::T_I32, 3);
+ xfer += oprot->writeI32(this->priorityOrder);
+ xfer += oprot->writeFieldEnd();
+
+ xfer += oprot->writeFieldStop();
+ xfer += oprot->writeStructEnd();
+ return xfer;
+}
+
+void swap(DataMovementInterface &a, DataMovementInterface &b) {
+ using ::std::swap;
+ swap(a.dataMovementInterfaceId, b.dataMovementInterfaceId);
+ swap(a.dataMovementProtocol, b.dataMovementProtocol);
+ swap(a.priorityOrder, b.priorityOrder);
+}
+
+const char* ComputeResourceDescription::ascii_fingerprint = "2CAAC3134218EFF83D46106C39BECE65";
+const uint8_t ComputeResourceDescription::binary_fingerprint[16] = {0x2C,0xAA,0xC3,0x13,0x42,0x18,0xEF,0xF8,0x3D,0x46,0x10,0x6C,0x39,0xBE,0xCE,0x65};
+
+uint32_t ComputeResourceDescription::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+ uint32_t xfer = 0;
+ std::string fname;
+ ::apache::thrift::protocol::TType ftype;
+ int16_t fid;
+
+ xfer += iprot->readStructBegin(fname);
+
+ using ::apache::thrift::protocol::TProtocolException;
+
+ bool isset_computeResourceId = false;
+ bool isset_hostName = false;
+
+ while (true)
+ {
+ xfer += iprot->readFieldBegin(fname, ftype, fid);
+ if (ftype == ::apache::thrift::protocol::T_STOP) {
+ break;
+ }
+ switch (fid)
+ {
+ case 1:
+ if (ftype == ::apache::thrift::protocol::T_STRING) {
+ xfer += iprot->readString(this->computeResourceId);
+ isset_computeResourceId = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 2:
+ if (ftype == ::apache::thrift::protocol::T_STRING) {
+ xfer += iprot->readString(this->hostName);
+ isset_hostName = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 3:
+ if (ftype == ::apache::thrift::protocol::T_SET) {
+ {
+ this->hostAliases.clear();
+ uint32_t _size28;
+ ::apache::thrift::protocol::TType _etype31;
+ xfer += iprot->readSetBegin(_etype31, _size28);
+ uint32_t _i32;
+ for (_i32 = 0; _i32 < _size28; ++_i32)
+ {
+ std::string _elem33;
+ xfer += iprot->readString(_elem33);
+ this->hostAliases.insert(_elem33);
+ }
+ xfer += iprot->readSetEnd();
+ }
+ this->__isset.hostAliases = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 4:
+ if (ftype == ::apache::thrift::protocol::T_SET) {
+ {
+ this->ipAddresses.clear();
+ uint32_t _size34;
+ ::apache::thrift::protocol::TType _etype37;
+ xfer += iprot->readSetBegin(_etype37, _size34);
+ uint32_t _i38;
+ for (_i38 = 0; _i38 < _size34; ++_i38)
+ {
+ std::string _elem39;
+ xfer += iprot->readString(_elem39);
+ this->ipAddresses.insert(_elem39);
+ }
+ xfer += iprot->readSetEnd();
+ }
+ this->__isset.ipAddresses = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 5:
+ if (ftype == ::apache::thrift::protocol::T_STRING) {
+ xfer += iprot->readString(this->resourceDescription);
+ this->__isset.resourceDescription = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 6:
+ if (ftype == ::apache::thrift::protocol::T_LIST) {
+ {
+ this->batchQueues.clear();
+ uint32_t _size40;
+ ::apache::thrift::protocol::TType _etype43;
+ xfer += iprot->readListBegin(_etype43, _size40);
+ this->batchQueues.resize(_size40);
+ uint32_t _i44;
+ for (_i44 = 0; _i44 < _size40; ++_i44)
+ {
+ xfer += this->batchQueues[_i44].read(iprot);
+ }
+ xfer += iprot->readListEnd();
+ }
+ this->__isset.batchQueues = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 7:
+ if (ftype == ::apache::thrift::protocol::T_MAP) {
+ {
+ this->fileSystems.clear();
+ uint32_t _size45;
+ ::apache::thrift::protocol::TType _ktype46;
+ ::apache::thrift::protocol::TType _vtype47;
+ xfer += iprot->readMapBegin(_ktype46, _vtype47, _size45);
+ uint32_t _i49;
+ for (_i49 = 0; _i49 < _size45; ++_i49)
+ {
+ FileSystems::type _key50;
+ int32_t ecast52;
+ xfer += iprot->readI32(ecast52);
+ _key50 = (FileSystems::type)ecast52;
+ std::string& _val51 = this->fileSystems[_key50];
+ xfer += iprot->readString(_val51);
+ }
+ xfer += iprot->readMapEnd();
+ }
+ this->__isset.fileSystems = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 8:
+ if (ftype == ::apache::thrift::protocol::T_LIST) {
+ {
+ this->jobSubmissionInterfaces.clear();
+ uint32_t _size53;
+ ::apache::thrift::protocol::TType _etype56;
+ xfer += iprot->readListBegin(_etype56, _size53);
+ this->jobSubmissionInterfaces.resize(_size53);
+ uint32_t _i57;
+ for (_i57 = 0; _i57 < _size53; ++_i57)
+ {
+ xfer += this->jobSubmissionInterfaces[_i57].read(iprot);
+ }
+ xfer += iprot->readListEnd();
+ }
+ this->__isset.jobSubmissionInterfaces = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 9:
+ if (ftype == ::apache::thrift::protocol::T_LIST) {
+ {
+ this->dataMovementInterfaces.clear();
+ uint32_t _size58;
+ ::apache::thrift::protocol::TType _etype61;
+ xfer += iprot->readListBegin(_etype61, _size58);
+ this->dataMovementInterfaces.resize(_size58);
+ uint32_t _i62;
+ for (_i62 = 0; _i62 < _size58; ++_i62)
+ {
+ xfer += this->dataMovementInterfaces[_i62].read(iprot);
+ }
+ xfer += iprot->readListEnd();
+ }
+ this->__isset.dataMovementInterfaces = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ default:
+ xfer += iprot->skip(ftype);
+ break;
+ }
+ xfer += iprot->readFieldEnd();
+ }
+
+ xfer += iprot->readStructEnd();
+
+ if (!isset_computeResourceId)
+ throw TProtocolException(TProtocolException::INVALID_DATA);
+ if (!isset_hostName)
+ throw TProtocolException(TProtocolException::INVALID_DATA);
+ return xfer;
+}
+
+uint32_t ComputeResourceDescription::write(::apache::thrift::protocol::TProtocol* oprot) const {
+ uint32_t xfer = 0;
+ xfer += oprot->writeStructBegin("ComputeResourceDescription");
+
+ xfer += oprot->writeFieldBegin("computeResourceId", ::apache::thrift::protocol::T_STRING, 1);
+ xfer += oprot->writeString(this->computeResourceId);
+ xfer += oprot->writeFieldEnd();
+
+ xfer += oprot->writeFieldBegin("hostName", ::apache::thrift::protocol::T_STRING, 2);
+ xfer += oprot->writeString(this->hostName);
+ xfer += oprot->writeFieldEnd();
+
+ if (this->__isset.hostAliases) {
+ xfer += oprot->writeFieldBegin("hostAliases", ::apache::thrift::protocol::T_SET, 3);
+ {
+ xfer += oprot->writeSetBegin(::apache::thrift::protocol::T_STRING, static_cast<uint32_t>(this->hostAliases.size()));
+ std::set<std::string> ::const_iterator _iter63;
+ for (_iter63 = this->hostAliases.begin(); _iter63 != this->hostAliases.end(); ++_iter63)
+ {
+ xfer += oprot->writeString((*_iter63));
+ }
+ xfer += oprot->writeSetEnd();
+ }
+ xfer += oprot->writeFieldEnd();
+ }
+ if (this->__isset.ipAddresses) {
+ xfer += oprot->writeFieldBegin("ipAddresses", ::apache::thrift::protocol::T_SET, 4);
+ {
+ xfer += oprot->writeSetBegin(::apache::thrift::protocol::T_STRING, static_cast<uint32_t>(this->ipAddresses.size()));
+ std::set<std::string> ::const_iterator _iter64;
+ for (_iter64 = this->ipAddresses.begin(); _iter64 != this->ipAddresses.end(); ++_iter64)
+ {
+ xfer += oprot->writeString((*_iter64));
+ }
+ xfer += oprot->writeSetEnd();
+ }
+ xfer += oprot->writeFieldEnd();
+ }
+ if (this->__isset.resourceDescription) {
+ xfer += oprot->writeFieldBegin("resourceDescription", ::apache::thrift::protocol::T_STRING, 5);
+ xfer += oprot->writeString(this->resourceDescription);
+ xfer += oprot->writeFieldEnd();
+ }
+ if (this->__isset.batchQueues) {
+ xfer += oprot->writeFieldBegin("batchQueues", ::apache::thrift::protocol::T_LIST, 6);
+ {
+ xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>(this->batchQueues.size()));
+ std::vector<BatchQueue> ::const_iterator _iter65;
+ for (_iter65 = this->batchQueues.begin(); _iter65 != this->batchQueues.end(); ++_iter65)
+ {
+ xfer += (*_iter65).write(oprot);
+ }
+ xfer += oprot->writeListEnd();
+ }
+ xfer += oprot->writeFieldEnd();
+ }
+ if (this->__isset.fileSystems) {
+ xfer += oprot->writeFieldBegin("fileSystems", ::apache::thrift::protocol::T_MAP, 7);
+ {
+ xfer += oprot->writeMapBegin(::apache::thrift::protocol::T_I32, ::apache::thrift::protocol::T_STRING, static_cast<uint32_t>(this->fileSystems.size()));
+ std::map<FileSystems::type, std::string> ::const_iterator _iter66;
+ for (_iter66 = this->fileSystems.begin(); _iter66 != this->fileSystems.end(); ++_iter66)
+ {
+ xfer += oprot->writeI32((int32_t)_iter66->first);
+ xfer += oprot->writeString(_iter66->second);
+ }
+ xfer += oprot->writeMapEnd();
+ }
+ xfer += oprot->writeFieldEnd();
+ }
+ if (this->__isset.jobSubmissionInterfaces) {
+ xfer += oprot->writeFieldBegin("jobSubmissionInterfaces", ::apache::thrift::protocol::T_LIST, 8);
+ {
+ xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>(this->jobSubmissionInterfaces.size()));
+ std::vector<JobSubmissionInterface> ::const_iterator _iter67;
+ for (_iter67 = this->jobSubmissionInterfaces.begin(); _iter67 != this->jobSubmissionInterfaces.end(); ++_iter67)
+ {
+ xfer += (*_iter67).write(oprot);
+ }
+ xfer += oprot->writeListEnd();
+ }
+ xfer += oprot->writeFieldEnd();
+ }
+ if (this->__isset.dataMovementInterfaces) {
+ xfer += oprot->writeFieldBegin("dataMovementInterfaces", ::apache::thrift::protocol::T_LIST, 9);
+ {
+ xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>(this->dataMovementInterfaces.size()));
+ std::vector<DataMovementInterface> ::const_iterator _iter68;
+ for (_iter68 = this->dataMovementInterfaces.begin(); _iter68 != this->dataMovementInterfaces.end(); ++_iter68)
+ {
+ xfer += (*_iter68).write(oprot);
+ }
+ xfer += oprot->writeListEnd();
+ }
+ xfer += oprot->writeFieldEnd();
+ }
+ xfer += oprot->writeFieldStop();
+ xfer += oprot->writeStructEnd();
+ return xfer;
+}
+
+void swap(ComputeResourceDescription &a, ComputeResourceDescription &b) {
+ using ::std::swap;
+ swap(a.computeResourceId, b.computeResourceId);
+ swap(a.hostName, b.hostName);
+ swap(a.hostAliases, b.hostAliases);
+ swap(a.ipAddresses, b.ipAddresses);
+ swap(a.resourceDescription, b.resourceDescription);
+ swap(a.batchQueues, b.batchQueues);
+ swap(a.fileSystems, b.fileSystems);
+ swap(a.jobSubmissionInterfaces, b.jobSubmissionInterfaces);
+ swap(a.dataMovementInterfaces, b.dataMovementInterfaces);
+ swap(a.__isset, b.__isset);
+}
+
+}}}}} // namespace
http://git-wip-us.apache.org/repos/asf/airavata/blob/f891b7dc/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/computeResourceModel_types.h
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/computeResourceModel_types.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/computeResourceModel_types.h
new file mode 100644
index 0000000..d6675b6
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/computeResourceModel_types.h
@@ -0,0 +1,842 @@
+/**
+ * Autogenerated by Thrift Compiler (0.9.1)
+ *
+ * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+ * @generated
+ */
+#ifndef computeResourceModel_TYPES_H
+#define computeResourceModel_TYPES_H
+
+#include <thrift/Thrift.h>
+#include <thrift/TApplicationException.h>
+#include <thrift/protocol/TProtocol.h>
+#include <thrift/transport/TTransport.h>
+
+#include <thrift/cxxfunctional.h>
+
+
+namespace apache { namespace airavata { namespace model { namespace appcatalog { namespace computeresource {
+
+struct ResourceJobManagerType {
+ enum type {
+ FORK = 0,
+ PBS = 1,
+ UGE = 2,
+ SLURM = 3
+ };
+};
+
+extern const std::map<int, const char*> _ResourceJobManagerType_VALUES_TO_NAMES;
+
+struct JobManagerCommand {
+ enum type {
+ SUBMISSION = 0,
+ JOB_MONITORING = 1,
+ DELETION = 2,
+ CHECK_JOB = 3,
+ SHOW_QUEUE = 4,
+ SHOW_RESERVATION = 5,
+ SHOW_START = 6
+ };
+};
+
+extern const std::map<int, const char*> _JobManagerCommand_VALUES_TO_NAMES;
+
+struct FileSystems {
+ enum type {
+ HOME = 0,
+ WORK = 1,
+ LOCALTMP = 2,
+ SCRATCH = 3,
+ ARCHIVE = 4
+ };
+};
+
+extern const std::map<int, const char*> _FileSystems_VALUES_TO_NAMES;
+
+struct SecurityProtocol {
+ enum type {
+ USERNAME_PASSWORD = 0,
+ SSH_KEYS = 1,
+ GSI = 2,
+ KERBEROS = 3,
+ OAUTH = 4
+ };
+};
+
+extern const std::map<int, const char*> _SecurityProtocol_VALUES_TO_NAMES;
+
+struct JobSubmissionProtocol {
+ enum type {
+ LOCAL = 0,
+ SSH = 1,
+ GLOBUS = 2,
+ UNICORE = 3
+ };
+};
+
+extern const std::map<int, const char*> _JobSubmissionProtocol_VALUES_TO_NAMES;
+
+struct DataMovementProtocol {
+ enum type {
+ LOCAL = 0,
+ SCP = 1,
+ SFTP = 2,
+ GridFTP = 3,
+ UNICORE_STORAGE_SERVICE = 4
+ };
+};
+
+extern const std::map<int, const char*> _DataMovementProtocol_VALUES_TO_NAMES;
+
+typedef struct _ResourceJobManager__isset {
+ _ResourceJobManager__isset() : pushMonitoringEndpoint(false), jobManagerBinPath(false), jobManagerCommands(false) {}
+ bool pushMonitoringEndpoint;
+ bool jobManagerBinPath;
+ bool jobManagerCommands;
+} _ResourceJobManager__isset;
+
+class ResourceJobManager {
+ public:
+
+ static const char* ascii_fingerprint; // = "F61CAF80247D0E44C8D52504F3A43BED";
+ static const uint8_t binary_fingerprint[16]; // = {0xF6,0x1C,0xAF,0x80,0x24,0x7D,0x0E,0x44,0xC8,0xD5,0x25,0x04,0xF3,0xA4,0x3B,0xED};
+
+ ResourceJobManager() : resourceJobManagerId("DO_NOT_SET_AT_CLIENTS"), resourceJobManagerType((ResourceJobManagerType::type)0), pushMonitoringEndpoint(), jobManagerBinPath() {
+ }
+
+ virtual ~ResourceJobManager() throw() {}
+
+ std::string resourceJobManagerId;
+ ResourceJobManagerType::type resourceJobManagerType;
+ std::string pushMonitoringEndpoint;
+ std::string jobManagerBinPath;
+ std::map<JobManagerCommand::type, std::string> jobManagerCommands;
+
+ _ResourceJobManager__isset __isset;
+
+ void __set_resourceJobManagerId(const std::string& val) {
+ resourceJobManagerId = val;
+ }
+
+ void __set_resourceJobManagerType(const ResourceJobManagerType::type val) {
+ resourceJobManagerType = val;
+ }
+
+ void __set_pushMonitoringEndpoint(const std::string& val) {
+ pushMonitoringEndpoint = val;
+ __isset.pushMonitoringEndpoint = true;
+ }
+
+ void __set_jobManagerBinPath(const std::string& val) {
+ jobManagerBinPath = val;
+ __isset.jobManagerBinPath = true;
+ }
+
+ void __set_jobManagerCommands(const std::map<JobManagerCommand::type, std::string> & val) {
+ jobManagerCommands = val;
+ __isset.jobManagerCommands = true;
+ }
+
+ bool operator == (const ResourceJobManager & rhs) const
+ {
+ if (!(resourceJobManagerId == rhs.resourceJobManagerId))
+ return false;
+ if (!(resourceJobManagerType == rhs.resourceJobManagerType))
+ return false;
+ if (__isset.pushMonitoringEndpoint != rhs.__isset.pushMonitoringEndpoint)
+ return false;
+ else if (__isset.pushMonitoringEndpoint && !(pushMonitoringEndpoint == rhs.pushMonitoringEndpoint))
+ return false;
+ if (__isset.jobManagerBinPath != rhs.__isset.jobManagerBinPath)
+ return false;
+ else if (__isset.jobManagerBinPath && !(jobManagerBinPath == rhs.jobManagerBinPath))
+ return false;
+ if (__isset.jobManagerCommands != rhs.__isset.jobManagerCommands)
+ return false;
+ else if (__isset.jobManagerCommands && !(jobManagerCommands == rhs.jobManagerCommands))
+ return false;
+ return true;
+ }
+ bool operator != (const ResourceJobManager &rhs) const {
+ return !(*this == rhs);
+ }
+
+ bool operator < (const ResourceJobManager & ) const;
+
+ uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+ uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+void swap(ResourceJobManager &a, ResourceJobManager &b);
+
+typedef struct _BatchQueue__isset {
+ _BatchQueue__isset() : queueDescription(false), maxRunTime(false), maxNodes(false), maxProcessors(false), maxJobsInQueue(false) {}
+ bool queueDescription;
+ bool maxRunTime;
+ bool maxNodes;
+ bool maxProcessors;
+ bool maxJobsInQueue;
+} _BatchQueue__isset;
+
+class BatchQueue {
+ public:
+
+ static const char* ascii_fingerprint; // = "DA59FF8EE453E1822971C1CE1471EEA1";
+ static const uint8_t binary_fingerprint[16]; // = {0xDA,0x59,0xFF,0x8E,0xE4,0x53,0xE1,0x82,0x29,0x71,0xC1,0xCE,0x14,0x71,0xEE,0xA1};
+
+ BatchQueue() : queueName(), queueDescription(), maxRunTime(0), maxNodes(0), maxProcessors(0), maxJobsInQueue(0) {
+ }
+
+ virtual ~BatchQueue() throw() {}
+
+ std::string queueName;
+ std::string queueDescription;
+ int32_t maxRunTime;
+ int32_t maxNodes;
+ int32_t maxProcessors;
+ int32_t maxJobsInQueue;
+
+ _BatchQueue__isset __isset;
+
+ void __set_queueName(const std::string& val) {
+ queueName = val;
+ }
+
+ void __set_queueDescription(const std::string& val) {
+ queueDescription = val;
+ __isset.queueDescription = true;
+ }
+
+ void __set_maxRunTime(const int32_t val) {
+ maxRunTime = val;
+ __isset.maxRunTime = true;
+ }
+
+ void __set_maxNodes(const int32_t val) {
+ maxNodes = val;
+ __isset.maxNodes = true;
+ }
+
+ void __set_maxProcessors(const int32_t val) {
+ maxProcessors = val;
+ __isset.maxProcessors = true;
+ }
+
+ void __set_maxJobsInQueue(const int32_t val) {
+ maxJobsInQueue = val;
+ __isset.maxJobsInQueue = true;
+ }
+
+ bool operator == (const BatchQueue & rhs) const
+ {
+ if (!(queueName == rhs.queueName))
+ return false;
+ if (__isset.queueDescription != rhs.__isset.queueDescription)
+ return false;
+ else if (__isset.queueDescription && !(queueDescription == rhs.queueDescription))
+ return false;
+ if (__isset.maxRunTime != rhs.__isset.maxRunTime)
+ return false;
+ else if (__isset.maxRunTime && !(maxRunTime == rhs.maxRunTime))
+ return false;
+ if (__isset.maxNodes != rhs.__isset.maxNodes)
+ return false;
+ else if (__isset.maxNodes && !(maxNodes == rhs.maxNodes))
+ return false;
+ if (__isset.maxProcessors != rhs.__isset.maxProcessors)
+ return false;
+ else if (__isset.maxProcessors && !(maxProcessors == rhs.maxProcessors))
+ return false;
+ if (__isset.maxJobsInQueue != rhs.__isset.maxJobsInQueue)
+ return false;
+ else if (__isset.maxJobsInQueue && !(maxJobsInQueue == rhs.maxJobsInQueue))
+ return false;
+ return true;
+ }
+ bool operator != (const BatchQueue &rhs) const {
+ return !(*this == rhs);
+ }
+
+ bool operator < (const BatchQueue & ) const;
+
+ uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+ uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+void swap(BatchQueue &a, BatchQueue &b);
+
+typedef struct _SCPDataMovement__isset {
+ _SCPDataMovement__isset() : alternativeSCPHostName(false), sshPort(true) {}
+ bool alternativeSCPHostName;
+ bool sshPort;
+} _SCPDataMovement__isset;
+
+class SCPDataMovement {
+ public:
+
+ static const char* ascii_fingerprint; // = "63CAE6EE336A7DBD91CCCD6E22628F4A";
+ static const uint8_t binary_fingerprint[16]; // = {0x63,0xCA,0xE6,0xEE,0x33,0x6A,0x7D,0xBD,0x91,0xCC,0xCD,0x6E,0x22,0x62,0x8F,0x4A};
+
+ SCPDataMovement() : dataMovementInterfaceId("DO_NOT_SET_AT_CLIENTS"), securityProtocol((SecurityProtocol::type)0), alternativeSCPHostName(), sshPort(22) {
+ }
+
+ virtual ~SCPDataMovement() throw() {}
+
+ std::string dataMovementInterfaceId;
+ SecurityProtocol::type securityProtocol;
+ std::string alternativeSCPHostName;
+ int32_t sshPort;
+
+ _SCPDataMovement__isset __isset;
+
+ void __set_dataMovementInterfaceId(const std::string& val) {
+ dataMovementInterfaceId = val;
+ }
+
+ void __set_securityProtocol(const SecurityProtocol::type val) {
+ securityProtocol = val;
+ }
+
+ void __set_alternativeSCPHostName(const std::string& val) {
+ alternativeSCPHostName = val;
+ __isset.alternativeSCPHostName = true;
+ }
+
+ void __set_sshPort(const int32_t val) {
+ sshPort = val;
+ __isset.sshPort = true;
+ }
+
+ bool operator == (const SCPDataMovement & rhs) const
+ {
+ if (!(dataMovementInterfaceId == rhs.dataMovementInterfaceId))
+ return false;
+ if (!(securityProtocol == rhs.securityProtocol))
+ return false;
+ if (__isset.alternativeSCPHostName != rhs.__isset.alternativeSCPHostName)
+ return false;
+ else if (__isset.alternativeSCPHostName && !(alternativeSCPHostName == rhs.alternativeSCPHostName))
+ return false;
+ if (__isset.sshPort != rhs.__isset.sshPort)
+ return false;
+ else if (__isset.sshPort && !(sshPort == rhs.sshPort))
+ return false;
+ return true;
+ }
+ bool operator != (const SCPDataMovement &rhs) const {
+ return !(*this == rhs);
+ }
+
+ bool operator < (const SCPDataMovement & ) const;
+
+ uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+ uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+void swap(SCPDataMovement &a, SCPDataMovement &b);
+
+
+class GridFTPDataMovement {
+ public:
+
+ static const char* ascii_fingerprint; // = "790EE8B1D56A3B9B76C41DD063726E75";
+ static const uint8_t binary_fingerprint[16]; // = {0x79,0x0E,0xE8,0xB1,0xD5,0x6A,0x3B,0x9B,0x76,0xC4,0x1D,0xD0,0x63,0x72,0x6E,0x75};
+
+ GridFTPDataMovement() : dataMovementInterfaceId("DO_NOT_SET_AT_CLIENTS"), securityProtocol((SecurityProtocol::type)0) {
+ }
+
+ virtual ~GridFTPDataMovement() throw() {}
+
+ std::string dataMovementInterfaceId;
+ SecurityProtocol::type securityProtocol;
+ std::vector<std::string> gridFTPEndPoints;
+
+ void __set_dataMovementInterfaceId(const std::string& val) {
+ dataMovementInterfaceId = val;
+ }
+
+ void __set_securityProtocol(const SecurityProtocol::type val) {
+ securityProtocol = val;
+ }
+
+ void __set_gridFTPEndPoints(const std::vector<std::string> & val) {
+ gridFTPEndPoints = val;
+ }
+
+ bool operator == (const GridFTPDataMovement & rhs) const
+ {
+ if (!(dataMovementInterfaceId == rhs.dataMovementInterfaceId))
+ return false;
+ if (!(securityProtocol == rhs.securityProtocol))
+ return false;
+ if (!(gridFTPEndPoints == rhs.gridFTPEndPoints))
+ return false;
+ return true;
+ }
+ bool operator != (const GridFTPDataMovement &rhs) const {
+ return !(*this == rhs);
+ }
+
+ bool operator < (const GridFTPDataMovement & ) const;
+
+ uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+ uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+void swap(GridFTPDataMovement &a, GridFTPDataMovement &b);
+
+
+class LOCALSubmission {
+ public:
+
+ static const char* ascii_fingerprint; // = "A5A35C842CBE1CA9D6A13C5974C6FB8F";
+ static const uint8_t binary_fingerprint[16]; // = {0xA5,0xA3,0x5C,0x84,0x2C,0xBE,0x1C,0xA9,0xD6,0xA1,0x3C,0x59,0x74,0xC6,0xFB,0x8F};
+
+ LOCALSubmission() : jobSubmissionInterfaceId("DO_NOT_SET_AT_CLIENTS") {
+ }
+
+ virtual ~LOCALSubmission() throw() {}
+
+ std::string jobSubmissionInterfaceId;
+ ResourceJobManager resourceJobManager;
+
+ void __set_jobSubmissionInterfaceId(const std::string& val) {
+ jobSubmissionInterfaceId = val;
+ }
+
+ void __set_resourceJobManager(const ResourceJobManager& val) {
+ resourceJobManager = val;
+ }
+
+ bool operator == (const LOCALSubmission & rhs) const
+ {
+ if (!(jobSubmissionInterfaceId == rhs.jobSubmissionInterfaceId))
+ return false;
+ if (!(resourceJobManager == rhs.resourceJobManager))
+ return false;
+ return true;
+ }
+ bool operator != (const LOCALSubmission &rhs) const {
+ return !(*this == rhs);
+ }
+
+ bool operator < (const LOCALSubmission & ) const;
+
+ uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+ uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+void swap(LOCALSubmission &a, LOCALSubmission &b);
+
+
+class LOCALDataMovement {
+ public:
+
+ static const char* ascii_fingerprint; // = "EFB929595D312AC8F305D5A794CFEDA1";
+ static const uint8_t binary_fingerprint[16]; // = {0xEF,0xB9,0x29,0x59,0x5D,0x31,0x2A,0xC8,0xF3,0x05,0xD5,0xA7,0x94,0xCF,0xED,0xA1};
+
+ LOCALDataMovement() : dataMovementInterfaceId("DO_NOT_SET_AT_CLIENTS") {
+ }
+
+ virtual ~LOCALDataMovement() throw() {}
+
+ std::string dataMovementInterfaceId;
+
+ void __set_dataMovementInterfaceId(const std::string& val) {
+ dataMovementInterfaceId = val;
+ }
+
+ bool operator == (const LOCALDataMovement & rhs) const
+ {
+ if (!(dataMovementInterfaceId == rhs.dataMovementInterfaceId))
+ return false;
+ return true;
+ }
+ bool operator != (const LOCALDataMovement &rhs) const {
+ return !(*this == rhs);
+ }
+
+ bool operator < (const LOCALDataMovement & ) const;
+
+ uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+ uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+void swap(LOCALDataMovement &a, LOCALDataMovement &b);
+
+typedef struct _SSHJobSubmission__isset {
+ _SSHJobSubmission__isset() : alternativeSSHHostName(false), sshPort(true) {}
+ bool alternativeSSHHostName;
+ bool sshPort;
+} _SSHJobSubmission__isset;
+
+class SSHJobSubmission {
+ public:
+
+ static const char* ascii_fingerprint; // = "8BC403A3B093DDB0CB8F04ED699DBA3D";
+ static const uint8_t binary_fingerprint[16]; // = {0x8B,0xC4,0x03,0xA3,0xB0,0x93,0xDD,0xB0,0xCB,0x8F,0x04,0xED,0x69,0x9D,0xBA,0x3D};
+
+ SSHJobSubmission() : jobSubmissionInterfaceId("DO_NOT_SET_AT_CLIENTS"), securityProtocol((SecurityProtocol::type)0), alternativeSSHHostName(), sshPort(22) {
+ }
+
+ virtual ~SSHJobSubmission() throw() {}
+
+ std::string jobSubmissionInterfaceId;
+ SecurityProtocol::type securityProtocol;
+ ResourceJobManager resourceJobManager;
+ std::string alternativeSSHHostName;
+ int32_t sshPort;
+
+ _SSHJobSubmission__isset __isset;
+
+ void __set_jobSubmissionInterfaceId(const std::string& val) {
+ jobSubmissionInterfaceId = val;
+ }
+
+ void __set_securityProtocol(const SecurityProtocol::type val) {
+ securityProtocol = val;
+ }
+
+ void __set_resourceJobManager(const ResourceJobManager& val) {
+ resourceJobManager = val;
+ }
+
+ void __set_alternativeSSHHostName(const std::string& val) {
+ alternativeSSHHostName = val;
+ __isset.alternativeSSHHostName = true;
+ }
+
+ void __set_sshPort(const int32_t val) {
+ sshPort = val;
+ __isset.sshPort = true;
+ }
+
+ bool operator == (const SSHJobSubmission & rhs) const
+ {
+ if (!(jobSubmissionInterfaceId == rhs.jobSubmissionInterfaceId))
+ return false;
+ if (!(securityProtocol == rhs.securityProtocol))
+ return false;
+ if (!(resourceJobManager == rhs.resourceJobManager))
+ return false;
+ if (__isset.alternativeSSHHostName != rhs.__isset.alternativeSSHHostName)
+ return false;
+ else if (__isset.alternativeSSHHostName && !(alternativeSSHHostName == rhs.alternativeSSHHostName))
+ return false;
+ if (__isset.sshPort != rhs.__isset.sshPort)
+ return false;
+ else if (__isset.sshPort && !(sshPort == rhs.sshPort))
+ return false;
+ return true;
+ }
+ bool operator != (const SSHJobSubmission &rhs) const {
+ return !(*this == rhs);
+ }
+
+ bool operator < (const SSHJobSubmission & ) const;
+
+ uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+ uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+void swap(SSHJobSubmission &a, SSHJobSubmission &b);
+
+typedef struct _GlobusJobSubmission__isset {
+ _GlobusJobSubmission__isset() : globusGateKeeperEndPoint(false) {}
+ bool globusGateKeeperEndPoint;
+} _GlobusJobSubmission__isset;
+
+class GlobusJobSubmission {
+ public:
+
+ static const char* ascii_fingerprint; // = "AF422FFD77BB68BA57079B8B33BC8CF7";
+ static const uint8_t binary_fingerprint[16]; // = {0xAF,0x42,0x2F,0xFD,0x77,0xBB,0x68,0xBA,0x57,0x07,0x9B,0x8B,0x33,0xBC,0x8C,0xF7};
+
+ GlobusJobSubmission() : jobSubmissionInterfaceId("DO_NOT_SET_AT_CLIENTS"), securityProtocol((SecurityProtocol::type)0) {
+ }
+
+ virtual ~GlobusJobSubmission() throw() {}
+
+ std::string jobSubmissionInterfaceId;
+ SecurityProtocol::type securityProtocol;
+ std::vector<std::string> globusGateKeeperEndPoint;
+
+ _GlobusJobSubmission__isset __isset;
+
+ void __set_jobSubmissionInterfaceId(const std::string& val) {
+ jobSubmissionInterfaceId = val;
+ }
+
+ void __set_securityProtocol(const SecurityProtocol::type val) {
+ securityProtocol = val;
+ }
+
+ void __set_globusGateKeeperEndPoint(const std::vector<std::string> & val) {
+ globusGateKeeperEndPoint = val;
+ __isset.globusGateKeeperEndPoint = true;
+ }
+
+ bool operator == (const GlobusJobSubmission & rhs) const
+ {
+ if (!(jobSubmissionInterfaceId == rhs.jobSubmissionInterfaceId))
+ return false;
+ if (!(securityProtocol == rhs.securityProtocol))
+ return false;
+ if (__isset.globusGateKeeperEndPoint != rhs.__isset.globusGateKeeperEndPoint)
+ return false;
+ else if (__isset.globusGateKeeperEndPoint && !(globusGateKeeperEndPoint == rhs.globusGateKeeperEndPoint))
+ return false;
+ return true;
+ }
+ bool operator != (const GlobusJobSubmission &rhs) const {
+ return !(*this == rhs);
+ }
+
+ bool operator < (const GlobusJobSubmission & ) const;
+
+ uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+ uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+void swap(GlobusJobSubmission &a, GlobusJobSubmission &b);
+
+
+class JobSubmissionInterface {
+ public:
+
+ static const char* ascii_fingerprint; // = "A0A4DD7B8243FB842E64EAC6E5DA6C7B";
+ static const uint8_t binary_fingerprint[16]; // = {0xA0,0xA4,0xDD,0x7B,0x82,0x43,0xFB,0x84,0x2E,0x64,0xEA,0xC6,0xE5,0xDA,0x6C,0x7B};
+
+ JobSubmissionInterface() : jobSubmissionInterfaceId(), jobSubmissionProtocol((JobSubmissionProtocol::type)0), priorityOrder(0) {
+ }
+
+ virtual ~JobSubmissionInterface() throw() {}
+
+ std::string jobSubmissionInterfaceId;
+ JobSubmissionProtocol::type jobSubmissionProtocol;
+ int32_t priorityOrder;
+
+ void __set_jobSubmissionInterfaceId(const std::string& val) {
+ jobSubmissionInterfaceId = val;
+ }
+
+ void __set_jobSubmissionProtocol(const JobSubmissionProtocol::type val) {
+ jobSubmissionProtocol = val;
+ }
+
+ void __set_priorityOrder(const int32_t val) {
+ priorityOrder = val;
+ }
+
+ bool operator == (const JobSubmissionInterface & rhs) const
+ {
+ if (!(jobSubmissionInterfaceId == rhs.jobSubmissionInterfaceId))
+ return false;
+ if (!(jobSubmissionProtocol == rhs.jobSubmissionProtocol))
+ return false;
+ if (!(priorityOrder == rhs.priorityOrder))
+ return false;
+ return true;
+ }
+ bool operator != (const JobSubmissionInterface &rhs) const {
+ return !(*this == rhs);
+ }
+
+ bool operator < (const JobSubmissionInterface & ) const;
+
+ uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+ uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+void swap(JobSubmissionInterface &a, JobSubmissionInterface &b);
+
+
+class DataMovementInterface {
+ public:
+
+ static const char* ascii_fingerprint; // = "A0A4DD7B8243FB842E64EAC6E5DA6C7B";
+ static const uint8_t binary_fingerprint[16]; // = {0xA0,0xA4,0xDD,0x7B,0x82,0x43,0xFB,0x84,0x2E,0x64,0xEA,0xC6,0xE5,0xDA,0x6C,0x7B};
+
+ DataMovementInterface() : dataMovementInterfaceId(), dataMovementProtocol((DataMovementProtocol::type)0), priorityOrder(0) {
+ }
+
+ virtual ~DataMovementInterface() throw() {}
+
+ std::string dataMovementInterfaceId;
+ DataMovementProtocol::type dataMovementProtocol;
+ int32_t priorityOrder;
+
+ void __set_dataMovementInterfaceId(const std::string& val) {
+ dataMovementInterfaceId = val;
+ }
+
+ void __set_dataMovementProtocol(const DataMovementProtocol::type val) {
+ dataMovementProtocol = val;
+ }
+
+ void __set_priorityOrder(const int32_t val) {
+ priorityOrder = val;
+ }
+
+ bool operator == (const DataMovementInterface & rhs) const
+ {
+ if (!(dataMovementInterfaceId == rhs.dataMovementInterfaceId))
+ return false;
+ if (!(dataMovementProtocol == rhs.dataMovementProtocol))
+ return false;
+ if (!(priorityOrder == rhs.priorityOrder))
+ return false;
+ return true;
+ }
+ bool operator != (const DataMovementInterface &rhs) const {
+ return !(*this == rhs);
+ }
+
+ bool operator < (const DataMovementInterface & ) const;
+
+ uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+ uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+void swap(DataMovementInterface &a, DataMovementInterface &b);
+
+typedef struct _ComputeResourceDescription__isset {
+ _ComputeResourceDescription__isset() : hostAliases(false), ipAddresses(false), resourceDescription(false), batchQueues(false), fileSystems(false), jobSubmissionInterfaces(false), dataMovementInterfaces(false) {}
+ bool hostAliases;
+ bool ipAddresses;
+ bool resourceDescription;
+ bool batchQueues;
+ bool fileSystems;
+ bool jobSubmissionInterfaces;
+ bool dataMovementInterfaces;
+} _ComputeResourceDescription__isset;
+
+class ComputeResourceDescription {
+ public:
+
+ static const char* ascii_fingerprint; // = "2CAAC3134218EFF83D46106C39BECE65";
+ static const uint8_t binary_fingerprint[16]; // = {0x2C,0xAA,0xC3,0x13,0x42,0x18,0xEF,0xF8,0x3D,0x46,0x10,0x6C,0x39,0xBE,0xCE,0x65};
+
+ ComputeResourceDescription() : computeResourceId("DO_NOT_SET_AT_CLIENTS"), hostName(), resourceDescription() {
+ }
+
+ virtual ~ComputeResourceDescription() throw() {}
+
+ std::string computeResourceId;
+ std::string hostName;
+ std::set<std::string> hostAliases;
+ std::set<std::string> ipAddresses;
+ std::string resourceDescription;
+ std::vector<BatchQueue> batchQueues;
+ std::map<FileSystems::type, std::string> fileSystems;
+ std::vector<JobSubmissionInterface> jobSubmissionInterfaces;
+ std::vector<DataMovementInterface> dataMovementInterfaces;
+
+ _ComputeResourceDescription__isset __isset;
+
+ void __set_computeResourceId(const std::string& val) {
+ computeResourceId = val;
+ }
+
+ void __set_hostName(const std::string& val) {
+ hostName = val;
+ }
+
+ void __set_hostAliases(const std::set<std::string> & val) {
+ hostAliases = val;
+ __isset.hostAliases = true;
+ }
+
+ void __set_ipAddresses(const std::set<std::string> & val) {
+ ipAddresses = val;
+ __isset.ipAddresses = true;
+ }
+
+ void __set_resourceDescription(const std::string& val) {
+ resourceDescription = val;
+ __isset.resourceDescription = true;
+ }
+
+ void __set_batchQueues(const std::vector<BatchQueue> & val) {
+ batchQueues = val;
+ __isset.batchQueues = true;
+ }
+
+ void __set_fileSystems(const std::map<FileSystems::type, std::string> & val) {
+ fileSystems = val;
+ __isset.fileSystems = true;
+ }
+
+ void __set_jobSubmissionInterfaces(const std::vector<JobSubmissionInterface> & val) {
+ jobSubmissionInterfaces = val;
+ __isset.jobSubmissionInterfaces = true;
+ }
+
+ void __set_dataMovementInterfaces(const std::vector<DataMovementInterface> & val) {
+ dataMovementInterfaces = val;
+ __isset.dataMovementInterfaces = true;
+ }
+
+ bool operator == (const ComputeResourceDescription & rhs) const
+ {
+ if (!(computeResourceId == rhs.computeResourceId))
+ return false;
+ if (!(hostName == rhs.hostName))
+ return false;
+ if (__isset.hostAliases != rhs.__isset.hostAliases)
+ return false;
+ else if (__isset.hostAliases && !(hostAliases == rhs.hostAliases))
+ return false;
+ if (__isset.ipAddresses != rhs.__isset.ipAddresses)
+ return false;
+ else if (__isset.ipAddresses && !(ipAddresses == rhs.ipAddresses))
+ return false;
+ if (__isset.resourceDescription != rhs.__isset.resourceDescription)
+ return false;
+ else if (__isset.resourceDescription && !(resourceDescription == rhs.resourceDescription))
+ return false;
+ if (__isset.batchQueues != rhs.__isset.batchQueues)
+ return false;
+ else if (__isset.batchQueues && !(batchQueues == rhs.batchQueues))
+ return false;
+ if (__isset.fileSystems != rhs.__isset.fileSystems)
+ return false;
+ else if (__isset.fileSystems && !(fileSystems == rhs.fileSystems))
+ return false;
+ if (__isset.jobSubmissionInterfaces != rhs.__isset.jobSubmissionInterfaces)
+ return false;
+ else if (__isset.jobSubmissionInterfaces && !(jobSubmissionInterfaces == rhs.jobSubmissionInterfaces))
+ return false;
+ if (__isset.dataMovementInterfaces != rhs.__isset.dataMovementInterfaces)
+ return false;
+ else if (__isset.dataMovementInterfaces && !(dataMovementInterfaces == rhs.dataMovementInterfaces))
+ return false;
+ return true;
+ }
+ bool operator != (const ComputeResourceDescription &rhs) const {
+ return !(*this == rhs);
+ }
+
+ bool operator < (const ComputeResourceDescription & ) const;
+
+ uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+ uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+void swap(ComputeResourceDescription &a, ComputeResourceDescription &b);
+
+}}}}} // namespace
+
+#endif
http://git-wip-us.apache.org/repos/asf/airavata/blob/f891b7dc/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/experimentModel_constants.cpp
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/experimentModel_constants.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/experimentModel_constants.cpp
new file mode 100644
index 0000000..2536b3a
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/experimentModel_constants.cpp
@@ -0,0 +1,23 @@
+/**
+ * Autogenerated by Thrift Compiler (0.9.1)
+ *
+ * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+ * @generated
+ */
+#include "experimentModel_constants.h"
+
+namespace apache { namespace airavata { namespace model { namespace workspace { namespace experiment {
+
+const experimentModelConstants g_experimentModel_constants;
+
+experimentModelConstants::experimentModelConstants() {
+ DEFAULT_ID = "DO_NOT_SET_AT_CLIENTS";
+
+ DEFAULT_PROJECT_NAME = "DEFAULT";
+
+ SINGLE_APP_NODE_NAME = "SINGLE_APP_NODE";
+
+}
+
+}}}}} // namespace
+
http://git-wip-us.apache.org/repos/asf/airavata/blob/f891b7dc/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/experimentModel_constants.h
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/experimentModel_constants.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/experimentModel_constants.h
new file mode 100644
index 0000000..907d112
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/experimentModel_constants.h
@@ -0,0 +1,27 @@
+/**
+ * Autogenerated by Thrift Compiler (0.9.1)
+ *
+ * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+ * @generated
+ */
+#ifndef experimentModel_CONSTANTS_H
+#define experimentModel_CONSTANTS_H
+
+#include "experimentModel_types.h"
+
+namespace apache { namespace airavata { namespace model { namespace workspace { namespace experiment {
+
+class experimentModelConstants {
+ public:
+ experimentModelConstants();
+
+ std::string DEFAULT_ID;
+ std::string DEFAULT_PROJECT_NAME;
+ std::string SINGLE_APP_NODE_NAME;
+};
+
+extern const experimentModelConstants g_experimentModel_constants;
+
+}}}}} // namespace
+
+#endif
[44/47] git commit: renamed client samples to client_samples
Posted by sm...@apache.org.
renamed client samples to client_samples
Project: http://git-wip-us.apache.org/repos/asf/airavata/repo
Commit: http://git-wip-us.apache.org/repos/asf/airavata/commit/bceaed3a
Tree: http://git-wip-us.apache.org/repos/asf/airavata/tree/bceaed3a
Diff: http://git-wip-us.apache.org/repos/asf/airavata/diff/bceaed3a
Branch: refs/heads/master
Commit: bceaed3aba8b7d5c4a5cb006ff915f8274cafc32
Parents: ff8f14c
Author: ixxi-2013 <na...@gmail.com>
Authored: Sat Jul 12 04:45:48 2014 +0200
Committer: ixxi-2013 <na...@gmail.com>
Committed: Sat Jul 12 04:45:48 2014 +0200
----------------------------------------------------------------------
.../airavata-client-properties.ini | 4 +
.../airavata-client-properties.ini~ | 4 +
.../main/resources/client_samples/compile.sh | 5 +
.../main/resources/client_samples/compile.sh~ | 5 +
.../resources/client_samples/createExperiment | Bin 0 -> 2015352 bytes
.../client_samples/createExperiment.cpp | 157 +++++++++++++++++++
.../client_samples/createExperiment.cpp~ | 157 +++++++++++++++++++
.../main/resources/client_samples/createProject | Bin 0 -> 2003862 bytes
.../resources/client_samples/createProject.cpp | 100 ++++++++++++
.../resources/client_samples/createProject.cpp~ | 105 +++++++++++++
.../client_samples/getExperimentOutputs | Bin 0 -> 2007965 bytes
.../client_samples/getExperimentOutputs.cpp | 104 ++++++++++++
.../client_samples/getExperimentOutputs.cpp~ | 108 +++++++++++++
.../client_samples/getExperimentStatus | Bin 0 -> 2003868 bytes
.../client_samples/getExperimentStatus.cpp | 101 ++++++++++++
.../client_samples/getExperimentStatus.cpp~ | 105 +++++++++++++
.../resources/client_samples/launchExperiment | Bin 0 -> 2007961 bytes
.../client_samples/launchExperiment.cpp | 99 ++++++++++++
.../client_samples/launchExperiment.cpp~ | 104 ++++++++++++
19 files changed, 1158 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/airavata/blob/bceaed3a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client_samples/airavata-client-properties.ini
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client_samples/airavata-client-properties.ini b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client_samples/airavata-client-properties.ini
new file mode 100644
index 0000000..b0335fd
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client_samples/airavata-client-properties.ini
@@ -0,0 +1,4 @@
+[airavata]
+AIRAVATA_SERVER = "localhost"
+AIRAVATA_PORT = 9930
+AIRAVATA_TIMEOUT = 5000
http://git-wip-us.apache.org/repos/asf/airavata/blob/bceaed3a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client_samples/airavata-client-properties.ini~
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client_samples/airavata-client-properties.ini~ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client_samples/airavata-client-properties.ini~
new file mode 100644
index 0000000..b2e2095
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client_samples/airavata-client-properties.ini~
@@ -0,0 +1,4 @@
+[airavata]
+AIRAVATA_SERVER = "localhost"
+AIRAVATA_PORT = 8930
+AIRAVATA_TIMEOUT = 5000
http://git-wip-us.apache.org/repos/asf/airavata/blob/bceaed3a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client_samples/compile.sh
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client_samples/compile.sh b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client_samples/compile.sh
new file mode 100755
index 0000000..05e21b5
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client_samples/compile.sh
@@ -0,0 +1,5 @@
+g++ -I/home/ixxi-2013/Desktop/airavata-trunk/airavata/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/ -L/usr/local/lib -w -Wno-write-strings -DHAVE_INTTYPES_H -DHAVE_NETINET_IN_H `pkg-config --cflags glib-2.0` createProject.cpp `pkg-config --libs glib-2.0` -lthrift -o createProject
+g++ -I/home/ixxi-2013/Desktop/airavata-trunk/airavata/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/ -L/usr/local/lib -w -Wno-write-strings -DHAVE_INTTYPES_H -DHAVE_NETINET_IN_H `pkg-config --cflags glib-2.0` createExperiment.cpp `pkg-config --libs glib-2.0` -lthrift -o createExperiment
+g++ -I/home/ixxi-2013/Desktop/airavata-trunk/airavata/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/ -L/usr/local/lib -w -Wno-write-strings -DHAVE_INTTYPES_H -DHAVE_NETINET_IN_H `pkg-config --cflags glib-2.0` launchExperiment.cpp `pkg-config --libs glib-2.0` -lthrift -o launchExperiment
+g++ -I/home/ixxi-2013/Desktop/airavata-trunk/airavata/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/ -L/usr/local/lib -w -Wno-write-strings -DHAVE_INTTYPES_H -DHAVE_NETINET_IN_H `pkg-config --cflags glib-2.0` getExperimentStatus.cpp `pkg-config --libs glib-2.0` -lthrift -o getExperimentStatus
+g++ -I/home/ixxi-2013/Desktop/airavata-trunk/airavata/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/ -L/usr/local/lib -w -Wno-write-strings -DHAVE_INTTYPES_H -DHAVE_NETINET_IN_H `pkg-config --cflags glib-2.0` getExperimentOutputs.cpp `pkg-config --libs glib-2.0` -lthrift -o getExperimentOutputs
http://git-wip-us.apache.org/repos/asf/airavata/blob/bceaed3a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client_samples/compile.sh~
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client_samples/compile.sh~ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client_samples/compile.sh~
new file mode 100755
index 0000000..5d3bf8f
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client_samples/compile.sh~
@@ -0,0 +1,5 @@
+g++ -Wall -I/home/ixxi-2013/Desktop/airavata-trunk/airavata/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/ -L/usr/local/lib -w -Wno-write-strings -DHAVE_INTTYPES_H -DHAVE_NETINET_IN_H `pkg-config --cflags glib-2.0` createProject.cpp `pkg-config --libs glib-2.0` -lthrift -o createProject
+g++ -Wall -I/home/ixxi-2013/Desktop/airavata-trunk/airavata/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/ -L/usr/local/lib -w -Wno-write-strings -DHAVE_INTTYPES_H -DHAVE_NETINET_IN_H `pkg-config --cflags glib-2.0` createExperiment.cpp `pkg-config --libs glib-2.0` -lthrift -o createExperiment
+g++ -Wall -I/home/ixxi-2013/Desktop/airavata-trunk/airavata/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/ -L/usr/local/lib -w -Wno-write-strings -DHAVE_INTTYPES_H -DHAVE_NETINET_IN_H `pkg-config --cflags glib-2.0` launchExperiment.cpp `pkg-config --libs glib-2.0` -lthrift -o launchExperiment
+g++ -Wall -I/home/ixxi-2013/Desktop/airavata-trunk/airavata/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/ -L/usr/local/lib -w -Wno-write-strings -DHAVE_INTTYPES_H -DHAVE_NETINET_IN_H `pkg-config --cflags glib-2.0` getExperimentStatus.cpp `pkg-config --libs glib-2.0` -lthrift -o getExperimentStatus
+g++ -Wall -I/home/ixxi-2013/Desktop/airavata-trunk/airavata/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/ -L/usr/local/lib -w -Wno-write-strings -DHAVE_INTTYPES_H -DHAVE_NETINET_IN_H `pkg-config --cflags glib-2.0` getExperimentOutputs.cpp `pkg-config --libs glib-2.0` -lthrift -o getExperimentOutputs
http://git-wip-us.apache.org/repos/asf/airavata/blob/bceaed3a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client_samples/createExperiment
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client_samples/createExperiment b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client_samples/createExperiment
new file mode 100755
index 0000000..05a09f0
Binary files /dev/null and b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client_samples/createExperiment differ
http://git-wip-us.apache.org/repos/asf/airavata/blob/bceaed3a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client_samples/createExperiment.cpp
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client_samples/createExperiment.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client_samples/createExperiment.cpp
new file mode 100644
index 0000000..8d43ddc
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client_samples/createExperiment.cpp
@@ -0,0 +1,157 @@
+#include <glib.h>
+#include <iostream>
+#include <stdint.h>
+#include <sys/time.h>
+
+#define _WIN32_WINNT 0x501
+
+#include <thrift/transport/TTransport.h>
+#include <thrift/transport/TBufferTransports.cpp>
+#include <thrift/transport/TSocket.cpp>
+#include <thrift/protocol/TProtocol.h>
+#include <thrift/protocol/TBinaryProtocol.h>
+#include <thrift/protocol/TBinaryProtocol.tcc>
+#include <thrift/TApplicationException.cpp>
+#include <thrift/transport/TTransportException.cpp>
+#include <thrift/protocol/TProtocolException.h>
+#include "../lib/airavata/Airavata.h"
+#include "../lib/airavata/Airavata.cpp"
+#include "../lib/airavata/airavataDataModel_types.h"
+#include "../lib/airavata/airavataDataModel_types.cpp"
+#include "../lib/airavata/airavataErrors_types.h"
+#include "../lib/airavata/airavataErrors_types.cpp"
+#include "../lib/airavata/experimentModel_types.h"
+#include "../lib/airavata/experimentModel_types.cpp"
+#include "../lib/airavata/workspaceModel_types.h"
+#include "../lib/airavata/workspaceModel_types.cpp"
+#include "../lib/airavata/airavataAPI_types.h"
+#include "../lib/airavata/airavataAPI_types.cpp"
+#include "../lib/airavata/applicationDeploymentModel_types.h"
+#include "../lib/airavata/applicationDeploymentModel_types.cpp"
+#include "../lib/airavata/applicationInterfaceModel_types.h"
+#include "../lib/airavata/applicationInterfaceModel_types.cpp"
+#include "../lib/airavata/gatewayResourceProfileModel_types.h"
+#include "../lib/airavata/gatewayResourceProfileModel_types.cpp"
+#include "../lib/airavata/computeResourceModel_types.h"
+#include "../lib/airavata/computeResourceModel_types.cpp"
+
+
+typedef struct {
+ gchar *airavata_server;
+ gint airavata_port, airavata_timeout;
+} Settings;
+
+using namespace std;
+using namespace apache::thrift;
+using namespace apache::thrift::protocol;
+using namespace apache::thrift::transport;
+using namespace apache::airavata::api;
+using namespace apache::airavata::model::workspace::experiment;
+
+void readConfigFile(char* cfgfile, string& airavata_server, int& airavata_port, int& airavata_timeout) {
+
+ Settings *conf;
+ GKeyFile *keyfile;
+ GKeyFileFlags flags;
+ GError *error = NULL;
+ keyfile = g_key_file_new ();
+ if (!g_key_file_load_from_file (keyfile, cfgfile, flags, &error)) {
+ g_error (error->message);
+ } else {
+ conf = g_slice_new (Settings);
+ conf->airavata_server = g_key_file_get_string(keyfile, "airavata", "AIRAVATA_SERVER", NULL);
+ airavata_server = conf->airavata_server;
+ conf->airavata_port = g_key_file_get_integer(keyfile, "airavata", "AIRAVATA_PORT", NULL);
+ airavata_port = conf->airavata_port;
+ conf->airavata_timeout = g_key_file_get_integer(keyfile, "airavata", "AIRAVATA_TIMEOUT", NULL);
+ airavata_timeout = conf->airavata_timeout;
+ }
+
+}
+
+
+int main(int argc, char **argv)
+{
+
+ int airavata_port, airavata_timeout;
+ string airavata_server;
+ char* cfgfile;
+ cfgfile = "./airavata-client-properties.ini";
+ readConfigFile(cfgfile, airavata_server, airavata_port, airavata_timeout);
+ airavata_server.erase(0,1);
+ airavata_server.erase(airavata_server.length()-1,1);
+ boost::shared_ptr<TSocket> socket(new TSocket(airavata_server, airavata_port));
+ socket->setSendTimeout(airavata_timeout);
+ boost::shared_ptr<TTransport> transport(new TBufferedTransport(socket));
+ boost::shared_ptr<TProtocol> protocol(new TBinaryProtocol(transport));
+ AiravataClient airavataclient(protocol);
+ transport->open();
+
+ if(argc !=4){
+ cout << "Usage: ./createExperiment <username> <experiment_name> <project_ID>";
+ return 0;
+ }
+ /* ComputationalResourceScheduling data for Trestles*/
+ ComputationalResourceScheduling cmRST;
+ cmRST.__set_resourceHostId("trestles.sdsc.edu");
+ cmRST.__set_computationalProjectAccount("sds128");
+ cmRST.__set_totalCPUCount(1);
+ cmRST.__set_nodeCount(1);
+ cmRST.__set_numberOfThreads(0);
+ cmRST.__set_queueName("normal");
+ cmRST.__set_wallTimeLimit(15);
+ cmRST.__set_jobStartTime(0);
+ cmRST.__set_totalPhysicalMemory(0);
+
+
+ UserConfigurationData userConfigurationData;
+ userConfigurationData.__set_airavataAutoSchedule(0);
+ userConfigurationData.__set_overrideManualScheduledParams(0);
+ userConfigurationData.__set_computationalResourceScheduling(cmRST);
+
+
+ /*Application ID for Trestles */
+ char* appId = "SimpleEcho2";
+
+ /* Experiment input and output data. */
+ DataObjectType input;
+ input.__set_key("echo_input");
+ input.__set_value("echo_output=Hello World");
+ input.__set_type(DataType::STRING);
+ std::vector<DataObjectType> exInputs;
+ exInputs.push_back(input);
+ DataObjectType output;
+ output.__set_key("echo_output");
+ output.__set_value("");
+ output.__set_type(DataType::STRING);
+ std::vector<DataObjectType> exOutputs;
+ exOutputs.push_back(output);
+
+
+ char* user = argv[1];
+ char* exp_name = argv[2];
+ char* proj = argv[3];
+
+ Experiment experiment;
+ experiment.__set_projectID(proj);
+ experiment.__set_userName(user);
+ experiment.__set_name(exp_name);
+ experiment.__set_applicationId(appId);
+ experiment.__set_userConfigurationData(userConfigurationData);
+ experiment.__set_experimentInputs(exInputs);
+ experiment.__set_experimentOutputs(exOutputs);
+
+ string _return = "";
+ airavataclient.createExperiment(_return, experiment);
+
+ if (_return!="")
+ {
+
+ cout << "Experiment " << _return <<" created! \n ";
+ }
+ else
+ {
+ cout << "Failed to create experiment. \n";
+ }
+ transport->close();
+}
http://git-wip-us.apache.org/repos/asf/airavata/blob/bceaed3a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client_samples/createExperiment.cpp~
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client_samples/createExperiment.cpp~ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client_samples/createExperiment.cpp~
new file mode 100644
index 0000000..f4941df
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client_samples/createExperiment.cpp~
@@ -0,0 +1,157 @@
+#include <glib.h>
+#include <iostream>
+#include <stdint.h>
+#include <sys/time.h>
+
+#define _WIN32_WINNT 0x501
+
+#include <thrift/transport/TTransport.h>
+#include <thrift/transport/TBufferTransports.cpp>
+#include <thrift/transport/TSocket.cpp>
+#include <thrift/protocol/TProtocol.h>
+#include <thrift/protocol/TBinaryProtocol.h>
+#include <thrift/protocol/TBinaryProtocol.tcc>
+#include <thrift/TApplicationException.cpp>
+#include <thrift/transport/TTransportException.cpp>
+#include <thrift/protocol/TProtocolException.h>
+#include "../lib/airavata/Airavata.h"
+#include "../lib/airavata/Airavata.cpp"
+#include "../lib/airavata/airavataDataModel_types.h"
+#include "../lib/airavata/airavataDataModel_types.cpp"
+#include "../lib/airavata/airavataErrors_types.h"
+#include "../lib/airavata/airavataErrors_types.cpp"
+#include "../lib/airavata/experimentModel_types.h"
+#include "../lib/airavata/experimentModel_types.cpp"
+#include "../lib/airavata/workspaceModel_types.h"
+#include "../lib/airavata/workspaceModel_types.cpp"
+#include "../lib/airavata/airavataAPI_types.h"
+#include "../lib/airavata/airavataAPI_types.cpp"
+#include "../lib/airavata/applicationDeploymentModel_types.h"
+#include "../lib/airavata/applicationDeploymentModel_types.cpp"
+#include "../lib/airavata/applicationInterfaceModel_types.h"
+#include "../lib/airavata/applicationInterfaceModel_types.cpp"
+#include "../lib/airavata/gatewayResourceProfileModel_types.h"
+#include "../lib/airavata/gatewayResourceProfileModel_types.cpp"
+#include "../lib/airavata/computeResourceModel_types.h"
+#include "../lib/airavata/computeResourceModel_types.cpp"
+
+
+typedef struct {
+ gchar *airavata_server;
+ gint airavata_port, airavata_timeout;
+} Settings;
+
+using namespace std;
+using namespace apache::thrift;
+using namespace apache::thrift::protocol;
+using namespace apache::thrift::transport;
+using namespace apache::airavata::api;
+using namespace apache::airavata::model::workspace::experiment;
+
+void readConfigFile(char* cfgfile, string& airavata_server, int& airavata_port, int& airavata_timeout) {
+
+ Settings *conf;
+ GKeyFile *keyfile;
+ GKeyFileFlags flags;
+ GError *error = NULL;
+ keyfile = g_key_file_new ();
+ if (!g_key_file_load_from_file (keyfile, cfgfile, flags, &error)) {
+ g_error (error->message);
+ } else {
+ conf = g_slice_new (Settings);
+ conf->airavata_server = g_key_file_get_string(keyfile, "airavata", "AIRAVATA_SERVER", NULL);
+ airavata_server = conf->airavata_server;
+ conf->airavata_port = g_key_file_get_integer(keyfile, "airavata", "AIRAVATA_PORT", NULL);
+ airavata_port = conf->airavata_port;
+ conf->airavata_timeout = g_key_file_get_integer(keyfile, "airavata", "AIRAVATA_TIMEOUT", NULL);
+ airavata_timeout = conf->airavata_timeout;
+ }
+
+}
+
+
+int main(int argc, char **argv)
+{
+
+ int airavata_port, airavata_timeout;
+ string airavata_server;
+ char* cfgfile;
+ cfgfile = "./airavata-client-properties.ini";
+ readConfigFile(cfgfile, airavata_server, app_catalog_server, airavata_port, app_catalog_port, airavata_timeout);
+ airavata_server.erase(0,1);
+ airavata_server.erase(airavata_server.length()-1,1);
+ boost::shared_ptr<TSocket> socket(new TSocket(airavata_server, airavata_port));
+ socket->setSendTimeout(airavata_timeout);
+ boost::shared_ptr<TTransport> transport(new TBufferedTransport(socket));
+ boost::shared_ptr<TProtocol> protocol(new TBinaryProtocol(transport));
+ AiravataClient airavataclient(protocol);
+ transport->open();
+
+ if(argc !=4){
+ cout << "Usage: ./createExperiment <username> <experiment_name> <project_ID>";
+ return 0;
+ }
+ /* ComputationalResourceScheduling data for Trestles*/
+ ComputationalResourceScheduling cmRST;
+ cmRST.__set_resourceHostId("trestles.sdsc.edu");
+ cmRST.__set_computationalProjectAccount("sds128");
+ cmRST.__set_totalCPUCount(1);
+ cmRST.__set_nodeCount(1);
+ cmRST.__set_numberOfThreads(0);
+ cmRST.__set_queueName("normal");
+ cmRST.__set_wallTimeLimit(15);
+ cmRST.__set_jobStartTime(0);
+ cmRST.__set_totalPhysicalMemory(0);
+
+
+ UserConfigurationData userConfigurationData;
+ userConfigurationData.__set_airavataAutoSchedule(0);
+ userConfigurationData.__set_overrideManualScheduledParams(0);
+ userConfigurationData.__set_computationalResourceScheduling(cmRST);
+
+
+ /*Application ID for Trestles */
+ char* appId = "SimpleEcho2";
+
+ /* Experiment input and output data. */
+ DataObjectType input;
+ input.__set_key("echo_input");
+ input.__set_value("echo_output=Hello World");
+ input.__set_type(DataType::STRING);
+ std::vector<DataObjectType> exInputs;
+ exInputs.push_back(input);
+ DataObjectType output;
+ output.__set_key("echo_output");
+ output.__set_value("");
+ output.__set_type(DataType::STRING);
+ std::vector<DataObjectType> exOutputs;
+ exOutputs.push_back(output);
+
+
+ char* user = argv[1];
+ char* exp_name = argv[2];
+ char* proj = argv[3];
+
+ Experiment experiment;
+ experiment.__set_projectID(proj);
+ experiment.__set_userName(user);
+ experiment.__set_name(exp_name);
+ experiment.__set_applicationId(appId);
+ experiment.__set_userConfigurationData(userConfigurationData);
+ experiment.__set_experimentInputs(exInputs);
+ experiment.__set_experimentOutputs(exOutputs);
+
+ string _return = "";
+ airavataclient.createExperiment(_return, experiment);
+
+ if (_return!="")
+ {
+
+ cout << "Experiment " << _return <<" created! \n ";
+ }
+ else
+ {
+ cout << "Failed to create experiment. \n";
+ }
+ transport->close();
+}
http://git-wip-us.apache.org/repos/asf/airavata/blob/bceaed3a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client_samples/createProject
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client_samples/createProject b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client_samples/createProject
new file mode 100755
index 0000000..d742e86
Binary files /dev/null and b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client_samples/createProject differ
http://git-wip-us.apache.org/repos/asf/airavata/blob/bceaed3a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client_samples/createProject.cpp
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client_samples/createProject.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client_samples/createProject.cpp
new file mode 100644
index 0000000..b259f58
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client_samples/createProject.cpp
@@ -0,0 +1,100 @@
+#include <glib.h>
+#include <iostream>
+#include <stdint.h>
+#include <sys/time.h>
+
+#define _WIN32_WINNT 0x501
+
+#include <thrift/transport/TTransport.h>
+#include <thrift/transport/TBufferTransports.cpp>
+#include <thrift/transport/TSocket.cpp>
+#include <thrift/protocol/TProtocol.h>
+#include <thrift/protocol/TBinaryProtocol.h>
+#include <thrift/protocol/TBinaryProtocol.tcc>
+#include <thrift/TApplicationException.cpp>
+#include <thrift/transport/TTransportException.cpp>
+#include <thrift/protocol/TProtocolException.h>
+#include "../lib/airavata/Airavata.h"
+#include "../lib/airavata/Airavata.cpp"
+#include "../lib/airavata/airavataDataModel_types.h"
+#include "../lib/airavata/airavataDataModel_types.cpp"
+#include "../lib/airavata/airavataErrors_types.h"
+#include "../lib/airavata/airavataErrors_types.cpp"
+#include "../lib/airavata/experimentModel_types.h"
+#include "../lib/airavata/experimentModel_types.cpp"
+#include "../lib/airavata/workspaceModel_types.h"
+#include "../lib/airavata/workspaceModel_types.cpp"
+#include "../lib/airavata/airavataAPI_types.h"
+#include "../lib/airavata/airavataAPI_types.cpp"
+#include "../lib/airavata/applicationDeploymentModel_types.h"
+#include "../lib/airavata/applicationDeploymentModel_types.cpp"
+#include "../lib/airavata/applicationInterfaceModel_types.h"
+#include "../lib/airavata/applicationInterfaceModel_types.cpp"
+#include "../lib/airavata/gatewayResourceProfileModel_types.h"
+#include "../lib/airavata/gatewayResourceProfileModel_types.cpp"
+#include "../lib/airavata/computeResourceModel_types.h"
+#include "../lib/airavata/computeResourceModel_types.cpp"
+
+
+typedef struct {
+ gchar *airavata_server, *app_catalog_server;
+ gint airavata_port, app_catalog_port, airavata_timeout;
+} Settings;
+
+using namespace std;
+using namespace apache::thrift;
+using namespace apache::thrift::protocol;
+using namespace apache::thrift::transport;
+using namespace apache::airavata::api;
+
+void readConfigFile(char* cfgfile, string& airavata_server, int& airavata_port, int& airavata_timeout) {
+
+ Settings *conf;
+ GKeyFile *keyfile;
+ GKeyFileFlags flags;
+ GError *error = NULL;
+ keyfile = g_key_file_new ();
+ if (!g_key_file_load_from_file (keyfile, cfgfile, flags, &error)) {
+ g_error (error->message);
+ } else {
+ conf = g_slice_new (Settings);
+ conf->airavata_server = g_key_file_get_string(keyfile, "airavata", "AIRAVATA_SERVER", NULL);
+ airavata_server = conf->airavata_server;
+ conf->airavata_port = g_key_file_get_integer(keyfile, "airavata", "AIRAVATA_PORT", NULL);
+ airavata_port = conf->airavata_port;
+ conf->airavata_timeout = g_key_file_get_integer(keyfile, "airavata", "AIRAVATA_TIMEOUT", NULL);
+ airavata_timeout = conf->airavata_timeout;
+ }
+
+}
+
+
+int main(int argc, char **argv)
+{
+
+ int airavata_port, airavata_timeout;
+ string airavata_server;
+ char* cfgfile;
+ cfgfile = "./airavata-client-properties.ini";
+ readConfigFile(cfgfile, airavata_server, airavata_port, airavata_timeout);
+ airavata_server.erase(0,1);
+ airavata_server.erase(airavata_server.length()-1,1);
+ boost::shared_ptr<TSocket> socket(new TSocket(airavata_server, airavata_port));
+ socket->setSendTimeout(airavata_timeout);
+ boost::shared_ptr<TTransport> transport(new TBufferedTransport(socket));
+ boost::shared_ptr<TProtocol> protocol(new TBinaryProtocol(transport));
+ AiravataClient airavataclient(protocol);
+ transport->open();
+
+ apache::airavata::model::workspace::Project project;
+ if(argc !=3){
+ cout << "Usage: ./createProject <owner> <projectName>";
+ return 0;
+ }
+ project.owner=argv[1];
+ project.name=argv[2];
+ std::string _return;
+ airavataclient.createProject(_return,project);
+ cout << _return << "\n";
+ transport->close();
+}
http://git-wip-us.apache.org/repos/asf/airavata/blob/bceaed3a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client_samples/createProject.cpp~
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client_samples/createProject.cpp~ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client_samples/createProject.cpp~
new file mode 100644
index 0000000..8e9125c
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client_samples/createProject.cpp~
@@ -0,0 +1,105 @@
+#include <glib.h>
+#include <iostream>
+#include <stdint.h>
+#include <sys/time.h>
+
+#define _WIN32_WINNT 0x501
+
+#include <thrift/transport/TTransport.h>
+#include <thrift/transport/TBufferTransports.cpp>
+#include <thrift/transport/TSocket.cpp>
+#include <thrift/protocol/TProtocol.h>
+#include <thrift/protocol/TBinaryProtocol.h>
+#include <thrift/protocol/TBinaryProtocol.tcc>
+#include <thrift/TApplicationException.cpp>
+#include <thrift/transport/TTransportException.cpp>
+#include <thrift/protocol/TProtocolException.h>
+#include "../lib/airavata/Airavata.h"
+#include "../lib/airavata/Airavata.cpp"
+#include "../lib/airavata/airavataDataModel_types.h"
+#include "../lib/airavata/airavataDataModel_types.cpp"
+#include "../lib/airavata/airavataErrors_types.h"
+#include "../lib/airavata/airavataErrors_types.cpp"
+#include "../lib/airavata/experimentModel_types.h"
+#include "../lib/airavata/experimentModel_types.cpp"
+#include "../lib/airavata/workspaceModel_types.h"
+#include "../lib/airavata/workspaceModel_types.cpp"
+#include "../lib/airavata/airavataAPI_types.h"
+#include "../lib/airavata/airavataAPI_types.cpp"
+#include "../lib/airavata/applicationDeploymentModel_types.h"
+#include "../lib/airavata/applicationDeploymentModel_types.cpp"
+#include "../lib/airavata/applicationInterfaceModel_types.h"
+#include "../lib/airavata/applicationInterfaceModel_types.cpp"
+#include "../lib/airavata/gatewayResourceProfileModel_types.h"
+#include "../lib/airavata/gatewayResourceProfileModel_types.cpp"
+#include "../lib/airavata/computeResourceModel_types.h"
+#include "../lib/airavata/computeResourceModel_types.cpp"
+
+
+typedef struct {
+ gchar *airavata_server, *app_catalog_server;
+ gint airavata_port, app_catalog_port, airavata_timeout;
+} Settings;
+
+using namespace std;
+using namespace apache::thrift;
+using namespace apache::thrift::protocol;
+using namespace apache::thrift::transport;
+using namespace apache::airavata::api;
+
+void readConfigFile(char* cfgfile, string& airavata_server, string& app_catalog_server, int& airavata_port, int& app_catalog_port, int& airavata_timeout) {
+
+ Settings *conf;
+ GKeyFile *keyfile;
+ GKeyFileFlags flags;
+ GError *error = NULL;
+ keyfile = g_key_file_new ();
+ if (!g_key_file_load_from_file (keyfile, cfgfile, flags, &error)) {
+ g_error (error->message);
+ } else {
+
+ conf = g_slice_new (Settings);
+ conf->airavata_server = g_key_file_get_string(keyfile, "airavata", "AIRAVATA_SERVER", NULL);
+ airavata_server = conf->airavata_server;
+ conf->airavata_port = g_key_file_get_integer(keyfile, "airavata", "AIRAVATA_PORT", NULL);
+ airavata_port = conf->airavata_port;
+ conf->airavata_timeout = g_key_file_get_integer(keyfile, "airavata", "AIRAVATA_TIMEOUT", NULL);
+ airavata_timeout = conf->airavata_timeout;
+ conf->app_catalog_server = g_key_file_get_string(keyfile, "airavata", "APP_CATALOG_SERVER", NULL);
+ app_catalog_server = conf->app_catalog_server;
+ conf->app_catalog_port = g_key_file_get_integer(keyfile, "airavata", "APP_CATALOG_PORT", NULL);
+ app_catalog_port = conf->app_catalog_port;
+ }
+
+}
+
+
+int main(int argc, char **argv)
+{
+
+ int airavata_port, app_catalog_port, airavata_timeout;
+ string airavata_server, app_catalog_server;
+ char* cfgfile;
+ cfgfile = "./airavata-client-properties.ini";
+ readConfigFile(cfgfile, airavata_server, app_catalog_server, airavata_port, app_catalog_port, airavata_timeout);
+ airavata_server.erase(0,1);
+ airavata_server.erase(airavata_server.length()-1,1);
+ boost::shared_ptr<TSocket> socket(new TSocket(airavata_server, airavata_port));
+ socket->setSendTimeout(airavata_timeout);
+ boost::shared_ptr<TTransport> transport(new TBufferedTransport(socket));
+ boost::shared_ptr<TProtocol> protocol(new TBinaryProtocol(transport));
+ AiravataClient airavataclient(protocol);
+ transport->open();
+
+ apache::airavata::model::workspace::Project project;
+ if(argc !=3){
+ cout << "Usage: ./createProject <owner> <projectName>";
+ return 0;
+ }
+ project.owner=argv[1];
+ project.name=argv[2];
+ std::string _return;
+ airavataclient.createProject(_return,project);
+ cout << _return << "\n";
+ transport->close();
+}
http://git-wip-us.apache.org/repos/asf/airavata/blob/bceaed3a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client_samples/getExperimentOutputs
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client_samples/getExperimentOutputs b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client_samples/getExperimentOutputs
new file mode 100755
index 0000000..583fb1d
Binary files /dev/null and b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client_samples/getExperimentOutputs differ
http://git-wip-us.apache.org/repos/asf/airavata/blob/bceaed3a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client_samples/getExperimentOutputs.cpp
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client_samples/getExperimentOutputs.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client_samples/getExperimentOutputs.cpp
new file mode 100644
index 0000000..9a279ec
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client_samples/getExperimentOutputs.cpp
@@ -0,0 +1,104 @@
+#include <glib.h>
+#include <iostream>
+#include <stdint.h>
+#include <sys/time.h>
+
+#define _WIN32_WINNT 0x501
+
+#include <thrift/transport/TTransport.h>
+#include <thrift/transport/TBufferTransports.cpp>
+#include <thrift/transport/TSocket.cpp>
+#include <thrift/protocol/TProtocol.h>
+#include <thrift/protocol/TBinaryProtocol.h>
+#include <thrift/protocol/TBinaryProtocol.tcc>
+#include <thrift/TApplicationException.cpp>
+#include <thrift/transport/TTransportException.cpp>
+#include <thrift/protocol/TProtocolException.h>
+#include "../lib/airavata/Airavata.h"
+#include "../lib/airavata/Airavata.cpp"
+#include "../lib/airavata/airavataDataModel_types.h"
+#include "../lib/airavata/airavataDataModel_types.cpp"
+#include "../lib/airavata/airavataErrors_types.h"
+#include "../lib/airavata/airavataErrors_types.cpp"
+#include "../lib/airavata/experimentModel_types.h"
+#include "../lib/airavata/experimentModel_types.cpp"
+#include "../lib/airavata/workspaceModel_types.h"
+#include "../lib/airavata/workspaceModel_types.cpp"
+#include "../lib/airavata/airavataAPI_types.h"
+#include "../lib/airavata/airavataAPI_types.cpp"
+#include "../lib/airavata/applicationDeploymentModel_types.h"
+#include "../lib/airavata/applicationDeploymentModel_types.cpp"
+#include "../lib/airavata/applicationInterfaceModel_types.h"
+#include "../lib/airavata/applicationInterfaceModel_types.cpp"
+#include "../lib/airavata/gatewayResourceProfileModel_types.h"
+#include "../lib/airavata/gatewayResourceProfileModel_types.cpp"
+#include "../lib/airavata/computeResourceModel_types.h"
+#include "../lib/airavata/computeResourceModel_types.cpp"
+
+
+typedef struct {
+ gchar *airavata_server, *app_catalog_server;
+ gint airavata_port, app_catalog_port, airavata_timeout;
+} Settings;
+
+using namespace std;
+using namespace apache::thrift;
+using namespace apache::thrift::protocol;
+using namespace apache::thrift::transport;
+using namespace apache::airavata::api;
+using namespace apache::airavata::model::workspace::experiment;
+
+void readConfigFile(char* cfgfile, string& airavata_server, int& airavata_port, int& airavata_timeout) {
+
+ Settings *conf;
+ GKeyFile *keyfile;
+ GKeyFileFlags flags;
+ GError *error = NULL;
+ keyfile = g_key_file_new ();
+ if (!g_key_file_load_from_file (keyfile, cfgfile, flags, &error)) {
+ g_error (error->message);
+ } else {
+ conf = g_slice_new (Settings);
+ conf->airavata_server = g_key_file_get_string(keyfile, "airavata", "AIRAVATA_SERVER", NULL);
+ airavata_server = conf->airavata_server;
+ conf->airavata_port = g_key_file_get_integer(keyfile, "airavata", "AIRAVATA_PORT", NULL);
+ airavata_port = conf->airavata_port;
+ conf->airavata_timeout = g_key_file_get_integer(keyfile, "airavata", "AIRAVATA_TIMEOUT", NULL);
+ airavata_timeout = conf->airavata_timeout;
+ }
+
+}
+
+
+int main(int argc, char **argv)
+{
+
+ int airavata_port, airavata_timeout;
+ string airavata_server;
+ char* cfgfile;
+ cfgfile = "./airavata-client-properties.ini";
+ readConfigFile(cfgfile, airavata_server, airavata_port, airavata_timeout);
+ airavata_server.erase(0,1);
+ airavata_server.erase(airavata_server.length()-1,1);
+ boost::shared_ptr<TSocket> socket(new TSocket(airavata_server, airavata_port));
+ socket->setSendTimeout(airavata_timeout);
+ boost::shared_ptr<TTransport> transport(new TBufferedTransport(socket));
+ boost::shared_ptr<TProtocol> protocol(new TBinaryProtocol(transport));
+ AiravataClient airavataclient(protocol);
+ transport->open();
+
+
+ if(argc !=2){
+ cout << "Usage: ./getExperimentOutputs <experimentID>";
+ return 0;
+ }
+ char* expId = argv[1];
+ std::vector<DataObjectType> _return;
+ airavataclient.getExperimentOutputs(_return, expId);
+ int i;
+ for(i=0; i<_return.size();i++){
+ cout << _return[i].value <<"\n";
+ }
+ transport->close();
+
+}
http://git-wip-us.apache.org/repos/asf/airavata/blob/bceaed3a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client_samples/getExperimentOutputs.cpp~
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client_samples/getExperimentOutputs.cpp~ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client_samples/getExperimentOutputs.cpp~
new file mode 100644
index 0000000..0264a0c
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client_samples/getExperimentOutputs.cpp~
@@ -0,0 +1,108 @@
+#include <glib.h>
+#include <iostream>
+#include <stdint.h>
+#include <sys/time.h>
+
+#define _WIN32_WINNT 0x501
+
+#include <thrift/transport/TTransport.h>
+#include <thrift/transport/TBufferTransports.cpp>
+#include <thrift/transport/TSocket.cpp>
+#include <thrift/protocol/TProtocol.h>
+#include <thrift/protocol/TBinaryProtocol.h>
+#include <thrift/protocol/TBinaryProtocol.tcc>
+#include <thrift/TApplicationException.cpp>
+#include <thrift/transport/TTransportException.cpp>
+#include <thrift/protocol/TProtocolException.h>
+#include "../lib/airavata/Airavata.h"
+#include "../lib/airavata/Airavata.cpp"
+#include "../lib/airavata/airavataDataModel_types.h"
+#include "../lib/airavata/airavataDataModel_types.cpp"
+#include "../lib/airavata/airavataErrors_types.h"
+#include "../lib/airavata/airavataErrors_types.cpp"
+#include "../lib/airavata/experimentModel_types.h"
+#include "../lib/airavata/experimentModel_types.cpp"
+#include "../lib/airavata/workspaceModel_types.h"
+#include "../lib/airavata/workspaceModel_types.cpp"
+#include "../lib/airavata/airavataAPI_types.h"
+#include "../lib/airavata/airavataAPI_types.cpp"
+#include "../lib/airavata/applicationDeploymentModel_types.h"
+#include "../lib/airavata/applicationDeploymentModel_types.cpp"
+#include "../lib/airavata/applicationInterfaceModel_types.h"
+#include "../lib/airavata/applicationInterfaceModel_types.cpp"
+#include "../lib/airavata/gatewayResourceProfileModel_types.h"
+#include "../lib/airavata/gatewayResourceProfileModel_types.cpp"
+#include "../lib/airavata/computeResourceModel_types.h"
+#include "../lib/airavata/computeResourceModel_types.cpp"
+
+
+typedef struct {
+ gchar *airavata_server, *app_catalog_server;
+ gint airavata_port, app_catalog_port, airavata_timeout;
+} Settings;
+
+using namespace std;
+using namespace apache::thrift;
+using namespace apache::thrift::protocol;
+using namespace apache::thrift::transport;
+using namespace apache::airavata::api;
+using namespace apache::airavata::model::workspace::experiment;
+
+void readConfigFile(char* cfgfile, string& airavata_server, string& app_catalog_server, int& airavata_port, int& app_catalog_port, int& airavata_timeout) {
+
+ Settings *conf;
+ GKeyFile *keyfile;
+ GKeyFileFlags flags;
+ GError *error = NULL;
+ keyfile = g_key_file_new ();
+ if (!g_key_file_load_from_file (keyfile, cfgfile, flags, &error)) {
+ g_error (error->message);
+ } else {
+
+ conf = g_slice_new (Settings);
+ conf->airavata_server = g_key_file_get_string(keyfile, "airavata", "AIRAVATA_SERVER", NULL);
+ airavata_server = conf->airavata_server;
+ conf->airavata_port = g_key_file_get_integer(keyfile, "airavata", "AIRAVATA_PORT", NULL);
+ airavata_port = conf->airavata_port;
+ conf->airavata_timeout = g_key_file_get_integer(keyfile, "airavata", "AIRAVATA_TIMEOUT", NULL);
+ airavata_timeout = conf->airavata_timeout;
+ conf->app_catalog_server = g_key_file_get_string(keyfile, "airavata", "APP_CATALOG_SERVER", NULL);
+ app_catalog_server = conf->app_catalog_server;
+ conf->app_catalog_port = g_key_file_get_integer(keyfile, "airavata", "APP_CATALOG_PORT", NULL);
+ app_catalog_port = conf->app_catalog_port;
+ }
+
+}
+
+int main(int argc, char **argv)
+{
+
+ int airavata_port, app_catalog_port, airavata_timeout;
+ string airavata_server, app_catalog_server;
+ char* cfgfile;
+ cfgfile = "./airavata-client-properties.ini";
+ readConfigFile(cfgfile, airavata_server, app_catalog_server, airavata_port, app_catalog_port, airavata_timeout);
+ airavata_server.erase(0,1);
+ airavata_server.erase(airavata_server.length()-1,1);
+ boost::shared_ptr<TSocket> socket(new TSocket(airavata_server, airavata_port));
+ socket->setSendTimeout(airavata_timeout);
+ boost::shared_ptr<TTransport> transport(new TBufferedTransport(socket));
+ boost::shared_ptr<TProtocol> protocol(new TBinaryProtocol(transport));
+ AiravataClient airavataclient(protocol);
+ transport->open();
+
+
+ if(argc !=2){
+ cout << "Usage: ./getExperimentOutputs <experimentID>";
+ return 0;
+ }
+ char* expId = argv[1];
+ std::vector<DataObjectType> _return;
+ airavataclient.getExperimentOutputs(_return, expId);
+ int i;
+ for(i=0; i<_return.size();i++){
+ cout << _return[i].value <<"\n";
+ }
+ transport->close();
+
+}
http://git-wip-us.apache.org/repos/asf/airavata/blob/bceaed3a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client_samples/getExperimentStatus
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client_samples/getExperimentStatus b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client_samples/getExperimentStatus
new file mode 100755
index 0000000..17821bf
Binary files /dev/null and b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client_samples/getExperimentStatus differ
http://git-wip-us.apache.org/repos/asf/airavata/blob/bceaed3a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client_samples/getExperimentStatus.cpp
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client_samples/getExperimentStatus.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client_samples/getExperimentStatus.cpp
new file mode 100644
index 0000000..611ddac
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client_samples/getExperimentStatus.cpp
@@ -0,0 +1,101 @@
+#include <glib.h>
+#include <iostream>
+#include <stdint.h>
+#include <sys/time.h>
+
+#define _WIN32_WINNT 0x501
+
+#include <thrift/transport/TTransport.h>
+#include <thrift/transport/TBufferTransports.cpp>
+#include <thrift/transport/TSocket.cpp>
+#include <thrift/protocol/TProtocol.h>
+#include <thrift/protocol/TBinaryProtocol.h>
+#include <thrift/protocol/TBinaryProtocol.tcc>
+#include <thrift/TApplicationException.cpp>
+#include <thrift/transport/TTransportException.cpp>
+#include <thrift/protocol/TProtocolException.h>
+#include "../lib/airavata/Airavata.h"
+#include "../lib/airavata/Airavata.cpp"
+#include "../lib/airavata/airavataDataModel_types.h"
+#include "../lib/airavata/airavataDataModel_types.cpp"
+#include "../lib/airavata/airavataErrors_types.h"
+#include "../lib/airavata/airavataErrors_types.cpp"
+#include "../lib/airavata/experimentModel_types.h"
+#include "../lib/airavata/experimentModel_types.cpp"
+#include "../lib/airavata/workspaceModel_types.h"
+#include "../lib/airavata/workspaceModel_types.cpp"
+#include "../lib/airavata/airavataAPI_types.h"
+#include "../lib/airavata/airavataAPI_types.cpp"
+#include "../lib/airavata/applicationDeploymentModel_types.h"
+#include "../lib/airavata/applicationDeploymentModel_types.cpp"
+#include "../lib/airavata/applicationInterfaceModel_types.h"
+#include "../lib/airavata/applicationInterfaceModel_types.cpp"
+#include "../lib/airavata/gatewayResourceProfileModel_types.h"
+#include "../lib/airavata/gatewayResourceProfileModel_types.cpp"
+#include "../lib/airavata/computeResourceModel_types.h"
+#include "../lib/airavata/computeResourceModel_types.cpp"
+
+
+typedef struct {
+ gchar *airavata_server, *app_catalog_server;
+ gint airavata_port, app_catalog_port, airavata_timeout;
+} Settings;
+
+using namespace std;
+using namespace apache::thrift;
+using namespace apache::thrift::protocol;
+using namespace apache::thrift::transport;
+using namespace apache::airavata::api;
+using namespace apache::airavata::model::workspace::experiment;
+
+void readConfigFile(char* cfgfile, string& airavata_server, int& airavata_port, int& airavata_timeout) {
+
+ Settings *conf;
+ GKeyFile *keyfile;
+ GKeyFileFlags flags;
+ GError *error = NULL;
+ keyfile = g_key_file_new ();
+ if (!g_key_file_load_from_file (keyfile, cfgfile, flags, &error)) {
+ g_error (error->message);
+ } else {
+ conf = g_slice_new (Settings);
+ conf->airavata_server = g_key_file_get_string(keyfile, "airavata", "AIRAVATA_SERVER", NULL);
+ airavata_server = conf->airavata_server;
+ conf->airavata_port = g_key_file_get_integer(keyfile, "airavata", "AIRAVATA_PORT", NULL);
+ airavata_port = conf->airavata_port;
+ conf->airavata_timeout = g_key_file_get_integer(keyfile, "airavata", "AIRAVATA_TIMEOUT", NULL);
+ airavata_timeout = conf->airavata_timeout;
+ }
+
+}
+
+
+int main(int argc, char **argv)
+{
+
+ int airavata_port, airavata_timeout;
+ string airavata_server;
+ char* cfgfile;
+ cfgfile = "./airavata-client-properties.ini";
+ readConfigFile(cfgfile, airavata_server, airavata_port, airavata_timeout);
+ airavata_server.erase(0,1);
+ airavata_server.erase(airavata_server.length()-1,1);
+ boost::shared_ptr<TSocket> socket(new TSocket(airavata_server, airavata_port));
+ socket->setSendTimeout(airavata_timeout);
+ boost::shared_ptr<TTransport> transport(new TBufferedTransport(socket));
+ boost::shared_ptr<TProtocol> protocol(new TBinaryProtocol(transport));
+ AiravataClient airavataclient(protocol);
+ transport->open();
+
+
+ if(argc !=2){
+ cout << "Usage: ./getExperimentStatus <experimentID>";
+ return 0;
+ }
+ char* expId = argv[1];
+ ExperimentStatus _return;
+ airavataclient.getExperimentStatus(_return, expId);
+ cout << _return.experimentState <<"\n";
+ transport->close();
+
+}
http://git-wip-us.apache.org/repos/asf/airavata/blob/bceaed3a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client_samples/getExperimentStatus.cpp~
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client_samples/getExperimentStatus.cpp~ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client_samples/getExperimentStatus.cpp~
new file mode 100644
index 0000000..75c44ee
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client_samples/getExperimentStatus.cpp~
@@ -0,0 +1,105 @@
+#include <glib.h>
+#include <iostream>
+#include <stdint.h>
+#include <sys/time.h>
+
+#define _WIN32_WINNT 0x501
+
+#include <thrift/transport/TTransport.h>
+#include <thrift/transport/TBufferTransports.cpp>
+#include <thrift/transport/TSocket.cpp>
+#include <thrift/protocol/TProtocol.h>
+#include <thrift/protocol/TBinaryProtocol.h>
+#include <thrift/protocol/TBinaryProtocol.tcc>
+#include <thrift/TApplicationException.cpp>
+#include <thrift/transport/TTransportException.cpp>
+#include <thrift/protocol/TProtocolException.h>
+#include "../lib/airavata/Airavata.h"
+#include "../lib/airavata/Airavata.cpp"
+#include "../lib/airavata/airavataDataModel_types.h"
+#include "../lib/airavata/airavataDataModel_types.cpp"
+#include "../lib/airavata/airavataErrors_types.h"
+#include "../lib/airavata/airavataErrors_types.cpp"
+#include "../lib/airavata/experimentModel_types.h"
+#include "../lib/airavata/experimentModel_types.cpp"
+#include "../lib/airavata/workspaceModel_types.h"
+#include "../lib/airavata/workspaceModel_types.cpp"
+#include "../lib/airavata/airavataAPI_types.h"
+#include "../lib/airavata/airavataAPI_types.cpp"
+#include "../lib/airavata/applicationDeploymentModel_types.h"
+#include "../lib/airavata/applicationDeploymentModel_types.cpp"
+#include "../lib/airavata/applicationInterfaceModel_types.h"
+#include "../lib/airavata/applicationInterfaceModel_types.cpp"
+#include "../lib/airavata/gatewayResourceProfileModel_types.h"
+#include "../lib/airavata/gatewayResourceProfileModel_types.cpp"
+#include "../lib/airavata/computeResourceModel_types.h"
+#include "../lib/airavata/computeResourceModel_types.cpp"
+
+
+typedef struct {
+ gchar *airavata_server, *app_catalog_server;
+ gint airavata_port, app_catalog_port, airavata_timeout;
+} Settings;
+
+using namespace std;
+using namespace apache::thrift;
+using namespace apache::thrift::protocol;
+using namespace apache::thrift::transport;
+using namespace apache::airavata::api;
+using namespace apache::airavata::model::workspace::experiment;
+
+void readConfigFile(char* cfgfile, string& airavata_server, string& app_catalog_server, int& airavata_port, int& app_catalog_port, int& airavata_timeout) {
+
+ Settings *conf;
+ GKeyFile *keyfile;
+ GKeyFileFlags flags;
+ GError *error = NULL;
+ keyfile = g_key_file_new ();
+ if (!g_key_file_load_from_file (keyfile, cfgfile, flags, &error)) {
+ g_error (error->message);
+ } else {
+
+ conf = g_slice_new (Settings);
+ conf->airavata_server = g_key_file_get_string(keyfile, "airavata", "AIRAVATA_SERVER", NULL);
+ airavata_server = conf->airavata_server;
+ conf->airavata_port = g_key_file_get_integer(keyfile, "airavata", "AIRAVATA_PORT", NULL);
+ airavata_port = conf->airavata_port;
+ conf->airavata_timeout = g_key_file_get_integer(keyfile, "airavata", "AIRAVATA_TIMEOUT", NULL);
+ airavata_timeout = conf->airavata_timeout;
+ conf->app_catalog_server = g_key_file_get_string(keyfile, "airavata", "APP_CATALOG_SERVER", NULL);
+ app_catalog_server = conf->app_catalog_server;
+ conf->app_catalog_port = g_key_file_get_integer(keyfile, "airavata", "APP_CATALOG_PORT", NULL);
+ app_catalog_port = conf->app_catalog_port;
+ }
+
+}
+
+int main(int argc, char **argv)
+{
+
+ int airavata_port, app_catalog_port, airavata_timeout;
+ string airavata_server, app_catalog_server;
+ char* cfgfile;
+ cfgfile = "./airavata-client-properties.ini";
+ readConfigFile(cfgfile, airavata_server, app_catalog_server, airavata_port, app_catalog_port, airavata_timeout);
+ airavata_server.erase(0,1);
+ airavata_server.erase(airavata_server.length()-1,1);
+ boost::shared_ptr<TSocket> socket(new TSocket(airavata_server, airavata_port));
+ socket->setSendTimeout(airavata_timeout);
+ boost::shared_ptr<TTransport> transport(new TBufferedTransport(socket));
+ boost::shared_ptr<TProtocol> protocol(new TBinaryProtocol(transport));
+ AiravataClient airavataclient(protocol);
+ transport->open();
+
+
+ if(argc !=2){
+ cout << "Usage: ./getExperimentStatus <experimentID>";
+ return 0;
+ }
+ char* expId = argv[1];
+ ExperimentStatus _return;
+ airavataclient.getExperimentStatus(_return, expId);
+ cout << _return.experimentState <<"\n";
+ transport->close();
+
+}
http://git-wip-us.apache.org/repos/asf/airavata/blob/bceaed3a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client_samples/launchExperiment
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client_samples/launchExperiment b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client_samples/launchExperiment
new file mode 100755
index 0000000..145de0a
Binary files /dev/null and b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client_samples/launchExperiment differ
http://git-wip-us.apache.org/repos/asf/airavata/blob/bceaed3a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client_samples/launchExperiment.cpp
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client_samples/launchExperiment.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client_samples/launchExperiment.cpp
new file mode 100644
index 0000000..8c26881
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client_samples/launchExperiment.cpp
@@ -0,0 +1,99 @@
+#include <glib.h>
+#include <iostream>
+#include <stdint.h>
+#include <sys/time.h>
+
+#define _WIN32_WINNT 0x501
+
+#include <thrift/transport/TTransport.h>
+#include <thrift/transport/TBufferTransports.cpp>
+#include <thrift/transport/TSocket.cpp>
+#include <thrift/protocol/TProtocol.h>
+#include <thrift/protocol/TBinaryProtocol.h>
+#include <thrift/protocol/TBinaryProtocol.tcc>
+#include <thrift/TApplicationException.cpp>
+#include <thrift/transport/TTransportException.cpp>
+#include <thrift/protocol/TProtocolException.h>
+#include "../lib/airavata/Airavata.h"
+#include "../lib/airavata/Airavata.cpp"
+#include "../lib/airavata/airavataDataModel_types.h"
+#include "../lib/airavata/airavataDataModel_types.cpp"
+#include "../lib/airavata/airavataErrors_types.h"
+#include "../lib/airavata/airavataErrors_types.cpp"
+#include "../lib/airavata/experimentModel_types.h"
+#include "../lib/airavata/experimentModel_types.cpp"
+#include "../lib/airavata/workspaceModel_types.h"
+#include "../lib/airavata/workspaceModel_types.cpp"
+#include "../lib/airavata/airavataAPI_types.h"
+#include "../lib/airavata/airavataAPI_types.cpp"
+#include "../lib/airavata/applicationDeploymentModel_types.h"
+#include "../lib/airavata/applicationDeploymentModel_types.cpp"
+#include "../lib/airavata/applicationInterfaceModel_types.h"
+#include "../lib/airavata/applicationInterfaceModel_types.cpp"
+#include "../lib/airavata/gatewayResourceProfileModel_types.h"
+#include "../lib/airavata/gatewayResourceProfileModel_types.cpp"
+#include "../lib/airavata/computeResourceModel_types.h"
+#include "../lib/airavata/computeResourceModel_types.cpp"
+
+
+typedef struct {
+ gchar *airavata_server, *app_catalog_server;
+ gint airavata_port, app_catalog_port, airavata_timeout;
+} Settings;
+
+using namespace std;
+using namespace apache::thrift;
+using namespace apache::thrift::protocol;
+using namespace apache::thrift::transport;
+using namespace apache::airavata::api;
+
+void readConfigFile(char* cfgfile, string& airavata_server, int& airavata_port, int& airavata_timeout) {
+
+ Settings *conf;
+ GKeyFile *keyfile;
+ GKeyFileFlags flags;
+ GError *error = NULL;
+ keyfile = g_key_file_new ();
+ if (!g_key_file_load_from_file (keyfile, cfgfile, flags, &error)) {
+ g_error (error->message);
+ } else {
+ conf = g_slice_new (Settings);
+ conf->airavata_server = g_key_file_get_string(keyfile, "airavata", "AIRAVATA_SERVER", NULL);
+ airavata_server = conf->airavata_server;
+ conf->airavata_port = g_key_file_get_integer(keyfile, "airavata", "AIRAVATA_PORT", NULL);
+ airavata_port = conf->airavata_port;
+ conf->airavata_timeout = g_key_file_get_integer(keyfile, "airavata", "AIRAVATA_TIMEOUT", NULL);
+ airavata_timeout = conf->airavata_timeout;
+ }
+
+}
+
+
+int main(int argc, char **argv)
+{
+
+ int airavata_port, airavata_timeout;
+ string airavata_server;
+ char* cfgfile;
+ cfgfile = "./airavata-client-properties.ini";
+ readConfigFile(cfgfile, airavata_server, airavata_port, airavata_timeout);
+ airavata_server.erase(0,1);
+ airavata_server.erase(airavata_server.length()-1,1);
+ boost::shared_ptr<TSocket> socket(new TSocket(airavata_server, airavata_port));
+ socket->setSendTimeout(airavata_timeout);
+ boost::shared_ptr<TTransport> transport(new TBufferedTransport(socket));
+ boost::shared_ptr<TProtocol> protocol(new TBinaryProtocol(transport));
+ AiravataClient airavataclient(protocol);
+ transport->open();
+
+
+ if(argc !=2){
+ cout << "Usage: ./launchExperiment <experimentID>";
+ return 0;
+ }
+ char* expId = argv[1];
+ airavataclient.launchExperiment(expId, "airavataToken");
+ cout << "Experiment " << expId << " is launched.\n";
+ transport->close();
+
+}
http://git-wip-us.apache.org/repos/asf/airavata/blob/bceaed3a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client_samples/launchExperiment.cpp~
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client_samples/launchExperiment.cpp~ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client_samples/launchExperiment.cpp~
new file mode 100644
index 0000000..d3b8337
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client_samples/launchExperiment.cpp~
@@ -0,0 +1,104 @@
+#include <glib.h>
+#include <iostream>
+#include <stdint.h>
+#include <sys/time.h>
+
+#define _WIN32_WINNT 0x501
+
+#include <thrift/transport/TTransport.h>
+#include <thrift/transport/TBufferTransports.cpp>
+#include <thrift/transport/TSocket.cpp>
+#include <thrift/protocol/TProtocol.h>
+#include <thrift/protocol/TBinaryProtocol.h>
+#include <thrift/protocol/TBinaryProtocol.tcc>
+#include <thrift/TApplicationException.cpp>
+#include <thrift/transport/TTransportException.cpp>
+#include <thrift/protocol/TProtocolException.h>
+#include "../lib/airavata/Airavata.h"
+#include "../lib/airavata/Airavata.cpp"
+#include "../lib/airavata/airavataDataModel_types.h"
+#include "../lib/airavata/airavataDataModel_types.cpp"
+#include "../lib/airavata/airavataErrors_types.h"
+#include "../lib/airavata/airavataErrors_types.cpp"
+#include "../lib/airavata/experimentModel_types.h"
+#include "../lib/airavata/experimentModel_types.cpp"
+#include "../lib/airavata/workspaceModel_types.h"
+#include "../lib/airavata/workspaceModel_types.cpp"
+#include "../lib/airavata/airavataAPI_types.h"
+#include "../lib/airavata/airavataAPI_types.cpp"
+#include "../lib/airavata/applicationDeploymentModel_types.h"
+#include "../lib/airavata/applicationDeploymentModel_types.cpp"
+#include "../lib/airavata/applicationInterfaceModel_types.h"
+#include "../lib/airavata/applicationInterfaceModel_types.cpp"
+#include "../lib/airavata/gatewayResourceProfileModel_types.h"
+#include "../lib/airavata/gatewayResourceProfileModel_types.cpp"
+#include "../lib/airavata/computeResourceModel_types.h"
+#include "../lib/airavata/computeResourceModel_types.cpp"
+
+
+typedef struct {
+ gchar *airavata_server, *app_catalog_server;
+ gint airavata_port, app_catalog_port, airavata_timeout;
+} Settings;
+
+using namespace std;
+using namespace apache::thrift;
+using namespace apache::thrift::protocol;
+using namespace apache::thrift::transport;
+using namespace apache::airavata::api;
+
+void readConfigFile(char* cfgfile, string& airavata_server, string& app_catalog_server, int& airavata_port, int& app_catalog_port, int& airavata_timeout) {
+
+ Settings *conf;
+ GKeyFile *keyfile;
+ GKeyFileFlags flags;
+ GError *error = NULL;
+ keyfile = g_key_file_new ();
+ if (!g_key_file_load_from_file (keyfile, cfgfile, flags, &error)) {
+ g_error (error->message);
+ } else {
+
+ conf = g_slice_new (Settings);
+ conf->airavata_server = g_key_file_get_string(keyfile, "airavata", "AIRAVATA_SERVER", NULL);
+ airavata_server = conf->airavata_server;
+ conf->airavata_port = g_key_file_get_integer(keyfile, "airavata", "AIRAVATA_PORT", NULL);
+ airavata_port = conf->airavata_port;
+ conf->airavata_timeout = g_key_file_get_integer(keyfile, "airavata", "AIRAVATA_TIMEOUT", NULL);
+ airavata_timeout = conf->airavata_timeout;
+ conf->app_catalog_server = g_key_file_get_string(keyfile, "airavata", "APP_CATALOG_SERVER", NULL);
+ app_catalog_server = conf->app_catalog_server;
+ conf->app_catalog_port = g_key_file_get_integer(keyfile, "airavata", "APP_CATALOG_PORT", NULL);
+ app_catalog_port = conf->app_catalog_port;
+ }
+
+}
+
+
+int main(int argc, char **argv)
+{
+
+ int airavata_port, app_catalog_port, airavata_timeout;
+ string airavata_server, app_catalog_server;
+ char* cfgfile;
+ cfgfile = "./airavata-client-properties.ini";
+ readConfigFile(cfgfile, airavata_server, app_catalog_server, airavata_port, app_catalog_port, airavata_timeout);
+ airavata_server.erase(0,1);
+ airavata_server.erase(airavata_server.length()-1,1);
+ boost::shared_ptr<TSocket> socket(new TSocket(airavata_server, airavata_port));
+ socket->setSendTimeout(airavata_timeout);
+ boost::shared_ptr<TTransport> transport(new TBufferedTransport(socket));
+ boost::shared_ptr<TProtocol> protocol(new TBinaryProtocol(transport));
+ AiravataClient airavataclient(protocol);
+ transport->open();
+
+
+ if(argc !=2){
+ cout << "Usage: ./launchExperiment <experimentID>";
+ return 0;
+ }
+ char* expId = argv[1];
+ airavataclient.launchExperiment(expId, "airavataToken");
+ cout << "Experiment " << expId << " is launched.\n";
+ transport->close();
+
+}
[13/47] Added c++ client samples for integrattion of airavata with
any other application's c++ interface
Posted by sm...@apache.org.
http://git-wip-us.apache.org/repos/asf/airavata/blob/f891b7dc/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/gatewayResourceProfileModel_constants.h
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/gatewayResourceProfileModel_constants.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/gatewayResourceProfileModel_constants.h
new file mode 100644
index 0000000..e584f21
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/gatewayResourceProfileModel_constants.h
@@ -0,0 +1,25 @@
+/**
+ * Autogenerated by Thrift Compiler (0.9.1)
+ *
+ * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+ * @generated
+ */
+#ifndef gatewayResourceProfileModel_CONSTANTS_H
+#define gatewayResourceProfileModel_CONSTANTS_H
+
+#include "gatewayResourceProfileModel_types.h"
+
+namespace apache { namespace airavata { namespace model { namespace appcatalog { namespace gatewayprofile {
+
+class gatewayResourceProfileModelConstants {
+ public:
+ gatewayResourceProfileModelConstants();
+
+ std::string DEFAULT_ID;
+};
+
+extern const gatewayResourceProfileModelConstants g_gatewayResourceProfileModel_constants;
+
+}}}}} // namespace
+
+#endif
http://git-wip-us.apache.org/repos/asf/airavata/blob/f891b7dc/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/gatewayResourceProfileModel_types.cpp
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/gatewayResourceProfileModel_types.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/gatewayResourceProfileModel_types.cpp
new file mode 100644
index 0000000..d9951ca
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/gatewayResourceProfileModel_types.cpp
@@ -0,0 +1,293 @@
+/**
+ * Autogenerated by Thrift Compiler (0.9.1)
+ *
+ * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+ * @generated
+ */
+#include "gatewayResourceProfileModel_types.h"
+
+#include <algorithm>
+
+namespace apache { namespace airavata { namespace model { namespace appcatalog { namespace gatewayprofile {
+
+const char* ComputeResourcePreference::ascii_fingerprint = "9C98338B7E052CD4DEECB22F243D6DAE";
+const uint8_t ComputeResourcePreference::binary_fingerprint[16] = {0x9C,0x98,0x33,0x8B,0x7E,0x05,0x2C,0xD4,0xDE,0xEC,0xB2,0x2F,0x24,0x3D,0x6D,0xAE};
+
+uint32_t ComputeResourcePreference::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+ uint32_t xfer = 0;
+ std::string fname;
+ ::apache::thrift::protocol::TType ftype;
+ int16_t fid;
+
+ xfer += iprot->readStructBegin(fname);
+
+ using ::apache::thrift::protocol::TProtocolException;
+
+ bool isset_computeResourceId = false;
+ bool isset_overridebyAiravata = false;
+
+ while (true)
+ {
+ xfer += iprot->readFieldBegin(fname, ftype, fid);
+ if (ftype == ::apache::thrift::protocol::T_STOP) {
+ break;
+ }
+ switch (fid)
+ {
+ case 1:
+ if (ftype == ::apache::thrift::protocol::T_STRING) {
+ xfer += iprot->readString(this->computeResourceId);
+ isset_computeResourceId = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 2:
+ if (ftype == ::apache::thrift::protocol::T_BOOL) {
+ xfer += iprot->readBool(this->overridebyAiravata);
+ isset_overridebyAiravata = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 3:
+ if (ftype == ::apache::thrift::protocol::T_STRING) {
+ xfer += iprot->readString(this->preferredJobSubmissionProtocol);
+ this->__isset.preferredJobSubmissionProtocol = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 4:
+ if (ftype == ::apache::thrift::protocol::T_STRING) {
+ xfer += iprot->readString(this->preferredDataMovementProtocol);
+ this->__isset.preferredDataMovementProtocol = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 5:
+ if (ftype == ::apache::thrift::protocol::T_STRING) {
+ xfer += iprot->readString(this->preferredBatchQueue);
+ this->__isset.preferredBatchQueue = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 6:
+ if (ftype == ::apache::thrift::protocol::T_STRING) {
+ xfer += iprot->readString(this->scratchLocation);
+ this->__isset.scratchLocation = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 7:
+ if (ftype == ::apache::thrift::protocol::T_STRING) {
+ xfer += iprot->readString(this->allocationProjectNumber);
+ this->__isset.allocationProjectNumber = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ default:
+ xfer += iprot->skip(ftype);
+ break;
+ }
+ xfer += iprot->readFieldEnd();
+ }
+
+ xfer += iprot->readStructEnd();
+
+ if (!isset_computeResourceId)
+ throw TProtocolException(TProtocolException::INVALID_DATA);
+ if (!isset_overridebyAiravata)
+ throw TProtocolException(TProtocolException::INVALID_DATA);
+ return xfer;
+}
+
+uint32_t ComputeResourcePreference::write(::apache::thrift::protocol::TProtocol* oprot) const {
+ uint32_t xfer = 0;
+ xfer += oprot->writeStructBegin("ComputeResourcePreference");
+
+ xfer += oprot->writeFieldBegin("computeResourceId", ::apache::thrift::protocol::T_STRING, 1);
+ xfer += oprot->writeString(this->computeResourceId);
+ xfer += oprot->writeFieldEnd();
+
+ xfer += oprot->writeFieldBegin("overridebyAiravata", ::apache::thrift::protocol::T_BOOL, 2);
+ xfer += oprot->writeBool(this->overridebyAiravata);
+ xfer += oprot->writeFieldEnd();
+
+ if (this->__isset.preferredJobSubmissionProtocol) {
+ xfer += oprot->writeFieldBegin("preferredJobSubmissionProtocol", ::apache::thrift::protocol::T_STRING, 3);
+ xfer += oprot->writeString(this->preferredJobSubmissionProtocol);
+ xfer += oprot->writeFieldEnd();
+ }
+ if (this->__isset.preferredDataMovementProtocol) {
+ xfer += oprot->writeFieldBegin("preferredDataMovementProtocol", ::apache::thrift::protocol::T_STRING, 4);
+ xfer += oprot->writeString(this->preferredDataMovementProtocol);
+ xfer += oprot->writeFieldEnd();
+ }
+ if (this->__isset.preferredBatchQueue) {
+ xfer += oprot->writeFieldBegin("preferredBatchQueue", ::apache::thrift::protocol::T_STRING, 5);
+ xfer += oprot->writeString(this->preferredBatchQueue);
+ xfer += oprot->writeFieldEnd();
+ }
+ if (this->__isset.scratchLocation) {
+ xfer += oprot->writeFieldBegin("scratchLocation", ::apache::thrift::protocol::T_STRING, 6);
+ xfer += oprot->writeString(this->scratchLocation);
+ xfer += oprot->writeFieldEnd();
+ }
+ if (this->__isset.allocationProjectNumber) {
+ xfer += oprot->writeFieldBegin("allocationProjectNumber", ::apache::thrift::protocol::T_STRING, 7);
+ xfer += oprot->writeString(this->allocationProjectNumber);
+ xfer += oprot->writeFieldEnd();
+ }
+ xfer += oprot->writeFieldStop();
+ xfer += oprot->writeStructEnd();
+ return xfer;
+}
+
+void swap(ComputeResourcePreference &a, ComputeResourcePreference &b) {
+ using ::std::swap;
+ swap(a.computeResourceId, b.computeResourceId);
+ swap(a.overridebyAiravata, b.overridebyAiravata);
+ swap(a.preferredJobSubmissionProtocol, b.preferredJobSubmissionProtocol);
+ swap(a.preferredDataMovementProtocol, b.preferredDataMovementProtocol);
+ swap(a.preferredBatchQueue, b.preferredBatchQueue);
+ swap(a.scratchLocation, b.scratchLocation);
+ swap(a.allocationProjectNumber, b.allocationProjectNumber);
+ swap(a.__isset, b.__isset);
+}
+
+const char* GatewayResourceProfile::ascii_fingerprint = "D6477904C48AAB4DC8F09369D670B400";
+const uint8_t GatewayResourceProfile::binary_fingerprint[16] = {0xD6,0x47,0x79,0x04,0xC4,0x8A,0xAB,0x4D,0xC8,0xF0,0x93,0x69,0xD6,0x70,0xB4,0x00};
+
+uint32_t GatewayResourceProfile::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+ uint32_t xfer = 0;
+ std::string fname;
+ ::apache::thrift::protocol::TType ftype;
+ int16_t fid;
+
+ xfer += iprot->readStructBegin(fname);
+
+ using ::apache::thrift::protocol::TProtocolException;
+
+ bool isset_gatewayID = false;
+ bool isset_gatewayName = false;
+
+ while (true)
+ {
+ xfer += iprot->readFieldBegin(fname, ftype, fid);
+ if (ftype == ::apache::thrift::protocol::T_STOP) {
+ break;
+ }
+ switch (fid)
+ {
+ case 1:
+ if (ftype == ::apache::thrift::protocol::T_STRING) {
+ xfer += iprot->readString(this->gatewayID);
+ isset_gatewayID = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 2:
+ if (ftype == ::apache::thrift::protocol::T_STRING) {
+ xfer += iprot->readString(this->gatewayName);
+ isset_gatewayName = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 3:
+ if (ftype == ::apache::thrift::protocol::T_STRING) {
+ xfer += iprot->readString(this->gatewayDescription);
+ this->__isset.gatewayDescription = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 4:
+ if (ftype == ::apache::thrift::protocol::T_LIST) {
+ {
+ this->computeResourcePreferences.clear();
+ uint32_t _size0;
+ ::apache::thrift::protocol::TType _etype3;
+ xfer += iprot->readListBegin(_etype3, _size0);
+ this->computeResourcePreferences.resize(_size0);
+ uint32_t _i4;
+ for (_i4 = 0; _i4 < _size0; ++_i4)
+ {
+ xfer += this->computeResourcePreferences[_i4].read(iprot);
+ }
+ xfer += iprot->readListEnd();
+ }
+ this->__isset.computeResourcePreferences = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ default:
+ xfer += iprot->skip(ftype);
+ break;
+ }
+ xfer += iprot->readFieldEnd();
+ }
+
+ xfer += iprot->readStructEnd();
+
+ if (!isset_gatewayID)
+ throw TProtocolException(TProtocolException::INVALID_DATA);
+ if (!isset_gatewayName)
+ throw TProtocolException(TProtocolException::INVALID_DATA);
+ return xfer;
+}
+
+uint32_t GatewayResourceProfile::write(::apache::thrift::protocol::TProtocol* oprot) const {
+ uint32_t xfer = 0;
+ xfer += oprot->writeStructBegin("GatewayResourceProfile");
+
+ xfer += oprot->writeFieldBegin("gatewayID", ::apache::thrift::protocol::T_STRING, 1);
+ xfer += oprot->writeString(this->gatewayID);
+ xfer += oprot->writeFieldEnd();
+
+ xfer += oprot->writeFieldBegin("gatewayName", ::apache::thrift::protocol::T_STRING, 2);
+ xfer += oprot->writeString(this->gatewayName);
+ xfer += oprot->writeFieldEnd();
+
+ if (this->__isset.gatewayDescription) {
+ xfer += oprot->writeFieldBegin("gatewayDescription", ::apache::thrift::protocol::T_STRING, 3);
+ xfer += oprot->writeString(this->gatewayDescription);
+ xfer += oprot->writeFieldEnd();
+ }
+ if (this->__isset.computeResourcePreferences) {
+ xfer += oprot->writeFieldBegin("computeResourcePreferences", ::apache::thrift::protocol::T_LIST, 4);
+ {
+ xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>(this->computeResourcePreferences.size()));
+ std::vector<ComputeResourcePreference> ::const_iterator _iter5;
+ for (_iter5 = this->computeResourcePreferences.begin(); _iter5 != this->computeResourcePreferences.end(); ++_iter5)
+ {
+ xfer += (*_iter5).write(oprot);
+ }
+ xfer += oprot->writeListEnd();
+ }
+ xfer += oprot->writeFieldEnd();
+ }
+ xfer += oprot->writeFieldStop();
+ xfer += oprot->writeStructEnd();
+ return xfer;
+}
+
+void swap(GatewayResourceProfile &a, GatewayResourceProfile &b) {
+ using ::std::swap;
+ swap(a.gatewayID, b.gatewayID);
+ swap(a.gatewayName, b.gatewayName);
+ swap(a.gatewayDescription, b.gatewayDescription);
+ swap(a.computeResourcePreferences, b.computeResourcePreferences);
+ swap(a.__isset, b.__isset);
+}
+
+}}}}} // namespace
http://git-wip-us.apache.org/repos/asf/airavata/blob/f891b7dc/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/gatewayResourceProfileModel_types.h
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/gatewayResourceProfileModel_types.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/gatewayResourceProfileModel_types.h
new file mode 100644
index 0000000..62ca9e0
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/gatewayResourceProfileModel_types.h
@@ -0,0 +1,197 @@
+/**
+ * Autogenerated by Thrift Compiler (0.9.1)
+ *
+ * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+ * @generated
+ */
+#ifndef gatewayResourceProfileModel_TYPES_H
+#define gatewayResourceProfileModel_TYPES_H
+
+#include <thrift/Thrift.h>
+#include <thrift/TApplicationException.h>
+#include <thrift/protocol/TProtocol.h>
+#include <thrift/transport/TTransport.h>
+
+#include <thrift/cxxfunctional.h>
+
+
+namespace apache { namespace airavata { namespace model { namespace appcatalog { namespace gatewayprofile {
+
+typedef struct _ComputeResourcePreference__isset {
+ _ComputeResourcePreference__isset() : preferredJobSubmissionProtocol(false), preferredDataMovementProtocol(false), preferredBatchQueue(false), scratchLocation(false), allocationProjectNumber(false) {}
+ bool preferredJobSubmissionProtocol;
+ bool preferredDataMovementProtocol;
+ bool preferredBatchQueue;
+ bool scratchLocation;
+ bool allocationProjectNumber;
+} _ComputeResourcePreference__isset;
+
+class ComputeResourcePreference {
+ public:
+
+ static const char* ascii_fingerprint; // = "9C98338B7E052CD4DEECB22F243D6DAE";
+ static const uint8_t binary_fingerprint[16]; // = {0x9C,0x98,0x33,0x8B,0x7E,0x05,0x2C,0xD4,0xDE,0xEC,0xB2,0x2F,0x24,0x3D,0x6D,0xAE};
+
+ ComputeResourcePreference() : computeResourceId(), overridebyAiravata(true), preferredJobSubmissionProtocol(), preferredDataMovementProtocol(), preferredBatchQueue(), scratchLocation(), allocationProjectNumber() {
+ }
+
+ virtual ~ComputeResourcePreference() throw() {}
+
+ std::string computeResourceId;
+ bool overridebyAiravata;
+ std::string preferredJobSubmissionProtocol;
+ std::string preferredDataMovementProtocol;
+ std::string preferredBatchQueue;
+ std::string scratchLocation;
+ std::string allocationProjectNumber;
+
+ _ComputeResourcePreference__isset __isset;
+
+ void __set_computeResourceId(const std::string& val) {
+ computeResourceId = val;
+ }
+
+ void __set_overridebyAiravata(const bool val) {
+ overridebyAiravata = val;
+ }
+
+ void __set_preferredJobSubmissionProtocol(const std::string& val) {
+ preferredJobSubmissionProtocol = val;
+ __isset.preferredJobSubmissionProtocol = true;
+ }
+
+ void __set_preferredDataMovementProtocol(const std::string& val) {
+ preferredDataMovementProtocol = val;
+ __isset.preferredDataMovementProtocol = true;
+ }
+
+ void __set_preferredBatchQueue(const std::string& val) {
+ preferredBatchQueue = val;
+ __isset.preferredBatchQueue = true;
+ }
+
+ void __set_scratchLocation(const std::string& val) {
+ scratchLocation = val;
+ __isset.scratchLocation = true;
+ }
+
+ void __set_allocationProjectNumber(const std::string& val) {
+ allocationProjectNumber = val;
+ __isset.allocationProjectNumber = true;
+ }
+
+ bool operator == (const ComputeResourcePreference & rhs) const
+ {
+ if (!(computeResourceId == rhs.computeResourceId))
+ return false;
+ if (!(overridebyAiravata == rhs.overridebyAiravata))
+ return false;
+ if (__isset.preferredJobSubmissionProtocol != rhs.__isset.preferredJobSubmissionProtocol)
+ return false;
+ else if (__isset.preferredJobSubmissionProtocol && !(preferredJobSubmissionProtocol == rhs.preferredJobSubmissionProtocol))
+ return false;
+ if (__isset.preferredDataMovementProtocol != rhs.__isset.preferredDataMovementProtocol)
+ return false;
+ else if (__isset.preferredDataMovementProtocol && !(preferredDataMovementProtocol == rhs.preferredDataMovementProtocol))
+ return false;
+ if (__isset.preferredBatchQueue != rhs.__isset.preferredBatchQueue)
+ return false;
+ else if (__isset.preferredBatchQueue && !(preferredBatchQueue == rhs.preferredBatchQueue))
+ return false;
+ if (__isset.scratchLocation != rhs.__isset.scratchLocation)
+ return false;
+ else if (__isset.scratchLocation && !(scratchLocation == rhs.scratchLocation))
+ return false;
+ if (__isset.allocationProjectNumber != rhs.__isset.allocationProjectNumber)
+ return false;
+ else if (__isset.allocationProjectNumber && !(allocationProjectNumber == rhs.allocationProjectNumber))
+ return false;
+ return true;
+ }
+ bool operator != (const ComputeResourcePreference &rhs) const {
+ return !(*this == rhs);
+ }
+
+ bool operator < (const ComputeResourcePreference & ) const;
+
+ uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+ uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+void swap(ComputeResourcePreference &a, ComputeResourcePreference &b);
+
+typedef struct _GatewayResourceProfile__isset {
+ _GatewayResourceProfile__isset() : gatewayDescription(false), computeResourcePreferences(false) {}
+ bool gatewayDescription;
+ bool computeResourcePreferences;
+} _GatewayResourceProfile__isset;
+
+class GatewayResourceProfile {
+ public:
+
+ static const char* ascii_fingerprint; // = "D6477904C48AAB4DC8F09369D670B400";
+ static const uint8_t binary_fingerprint[16]; // = {0xD6,0x47,0x79,0x04,0xC4,0x8A,0xAB,0x4D,0xC8,0xF0,0x93,0x69,0xD6,0x70,0xB4,0x00};
+
+ GatewayResourceProfile() : gatewayID("DO_NOT_SET_AT_CLIENTS"), gatewayName(), gatewayDescription() {
+ }
+
+ virtual ~GatewayResourceProfile() throw() {}
+
+ std::string gatewayID;
+ std::string gatewayName;
+ std::string gatewayDescription;
+ std::vector<ComputeResourcePreference> computeResourcePreferences;
+
+ _GatewayResourceProfile__isset __isset;
+
+ void __set_gatewayID(const std::string& val) {
+ gatewayID = val;
+ }
+
+ void __set_gatewayName(const std::string& val) {
+ gatewayName = val;
+ }
+
+ void __set_gatewayDescription(const std::string& val) {
+ gatewayDescription = val;
+ __isset.gatewayDescription = true;
+ }
+
+ void __set_computeResourcePreferences(const std::vector<ComputeResourcePreference> & val) {
+ computeResourcePreferences = val;
+ __isset.computeResourcePreferences = true;
+ }
+
+ bool operator == (const GatewayResourceProfile & rhs) const
+ {
+ if (!(gatewayID == rhs.gatewayID))
+ return false;
+ if (!(gatewayName == rhs.gatewayName))
+ return false;
+ if (__isset.gatewayDescription != rhs.__isset.gatewayDescription)
+ return false;
+ else if (__isset.gatewayDescription && !(gatewayDescription == rhs.gatewayDescription))
+ return false;
+ if (__isset.computeResourcePreferences != rhs.__isset.computeResourcePreferences)
+ return false;
+ else if (__isset.computeResourcePreferences && !(computeResourcePreferences == rhs.computeResourcePreferences))
+ return false;
+ return true;
+ }
+ bool operator != (const GatewayResourceProfile &rhs) const {
+ return !(*this == rhs);
+ }
+
+ bool operator < (const GatewayResourceProfile & ) const;
+
+ uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+ uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+void swap(GatewayResourceProfile &a, GatewayResourceProfile &b);
+
+}}}}} // namespace
+
+#endif
http://git-wip-us.apache.org/repos/asf/airavata/blob/f891b7dc/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/workflowAPI_constants.cpp
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/workflowAPI_constants.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/workflowAPI_constants.cpp
new file mode 100644
index 0000000..c1755c9
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/workflowAPI_constants.cpp
@@ -0,0 +1,19 @@
+/**
+ * Autogenerated by Thrift Compiler (0.9.1)
+ *
+ * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+ * @generated
+ */
+#include "workflowAPI_constants.h"
+
+namespace airavata { namespace api { namespace workflow {
+
+const workflowAPIConstants g_workflowAPI_constants;
+
+workflowAPIConstants::workflowAPIConstants() {
+ AIRAVATA_API_VERSION = "0.13.0";
+
+}
+
+}}} // namespace
+
http://git-wip-us.apache.org/repos/asf/airavata/blob/f891b7dc/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/workflowAPI_constants.h
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/workflowAPI_constants.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/workflowAPI_constants.h
new file mode 100644
index 0000000..ffb7a9a
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/workflowAPI_constants.h
@@ -0,0 +1,25 @@
+/**
+ * Autogenerated by Thrift Compiler (0.9.1)
+ *
+ * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+ * @generated
+ */
+#ifndef workflowAPI_CONSTANTS_H
+#define workflowAPI_CONSTANTS_H
+
+#include "workflowAPI_types.h"
+
+namespace airavata { namespace api { namespace workflow {
+
+class workflowAPIConstants {
+ public:
+ workflowAPIConstants();
+
+ std::string AIRAVATA_API_VERSION;
+};
+
+extern const workflowAPIConstants g_workflowAPI_constants;
+
+}}} // namespace
+
+#endif
http://git-wip-us.apache.org/repos/asf/airavata/blob/f891b7dc/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/workflowAPI_types.cpp
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/workflowAPI_types.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/workflowAPI_types.cpp
new file mode 100644
index 0000000..4c24d2c
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/workflowAPI_types.cpp
@@ -0,0 +1,13 @@
+/**
+ * Autogenerated by Thrift Compiler (0.9.1)
+ *
+ * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+ * @generated
+ */
+#include "workflowAPI_types.h"
+
+#include <algorithm>
+
+namespace airavata { namespace api { namespace workflow {
+
+}}} // namespace
http://git-wip-us.apache.org/repos/asf/airavata/blob/f891b7dc/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/workflowAPI_types.h
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/workflowAPI_types.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/workflowAPI_types.h
new file mode 100644
index 0000000..5e601f6
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/workflowAPI_types.h
@@ -0,0 +1,30 @@
+/**
+ * Autogenerated by Thrift Compiler (0.9.1)
+ *
+ * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+ * @generated
+ */
+#ifndef workflowAPI_TYPES_H
+#define workflowAPI_TYPES_H
+
+#include <thrift/Thrift.h>
+#include <thrift/TApplicationException.h>
+#include <thrift/protocol/TProtocol.h>
+#include <thrift/transport/TTransport.h>
+
+#include <thrift/cxxfunctional.h>
+#include "airavataErrors_types.h"
+#include "airavataDataModel_types.h"
+#include "experimentModel_types.h"
+#include "workspaceModel_types.h"
+#include "computeResourceModel_types.h"
+#include "applicationDeploymentModel_types.h"
+#include "applicationInterfaceModel_types.h"
+#include "workflowDataModel_types.h"
+
+
+namespace airavata { namespace api { namespace workflow {
+
+}}} // namespace
+
+#endif
http://git-wip-us.apache.org/repos/asf/airavata/blob/f891b7dc/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/workflowDataModel_constants.cpp
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/workflowDataModel_constants.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/workflowDataModel_constants.cpp
new file mode 100644
index 0000000..7335f4e
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/workflowDataModel_constants.cpp
@@ -0,0 +1,19 @@
+/**
+ * Autogenerated by Thrift Compiler (0.9.1)
+ *
+ * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+ * @generated
+ */
+#include "workflowDataModel_constants.h"
+
+
+
+const workflowDataModelConstants g_workflowDataModel_constants;
+
+workflowDataModelConstants::workflowDataModelConstants() {
+ DEFAULT_ID = "DO_NOT_SET_AT_CLIENTS";
+
+}
+
+
+
http://git-wip-us.apache.org/repos/asf/airavata/blob/f891b7dc/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/workflowDataModel_constants.h
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/workflowDataModel_constants.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/workflowDataModel_constants.h
new file mode 100644
index 0000000..29a937b
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/workflowDataModel_constants.h
@@ -0,0 +1,25 @@
+/**
+ * Autogenerated by Thrift Compiler (0.9.1)
+ *
+ * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+ * @generated
+ */
+#ifndef workflowDataModel_CONSTANTS_H
+#define workflowDataModel_CONSTANTS_H
+
+#include "workflowDataModel_types.h"
+
+
+
+class workflowDataModelConstants {
+ public:
+ workflowDataModelConstants();
+
+ std::string DEFAULT_ID;
+};
+
+extern const workflowDataModelConstants g_workflowDataModel_constants;
+
+
+
+#endif
http://git-wip-us.apache.org/repos/asf/airavata/blob/f891b7dc/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/workflowDataModel_types.cpp
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/workflowDataModel_types.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/workflowDataModel_types.cpp
new file mode 100644
index 0000000..8b7bb07
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/workflowDataModel_types.cpp
@@ -0,0 +1,108 @@
+/**
+ * Autogenerated by Thrift Compiler (0.9.1)
+ *
+ * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+ * @generated
+ */
+#include "workflowDataModel_types.h"
+
+#include <algorithm>
+
+
+
+const char* Workflow::ascii_fingerprint = "F4A50F0EC638C7F66026F9B6678FD89B";
+const uint8_t Workflow::binary_fingerprint[16] = {0xF4,0xA5,0x0F,0x0E,0xC6,0x38,0xC7,0xF6,0x60,0x26,0xF9,0xB6,0x67,0x8F,0xD8,0x9B};
+
+uint32_t Workflow::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+ uint32_t xfer = 0;
+ std::string fname;
+ ::apache::thrift::protocol::TType ftype;
+ int16_t fid;
+
+ xfer += iprot->readStructBegin(fname);
+
+ using ::apache::thrift::protocol::TProtocolException;
+
+ bool isset_templateId = false;
+ bool isset_name = false;
+
+ while (true)
+ {
+ xfer += iprot->readFieldBegin(fname, ftype, fid);
+ if (ftype == ::apache::thrift::protocol::T_STOP) {
+ break;
+ }
+ switch (fid)
+ {
+ case 1:
+ if (ftype == ::apache::thrift::protocol::T_STRING) {
+ xfer += iprot->readString(this->templateId);
+ isset_templateId = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 2:
+ if (ftype == ::apache::thrift::protocol::T_STRING) {
+ xfer += iprot->readString(this->name);
+ isset_name = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 3:
+ if (ftype == ::apache::thrift::protocol::T_STRING) {
+ xfer += iprot->readString(this->graph);
+ this->__isset.graph = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ default:
+ xfer += iprot->skip(ftype);
+ break;
+ }
+ xfer += iprot->readFieldEnd();
+ }
+
+ xfer += iprot->readStructEnd();
+
+ if (!isset_templateId)
+ throw TProtocolException(TProtocolException::INVALID_DATA);
+ if (!isset_name)
+ throw TProtocolException(TProtocolException::INVALID_DATA);
+ return xfer;
+}
+
+uint32_t Workflow::write(::apache::thrift::protocol::TProtocol* oprot) const {
+ uint32_t xfer = 0;
+ xfer += oprot->writeStructBegin("Workflow");
+
+ xfer += oprot->writeFieldBegin("templateId", ::apache::thrift::protocol::T_STRING, 1);
+ xfer += oprot->writeString(this->templateId);
+ xfer += oprot->writeFieldEnd();
+
+ xfer += oprot->writeFieldBegin("name", ::apache::thrift::protocol::T_STRING, 2);
+ xfer += oprot->writeString(this->name);
+ xfer += oprot->writeFieldEnd();
+
+ if (this->__isset.graph) {
+ xfer += oprot->writeFieldBegin("graph", ::apache::thrift::protocol::T_STRING, 3);
+ xfer += oprot->writeString(this->graph);
+ xfer += oprot->writeFieldEnd();
+ }
+ xfer += oprot->writeFieldStop();
+ xfer += oprot->writeStructEnd();
+ return xfer;
+}
+
+void swap(Workflow &a, Workflow &b) {
+ using ::std::swap;
+ swap(a.templateId, b.templateId);
+ swap(a.name, b.name);
+ swap(a.graph, b.graph);
+ swap(a.__isset, b.__isset);
+}
+
+
http://git-wip-us.apache.org/repos/asf/airavata/blob/f891b7dc/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/workflowDataModel_types.h
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/workflowDataModel_types.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/workflowDataModel_types.h
new file mode 100644
index 0000000..3ec5a3d
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/workflowDataModel_types.h
@@ -0,0 +1,82 @@
+/**
+ * Autogenerated by Thrift Compiler (0.9.1)
+ *
+ * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+ * @generated
+ */
+#ifndef workflowDataModel_TYPES_H
+#define workflowDataModel_TYPES_H
+
+#include <thrift/Thrift.h>
+#include <thrift/TApplicationException.h>
+#include <thrift/protocol/TProtocol.h>
+#include <thrift/transport/TTransport.h>
+
+#include <thrift/cxxfunctional.h>
+
+
+
+
+typedef struct _Workflow__isset {
+ _Workflow__isset() : graph(false) {}
+ bool graph;
+} _Workflow__isset;
+
+class Workflow {
+ public:
+
+ static const char* ascii_fingerprint; // = "F4A50F0EC638C7F66026F9B6678FD89B";
+ static const uint8_t binary_fingerprint[16]; // = {0xF4,0xA5,0x0F,0x0E,0xC6,0x38,0xC7,0xF6,0x60,0x26,0xF9,0xB6,0x67,0x8F,0xD8,0x9B};
+
+ Workflow() : templateId("DO_NOT_SET_AT_CLIENTS"), name(), graph() {
+ }
+
+ virtual ~Workflow() throw() {}
+
+ std::string templateId;
+ std::string name;
+ std::string graph;
+
+ _Workflow__isset __isset;
+
+ void __set_templateId(const std::string& val) {
+ templateId = val;
+ }
+
+ void __set_name(const std::string& val) {
+ name = val;
+ }
+
+ void __set_graph(const std::string& val) {
+ graph = val;
+ __isset.graph = true;
+ }
+
+ bool operator == (const Workflow & rhs) const
+ {
+ if (!(templateId == rhs.templateId))
+ return false;
+ if (!(name == rhs.name))
+ return false;
+ if (__isset.graph != rhs.__isset.graph)
+ return false;
+ else if (__isset.graph && !(graph == rhs.graph))
+ return false;
+ return true;
+ }
+ bool operator != (const Workflow &rhs) const {
+ return !(*this == rhs);
+ }
+
+ bool operator < (const Workflow & ) const;
+
+ uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+ uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+void swap(Workflow &a, Workflow &b);
+
+
+
+#endif
http://git-wip-us.apache.org/repos/asf/airavata/blob/f891b7dc/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/workspaceModel_constants.cpp
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/workspaceModel_constants.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/workspaceModel_constants.cpp
new file mode 100644
index 0000000..0afb586
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/workspaceModel_constants.cpp
@@ -0,0 +1,17 @@
+/**
+ * Autogenerated by Thrift Compiler (0.9.1)
+ *
+ * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+ * @generated
+ */
+#include "workspaceModel_constants.h"
+
+namespace apache { namespace airavata { namespace model { namespace workspace {
+
+const workspaceModelConstants g_workspaceModel_constants;
+
+workspaceModelConstants::workspaceModelConstants() {
+}
+
+}}}} // namespace
+
http://git-wip-us.apache.org/repos/asf/airavata/blob/f891b7dc/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/workspaceModel_constants.h
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/workspaceModel_constants.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/workspaceModel_constants.h
new file mode 100644
index 0000000..f1cc0cd
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/workspaceModel_constants.h
@@ -0,0 +1,24 @@
+/**
+ * Autogenerated by Thrift Compiler (0.9.1)
+ *
+ * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+ * @generated
+ */
+#ifndef workspaceModel_CONSTANTS_H
+#define workspaceModel_CONSTANTS_H
+
+#include "workspaceModel_types.h"
+
+namespace apache { namespace airavata { namespace model { namespace workspace {
+
+class workspaceModelConstants {
+ public:
+ workspaceModelConstants();
+
+};
+
+extern const workspaceModelConstants g_workspaceModel_constants;
+
+}}}} // namespace
+
+#endif
http://git-wip-us.apache.org/repos/asf/airavata/blob/f891b7dc/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/workspaceModel_types.cpp
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/workspaceModel_types.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/workspaceModel_types.cpp
new file mode 100644
index 0000000..d3e7b7c
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/workspaceModel_types.cpp
@@ -0,0 +1,464 @@
+/**
+ * Autogenerated by Thrift Compiler (0.9.1)
+ *
+ * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+ * @generated
+ */
+#include "workspaceModel_types.h"
+
+#include <algorithm>
+
+namespace apache { namespace airavata { namespace model { namespace workspace {
+
+const char* Group::ascii_fingerprint = "5B708A954C550ECA9C1A49D3C5CAFAB9";
+const uint8_t Group::binary_fingerprint[16] = {0x5B,0x70,0x8A,0x95,0x4C,0x55,0x0E,0xCA,0x9C,0x1A,0x49,0xD3,0xC5,0xCA,0xFA,0xB9};
+
+uint32_t Group::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+ uint32_t xfer = 0;
+ std::string fname;
+ ::apache::thrift::protocol::TType ftype;
+ int16_t fid;
+
+ xfer += iprot->readStructBegin(fname);
+
+ using ::apache::thrift::protocol::TProtocolException;
+
+ bool isset_groupName = false;
+
+ while (true)
+ {
+ xfer += iprot->readFieldBegin(fname, ftype, fid);
+ if (ftype == ::apache::thrift::protocol::T_STOP) {
+ break;
+ }
+ switch (fid)
+ {
+ case 1:
+ if (ftype == ::apache::thrift::protocol::T_STRING) {
+ xfer += iprot->readString(this->groupName);
+ isset_groupName = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 2:
+ if (ftype == ::apache::thrift::protocol::T_STRING) {
+ xfer += iprot->readString(this->description);
+ this->__isset.description = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ default:
+ xfer += iprot->skip(ftype);
+ break;
+ }
+ xfer += iprot->readFieldEnd();
+ }
+
+ xfer += iprot->readStructEnd();
+
+ if (!isset_groupName)
+ throw TProtocolException(TProtocolException::INVALID_DATA);
+ return xfer;
+}
+
+uint32_t Group::write(::apache::thrift::protocol::TProtocol* oprot) const {
+ uint32_t xfer = 0;
+ xfer += oprot->writeStructBegin("Group");
+
+ xfer += oprot->writeFieldBegin("groupName", ::apache::thrift::protocol::T_STRING, 1);
+ xfer += oprot->writeString(this->groupName);
+ xfer += oprot->writeFieldEnd();
+
+ if (this->__isset.description) {
+ xfer += oprot->writeFieldBegin("description", ::apache::thrift::protocol::T_STRING, 2);
+ xfer += oprot->writeString(this->description);
+ xfer += oprot->writeFieldEnd();
+ }
+ xfer += oprot->writeFieldStop();
+ xfer += oprot->writeStructEnd();
+ return xfer;
+}
+
+void swap(Group &a, Group &b) {
+ using ::std::swap;
+ swap(a.groupName, b.groupName);
+ swap(a.description, b.description);
+ swap(a.__isset, b.__isset);
+}
+
+const char* Project::ascii_fingerprint = "AFD8090DE564134035942D450F918628";
+const uint8_t Project::binary_fingerprint[16] = {0xAF,0xD8,0x09,0x0D,0xE5,0x64,0x13,0x40,0x35,0x94,0x2D,0x45,0x0F,0x91,0x86,0x28};
+
+uint32_t Project::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+ uint32_t xfer = 0;
+ std::string fname;
+ ::apache::thrift::protocol::TType ftype;
+ int16_t fid;
+
+ xfer += iprot->readStructBegin(fname);
+
+ using ::apache::thrift::protocol::TProtocolException;
+
+ bool isset_projectID = false;
+ bool isset_owner = false;
+ bool isset_name = false;
+
+ while (true)
+ {
+ xfer += iprot->readFieldBegin(fname, ftype, fid);
+ if (ftype == ::apache::thrift::protocol::T_STOP) {
+ break;
+ }
+ switch (fid)
+ {
+ case 1:
+ if (ftype == ::apache::thrift::protocol::T_STRING) {
+ xfer += iprot->readString(this->projectID);
+ isset_projectID = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 2:
+ if (ftype == ::apache::thrift::protocol::T_STRING) {
+ xfer += iprot->readString(this->owner);
+ isset_owner = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 3:
+ if (ftype == ::apache::thrift::protocol::T_STRING) {
+ xfer += iprot->readString(this->name);
+ isset_name = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 4:
+ if (ftype == ::apache::thrift::protocol::T_STRING) {
+ xfer += iprot->readString(this->description);
+ this->__isset.description = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 5:
+ if (ftype == ::apache::thrift::protocol::T_I64) {
+ xfer += iprot->readI64(this->creationTime);
+ this->__isset.creationTime = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 6:
+ if (ftype == ::apache::thrift::protocol::T_LIST) {
+ {
+ this->sharedUsers.clear();
+ uint32_t _size0;
+ ::apache::thrift::protocol::TType _etype3;
+ xfer += iprot->readListBegin(_etype3, _size0);
+ this->sharedUsers.resize(_size0);
+ uint32_t _i4;
+ for (_i4 = 0; _i4 < _size0; ++_i4)
+ {
+ xfer += iprot->readString(this->sharedUsers[_i4]);
+ }
+ xfer += iprot->readListEnd();
+ }
+ this->__isset.sharedUsers = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 7:
+ if (ftype == ::apache::thrift::protocol::T_LIST) {
+ {
+ this->sharedGroups.clear();
+ uint32_t _size5;
+ ::apache::thrift::protocol::TType _etype8;
+ xfer += iprot->readListBegin(_etype8, _size5);
+ this->sharedGroups.resize(_size5);
+ uint32_t _i9;
+ for (_i9 = 0; _i9 < _size5; ++_i9)
+ {
+ xfer += iprot->readString(this->sharedGroups[_i9]);
+ }
+ xfer += iprot->readListEnd();
+ }
+ this->__isset.sharedGroups = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ default:
+ xfer += iprot->skip(ftype);
+ break;
+ }
+ xfer += iprot->readFieldEnd();
+ }
+
+ xfer += iprot->readStructEnd();
+
+ if (!isset_projectID)
+ throw TProtocolException(TProtocolException::INVALID_DATA);
+ if (!isset_owner)
+ throw TProtocolException(TProtocolException::INVALID_DATA);
+ if (!isset_name)
+ throw TProtocolException(TProtocolException::INVALID_DATA);
+ return xfer;
+}
+
+uint32_t Project::write(::apache::thrift::protocol::TProtocol* oprot) const {
+ uint32_t xfer = 0;
+ xfer += oprot->writeStructBegin("Project");
+
+ xfer += oprot->writeFieldBegin("projectID", ::apache::thrift::protocol::T_STRING, 1);
+ xfer += oprot->writeString(this->projectID);
+ xfer += oprot->writeFieldEnd();
+
+ xfer += oprot->writeFieldBegin("owner", ::apache::thrift::protocol::T_STRING, 2);
+ xfer += oprot->writeString(this->owner);
+ xfer += oprot->writeFieldEnd();
+
+ xfer += oprot->writeFieldBegin("name", ::apache::thrift::protocol::T_STRING, 3);
+ xfer += oprot->writeString(this->name);
+ xfer += oprot->writeFieldEnd();
+
+ if (this->__isset.description) {
+ xfer += oprot->writeFieldBegin("description", ::apache::thrift::protocol::T_STRING, 4);
+ xfer += oprot->writeString(this->description);
+ xfer += oprot->writeFieldEnd();
+ }
+ if (this->__isset.creationTime) {
+ xfer += oprot->writeFieldBegin("creationTime", ::apache::thrift::protocol::T_I64, 5);
+ xfer += oprot->writeI64(this->creationTime);
+ xfer += oprot->writeFieldEnd();
+ }
+ if (this->__isset.sharedUsers) {
+ xfer += oprot->writeFieldBegin("sharedUsers", ::apache::thrift::protocol::T_LIST, 6);
+ {
+ xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRING, static_cast<uint32_t>(this->sharedUsers.size()));
+ std::vector<std::string> ::const_iterator _iter10;
+ for (_iter10 = this->sharedUsers.begin(); _iter10 != this->sharedUsers.end(); ++_iter10)
+ {
+ xfer += oprot->writeString((*_iter10));
+ }
+ xfer += oprot->writeListEnd();
+ }
+ xfer += oprot->writeFieldEnd();
+ }
+ if (this->__isset.sharedGroups) {
+ xfer += oprot->writeFieldBegin("sharedGroups", ::apache::thrift::protocol::T_LIST, 7);
+ {
+ xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRING, static_cast<uint32_t>(this->sharedGroups.size()));
+ std::vector<std::string> ::const_iterator _iter11;
+ for (_iter11 = this->sharedGroups.begin(); _iter11 != this->sharedGroups.end(); ++_iter11)
+ {
+ xfer += oprot->writeString((*_iter11));
+ }
+ xfer += oprot->writeListEnd();
+ }
+ xfer += oprot->writeFieldEnd();
+ }
+ xfer += oprot->writeFieldStop();
+ xfer += oprot->writeStructEnd();
+ return xfer;
+}
+
+void swap(Project &a, Project &b) {
+ using ::std::swap;
+ swap(a.projectID, b.projectID);
+ swap(a.owner, b.owner);
+ swap(a.name, b.name);
+ swap(a.description, b.description);
+ swap(a.creationTime, b.creationTime);
+ swap(a.sharedUsers, b.sharedUsers);
+ swap(a.sharedGroups, b.sharedGroups);
+ swap(a.__isset, b.__isset);
+}
+
+const char* User::ascii_fingerprint = "D7DA282D6B2F08CB02B4E3CF47DB44E5";
+const uint8_t User::binary_fingerprint[16] = {0xD7,0xDA,0x28,0x2D,0x6B,0x2F,0x08,0xCB,0x02,0xB4,0xE3,0xCF,0x47,0xDB,0x44,0xE5};
+
+uint32_t User::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+ uint32_t xfer = 0;
+ std::string fname;
+ ::apache::thrift::protocol::TType ftype;
+ int16_t fid;
+
+ xfer += iprot->readStructBegin(fname);
+
+ using ::apache::thrift::protocol::TProtocolException;
+
+ bool isset_userName = false;
+
+ while (true)
+ {
+ xfer += iprot->readFieldBegin(fname, ftype, fid);
+ if (ftype == ::apache::thrift::protocol::T_STOP) {
+ break;
+ }
+ switch (fid)
+ {
+ case 1:
+ if (ftype == ::apache::thrift::protocol::T_STRING) {
+ xfer += iprot->readString(this->userName);
+ isset_userName = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 2:
+ if (ftype == ::apache::thrift::protocol::T_LIST) {
+ {
+ this->groupList.clear();
+ uint32_t _size12;
+ ::apache::thrift::protocol::TType _etype15;
+ xfer += iprot->readListBegin(_etype15, _size12);
+ this->groupList.resize(_size12);
+ uint32_t _i16;
+ for (_i16 = 0; _i16 < _size12; ++_i16)
+ {
+ xfer += this->groupList[_i16].read(iprot);
+ }
+ xfer += iprot->readListEnd();
+ }
+ this->__isset.groupList = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ default:
+ xfer += iprot->skip(ftype);
+ break;
+ }
+ xfer += iprot->readFieldEnd();
+ }
+
+ xfer += iprot->readStructEnd();
+
+ if (!isset_userName)
+ throw TProtocolException(TProtocolException::INVALID_DATA);
+ return xfer;
+}
+
+uint32_t User::write(::apache::thrift::protocol::TProtocol* oprot) const {
+ uint32_t xfer = 0;
+ xfer += oprot->writeStructBegin("User");
+
+ xfer += oprot->writeFieldBegin("userName", ::apache::thrift::protocol::T_STRING, 1);
+ xfer += oprot->writeString(this->userName);
+ xfer += oprot->writeFieldEnd();
+
+ if (this->__isset.groupList) {
+ xfer += oprot->writeFieldBegin("groupList", ::apache::thrift::protocol::T_LIST, 2);
+ {
+ xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>(this->groupList.size()));
+ std::vector<Group> ::const_iterator _iter17;
+ for (_iter17 = this->groupList.begin(); _iter17 != this->groupList.end(); ++_iter17)
+ {
+ xfer += (*_iter17).write(oprot);
+ }
+ xfer += oprot->writeListEnd();
+ }
+ xfer += oprot->writeFieldEnd();
+ }
+ xfer += oprot->writeFieldStop();
+ xfer += oprot->writeStructEnd();
+ return xfer;
+}
+
+void swap(User &a, User &b) {
+ using ::std::swap;
+ swap(a.userName, b.userName);
+ swap(a.groupList, b.groupList);
+ swap(a.__isset, b.__isset);
+}
+
+const char* Gateway::ascii_fingerprint = "07A9615F837F7D0A952B595DD3020972";
+const uint8_t Gateway::binary_fingerprint[16] = {0x07,0xA9,0x61,0x5F,0x83,0x7F,0x7D,0x0A,0x95,0x2B,0x59,0x5D,0xD3,0x02,0x09,0x72};
+
+uint32_t Gateway::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+ uint32_t xfer = 0;
+ std::string fname;
+ ::apache::thrift::protocol::TType ftype;
+ int16_t fid;
+
+ xfer += iprot->readStructBegin(fname);
+
+ using ::apache::thrift::protocol::TProtocolException;
+
+ bool isset_gatewayId = false;
+ bool isset_name = false;
+
+ while (true)
+ {
+ xfer += iprot->readFieldBegin(fname, ftype, fid);
+ if (ftype == ::apache::thrift::protocol::T_STOP) {
+ break;
+ }
+ switch (fid)
+ {
+ case 1:
+ if (ftype == ::apache::thrift::protocol::T_STRING) {
+ xfer += iprot->readString(this->gatewayId);
+ isset_gatewayId = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 2:
+ if (ftype == ::apache::thrift::protocol::T_STRING) {
+ xfer += iprot->readString(this->name);
+ isset_name = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ default:
+ xfer += iprot->skip(ftype);
+ break;
+ }
+ xfer += iprot->readFieldEnd();
+ }
+
+ xfer += iprot->readStructEnd();
+
+ if (!isset_gatewayId)
+ throw TProtocolException(TProtocolException::INVALID_DATA);
+ if (!isset_name)
+ throw TProtocolException(TProtocolException::INVALID_DATA);
+ return xfer;
+}
+
+uint32_t Gateway::write(::apache::thrift::protocol::TProtocol* oprot) const {
+ uint32_t xfer = 0;
+ xfer += oprot->writeStructBegin("Gateway");
+
+ xfer += oprot->writeFieldBegin("gatewayId", ::apache::thrift::protocol::T_STRING, 1);
+ xfer += oprot->writeString(this->gatewayId);
+ xfer += oprot->writeFieldEnd();
+
+ xfer += oprot->writeFieldBegin("name", ::apache::thrift::protocol::T_STRING, 2);
+ xfer += oprot->writeString(this->name);
+ xfer += oprot->writeFieldEnd();
+
+ xfer += oprot->writeFieldStop();
+ xfer += oprot->writeStructEnd();
+ return xfer;
+}
+
+void swap(Gateway &a, Gateway &b) {
+ using ::std::swap;
+ swap(a.gatewayId, b.gatewayId);
+ swap(a.name, b.name);
+}
+
+}}}} // namespace
http://git-wip-us.apache.org/repos/asf/airavata/blob/f891b7dc/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/workspaceModel_types.h
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/workspaceModel_types.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/workspaceModel_types.h
new file mode 100644
index 0000000..2ed8611
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/workspaceModel_types.h
@@ -0,0 +1,273 @@
+/**
+ * Autogenerated by Thrift Compiler (0.9.1)
+ *
+ * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+ * @generated
+ */
+#ifndef workspaceModel_TYPES_H
+#define workspaceModel_TYPES_H
+
+#include <thrift/Thrift.h>
+#include <thrift/TApplicationException.h>
+#include <thrift/protocol/TProtocol.h>
+#include <thrift/transport/TTransport.h>
+
+#include <thrift/cxxfunctional.h>
+#include "experimentModel_types.h"
+
+
+namespace apache { namespace airavata { namespace model { namespace workspace {
+
+typedef struct _Group__isset {
+ _Group__isset() : description(false) {}
+ bool description;
+} _Group__isset;
+
+class Group {
+ public:
+
+ static const char* ascii_fingerprint; // = "5B708A954C550ECA9C1A49D3C5CAFAB9";
+ static const uint8_t binary_fingerprint[16]; // = {0x5B,0x70,0x8A,0x95,0x4C,0x55,0x0E,0xCA,0x9C,0x1A,0x49,0xD3,0xC5,0xCA,0xFA,0xB9};
+
+ Group() : groupName(), description() {
+ }
+
+ virtual ~Group() throw() {}
+
+ std::string groupName;
+ std::string description;
+
+ _Group__isset __isset;
+
+ void __set_groupName(const std::string& val) {
+ groupName = val;
+ }
+
+ void __set_description(const std::string& val) {
+ description = val;
+ __isset.description = true;
+ }
+
+ bool operator == (const Group & rhs) const
+ {
+ if (!(groupName == rhs.groupName))
+ return false;
+ if (__isset.description != rhs.__isset.description)
+ return false;
+ else if (__isset.description && !(description == rhs.description))
+ return false;
+ return true;
+ }
+ bool operator != (const Group &rhs) const {
+ return !(*this == rhs);
+ }
+
+ bool operator < (const Group & ) const;
+
+ uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+ uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+void swap(Group &a, Group &b);
+
+typedef struct _Project__isset {
+ _Project__isset() : description(false), creationTime(false), sharedUsers(false), sharedGroups(false) {}
+ bool description;
+ bool creationTime;
+ bool sharedUsers;
+ bool sharedGroups;
+} _Project__isset;
+
+class Project {
+ public:
+
+ static const char* ascii_fingerprint; // = "AFD8090DE564134035942D450F918628";
+ static const uint8_t binary_fingerprint[16]; // = {0xAF,0xD8,0x09,0x0D,0xE5,0x64,0x13,0x40,0x35,0x94,0x2D,0x45,0x0F,0x91,0x86,0x28};
+
+ Project() : projectID("DEFAULT"), owner(), name(), description(), creationTime(0) {
+ }
+
+ virtual ~Project() throw() {}
+
+ std::string projectID;
+ std::string owner;
+ std::string name;
+ std::string description;
+ int64_t creationTime;
+ std::vector<std::string> sharedUsers;
+ std::vector<std::string> sharedGroups;
+
+ _Project__isset __isset;
+
+ void __set_projectID(const std::string& val) {
+ projectID = val;
+ }
+
+ void __set_owner(const std::string& val) {
+ owner = val;
+ }
+
+ void __set_name(const std::string& val) {
+ name = val;
+ }
+
+ void __set_description(const std::string& val) {
+ description = val;
+ __isset.description = true;
+ }
+
+ void __set_creationTime(const int64_t val) {
+ creationTime = val;
+ __isset.creationTime = true;
+ }
+
+ void __set_sharedUsers(const std::vector<std::string> & val) {
+ sharedUsers = val;
+ __isset.sharedUsers = true;
+ }
+
+ void __set_sharedGroups(const std::vector<std::string> & val) {
+ sharedGroups = val;
+ __isset.sharedGroups = true;
+ }
+
+ bool operator == (const Project & rhs) const
+ {
+ if (!(projectID == rhs.projectID))
+ return false;
+ if (!(owner == rhs.owner))
+ return false;
+ if (!(name == rhs.name))
+ return false;
+ if (__isset.description != rhs.__isset.description)
+ return false;
+ else if (__isset.description && !(description == rhs.description))
+ return false;
+ if (__isset.creationTime != rhs.__isset.creationTime)
+ return false;
+ else if (__isset.creationTime && !(creationTime == rhs.creationTime))
+ return false;
+ if (__isset.sharedUsers != rhs.__isset.sharedUsers)
+ return false;
+ else if (__isset.sharedUsers && !(sharedUsers == rhs.sharedUsers))
+ return false;
+ if (__isset.sharedGroups != rhs.__isset.sharedGroups)
+ return false;
+ else if (__isset.sharedGroups && !(sharedGroups == rhs.sharedGroups))
+ return false;
+ return true;
+ }
+ bool operator != (const Project &rhs) const {
+ return !(*this == rhs);
+ }
+
+ bool operator < (const Project & ) const;
+
+ uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+ uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+void swap(Project &a, Project &b);
+
+typedef struct _User__isset {
+ _User__isset() : groupList(false) {}
+ bool groupList;
+} _User__isset;
+
+class User {
+ public:
+
+ static const char* ascii_fingerprint; // = "D7DA282D6B2F08CB02B4E3CF47DB44E5";
+ static const uint8_t binary_fingerprint[16]; // = {0xD7,0xDA,0x28,0x2D,0x6B,0x2F,0x08,0xCB,0x02,0xB4,0xE3,0xCF,0x47,0xDB,0x44,0xE5};
+
+ User() : userName() {
+ }
+
+ virtual ~User() throw() {}
+
+ std::string userName;
+ std::vector<Group> groupList;
+
+ _User__isset __isset;
+
+ void __set_userName(const std::string& val) {
+ userName = val;
+ }
+
+ void __set_groupList(const std::vector<Group> & val) {
+ groupList = val;
+ __isset.groupList = true;
+ }
+
+ bool operator == (const User & rhs) const
+ {
+ if (!(userName == rhs.userName))
+ return false;
+ if (__isset.groupList != rhs.__isset.groupList)
+ return false;
+ else if (__isset.groupList && !(groupList == rhs.groupList))
+ return false;
+ return true;
+ }
+ bool operator != (const User &rhs) const {
+ return !(*this == rhs);
+ }
+
+ bool operator < (const User & ) const;
+
+ uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+ uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+void swap(User &a, User &b);
+
+
+class Gateway {
+ public:
+
+ static const char* ascii_fingerprint; // = "07A9615F837F7D0A952B595DD3020972";
+ static const uint8_t binary_fingerprint[16]; // = {0x07,0xA9,0x61,0x5F,0x83,0x7F,0x7D,0x0A,0x95,0x2B,0x59,0x5D,0xD3,0x02,0x09,0x72};
+
+ Gateway() : gatewayId("DO_NOT_SET_AT_CLIENTS"), name() {
+ }
+
+ virtual ~Gateway() throw() {}
+
+ std::string gatewayId;
+ std::string name;
+
+ void __set_gatewayId(const std::string& val) {
+ gatewayId = val;
+ }
+
+ void __set_name(const std::string& val) {
+ name = val;
+ }
+
+ bool operator == (const Gateway & rhs) const
+ {
+ if (!(gatewayId == rhs.gatewayId))
+ return false;
+ if (!(name == rhs.name))
+ return false;
+ return true;
+ }
+ bool operator != (const Gateway &rhs) const {
+ return !(*this == rhs);
+ }
+
+ bool operator < (const Gateway & ) const;
+
+ uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+ uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+void swap(Gateway &a, Gateway &b);
+
+}}}} // namespace
+
+#endif
http://git-wip-us.apache.org/repos/asf/airavata/blob/f891b7dc/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/TApplicationException.cpp
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/TApplicationException.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/TApplicationException.cpp
new file mode 100644
index 0000000..1110ba2
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/TApplicationException.cpp
@@ -0,0 +1,80 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you 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 <thrift/TApplicationException.h>
+#include <thrift/protocol/TProtocol.h>
+
+namespace apache { namespace thrift {
+
+uint32_t TApplicationException::read(apache::thrift::protocol::TProtocol* iprot) {
+ uint32_t xfer = 0;
+ std::string fname;
+ apache::thrift::protocol::TType ftype;
+ int16_t fid;
+
+ xfer += iprot->readStructBegin(fname);
+
+ while (true) {
+ xfer += iprot->readFieldBegin(fname, ftype, fid);
+ if (ftype == apache::thrift::protocol::T_STOP) {
+ break;
+ }
+ switch (fid) {
+ case 1:
+ if (ftype == apache::thrift::protocol::T_STRING) {
+ xfer += iprot->readString(message_);
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 2:
+ if (ftype == apache::thrift::protocol::T_I32) {
+ int32_t type;
+ xfer += iprot->readI32(type);
+ type_ = (TApplicationExceptionType)type;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ default:
+ xfer += iprot->skip(ftype);
+ break;
+ }
+ xfer += iprot->readFieldEnd();
+ }
+
+ xfer += iprot->readStructEnd();
+ return xfer;
+}
+
+uint32_t TApplicationException::write(apache::thrift::protocol::TProtocol* oprot) const {
+ uint32_t xfer = 0;
+ xfer += oprot->writeStructBegin("TApplicationException");
+ xfer += oprot->writeFieldBegin("message", apache::thrift::protocol::T_STRING, 1);
+ xfer += oprot->writeString(message_);
+ xfer += oprot->writeFieldEnd();
+ xfer += oprot->writeFieldBegin("type", apache::thrift::protocol::T_I32, 2);
+ xfer += oprot->writeI32(type_);
+ xfer += oprot->writeFieldEnd();
+ xfer += oprot->writeFieldStop();
+ xfer += oprot->writeStructEnd();
+ return xfer;
+}
+
+}} // apache::thrift
http://git-wip-us.apache.org/repos/asf/airavata/blob/f891b7dc/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/TApplicationException.h
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/TApplicationException.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/TApplicationException.h
new file mode 100644
index 0000000..d32a21d
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/TApplicationException.h
@@ -0,0 +1,115 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you 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 _THRIFT_TAPPLICATIONEXCEPTION_H_
+#define _THRIFT_TAPPLICATIONEXCEPTION_H_ 1
+
+#include <thrift/Thrift.h>
+
+
+namespace apache { namespace thrift {
+
+namespace protocol {
+ class TProtocol;
+}
+
+class TApplicationException : public TException {
+ public:
+
+ /**
+ * Error codes for the various types of exceptions.
+ */
+ enum TApplicationExceptionType {
+ UNKNOWN = 0,
+ UNKNOWN_METHOD = 1,
+ INVALID_MESSAGE_TYPE = 2,
+ WRONG_METHOD_NAME = 3,
+ BAD_SEQUENCE_ID = 4,
+ MISSING_RESULT = 5,
+ INTERNAL_ERROR = 6,
+ PROTOCOL_ERROR = 7,
+ INVALID_TRANSFORM = 8,
+ INVALID_PROTOCOL = 9,
+ UNSUPPORTED_CLIENT_TYPE = 10
+ };
+
+ TApplicationException() :
+ TException(),
+ type_(UNKNOWN) {}
+
+ TApplicationException(TApplicationExceptionType type) :
+ TException(),
+ type_(type) {}
+
+ TApplicationException(const std::string& message) :
+ TException(message),
+ type_(UNKNOWN) {}
+
+ TApplicationException(TApplicationExceptionType type,
+ const std::string& message) :
+ TException(message),
+ type_(type) {}
+
+ virtual ~TApplicationException() throw() {}
+
+ /**
+ * Returns an error code that provides information about the type of error
+ * that has occurred.
+ *
+ * @return Error code
+ */
+ TApplicationExceptionType getType() {
+ return type_;
+ }
+
+ virtual const char* what() const throw() {
+ if (message_.empty()) {
+ switch (type_) {
+ case UNKNOWN : return "TApplicationException: Unknown application exception";
+ case UNKNOWN_METHOD : return "TApplicationException: Unknown method";
+ case INVALID_MESSAGE_TYPE : return "TApplicationException: Invalid message type";
+ case WRONG_METHOD_NAME : return "TApplicationException: Wrong method name";
+ case BAD_SEQUENCE_ID : return "TApplicationException: Bad sequence identifier";
+ case MISSING_RESULT : return "TApplicationException: Missing result";
+ case INTERNAL_ERROR : return "TApplicationException: Internal error";
+ case PROTOCOL_ERROR : return "TApplicationException: Protocol error";
+ case INVALID_TRANSFORM : return "TApplicationException: Invalid transform";
+ case INVALID_PROTOCOL : return "TApplicationException: Invalid protocol";
+ case UNSUPPORTED_CLIENT_TYPE : return "TApplicationException: Unsupported client type";
+ default : return "TApplicationException: (Invalid exception type)";
+ };
+ } else {
+ return message_.c_str();
+ }
+ }
+
+ uint32_t read(protocol::TProtocol* iprot);
+ uint32_t write(protocol::TProtocol* oprot) const;
+
+ protected:
+ /**
+ * Error code
+ */
+ TApplicationExceptionType type_;
+
+};
+
+}} // apache::thrift
+
+#endif // #ifndef _THRIFT_TAPPLICATIONEXCEPTION_H_
http://git-wip-us.apache.org/repos/asf/airavata/blob/f891b7dc/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/TDispatchProcessor.h
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/TDispatchProcessor.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/TDispatchProcessor.h
new file mode 100644
index 0000000..33ec22e
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/TDispatchProcessor.h
@@ -0,0 +1,142 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you 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 _THRIFT_TDISPATCHPROCESSOR_H_
+#define _THRIFT_TDISPATCHPROCESSOR_H_ 1
+
+#include <thrift/TProcessor.h>
+
+namespace apache { namespace thrift {
+
+/**
+ * TDispatchProcessor is a helper class to parse the message header then call
+ * another function to dispatch based on the function name.
+ *
+ * Subclasses must implement dispatchCall() to dispatch on the function name.
+ */
+template <class Protocol_>
+class TDispatchProcessorT : public TProcessor {
+ public:
+ virtual bool process(boost::shared_ptr<protocol::TProtocol> in,
+ boost::shared_ptr<protocol::TProtocol> out,
+ void* connectionContext) {
+ protocol::TProtocol* inRaw = in.get();
+ protocol::TProtocol* outRaw = out.get();
+
+ // Try to dynamic cast to the template protocol type
+ Protocol_* specificIn = dynamic_cast<Protocol_*>(inRaw);
+ Protocol_* specificOut = dynamic_cast<Protocol_*>(outRaw);
+ if (specificIn && specificOut) {
+ return processFast(specificIn, specificOut, connectionContext);
+ }
+
+ // Log the fact that we have to use the slow path
+ T_GENERIC_PROTOCOL(this, inRaw, specificIn);
+ T_GENERIC_PROTOCOL(this, outRaw, specificOut);
+
+ std::string fname;
+ protocol::TMessageType mtype;
+ int32_t seqid;
+ inRaw->readMessageBegin(fname, mtype, seqid);
+
+ // If this doesn't look like a valid call, log an error and return false so
+ // that the server will close the connection.
+ //
+ // (The old generated processor code used to try to skip a T_STRUCT and
+ // continue. However, that seems unsafe.)
+ if (mtype != protocol::T_CALL && mtype != protocol::T_ONEWAY) {
+ GlobalOutput.printf("received invalid message type %d from client",
+ mtype);
+ return false;
+ }
+
+ return this->dispatchCall(inRaw, outRaw, fname, seqid, connectionContext);
+ }
+
+ protected:
+ bool processFast(Protocol_* in, Protocol_* out, void* connectionContext) {
+ std::string fname;
+ protocol::TMessageType mtype;
+ int32_t seqid;
+ in->readMessageBegin(fname, mtype, seqid);
+
+ if (mtype != protocol::T_CALL && mtype != protocol::T_ONEWAY) {
+ GlobalOutput.printf("received invalid message type %d from client",
+ mtype);
+ return false;
+ }
+
+ return this->dispatchCallTemplated(in, out, fname,
+ seqid, connectionContext);
+ }
+
+ /**
+ * dispatchCall() methods must be implemented by subclasses
+ */
+ virtual bool dispatchCall(apache::thrift::protocol::TProtocol* in,
+ apache::thrift::protocol::TProtocol* out,
+ const std::string& fname, int32_t seqid,
+ void* callContext) = 0;
+
+ virtual bool dispatchCallTemplated(Protocol_* in, Protocol_* out,
+ const std::string& fname, int32_t seqid,
+ void* callContext) = 0;
+};
+
+/**
+ * Non-templatized version of TDispatchProcessor, that doesn't bother trying to
+ * perform a dynamic_cast.
+ */
+class TDispatchProcessor : public TProcessor {
+ public:
+ virtual bool process(boost::shared_ptr<protocol::TProtocol> in,
+ boost::shared_ptr<protocol::TProtocol> out,
+ void* connectionContext) {
+ std::string fname;
+ protocol::TMessageType mtype;
+ int32_t seqid;
+ in->readMessageBegin(fname, mtype, seqid);
+
+ if (mtype != protocol::T_CALL && mtype != protocol::T_ONEWAY) {
+ GlobalOutput.printf("received invalid message type %d from client",
+ mtype);
+ return false;
+ }
+
+ return dispatchCall(in.get(), out.get(), fname, seqid, connectionContext);
+ }
+
+ protected:
+ virtual bool dispatchCall(apache::thrift::protocol::TProtocol* in,
+ apache::thrift::protocol::TProtocol* out,
+ const std::string& fname, int32_t seqid,
+ void* callContext) = 0;
+};
+
+// Specialize TDispatchProcessorT for TProtocol and TDummyProtocol just to use
+// the generic TDispatchProcessor.
+template <>
+class TDispatchProcessorT<protocol::TDummyProtocol> :
+ public TDispatchProcessor {};
+template <>
+class TDispatchProcessorT<protocol::TProtocol> :
+ public TDispatchProcessor {};
+
+}} // apache::thrift
+
+#endif // _THRIFT_TDISPATCHPROCESSOR_H_
http://git-wip-us.apache.org/repos/asf/airavata/blob/f891b7dc/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/TLogging.h
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/TLogging.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/TLogging.h
new file mode 100644
index 0000000..4c8bddc
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/TLogging.h
@@ -0,0 +1,193 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you 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 _THRIFT_TLOGGING_H_
+#define _THRIFT_TLOGGING_H_ 1
+
+#include <thrift/thrift-config.h>
+
+/**
+ * Contains utility macros for debugging and logging.
+ *
+ */
+
+#include <time.h>
+
+#ifdef HAVE_STDINT_H
+#include <stdint.h>
+#endif
+
+/**
+ * T_GLOBAL_DEBUGGING_LEVEL = 0: all debugging turned off, debug macros undefined
+ * T_GLOBAL_DEBUGGING_LEVEL = 1: all debugging turned on
+ */
+#define T_GLOBAL_DEBUGGING_LEVEL 0
+
+
+/**
+ * T_GLOBAL_LOGGING_LEVEL = 0: all logging turned off, logging macros undefined
+ * T_GLOBAL_LOGGING_LEVEL = 1: all logging turned on
+ */
+#define T_GLOBAL_LOGGING_LEVEL 1
+
+
+/**
+ * Standard wrapper around fprintf what will prefix the file name and line
+ * number to the line. Uses T_GLOBAL_DEBUGGING_LEVEL to control whether it is
+ * turned on or off.
+ *
+ * @param format_string
+ */
+#if T_GLOBAL_DEBUGGING_LEVEL > 0
+ #define T_DEBUG(format_string,...) \
+ if (T_GLOBAL_DEBUGGING_LEVEL > 0) { \
+ fprintf(stderr,"[%s,%d] " format_string " \n", __FILE__, __LINE__,##__VA_ARGS__); \
+ }
+#else
+ #define T_DEBUG(format_string,...)
+#endif
+
+
+/**
+ * analagous to T_DEBUG but also prints the time
+ *
+ * @param string format_string input: printf style format string
+ */
+#if T_GLOBAL_DEBUGGING_LEVEL > 0
+ #define T_DEBUG_T(format_string,...) \
+ { \
+ if (T_GLOBAL_DEBUGGING_LEVEL > 0) { \
+ time_t now; \
+ char dbgtime[26] ; \
+ time(&now); \
+ THRIFT_CTIME_R(&now, dbgtime); \
+ dbgtime[24] = '\0'; \
+ fprintf(stderr,"[%s,%d] [%s] " format_string " \n", __FILE__, __LINE__,dbgtime,##__VA_ARGS__); \
+ } \
+ }
+#else
+ #define T_DEBUG_T(format_string,...)
+#endif
+
+
+/**
+ * analagous to T_DEBUG but uses input level to determine whether or not the string
+ * should be logged.
+ *
+ * @param int level: specified debug level
+ * @param string format_string input: format string
+ */
+#define T_DEBUG_L(level, format_string,...) \
+ if ((level) > 0) { \
+ fprintf(stderr,"[%s,%d] " format_string " \n", __FILE__, __LINE__,##__VA_ARGS__); \
+ }
+
+
+/**
+ * Explicit error logging. Prints time, file name and line number
+ *
+ * @param string format_string input: printf style format string
+ */
+#define T_ERROR(format_string,...) \
+ { \
+ time_t now; \
+ char dbgtime[26] ; \
+ time(&now); \
+ THRIFT_CTIME_R(&now, dbgtime); \
+ dbgtime[24] = '\0'; \
+ fprintf(stderr,"[%s,%d] [%s] ERROR: " format_string " \n", __FILE__, __LINE__,dbgtime,##__VA_ARGS__); \
+ }
+
+
+/**
+ * Analagous to T_ERROR, additionally aborting the process.
+ * WARNING: macro calls abort(), ending program execution
+ *
+ * @param string format_string input: printf style format string
+ */
+#define T_ERROR_ABORT(format_string,...) \
+ { \
+ time_t now; \
+ char dbgtime[26] ; \
+ time(&now); \
+ THRIFT_CTIME_R(&now, dbgtime); \
+ dbgtime[24] = '\0'; \
+ fprintf(stderr,"[%s,%d] [%s] ERROR: Going to abort " format_string " \n", __FILE__, __LINE__,dbgtime,##__VA_ARGS__); \
+ exit(1); \
+ }
+
+
+/**
+ * Log input message
+ *
+ * @param string format_string input: printf style format string
+ */
+#if T_GLOBAL_LOGGING_LEVEL > 0
+ #define T_LOG_OPER(format_string,...) \
+ { \
+ if (T_GLOBAL_LOGGING_LEVEL > 0) { \
+ time_t now; \
+ char dbgtime[26] ; \
+ time(&now); \
+ THRIFT_CTIME_R(&now, dbgtime); \
+ dbgtime[24] = '\0'; \
+ fprintf(stderr,"[%s] " format_string " \n", dbgtime,##__VA_ARGS__); \
+ } \
+ }
+#else
+ #define T_LOG_OPER(format_string,...)
+#endif
+
+
+/**
+ * T_GLOBAL_DEBUG_VIRTUAL = 0 or unset: normal operation,
+ * virtual call debug messages disabled
+ * T_GLOBAL_DEBUG_VIRTUAL = 1: log a debug messages whenever an
+ * avoidable virtual call is made
+ * T_GLOBAL_DEBUG_VIRTUAL = 2: record detailed info that can be
+ * printed by calling
+ * apache::thrift::profile_print_info()
+ */
+#if T_GLOBAL_DEBUG_VIRTUAL > 1
+ #define T_VIRTUAL_CALL() \
+ ::apache::thrift::profile_virtual_call(typeid(*this))
+ #define T_GENERIC_PROTOCOL(template_class, generic_prot, specific_prot) \
+ do { \
+ if (!(specific_prot)) { \
+ ::apache::thrift::profile_generic_protocol( \
+ typeid(*template_class), typeid(*generic_prot)); \
+ } \
+ } while (0)
+#elif T_GLOBAL_DEBUG_VIRTUAL == 1
+ #define T_VIRTUAL_CALL() \
+ fprintf(stderr,"[%s,%d] virtual call\n", __FILE__, __LINE__)
+ #define T_GENERIC_PROTOCOL(template_class, generic_prot, specific_prot) \
+ do { \
+ if (!(specific_prot)) { \
+ fprintf(stderr, \
+ "[%s,%d] failed to cast to specific protocol type\n", \
+ __FILE__, __LINE__); \
+ } \
+ } while (0)
+#else
+ #define T_VIRTUAL_CALL()
+ #define T_GENERIC_PROTOCOL(template_class, generic_prot, specific_prot)
+#endif
+
+#endif // #ifndef _THRIFT_TLOGGING_H_
http://git-wip-us.apache.org/repos/asf/airavata/blob/f891b7dc/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/TProcessor.h
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/TProcessor.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/TProcessor.h
new file mode 100644
index 0000000..b4a4657
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/TProcessor.h
@@ -0,0 +1,233 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you 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 _THRIFT_TPROCESSOR_H_
+#define _THRIFT_TPROCESSOR_H_ 1
+
+#include <string>
+#include <thrift/protocol/TProtocol.h>
+#include <boost/shared_ptr.hpp>
+
+namespace apache { namespace thrift {
+
+/**
+ * Virtual interface class that can handle events from the processor. To
+ * use this you should subclass it and implement the methods that you care
+ * about. Your subclass can also store local data that you may care about,
+ * such as additional "arguments" to these methods (stored in the object
+ * instance's state).
+ */
+class TProcessorEventHandler {
+ public:
+
+ virtual ~TProcessorEventHandler() {}
+
+ /**
+ * Called before calling other callback methods.
+ * Expected to return some sort of context object.
+ * The return value is passed to all other callbacks
+ * for that function invocation.
+ */
+ virtual void* getContext(const char* fn_name, void* serverContext) {
+ (void) fn_name;
+ (void) serverContext;
+ return NULL;
+ }
+
+ /**
+ * Expected to free resources associated with a context.
+ */
+ virtual void freeContext(void* ctx, const char* fn_name) {
+ (void) ctx;
+ (void) fn_name;
+ }
+
+ /**
+ * Called before reading arguments.
+ */
+ virtual void preRead(void* ctx, const char* fn_name) {
+ (void) ctx;
+ (void) fn_name;
+ }
+
+ /**
+ * Called between reading arguments and calling the handler.
+ */
+ virtual void postRead(void* ctx, const char* fn_name, uint32_t bytes) {
+ (void) ctx;
+ (void) fn_name;
+ (void) bytes;
+ }
+
+ /**
+ * Called between calling the handler and writing the response.
+ */
+ virtual void preWrite(void* ctx, const char* fn_name) {
+ (void) ctx;
+ (void) fn_name;
+ }
+
+ /**
+ * Called after writing the response.
+ */
+ virtual void postWrite(void* ctx, const char* fn_name, uint32_t bytes) {
+ (void) ctx;
+ (void) fn_name;
+ (void) bytes;
+ }
+
+ /**
+ * Called when an async function call completes successfully.
+ */
+ virtual void asyncComplete(void* ctx, const char* fn_name) {
+ (void) ctx;
+ (void) fn_name;
+ }
+
+ /**
+ * Called if the handler throws an undeclared exception.
+ */
+ virtual void handlerError(void* ctx, const char* fn_name) {
+ (void) ctx;
+ (void) fn_name;
+ }
+
+ protected:
+ TProcessorEventHandler() {}
+};
+
+/**
+ * A helper class used by the generated code to free each context.
+ */
+class TProcessorContextFreer {
+ public:
+ TProcessorContextFreer(TProcessorEventHandler* handler, void* context, const char* method) :
+ handler_(handler), context_(context), method_(method) {}
+ ~TProcessorContextFreer() { if (handler_ != NULL) handler_->freeContext(context_, method_); }
+ void unregister() { handler_ = NULL; }
+ private:
+ apache::thrift::TProcessorEventHandler* handler_;
+ void* context_;
+ const char* method_;
+};
+
+/**
+ * A processor is a generic object that acts upon two streams of data, one
+ * an input and the other an output. The definition of this object is loose,
+ * though the typical case is for some sort of server that either generates
+ * responses to an input stream or forwards data from one pipe onto another.
+ *
+ */
+class TProcessor {
+ public:
+ virtual ~TProcessor() {}
+
+ virtual bool process(boost::shared_ptr<protocol::TProtocol> in,
+ boost::shared_ptr<protocol::TProtocol> out,
+ void* connectionContext) = 0;
+
+ bool process(boost::shared_ptr<apache::thrift::protocol::TProtocol> io,
+ void* connectionContext) {
+ return process(io, io, connectionContext);
+ }
+
+ boost::shared_ptr<TProcessorEventHandler> getEventHandler() {
+ return eventHandler_;
+ }
+
+ void setEventHandler(boost::shared_ptr<TProcessorEventHandler> eventHandler) {
+ eventHandler_ = eventHandler;
+ }
+
+ protected:
+ TProcessor() {}
+
+ boost::shared_ptr<TProcessorEventHandler> eventHandler_;
+};
+
+/**
+ * This is a helper class to allow boost::shared_ptr to be used with handler
+ * pointers returned by the generated handler factories.
+ *
+ * The handler factory classes generated by the thrift compiler return raw
+ * pointers, and factory->releaseHandler() must be called when the handler is
+ * no longer needed.
+ *
+ * A ReleaseHandler object can be instantiated and passed as the second
+ * parameter to a shared_ptr, so that factory->releaseHandler() will be called
+ * when the object is no longer needed, instead of deleting the pointer.
+ */
+template<typename HandlerFactory_>
+class ReleaseHandler {
+ public:
+ ReleaseHandler(const boost::shared_ptr<HandlerFactory_>& handlerFactory) :
+ handlerFactory_(handlerFactory) {}
+
+ void operator()(typename HandlerFactory_::Handler* handler) {
+ if (handler) {
+ handlerFactory_->releaseHandler(handler);
+ }
+ }
+
+ private:
+ boost::shared_ptr<HandlerFactory_> handlerFactory_;
+};
+
+struct TConnectionInfo {
+ // The input and output protocols
+ boost::shared_ptr<protocol::TProtocol> input;
+ boost::shared_ptr<protocol::TProtocol> output;
+ // The underlying transport used for the connection
+ // This is the transport that was returned by TServerTransport::accept(),
+ // and it may be different than the transport pointed to by the input and
+ // output protocols.
+ boost::shared_ptr<transport::TTransport> transport;
+};
+
+class TProcessorFactory {
+ public:
+ virtual ~TProcessorFactory() {}
+
+ /**
+ * Get the TProcessor to use for a particular connection.
+ *
+ * This method is always invoked in the same thread that the connection was
+ * accepted on. This generally means that this call does not need to be
+ * thread safe, as it will always be invoked from a single thread.
+ */
+ virtual boost::shared_ptr<TProcessor> getProcessor(
+ const TConnectionInfo& connInfo) = 0;
+};
+
+class TSingletonProcessorFactory : public TProcessorFactory {
+ public:
+ TSingletonProcessorFactory(boost::shared_ptr<TProcessor> processor) :
+ processor_(processor) {}
+
+ boost::shared_ptr<TProcessor> getProcessor(const TConnectionInfo&) {
+ return processor_;
+ }
+
+ private:
+ boost::shared_ptr<TProcessor> processor_;
+};
+
+}} // apache::thrift
+
+#endif // #ifndef _THRIFT_TPROCESSOR_H_
[41/47] git commit: removed unnecessary files, updated ini file
Posted by sm...@apache.org.
removed unnecessary files, updated ini file
Project: http://git-wip-us.apache.org/repos/asf/airavata/repo
Commit: http://git-wip-us.apache.org/repos/asf/airavata/commit/00b8aaf0
Tree: http://git-wip-us.apache.org/repos/asf/airavata/tree/00b8aaf0
Diff: http://git-wip-us.apache.org/repos/asf/airavata/diff/00b8aaf0
Branch: refs/heads/master
Commit: 00b8aaf0521ecfc17b0dc4ef53fc30376d4716be
Parents: f891b7d
Author: ixxi-2013 <na...@gmail.com>
Authored: Fri Jul 11 11:50:12 2014 +0200
Committer: ixxi-2013 <na...@gmail.com>
Committed: Fri Jul 11 11:50:12 2014 +0200
----------------------------------------------------------------------
.../airavata-client-properties.ini | 2 -
.../main/resources/client samples/compile.sh~ | 5 -
.../resources/client samples/createExperiment | Bin 2015358 -> 0 bytes
.../client samples/createExperiment.cpp | 21 +-
.../client samples/createExperiment.cpp~ | 161 -
.../main/resources/client samples/createProject | Bin 2007964 -> 0 bytes
.../resources/client samples/createProject.cpp | 17 +-
.../resources/client samples/createProject.cpp~ | 105 -
.../client samples/getExperimentOutputs | Bin 2007971 -> 0 bytes
.../client samples/getExperimentOutputs.cpp | 18 +-
.../client samples/getExperimentOutputs.cpp~ | 108 -
.../client samples/getExperimentStatus | Bin 2007970 -> 0 bytes
.../client samples/getExperimentStatus.cpp | 18 +-
.../client samples/getExperimentStatus.cpp~ | 105 -
.../resources/client samples/launchExperiment | Bin 2007967 -> 0 bytes
.../client samples/launchExperiment.cpp | 17 +-
.../client samples/launchExperiment.cpp~ | 104 -
.../src/main/resources/lib/Airavata.cpp | 26734 -----------------
.../src/main/resources/lib/Airavata.h | 11188 -------
.../resources/lib/Airavata_server.skeleton.cpp | 399 -
.../resources/lib/ApplicationCatalogAPI.cpp | 9387 ------
.../main/resources/lib/ApplicationCatalogAPI.h | 4069 ---
.../ApplicationCatalogAPI_server.skeleton.cpp | 169 -
.../src/main/resources/lib/Workflow.cpp | 2497 --
.../src/main/resources/lib/Workflow.h | 1154 -
.../resources/lib/Workflow_server.skeleton.cpp | 74 -
.../resources/lib/airavataAPI_constants.cpp | 19 -
.../main/resources/lib/airavataAPI_constants.h | 25 -
.../main/resources/lib/airavataAPI_types.cpp | 13 -
.../src/main/resources/lib/airavataAPI_types.h | 30 -
.../lib/airavataDataModel_constants.cpp | 17 -
.../resources/lib/airavataDataModel_constants.h | 24 -
.../resources/lib/airavataDataModel_types.cpp | 13 -
.../resources/lib/airavataDataModel_types.h | 24 -
.../resources/lib/airavataErrors_constants.cpp | 17 -
.../resources/lib/airavataErrors_constants.h | 24 -
.../main/resources/lib/airavataErrors_types.cpp | 820 -
.../main/resources/lib/airavataErrors_types.h | 509 -
.../lib/applicationCatalogAPI_constants.cpp | 19 -
.../lib/applicationCatalogAPI_constants.h | 25 -
.../lib/applicationCatalogAPI_types.cpp | 13 -
.../resources/lib/applicationCatalogAPI_types.h | 27 -
.../applicationCatalogDataModel_constants.cpp | 19 -
.../lib/applicationCatalogDataModel_constants.h | 25 -
.../lib/applicationCatalogDataModel_types.cpp | 1327 -
.../lib/applicationCatalogDataModel_types.h | 713 -
.../applicationDeploymentModel_constants.cpp | 19 -
.../lib/applicationDeploymentModel_constants.h | 25 -
.../lib/applicationDeploymentModel_types.cpp | 497 -
.../lib/applicationDeploymentModel_types.h | 275 -
.../lib/applicationInterfaceModel_constants.cpp | 19 -
.../lib/applicationInterfaceModel_constants.h | 25 -
.../lib/applicationInterfaceModel_types.cpp | 470 -
.../lib/applicationInterfaceModel_types.h | 298 -
.../lib/computeResourceModel_constants.cpp | 19 -
.../lib/computeResourceModel_constants.h | 25 -
.../lib/computeResourceModel_types.cpp | 1515 -
.../resources/lib/computeResourceModel_types.h | 842 -
.../resources/lib/experimentModel_constants.cpp | 23 -
.../resources/lib/experimentModel_constants.h | 27 -
.../resources/lib/experimentModel_types.cpp | 3339 --
.../main/resources/lib/experimentModel_types.h | 2077 --
.../lib/gatewayProfileModel_constants.cpp | 19 -
.../lib/gatewayProfileModel_constants.h | 25 -
.../resources/lib/gatewayProfileModel_types.cpp | 293 -
.../resources/lib/gatewayProfileModel_types.h | 197 -
.../gatewayResourceProfileModel_constants.cpp | 19 -
.../lib/gatewayResourceProfileModel_constants.h | 25 -
.../lib/gatewayResourceProfileModel_types.cpp | 293 -
.../lib/gatewayResourceProfileModel_types.h | 197 -
.../resources/lib/workflowAPI_constants.cpp | 19 -
.../main/resources/lib/workflowAPI_constants.h | 25 -
.../main/resources/lib/workflowAPI_types.cpp | 13 -
.../src/main/resources/lib/workflowAPI_types.h | 30 -
.../lib/workflowDataModel_constants.cpp | 19 -
.../resources/lib/workflowDataModel_constants.h | 25 -
.../resources/lib/workflowDataModel_types.cpp | 108 -
.../resources/lib/workflowDataModel_types.h | 82 -
.../resources/lib/workspaceModel_constants.cpp | 17 -
.../resources/lib/workspaceModel_constants.h | 24 -
.../main/resources/lib/workspaceModel_types.cpp | 464 -
.../main/resources/lib/workspaceModel_types.h | 273 -
82 files changed, 34 insertions(+), 71683 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/airavata/blob/00b8aaf0/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client samples/airavata-client-properties.ini
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client samples/airavata-client-properties.ini b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client samples/airavata-client-properties.ini
index 132c3f4..b2e2095 100644
--- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client samples/airavata-client-properties.ini
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client samples/airavata-client-properties.ini
@@ -2,5 +2,3 @@
AIRAVATA_SERVER = "localhost"
AIRAVATA_PORT = 8930
AIRAVATA_TIMEOUT = 5000
-APP_CATALOG_SERVER = "gw111.iu.xsede.org"
-APP_CATALOG_PORT = 8931
http://git-wip-us.apache.org/repos/asf/airavata/blob/00b8aaf0/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client samples/compile.sh~
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client samples/compile.sh~ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client samples/compile.sh~
deleted file mode 100755
index a4286ee..0000000
--- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client samples/compile.sh~
+++ /dev/null
@@ -1,5 +0,0 @@
-g++ -Wall -I/home/ixxi-2013/Desktop/airavata-trunk/airavata/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/ -L/usr/local/lib -W -Wno-write-strings -DHAVE_INTTYPES_H -DHAVE_NETINET_IN_H `pkg-config --cflags glib-2.0` createProject.cpp `pkg-config --libs glib-2.0` -lthrift -o createProject
-g++ -Wall -I/home/ixxi-2013/Desktop/airavata-trunk/airavata/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/ -L/usr/local/lib -W -Wno-write-strings -DHAVE_INTTYPES_H -DHAVE_NETINET_IN_H `pkg-config --cflags glib-2.0` createExperiment.cpp `pkg-config --libs glib-2.0` -lthrift -o createExperiment
-g++ -Wall -I/home/ixxi-2013/Desktop/airavata-trunk/airavata/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/ -L/usr/local/lib -W -Wno-write-strings -DHAVE_INTTYPES_H -DHAVE_NETINET_IN_H `pkg-config --cflags glib-2.0` launchExperiment.cpp `pkg-config --libs glib-2.0` -lthrift -o launchExperiment
-g++ -Wall -I/home/ixxi-2013/Desktop/airavata-trunk/airavata/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/ -L/usr/local/lib -W -Wno-write-strings -DHAVE_INTTYPES_H -DHAVE_NETINET_IN_H `pkg-config --cflags glib-2.0` getExperimentStatus.cpp `pkg-config --libs glib-2.0` -lthrift -o getExperimentStatus
-g++ -Wall -I/home/ixxi-2013/Desktop/airavata-trunk/airavata/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/ -L/usr/local/lib -W -Wno-write-strings -DHAVE_INTTYPES_H -DHAVE_NETINET_IN_H `pkg-config --cflags glib-2.0` getExperimentOutputs.cpp `pkg-config --libs glib-2.0` -lthrift -o getExperimentOutputs
http://git-wip-us.apache.org/repos/asf/airavata/blob/00b8aaf0/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client samples/createExperiment
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client samples/createExperiment b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client samples/createExperiment
deleted file mode 100755
index 3aba779..0000000
Binary files a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client samples/createExperiment and /dev/null differ
http://git-wip-us.apache.org/repos/asf/airavata/blob/00b8aaf0/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client samples/createExperiment.cpp
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client samples/createExperiment.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client samples/createExperiment.cpp
index 7a899e7..8d43ddc 100644
--- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client samples/createExperiment.cpp
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client samples/createExperiment.cpp
@@ -37,8 +37,8 @@
typedef struct {
- gchar *airavata_server, *app_catalog_server;
- gint airavata_port, app_catalog_port, airavata_timeout;
+ gchar *airavata_server;
+ gint airavata_port, airavata_timeout;
} Settings;
using namespace std;
@@ -48,7 +48,7 @@ using namespace apache::thrift::transport;
using namespace apache::airavata::api;
using namespace apache::airavata::model::workspace::experiment;
-void readConfigFile(char* cfgfile, string& airavata_server, string& app_catalog_server, int& airavata_port, int& app_catalog_port, int& airavata_timeout) {
+void readConfigFile(char* cfgfile, string& airavata_server, int& airavata_port, int& airavata_timeout) {
Settings *conf;
GKeyFile *keyfile;
@@ -57,19 +57,14 @@ void readConfigFile(char* cfgfile, string& airavata_server, string& app_catalog_
keyfile = g_key_file_new ();
if (!g_key_file_load_from_file (keyfile, cfgfile, flags, &error)) {
g_error (error->message);
- } else {
-
+ } else {
conf = g_slice_new (Settings);
conf->airavata_server = g_key_file_get_string(keyfile, "airavata", "AIRAVATA_SERVER", NULL);
airavata_server = conf->airavata_server;
conf->airavata_port = g_key_file_get_integer(keyfile, "airavata", "AIRAVATA_PORT", NULL);
airavata_port = conf->airavata_port;
conf->airavata_timeout = g_key_file_get_integer(keyfile, "airavata", "AIRAVATA_TIMEOUT", NULL);
- airavata_timeout = conf->airavata_timeout;
- conf->app_catalog_server = g_key_file_get_string(keyfile, "airavata", "APP_CATALOG_SERVER", NULL);
- app_catalog_server = conf->app_catalog_server;
- conf->app_catalog_port = g_key_file_get_integer(keyfile, "airavata", "APP_CATALOG_PORT", NULL);
- app_catalog_port = conf->app_catalog_port;
+ airavata_timeout = conf->airavata_timeout;
}
}
@@ -78,11 +73,11 @@ void readConfigFile(char* cfgfile, string& airavata_server, string& app_catalog_
int main(int argc, char **argv)
{
- int airavata_port, app_catalog_port, airavata_timeout;
- string airavata_server, app_catalog_server;
+ int airavata_port, airavata_timeout;
+ string airavata_server;
char* cfgfile;
cfgfile = "./airavata-client-properties.ini";
- readConfigFile(cfgfile, airavata_server, app_catalog_server, airavata_port, app_catalog_port, airavata_timeout);
+ readConfigFile(cfgfile, airavata_server, airavata_port, airavata_timeout);
airavata_server.erase(0,1);
airavata_server.erase(airavata_server.length()-1,1);
boost::shared_ptr<TSocket> socket(new TSocket(airavata_server, airavata_port));
http://git-wip-us.apache.org/repos/asf/airavata/blob/00b8aaf0/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client samples/createExperiment.cpp~
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client samples/createExperiment.cpp~ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client samples/createExperiment.cpp~
deleted file mode 100644
index b82e995..0000000
--- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client samples/createExperiment.cpp~
+++ /dev/null
@@ -1,161 +0,0 @@
-#include <glib.h>
-#include <iostream>
-#include <stdint.h>
-#include <sys/time.h>
-
-#define _WIN32_WINNT 0x501
-
-#include <thrift/transport/TTransport.h>
-#include <thrift/transport/TBufferTransports.cpp>
-#include <thrift/transport/TSocket.cpp>
-#include <thrift/protocol/TProtocol.h>
-#include <thrift/protocol/TBinaryProtocol.h>
-#include <thrift/protocol/TBinaryProtocol.tcc>
-#include <thrift/TApplicationException.cpp>
-#include <thrift/transport/TTransportException.cpp>
-#include <thrift/protocol/TProtocolException.h>
-#include "../lib/airavata/Airavata.h"
-#include "../lib/airavata/Airavata.cpp"
-#include "../lib/airavata/airavataDataModel_types.h"
-#include "../lib/airavata/airavataDataModel_types.cpp"
-#include "../lib/airavata/airavataErrors_types.h"
-#include "../lib/airavata/airavataErrors_types.cpp"
-#include "../lib/airavata/experimentModel_types.h"
-#include "../lib/airavata/experimentModel_types.cpp"
-#include "../lib/airavata/workspaceModel_types.h"
-#include "../lib/airavata/workspaceModel_types.cpp"
-#include "../lib/airavata/airavataAPI_types.h"
-#include "../lib/airavata/airavataAPI_types.cpp"
-#include "../lib/airavata/applicationDeploymentModel_types.h"
-#include "../lib/airavata/applicationDeploymentModel_types.cpp"
-#include "../lib/airavata/applicationInterfaceModel_types.h"
-#include "../lib/airavata/applicationInterfaceModel_types.cpp"
-#include "../lib/airavata/gatewayResourceProfileModel_types.h"
-#include "../lib/airavata/gatewayResourceProfileModel_types.cpp"
-#include "../lib/airavata/computeResourceModel_types.h"
-#include "../lib/airavata/computeResourceModel_types.cpp"
-
-
-typedef struct {
- gchar *airavata_server, *app_catalog_server;
- gint airavata_port, app_catalog_port, airavata_timeout;
-} Settings;
-
-using namespace std;
-using namespace apache::thrift;
-using namespace apache::thrift::protocol;
-using namespace apache::thrift::transport;
-using namespace apache::airavata::api;
-using namespace apache::airavata::model::workspace::experiment;
-
-void readConfigFile(char* cfgfile, char*& airavata_server, char*& app_catalog_server, int& airavata_port, int& app_catalog_port, int& airavata_timeout) {
-
- Settings *conf;
- GKeyFile *keyfile;
- GKeyFileFlags flags;
- GError *error = NULL;
- keyfile = g_key_file_new ();
- if (!g_key_file_load_from_file (keyfile, cfgfile, flags, &error)) {
- g_error (error->message);
- } else {
-
- conf = g_slice_new (Settings);
- conf->airavata_server = g_key_file_get_string(keyfile, "airavata", "AIRAVATA_SERVER", NULL);
- airavata_server = conf->airavata_server;
- conf->airavata_port = g_key_file_get_integer(keyfile, "airavata", "AIRAVATA_PORT", NULL);
- airavata_port = conf->airavata_port;
- conf->airavata_timeout = g_key_file_get_integer(keyfile, "airavata", "AIRAVATA_TIMEOUT", NULL);
- airavata_timeout = conf->airavata_timeout;
- conf->app_catalog_server = g_key_file_get_string(keyfile, "airavata", "APP_CATALOG_SERVER", NULL);
- app_catalog_server = conf->app_catalog_server;
- conf->app_catalog_port = g_key_file_get_integer(keyfile, "airavata", "APP_CATALOG_PORT", NULL);
- app_catalog_port = conf->app_catalog_port;
- }
-
-}
-
-int main(int argc, char **argv)
-{
-
- int airavata_port, app_catalog_port, airavata_timeout;
- string airavata_server, app_catalog_server;
- char* cfgfile;
- cfgfile = "./airavata-client-properties.ini";
- readConfigFile(cfgfile, airavata_server, app_catalog_server, airavata_port, app_catalog_port, airavata_timeout);
- airavata_server.erase(0,1);
- airavata_server.erase(airavata_server.length()-1,1);
- boost::shared_ptr<TSocket> socket(new TSocket(airavata_server, airavata_port));
- socket->setSendTimeout(airavata_timeout);
- boost::shared_ptr<TTransport> transport(new TBufferedTransport(socket));
- boost::shared_ptr<TProtocol> protocol(new TBinaryProtocol(transport));
- AiravataClient airavataclient(protocol);
- transport->open();
-
- if(argc !=4){
- cout << "Usage: ./createExperiment <username> <experiment_name> <project_ID>";
- return 0;
- }
- /* ComputationalResourceScheduling data for Trestles*/
- ComputationalResourceScheduling cmRST;
- cmRST.__set_resourceHostId("trestles.sdsc.edu");
- cmRST.__set_computationalProjectAccount("sds128");
- cmRST.__set_totalCPUCount(1);
- cmRST.__set_nodeCount(1);
- cmRST.__set_numberOfThreads(0);
- cmRST.__set_queueName("normal");
- cmRST.__set_wallTimeLimit(15);
- cmRST.__set_jobStartTime(0);
- cmRST.__set_totalPhysicalMemory(0);
-
-
- UserConfigurationData userConfigurationData;
- userConfigurationData.__set_airavataAutoSchedule(0);
- userConfigurationData.__set_overrideManualScheduledParams(0);
- userConfigurationData.__set_computationalResourceScheduling(cmRST);
-
-
- /*Application ID for Trestles */
- char* appId = "SimpleEcho2";
-
- /* Experiment input and output data. */
- DataObjectType input;
- input.__set_key("echo_input");
- input.__set_value("echo_output=Hello World");
- input.__set_type(DataType::STRING);
- std::vector<DataObjectType> exInputs;
- exInputs.push_back(input);
- DataObjectType output;
- output.__set_key("echo_output");
- output.__set_value("");
- output.__set_type(DataType::STRING);
- std::vector<DataObjectType> exOutputs;
- exOutputs.push_back(output);
-
-
- char* user = argv[1];
- char* exp_name = argv[2];
- char* proj = argv[3];
-
- Experiment experiment;
- experiment.__set_projectID(proj);
- experiment.__set_userName(user);
- experiment.__set_name(exp_name);
- experiment.__set_applicationId(appId);
- experiment.__set_userConfigurationData(userConfigurationData);
- experiment.__set_experimentInputs(exInputs);
- experiment.__set_experimentOutputs(exOutputs);
-
- string _return = "";
- airavataclient.createExperiment(_return, experiment);
-
- if (_return!="")
- {
-
- cout << "Experiment " << _return <<" created! \n ";
- }
- else
- {
- cout << "Failed to create experiment. \n";
- }
- transport->close();
-}
http://git-wip-us.apache.org/repos/asf/airavata/blob/00b8aaf0/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client samples/createProject
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client samples/createProject b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client samples/createProject
deleted file mode 100755
index 4bf3bd2..0000000
Binary files a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client samples/createProject and /dev/null differ
http://git-wip-us.apache.org/repos/asf/airavata/blob/00b8aaf0/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client samples/createProject.cpp
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client samples/createProject.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client samples/createProject.cpp
index 8e9125c..b259f58 100644
--- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client samples/createProject.cpp
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client samples/createProject.cpp
@@ -47,7 +47,7 @@ using namespace apache::thrift::protocol;
using namespace apache::thrift::transport;
using namespace apache::airavata::api;
-void readConfigFile(char* cfgfile, string& airavata_server, string& app_catalog_server, int& airavata_port, int& app_catalog_port, int& airavata_timeout) {
+void readConfigFile(char* cfgfile, string& airavata_server, int& airavata_port, int& airavata_timeout) {
Settings *conf;
GKeyFile *keyfile;
@@ -56,19 +56,14 @@ void readConfigFile(char* cfgfile, string& airavata_server, string& app_catalog_
keyfile = g_key_file_new ();
if (!g_key_file_load_from_file (keyfile, cfgfile, flags, &error)) {
g_error (error->message);
- } else {
-
+ } else {
conf = g_slice_new (Settings);
conf->airavata_server = g_key_file_get_string(keyfile, "airavata", "AIRAVATA_SERVER", NULL);
airavata_server = conf->airavata_server;
conf->airavata_port = g_key_file_get_integer(keyfile, "airavata", "AIRAVATA_PORT", NULL);
airavata_port = conf->airavata_port;
conf->airavata_timeout = g_key_file_get_integer(keyfile, "airavata", "AIRAVATA_TIMEOUT", NULL);
- airavata_timeout = conf->airavata_timeout;
- conf->app_catalog_server = g_key_file_get_string(keyfile, "airavata", "APP_CATALOG_SERVER", NULL);
- app_catalog_server = conf->app_catalog_server;
- conf->app_catalog_port = g_key_file_get_integer(keyfile, "airavata", "APP_CATALOG_PORT", NULL);
- app_catalog_port = conf->app_catalog_port;
+ airavata_timeout = conf->airavata_timeout;
}
}
@@ -77,11 +72,11 @@ void readConfigFile(char* cfgfile, string& airavata_server, string& app_catalog_
int main(int argc, char **argv)
{
- int airavata_port, app_catalog_port, airavata_timeout;
- string airavata_server, app_catalog_server;
+ int airavata_port, airavata_timeout;
+ string airavata_server;
char* cfgfile;
cfgfile = "./airavata-client-properties.ini";
- readConfigFile(cfgfile, airavata_server, app_catalog_server, airavata_port, app_catalog_port, airavata_timeout);
+ readConfigFile(cfgfile, airavata_server, airavata_port, airavata_timeout);
airavata_server.erase(0,1);
airavata_server.erase(airavata_server.length()-1,1);
boost::shared_ptr<TSocket> socket(new TSocket(airavata_server, airavata_port));
http://git-wip-us.apache.org/repos/asf/airavata/blob/00b8aaf0/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client samples/createProject.cpp~
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client samples/createProject.cpp~ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client samples/createProject.cpp~
deleted file mode 100644
index 6e28622..0000000
--- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client samples/createProject.cpp~
+++ /dev/null
@@ -1,105 +0,0 @@
-#include <glib.h>
-#include <iostream>
-#include <stdint.h>
-#include <sys/time.h>
-
-#define _WIN32_WINNT 0x501
-
-#include <thrift/transport/TTransport.h>
-#include <thrift/transport/TBufferTransports.cpp>
-#include <thrift/transport/TSocket.cpp>
-#include <thrift/protocol/TProtocol.h>
-#include <thrift/protocol/TBinaryProtocol.h>
-#include <thrift/protocol/TBinaryProtocol.tcc>
-#include <thrift/TApplicationException.cpp>
-#include <thrift/transport/TTransportException.cpp>
-#include <thrift/protocol/TProtocolException.h>
-#include "../lib/airavata/Airavata.h"
-#include "../lib/airavata/Airavata.cpp"
-#include "../lib/airavata/airavataDataModel_types.h"
-#include "../lib/airavata/airavataDataModel_types.cpp"
-#include "../lib/airavata/airavataErrors_types.h"
-#include "../lib/airavata/airavataErrors_types.cpp"
-#include "../lib/airavata/experimentModel_types.h"
-#include "../lib/airavata/experimentModel_types.cpp"
-#include "../lib/airavata/workspaceModel_types.h"
-#include "../lib/airavata/workspaceModel_types.cpp"
-#include "../lib/airavata/airavataAPI_types.h"
-#include "../lib/airavata/airavataAPI_types.cpp"
-#include "../lib/airavata/applicationDeploymentModel_types.h"
-#include "../lib/airavata/applicationDeploymentModel_types.cpp"
-#include "../lib/airavata/applicationInterfaceModel_types.h"
-#include "../lib/airavata/applicationInterfaceModel_types.cpp"
-#include "../lib/airavata/gatewayResourceProfileModel_types.h"
-#include "../lib/airavata/gatewayResourceProfileModel_types.cpp"
-#include "../lib/airavata/computeResourceModel_types.h"
-#include "../lib/airavata/computeResourceModel_types.cpp"
-
-
-typedef struct {
- gchar *airavata_server, *app_catalog_server;
- gint airavata_port, app_catalog_port, airavata_timeout;
-} Settings;
-
-using namespace std;
-using namespace apache::thrift;
-using namespace apache::thrift::protocol;
-using namespace apache::thrift::transport;
-using namespace apache::airavata::api;
-
-void readConfigFile(char* cfgfile, string& airavata_server, string& app_catalog_server, int& airavata_port, int& app_catalog_port, int& airavata_timeout) {
-
- Settings *conf;
- GKeyFile *keyfile;
- GKeyFileFlags flags;
- GError *error = NULL;
- keyfile = g_key_file_new ();
- if (!g_key_file_load_from_file (keyfile, cfgfile, flags, &error)) {
- g_error (error->message);
- } else {
-
- conf = g_slice_new (Settings);
- conf->airavata_server = g_key_file_get_string(keyfile, "airavata", "AIRAVATA_SERVER", NULL);
- airavata_server = conf->airavata_server;
- conf->airavata_port = g_key_file_get_integer(keyfile, "airavata", "AIRAVATA_PORT", NULL);
- airavata_port = conf->airavata_port;
- conf->airavata_timeout = g_key_file_get_integer(keyfile, "airavata", "AIRAVATA_TIMEOUT", NULL);
- airavata_timeout = conf->airavata_timeout;
- conf->app_catalog_server = g_key_file_get_string(keyfile, "airavata", "APP_CATALOG_SERVER", NULL);
- app_catalog_server = conf->app_catalog_server;
- conf->app_catalog_port = g_key_file_get_integer(keyfile, "airavata", "APP_CATALOG_PORT", NULL);
- app_catalog_port = conf->app_catalog_port;
- }
-
-}
-
-
-int main(int argc, char **argv)
-{
-
- int airavata_port, app_catalog_port, airavata_timeout;
- string airavata_server, app_catalog_server;
- char* cfgfile;
- cfgfile = "./airavata-client-properties.ini";
- readConfigFile(cfgfile, airavata_server, app_catalog_server, airavata_port, app_catalog_port, airavata_timeout);
- airavata_server.erase(0,1);
- airavata_server.erase(airavata_server.length()-1,1);
- boost::shared_ptr<TSocket> socket(new TSocket(airavata_server, airavata_port));
- socket->setSendTimeout(airavata_timeout);
- boost::shared_ptr<TTransport> transport(new TBufferedTransport(socket));
- boost::shared_ptr<TProtocol> protocol(new TBinaryProtocol(transport));
- AiravataClient airavataclient(protocol);
- transport->open();
-
- apache::airavata::model::workspace::Project project;
- if(argc !=3){
- cout << "Usage: ./createProject [owner] [name]";
- return 0;
- }
- project.owner=argv[1];
- project.name=argv[2];
- std::string _return;
- airavataclient.createProject(_return,project);
- cout << _return << "\n";
- transport->close();
-}
http://git-wip-us.apache.org/repos/asf/airavata/blob/00b8aaf0/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client samples/getExperimentOutputs
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client samples/getExperimentOutputs b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client samples/getExperimentOutputs
deleted file mode 100755
index 8d16b5f..0000000
Binary files a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client samples/getExperimentOutputs and /dev/null differ
http://git-wip-us.apache.org/repos/asf/airavata/blob/00b8aaf0/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client samples/getExperimentOutputs.cpp
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client samples/getExperimentOutputs.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client samples/getExperimentOutputs.cpp
index 0264a0c..9a279ec 100644
--- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client samples/getExperimentOutputs.cpp
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client samples/getExperimentOutputs.cpp
@@ -48,7 +48,7 @@ using namespace apache::thrift::transport;
using namespace apache::airavata::api;
using namespace apache::airavata::model::workspace::experiment;
-void readConfigFile(char* cfgfile, string& airavata_server, string& app_catalog_server, int& airavata_port, int& app_catalog_port, int& airavata_timeout) {
+void readConfigFile(char* cfgfile, string& airavata_server, int& airavata_port, int& airavata_timeout) {
Settings *conf;
GKeyFile *keyfile;
@@ -57,31 +57,27 @@ void readConfigFile(char* cfgfile, string& airavata_server, string& app_catalog_
keyfile = g_key_file_new ();
if (!g_key_file_load_from_file (keyfile, cfgfile, flags, &error)) {
g_error (error->message);
- } else {
-
+ } else {
conf = g_slice_new (Settings);
conf->airavata_server = g_key_file_get_string(keyfile, "airavata", "AIRAVATA_SERVER", NULL);
airavata_server = conf->airavata_server;
conf->airavata_port = g_key_file_get_integer(keyfile, "airavata", "AIRAVATA_PORT", NULL);
airavata_port = conf->airavata_port;
conf->airavata_timeout = g_key_file_get_integer(keyfile, "airavata", "AIRAVATA_TIMEOUT", NULL);
- airavata_timeout = conf->airavata_timeout;
- conf->app_catalog_server = g_key_file_get_string(keyfile, "airavata", "APP_CATALOG_SERVER", NULL);
- app_catalog_server = conf->app_catalog_server;
- conf->app_catalog_port = g_key_file_get_integer(keyfile, "airavata", "APP_CATALOG_PORT", NULL);
- app_catalog_port = conf->app_catalog_port;
+ airavata_timeout = conf->airavata_timeout;
}
}
+
int main(int argc, char **argv)
{
- int airavata_port, app_catalog_port, airavata_timeout;
- string airavata_server, app_catalog_server;
+ int airavata_port, airavata_timeout;
+ string airavata_server;
char* cfgfile;
cfgfile = "./airavata-client-properties.ini";
- readConfigFile(cfgfile, airavata_server, app_catalog_server, airavata_port, app_catalog_port, airavata_timeout);
+ readConfigFile(cfgfile, airavata_server, airavata_port, airavata_timeout);
airavata_server.erase(0,1);
airavata_server.erase(airavata_server.length()-1,1);
boost::shared_ptr<TSocket> socket(new TSocket(airavata_server, airavata_port));
http://git-wip-us.apache.org/repos/asf/airavata/blob/00b8aaf0/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client samples/getExperimentOutputs.cpp~
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client samples/getExperimentOutputs.cpp~ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client samples/getExperimentOutputs.cpp~
deleted file mode 100644
index 6b6eab7..0000000
--- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client samples/getExperimentOutputs.cpp~
+++ /dev/null
@@ -1,108 +0,0 @@
-#include <glib.h>
-#include <iostream>
-#include <stdint.h>
-#include <sys/time.h>
-
-#define _WIN32_WINNT 0x501
-
-#include <thrift/transport/TTransport.h>
-#include <thrift/transport/TBufferTransports.cpp>
-#include <thrift/transport/TSocket.cpp>
-#include <thrift/protocol/TProtocol.h>
-#include <thrift/protocol/TBinaryProtocol.h>
-#include <thrift/protocol/TBinaryProtocol.tcc>
-#include <thrift/TApplicationException.cpp>
-#include <thrift/transport/TTransportException.cpp>
-#include <thrift/protocol/TProtocolException.h>
-#include "../lib/airavata/Airavata.h"
-#include "../lib/airavata/Airavata.cpp"
-#include "../lib/airavata/airavataDataModel_types.h"
-#include "../lib/airavata/airavataDataModel_types.cpp"
-#include "../lib/airavata/airavataErrors_types.h"
-#include "../lib/airavata/airavataErrors_types.cpp"
-#include "../lib/airavata/experimentModel_types.h"
-#include "../lib/airavata/experimentModel_types.cpp"
-#include "../lib/airavata/workspaceModel_types.h"
-#include "../lib/airavata/workspaceModel_types.cpp"
-#include "../lib/airavata/airavataAPI_types.h"
-#include "../lib/airavata/airavataAPI_types.cpp"
-#include "../lib/airavata/applicationDeploymentModel_types.h"
-#include "../lib/airavata/applicationDeploymentModel_types.cpp"
-#include "../lib/airavata/applicationInterfaceModel_types.h"
-#include "../lib/airavata/applicationInterfaceModel_types.cpp"
-#include "../lib/airavata/gatewayResourceProfileModel_types.h"
-#include "../lib/airavata/gatewayResourceProfileModel_types.cpp"
-#include "../lib/airavata/computeResourceModel_types.h"
-#include "../lib/airavata/computeResourceModel_types.cpp"
-
-
-typedef struct {
- gchar *airavata_server, *app_catalog_server;
- gint airavata_port, app_catalog_port, airavata_timeout;
-} Settings;
-
-using namespace std;
-using namespace apache::thrift;
-using namespace apache::thrift::protocol;
-using namespace apache::thrift::transport;
-using namespace apache::airavata::api;
-using namespace apache::airavata::model::workspace::experiment;
-
-void readConfigFile(char* cfgfile, string& airavata_server, string& app_catalog_server, int& airavata_port, int& app_catalog_port, int& airavata_timeout) {
-
- Settings *conf;
- GKeyFile *keyfile;
- GKeyFileFlags flags;
- GError *error = NULL;
- keyfile = g_key_file_new ();
- if (!g_key_file_load_from_file (keyfile, cfgfile, flags, &error)) {
- g_error (error->message);
- } else {
-
- conf = g_slice_new (Settings);
- conf->airavata_server = g_key_file_get_string(keyfile, "airavata", "AIRAVATA_SERVER", NULL);
- airavata_server = conf->airavata_server;
- conf->airavata_port = g_key_file_get_integer(keyfile, "airavata", "AIRAVATA_PORT", NULL);
- airavata_port = conf->airavata_port;
- conf->airavata_timeout = g_key_file_get_integer(keyfile, "airavata", "AIRAVATA_TIMEOUT", NULL);
- airavata_timeout = conf->airavata_timeout;
- conf->app_catalog_server = g_key_file_get_string(keyfile, "airavata", "APP_CATALOG_SERVER", NULL);
- app_catalog_server = conf->app_catalog_server;
- conf->app_catalog_port = g_key_file_get_integer(keyfile, "airavata", "APP_CATALOG_PORT", NULL);
- app_catalog_port = conf->app_catalog_port;
- }
-
-}
-
-int main(int argc, char **argv)
-{
-
- int airavata_port, app_catalog_port, airavata_timeout;
- string airavata_server, app_catalog_server;
- char* cfgfile;
- cfgfile = "./airavata-client-properties.ini";
- readConfigFile(cfgfile, airavata_server, app_catalog_server, airavata_port, app_catalog_port, airavata_timeout);
- airavata_server.erase(0,1);
- airavata_server.erase(airavata_server.length()-1,1);
- boost::shared_ptr<TSocket> socket(new TSocket(airavata_server, airavata_port));
- socket->setSendTimeout(airavata_timeout);
- boost::shared_ptr<TTransport> transport(new TBufferedTransport(socket));
- boost::shared_ptr<TProtocol> protocol(new TBinaryProtocol(transport));
- AiravataClient airavataclient(protocol);
- transport->open();
-
-
- if(argc !=2){
- cout << "Usage: ./getExperimentOutputs <experimentID>";
- return 0;
- }
- char* expId = argv[1];
- std::vector<DataObjectType> _return;
- airavataclient.getExperimentOutputs(_return, expId);
- int i;
- for(i=0; i<_return.size();i++){
- cout << _return[i].value;
- }
- transport->close();
-
-}
http://git-wip-us.apache.org/repos/asf/airavata/blob/00b8aaf0/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client samples/getExperimentStatus
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client samples/getExperimentStatus b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client samples/getExperimentStatus
deleted file mode 100755
index cff68b0..0000000
Binary files a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client samples/getExperimentStatus and /dev/null differ
http://git-wip-us.apache.org/repos/asf/airavata/blob/00b8aaf0/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client samples/getExperimentStatus.cpp
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client samples/getExperimentStatus.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client samples/getExperimentStatus.cpp
index 75c44ee..611ddac 100644
--- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client samples/getExperimentStatus.cpp
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client samples/getExperimentStatus.cpp
@@ -48,7 +48,7 @@ using namespace apache::thrift::transport;
using namespace apache::airavata::api;
using namespace apache::airavata::model::workspace::experiment;
-void readConfigFile(char* cfgfile, string& airavata_server, string& app_catalog_server, int& airavata_port, int& app_catalog_port, int& airavata_timeout) {
+void readConfigFile(char* cfgfile, string& airavata_server, int& airavata_port, int& airavata_timeout) {
Settings *conf;
GKeyFile *keyfile;
@@ -57,31 +57,27 @@ void readConfigFile(char* cfgfile, string& airavata_server, string& app_catalog_
keyfile = g_key_file_new ();
if (!g_key_file_load_from_file (keyfile, cfgfile, flags, &error)) {
g_error (error->message);
- } else {
-
+ } else {
conf = g_slice_new (Settings);
conf->airavata_server = g_key_file_get_string(keyfile, "airavata", "AIRAVATA_SERVER", NULL);
airavata_server = conf->airavata_server;
conf->airavata_port = g_key_file_get_integer(keyfile, "airavata", "AIRAVATA_PORT", NULL);
airavata_port = conf->airavata_port;
conf->airavata_timeout = g_key_file_get_integer(keyfile, "airavata", "AIRAVATA_TIMEOUT", NULL);
- airavata_timeout = conf->airavata_timeout;
- conf->app_catalog_server = g_key_file_get_string(keyfile, "airavata", "APP_CATALOG_SERVER", NULL);
- app_catalog_server = conf->app_catalog_server;
- conf->app_catalog_port = g_key_file_get_integer(keyfile, "airavata", "APP_CATALOG_PORT", NULL);
- app_catalog_port = conf->app_catalog_port;
+ airavata_timeout = conf->airavata_timeout;
}
}
+
int main(int argc, char **argv)
{
- int airavata_port, app_catalog_port, airavata_timeout;
- string airavata_server, app_catalog_server;
+ int airavata_port, airavata_timeout;
+ string airavata_server;
char* cfgfile;
cfgfile = "./airavata-client-properties.ini";
- readConfigFile(cfgfile, airavata_server, app_catalog_server, airavata_port, app_catalog_port, airavata_timeout);
+ readConfigFile(cfgfile, airavata_server, airavata_port, airavata_timeout);
airavata_server.erase(0,1);
airavata_server.erase(airavata_server.length()-1,1);
boost::shared_ptr<TSocket> socket(new TSocket(airavata_server, airavata_port));
http://git-wip-us.apache.org/repos/asf/airavata/blob/00b8aaf0/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client samples/getExperimentStatus.cpp~
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client samples/getExperimentStatus.cpp~ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client samples/getExperimentStatus.cpp~
deleted file mode 100644
index 39b15a4..0000000
--- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client samples/getExperimentStatus.cpp~
+++ /dev/null
@@ -1,105 +0,0 @@
-#include <glib.h>
-#include <iostream>
-#include <stdint.h>
-#include <sys/time.h>
-
-#define _WIN32_WINNT 0x501
-
-#include <thrift/transport/TTransport.h>
-#include <thrift/transport/TBufferTransports.cpp>
-#include <thrift/transport/TSocket.cpp>
-#include <thrift/protocol/TProtocol.h>
-#include <thrift/protocol/TBinaryProtocol.h>
-#include <thrift/protocol/TBinaryProtocol.tcc>
-#include <thrift/TApplicationException.cpp>
-#include <thrift/transport/TTransportException.cpp>
-#include <thrift/protocol/TProtocolException.h>
-#include "../lib/airavata/Airavata.h"
-#include "../lib/airavata/Airavata.cpp"
-#include "../lib/airavata/airavataDataModel_types.h"
-#include "../lib/airavata/airavataDataModel_types.cpp"
-#include "../lib/airavata/airavataErrors_types.h"
-#include "../lib/airavata/airavataErrors_types.cpp"
-#include "../lib/airavata/experimentModel_types.h"
-#include "../lib/airavata/experimentModel_types.cpp"
-#include "../lib/airavata/workspaceModel_types.h"
-#include "../lib/airavata/workspaceModel_types.cpp"
-#include "../lib/airavata/airavataAPI_types.h"
-#include "../lib/airavata/airavataAPI_types.cpp"
-#include "../lib/airavata/applicationDeploymentModel_types.h"
-#include "../lib/airavata/applicationDeploymentModel_types.cpp"
-#include "../lib/airavata/applicationInterfaceModel_types.h"
-#include "../lib/airavata/applicationInterfaceModel_types.cpp"
-#include "../lib/airavata/gatewayResourceProfileModel_types.h"
-#include "../lib/airavata/gatewayResourceProfileModel_types.cpp"
-#include "../lib/airavata/computeResourceModel_types.h"
-#include "../lib/airavata/computeResourceModel_types.cpp"
-
-
-typedef struct {
- gchar *airavata_server, *app_catalog_server;
- gint airavata_port, app_catalog_port, airavata_timeout;
-} Settings;
-
-using namespace std;
-using namespace apache::thrift;
-using namespace apache::thrift::protocol;
-using namespace apache::thrift::transport;
-using namespace apache::airavata::api;
-using namespace apache::airavata::model::workspace::experiment;
-
-void readConfigFile(char* cfgfile, string& airavata_server, string& app_catalog_server, int& airavata_port, int& app_catalog_port, int& airavata_timeout) {
-
- Settings *conf;
- GKeyFile *keyfile;
- GKeyFileFlags flags;
- GError *error = NULL;
- keyfile = g_key_file_new ();
- if (!g_key_file_load_from_file (keyfile, cfgfile, flags, &error)) {
- g_error (error->message);
- } else {
-
- conf = g_slice_new (Settings);
- conf->airavata_server = g_key_file_get_string(keyfile, "airavata", "AIRAVATA_SERVER", NULL);
- airavata_server = conf->airavata_server;
- conf->airavata_port = g_key_file_get_integer(keyfile, "airavata", "AIRAVATA_PORT", NULL);
- airavata_port = conf->airavata_port;
- conf->airavata_timeout = g_key_file_get_integer(keyfile, "airavata", "AIRAVATA_TIMEOUT", NULL);
- airavata_timeout = conf->airavata_timeout;
- conf->app_catalog_server = g_key_file_get_string(keyfile, "airavata", "APP_CATALOG_SERVER", NULL);
- app_catalog_server = conf->app_catalog_server;
- conf->app_catalog_port = g_key_file_get_integer(keyfile, "airavata", "APP_CATALOG_PORT", NULL);
- app_catalog_port = conf->app_catalog_port;
- }
-
-}
-
-int main(int argc, char **argv)
-{
-
- int airavata_port, app_catalog_port, airavata_timeout;
- string airavata_server, app_catalog_server;
- char* cfgfile;
- cfgfile = "./airavata-client-properties.ini";
- readConfigFile(cfgfile, airavata_server, app_catalog_server, airavata_port, app_catalog_port, airavata_timeout);
- airavata_server.erase(0,1);
- airavata_server.erase(airavata_server.length()-1,1);
- boost::shared_ptr<TSocket> socket(new TSocket(airavata_server, airavata_port));
- socket->setSendTimeout(airavata_timeout);
- boost::shared_ptr<TTransport> transport(new TBufferedTransport(socket));
- boost::shared_ptr<TProtocol> protocol(new TBinaryProtocol(transport));
- AiravataClient airavataclient(protocol);
- transport->open();
-
-
- if(argc !=2){
- cout << "Usage: ./getExperimentStatus <experimentID>";
- return 0;
- }
- char* expId = argv[1];
- ExperimentStatus _return;
- airavataclient.getExperimentStatus(_return, expId);
- cout << _return.experimentState;
- transport->close();
-
-}
http://git-wip-us.apache.org/repos/asf/airavata/blob/00b8aaf0/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client samples/launchExperiment
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client samples/launchExperiment b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client samples/launchExperiment
deleted file mode 100755
index 05d75e0..0000000
Binary files a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client samples/launchExperiment and /dev/null differ
http://git-wip-us.apache.org/repos/asf/airavata/blob/00b8aaf0/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client samples/launchExperiment.cpp
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client samples/launchExperiment.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client samples/launchExperiment.cpp
index d3b8337..8c26881 100644
--- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client samples/launchExperiment.cpp
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client samples/launchExperiment.cpp
@@ -47,7 +47,7 @@ using namespace apache::thrift::protocol;
using namespace apache::thrift::transport;
using namespace apache::airavata::api;
-void readConfigFile(char* cfgfile, string& airavata_server, string& app_catalog_server, int& airavata_port, int& app_catalog_port, int& airavata_timeout) {
+void readConfigFile(char* cfgfile, string& airavata_server, int& airavata_port, int& airavata_timeout) {
Settings *conf;
GKeyFile *keyfile;
@@ -56,19 +56,14 @@ void readConfigFile(char* cfgfile, string& airavata_server, string& app_catalog_
keyfile = g_key_file_new ();
if (!g_key_file_load_from_file (keyfile, cfgfile, flags, &error)) {
g_error (error->message);
- } else {
-
+ } else {
conf = g_slice_new (Settings);
conf->airavata_server = g_key_file_get_string(keyfile, "airavata", "AIRAVATA_SERVER", NULL);
airavata_server = conf->airavata_server;
conf->airavata_port = g_key_file_get_integer(keyfile, "airavata", "AIRAVATA_PORT", NULL);
airavata_port = conf->airavata_port;
conf->airavata_timeout = g_key_file_get_integer(keyfile, "airavata", "AIRAVATA_TIMEOUT", NULL);
- airavata_timeout = conf->airavata_timeout;
- conf->app_catalog_server = g_key_file_get_string(keyfile, "airavata", "APP_CATALOG_SERVER", NULL);
- app_catalog_server = conf->app_catalog_server;
- conf->app_catalog_port = g_key_file_get_integer(keyfile, "airavata", "APP_CATALOG_PORT", NULL);
- app_catalog_port = conf->app_catalog_port;
+ airavata_timeout = conf->airavata_timeout;
}
}
@@ -77,11 +72,11 @@ void readConfigFile(char* cfgfile, string& airavata_server, string& app_catalog_
int main(int argc, char **argv)
{
- int airavata_port, app_catalog_port, airavata_timeout;
- string airavata_server, app_catalog_server;
+ int airavata_port, airavata_timeout;
+ string airavata_server;
char* cfgfile;
cfgfile = "./airavata-client-properties.ini";
- readConfigFile(cfgfile, airavata_server, app_catalog_server, airavata_port, app_catalog_port, airavata_timeout);
+ readConfigFile(cfgfile, airavata_server, airavata_port, airavata_timeout);
airavata_server.erase(0,1);
airavata_server.erase(airavata_server.length()-1,1);
boost::shared_ptr<TSocket> socket(new TSocket(airavata_server, airavata_port));
http://git-wip-us.apache.org/repos/asf/airavata/blob/00b8aaf0/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client samples/launchExperiment.cpp~
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client samples/launchExperiment.cpp~ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client samples/launchExperiment.cpp~
deleted file mode 100644
index a7a7551..0000000
--- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client samples/launchExperiment.cpp~
+++ /dev/null
@@ -1,104 +0,0 @@
-#include <glib.h>
-#include <iostream>
-#include <stdint.h>
-#include <sys/time.h>
-
-#define _WIN32_WINNT 0x501
-
-#include <thrift/transport/TTransport.h>
-#include <thrift/transport/TBufferTransports.cpp>
-#include <thrift/transport/TSocket.cpp>
-#include <thrift/protocol/TProtocol.h>
-#include <thrift/protocol/TBinaryProtocol.h>
-#include <thrift/protocol/TBinaryProtocol.tcc>
-#include <thrift/TApplicationException.cpp>
-#include <thrift/transport/TTransportException.cpp>
-#include <thrift/protocol/TProtocolException.h>
-#include "../lib/airavata/Airavata.h"
-#include "../lib/airavata/Airavata.cpp"
-#include "../lib/airavata/airavataDataModel_types.h"
-#include "../lib/airavata/airavataDataModel_types.cpp"
-#include "../lib/airavata/airavataErrors_types.h"
-#include "../lib/airavata/airavataErrors_types.cpp"
-#include "../lib/airavata/experimentModel_types.h"
-#include "../lib/airavata/experimentModel_types.cpp"
-#include "../lib/airavata/workspaceModel_types.h"
-#include "../lib/airavata/workspaceModel_types.cpp"
-#include "../lib/airavata/airavataAPI_types.h"
-#include "../lib/airavata/airavataAPI_types.cpp"
-#include "../lib/airavata/applicationDeploymentModel_types.h"
-#include "../lib/airavata/applicationDeploymentModel_types.cpp"
-#include "../lib/airavata/applicationInterfaceModel_types.h"
-#include "../lib/airavata/applicationInterfaceModel_types.cpp"
-#include "../lib/airavata/gatewayResourceProfileModel_types.h"
-#include "../lib/airavata/gatewayResourceProfileModel_types.cpp"
-#include "../lib/airavata/computeResourceModel_types.h"
-#include "../lib/airavata/computeResourceModel_types.cpp"
-
-
-typedef struct {
- gchar *airavata_server, *app_catalog_server;
- gint airavata_port, app_catalog_port, airavata_timeout;
-} Settings;
-
-using namespace std;
-using namespace apache::thrift;
-using namespace apache::thrift::protocol;
-using namespace apache::thrift::transport;
-using namespace apache::airavata::api;
-
-void readConfigFile(char* cfgfile, string& airavata_server, string& app_catalog_server, int& airavata_port, int& app_catalog_port, int& airavata_timeout) {
-
- Settings *conf;
- GKeyFile *keyfile;
- GKeyFileFlags flags;
- GError *error = NULL;
- keyfile = g_key_file_new ();
- if (!g_key_file_load_from_file (keyfile, cfgfile, flags, &error)) {
- g_error (error->message);
- } else {
-
- conf = g_slice_new (Settings);
- conf->airavata_server = g_key_file_get_string(keyfile, "airavata", "AIRAVATA_SERVER", NULL);
- airavata_server = conf->airavata_server;
- conf->airavata_port = g_key_file_get_integer(keyfile, "airavata", "AIRAVATA_PORT", NULL);
- airavata_port = conf->airavata_port;
- conf->airavata_timeout = g_key_file_get_integer(keyfile, "airavata", "AIRAVATA_TIMEOUT", NULL);
- airavata_timeout = conf->airavata_timeout;
- conf->app_catalog_server = g_key_file_get_string(keyfile, "airavata", "APP_CATALOG_SERVER", NULL);
- app_catalog_server = conf->app_catalog_server;
- conf->app_catalog_port = g_key_file_get_integer(keyfile, "airavata", "APP_CATALOG_PORT", NULL);
- app_catalog_port = conf->app_catalog_port;
- }
-
-}
-
-
-int main(int argc, char **argv)
-{
-
- int airavata_port, app_catalog_port, airavata_timeout;
- string airavata_server, app_catalog_server;
- char* cfgfile;
- cfgfile = "./airavata-client-properties.ini";
- readConfigFile(cfgfile, airavata_server, app_catalog_server, airavata_port, app_catalog_port, airavata_timeout);
- airavata_server.erase(0,1);
- airavata_server.erase(airavata_server.length()-1,1);
- boost::shared_ptr<TSocket> socket(new TSocket(airavata_server, airavata_port));
- socket->setSendTimeout(airavata_timeout);
- boost::shared_ptr<TTransport> transport(new TBufferedTransport(socket));
- boost::shared_ptr<TProtocol> protocol(new TBinaryProtocol(transport));
- AiravataClient airavataclient(protocol);
- transport->open();
-
-
- if(argc !=2){
- cout << "Usage: ./launchExperiment [experiment ID]";
- return 0;
- }
- char* expId = argv[1];
- airavataclient.launchExperiment(expId, "airavataToken");
- cout << "Experiment " << expId << " is launched.\n";
- transport->close();
-
-}
[15/47] Added c++ client samples for integrattion of airavata with
any other application's c++ interface
Posted by sm...@apache.org.
http://git-wip-us.apache.org/repos/asf/airavata/blob/f891b7dc/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/experimentModel_types.cpp~
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/experimentModel_types.cpp~ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/experimentModel_types.cpp~
new file mode 100644
index 0000000..08010d0
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/experimentModel_types.cpp~
@@ -0,0 +1,3339 @@
+/**
+ * Autogenerated by Thrift Compiler (0.9.1)
+ *
+ * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+ * @generated
+ */
+#include "experimentModel_types.h"
+
+#include <algorithm>
+
+namespace apache { namespace airavata { namespace model { namespace workspace { namespace experiment {
+
+int _kExperimentStateValues[] = {
+ ExperimentState::CREATED,
+ ExperimentState::VALIDATED,
+ ExperimentState::SCHEDULED,
+ ExperimentState::LAUNCHED,
+ ExperimentState::EXECUTING,
+ ExperimentState::CANCELING,
+ ExperimentState::CANCELED,
+ ExperimentState::SUSPENDED,
+ ExperimentState::COMPLETED,
+ ExperimentState::FAILED,
+ ExperimentState::UNKNOWN
+};
+const char* _kExperimentStateNames[] = {
+ "CREATED",
+ "VALIDATED",
+ "SCHEDULED",
+ "LAUNCHED",
+ "EXECUTING",
+ "CANCELING",
+ "CANCELED",
+ "SUSPENDED",
+ "COMPLETED",
+ "FAILED",
+ "UNKNOWN"
+};
+const std::map<int, const char*> _ExperimentState_VALUES_TO_NAMES(::apache::thrift::TEnumIterator(11, _kExperimentStateValues, _kExperimentStateNames), ::apache::thrift::TEnumIterator(-1, NULL, NULL));
+
+int _kWorkflowNodeStateValues[] = {
+ WorkflowNodeState::INVOKED,
+ WorkflowNodeState::EXECUTING,
+ WorkflowNodeState::CANCELING,
+ WorkflowNodeState::CANCELED,
+ WorkflowNodeState::SUSPENDED,
+ WorkflowNodeState::COMPLETED,
+ WorkflowNodeState::FAILED,
+ WorkflowNodeState::UNKNOWN
+};
+const char* _kWorkflowNodeStateNames[] = {
+ "INVOKED",
+ "EXECUTING",
+ "CANCELING",
+ "CANCELED",
+ "SUSPENDED",
+ "COMPLETED",
+ "FAILED",
+ "UNKNOWN"
+};
+const std::map<int, const char*> _WorkflowNodeState_VALUES_TO_NAMES(::apache::thrift::TEnumIterator(8, _kWorkflowNodeStateValues, _kWorkflowNodeStateNames), ::apache::thrift::TEnumIterator(-1, NULL, NULL));
+
+int _kTaskStateValues[] = {
+ TaskState::WAITING,
+ TaskState::STARTED,
+ TaskState::PRE_PROCESSING,
+ TaskState::CONFIGURING_WORKSPACE,
+ TaskState::INPUT_DATA_STAGING,
+ TaskState::OUTPUT_DATA_STAGING,
+ TaskState::POST_PROCESSING,
+ TaskState::EXECUTING,
+ TaskState::CANCELING,
+ TaskState::CANCELED,
+ TaskState::COMPLETED,
+ TaskState::FAILED,
+ TaskState::UNKNOWN
+};
+const char* _kTaskStateNames[] = {
+ "WAITING",
+ "STARTED",
+ "PRE_PROCESSING",
+ "CONFIGURING_WORKSPACE",
+ "INPUT_DATA_STAGING",
+ "OUTPUT_DATA_STAGING",
+ "POST_PROCESSING",
+ "EXECUTING",
+ "CANCELING",
+ "CANCELED",
+ "COMPLETED",
+ "FAILED",
+ "UNKNOWN"
+};
+const std::map<int, const char*> _TaskState_VALUES_TO_NAMES(::apache::thrift::TEnumIterator(13, _kTaskStateValues, _kTaskStateNames), ::apache::thrift::TEnumIterator(-1, NULL, NULL));
+
+int _kJobStateValues[] = {
+ JobState::SUBMITTED,
+ JobState::UN_SUBMITTED,
+ JobState::SETUP,
+ JobState::QUEUED,
+ JobState::ACTIVE,
+ JobState::COMPLETE,
+ JobState::CANCELING,
+ JobState::CANCELED,
+ JobState::FAILED,
+ JobState::HELD,
+ JobState::SUSPENDED,
+ JobState::UNKNOWN
+};
+const char* _kJobStateNames[] = {
+ "SUBMITTED",
+ "UN_SUBMITTED",
+ "SETUP",
+ "QUEUED",
+ "ACTIVE",
+ "COMPLETE",
+ "CANCELING",
+ "CANCELED",
+ "FAILED",
+ "HELD",
+ "SUSPENDED",
+ "UNKNOWN"
+};
+const std::map<int, const char*> _JobState_VALUES_TO_NAMES(::apache::thrift::TEnumIterator(12, _kJobStateValues, _kJobStateNames), ::apache::thrift::TEnumIterator(-1, NULL, NULL));
+
+int _kTransferStateValues[] = {
+ TransferState::DIRECTORY_SETUP,
+ TransferState::UPLOAD,
+ TransferState::DOWNLOAD,
+ TransferState::ACTIVE,
+ TransferState::COMPLETE,
+ TransferState::STDOUT_DOWNLOAD,
+ TransferState::STDERROR_DOWNLOAD,
+ TransferState::CANCELING,
+ TransferState::CANCELED,
+ TransferState::FAILED,
+ TransferState::HELD,
+ TransferState::SUSPENDED,
+ TransferState::UNKNOWN
+};
+const char* _kTransferStateNames[] = {
+ "DIRECTORY_SETUP",
+ "UPLOAD",
+ "DOWNLOAD",
+ "ACTIVE",
+ "COMPLETE",
+ "STDOUT_DOWNLOAD",
+ "STDERROR_DOWNLOAD",
+ "CANCELING",
+ "CANCELED",
+ "FAILED",
+ "HELD",
+ "SUSPENDED",
+ "UNKNOWN"
+};
+const std::map<int, const char*> _TransferState_VALUES_TO_NAMES(::apache::thrift::TEnumIterator(13, _kTransferStateValues, _kTransferStateNames), ::apache::thrift::TEnumIterator(-1, NULL, NULL));
+
+int _kActionableGroupValues[] = {
+ ActionableGroup::RESOURCE_ADMINS,
+ ActionableGroup::AIRAVATA_ADMINS,
+ ActionableGroup::GATEWAYS_ADMINS,
+ ActionableGroup::USER,
+ ActionableGroup::CANNOT_BE_DETERMINED
+};
+const char* _kActionableGroupNames[] = {
+ "RESOURCE_ADMINS",
+ "AIRAVATA_ADMINS",
+ "GATEWAYS_ADMINS",
+ "USER",
+ "CANNOT_BE_DETERMINED"
+};
+const std::map<int, const char*> _ActionableGroup_VALUES_TO_NAMES(::apache::thrift::TEnumIterator(5, _kActionableGroupValues, _kActionableGroupNames), ::apache::thrift::TEnumIterator(-1, NULL, NULL));
+
+int _kErrorCategoryValues[] = {
+ ErrorCategory::FILE_SYSTEM_FAILURE,
+ ErrorCategory::APPLICATION_FAILURE,
+ ErrorCategory::RESOURCE_NODE_FAILURE,
+ ErrorCategory::DISK_FULL,
+ ErrorCategory::INSUFFICIENT_ALLOCATION,
+ ErrorCategory::SYSTEM_MAINTENANCE,
+ ErrorCategory::AIRAVATA_INTERNAL_ERROR,
+ ErrorCategory::CANNOT_BE_DETERMINED
+};
+const char* _kErrorCategoryNames[] = {
+ "FILE_SYSTEM_FAILURE",
+ "APPLICATION_FAILURE",
+ "RESOURCE_NODE_FAILURE",
+ "DISK_FULL",
+ "INSUFFICIENT_ALLOCATION",
+ "SYSTEM_MAINTENANCE",
+ "AIRAVATA_INTERNAL_ERROR",
+ "CANNOT_BE_DETERMINED"
+};
+const std::map<int, const char*> _ErrorCategory_VALUES_TO_NAMES(::apache::thrift::TEnumIterator(8, _kErrorCategoryValues, _kErrorCategoryNames), ::apache::thrift::TEnumIterator(-1, NULL, NULL));
+
+int _kCorrectiveActionValues[] = {
+ CorrectiveAction::RETRY_SUBMISSION,
+ CorrectiveAction::CONTACT_SUPPORT,
+ CorrectiveAction::CANNOT_BE_DETERMINED
+};
+const char* _kCorrectiveActionNames[] = {
+ "RETRY_SUBMISSION",
+ "CONTACT_SUPPORT",
+ "CANNOT_BE_DETERMINED"
+};
+const std::map<int, const char*> _CorrectiveAction_VALUES_TO_NAMES(::apache::thrift::TEnumIterator(3, _kCorrectiveActionValues, _kCorrectiveActionNames), ::apache::thrift::TEnumIterator(-1, NULL, NULL));
+
+int _kDataTypeValues[] = {
+ DataType::STRING,
+ DataType::INTEGER,
+ DataType::URI,
+ DataType::STDOUT,
+ DataType::STDERR
+};
+const char* _kDataTypeNames[] = {
+ "STRING",
+ "INTEGER",
+ "URI",
+ "STDOUT",
+ "STDERR"
+};
+const std::map<int, const char*> _DataType_VALUES_TO_NAMES(::apache::thrift::TEnumIterator(5, _kDataTypeValues, _kDataTypeNames), ::apache::thrift::TEnumIterator(-1, NULL, NULL));
+
+int _kExecutionUnitValues[] = {
+ ExecutionUnit::INPUT,
+ ExecutionUnit::APPLICATION,
+ ExecutionUnit::OUTPUT
+};
+const char* _kExecutionUnitNames[] = {
+ "INPUT",
+ "APPLICATION",
+ "OUTPUT"
+};
+const std::map<int, const char*> _ExecutionUnit_VALUES_TO_NAMES(::apache::thrift::TEnumIterator(3, _kExecutionUnitValues, _kExecutionUnitNames), ::apache::thrift::TEnumIterator(-1, NULL, NULL));
+
+const char* ExperimentStatus::ascii_fingerprint = "1662AAADFABAB647546029B578B3B69B";
+const uint8_t ExperimentStatus::binary_fingerprint[16] = {0x16,0x62,0xAA,0xAD,0xFA,0xBA,0xB6,0x47,0x54,0x60,0x29,0xB5,0x78,0xB3,0xB6,0x9B};
+
+uint32_t ExperimentStatus::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+ uint32_t xfer = 0;
+ std::string fname;
+ ::apache::thrift::protocol::TType ftype;
+ int16_t fid;
+
+ xfer += iprot->readStructBegin(fname);
+
+ using ::apache::thrift::protocol::TProtocolException;
+
+ bool isset_experimentState = false;
+
+ while (true)
+ {
+ xfer += iprot->readFieldBegin(fname, ftype, fid);
+ if (ftype == ::apache::thrift::protocol::T_STOP) {
+ break;
+ }
+ switch (fid)
+ {
+ case 1:
+ if (ftype == ::apache::thrift::protocol::T_I32) {
+ int32_t ecast0;
+ xfer += iprot->readI32(ecast0);
+ this->experimentState = (ExperimentState::type)ecast0;
+ isset_experimentState = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 2:
+ if (ftype == ::apache::thrift::protocol::T_I64) {
+ xfer += iprot->readI64(this->timeOfStateChange);
+ this->__isset.timeOfStateChange = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ default:
+ xfer += iprot->skip(ftype);
+ break;
+ }
+ xfer += iprot->readFieldEnd();
+ }
+
+ xfer += iprot->readStructEnd();
+
+ if (!isset_experimentState)
+ throw TProtocolException(TProtocolException::INVALID_DATA);
+ return xfer;
+}
+
+uint32_t ExperimentStatus::write(::apache::thrift::protocol::TProtocol* oprot) const {
+ uint32_t xfer = 0;
+ xfer += oprot->writeStructBegin("ExperimentStatus");
+
+ xfer += oprot->writeFieldBegin("experimentState", ::apache::thrift::protocol::T_I32, 1);
+ xfer += oprot->writeI32((int32_t)this->experimentState);
+ xfer += oprot->writeFieldEnd();
+
+ if (this->__isset.timeOfStateChange) {
+ xfer += oprot->writeFieldBegin("timeOfStateChange", ::apache::thrift::protocol::T_I64, 2);
+ xfer += oprot->writeI64(this->timeOfStateChange);
+ xfer += oprot->writeFieldEnd();
+ }
+ xfer += oprot->writeFieldStop();
+ xfer += oprot->writeStructEnd();
+ return xfer;
+}
+
+void swap(ExperimentStatus &a, ExperimentStatus &b) {
+ using ::std::swap;
+ swap(a.experimentState, b.experimentState);
+ swap(a.timeOfStateChange, b.timeOfStateChange);
+ swap(a.__isset, b.__isset);
+}
+
+const char* WorkflowNodeStatus::ascii_fingerprint = "1662AAADFABAB647546029B578B3B69B";
+const uint8_t WorkflowNodeStatus::binary_fingerprint[16] = {0x16,0x62,0xAA,0xAD,0xFA,0xBA,0xB6,0x47,0x54,0x60,0x29,0xB5,0x78,0xB3,0xB6,0x9B};
+
+uint32_t WorkflowNodeStatus::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+ uint32_t xfer = 0;
+ std::string fname;
+ ::apache::thrift::protocol::TType ftype;
+ int16_t fid;
+
+ xfer += iprot->readStructBegin(fname);
+
+ using ::apache::thrift::protocol::TProtocolException;
+
+ bool isset_workflowNodeState = false;
+
+ while (true)
+ {
+ xfer += iprot->readFieldBegin(fname, ftype, fid);
+ if (ftype == ::apache::thrift::protocol::T_STOP) {
+ break;
+ }
+ switch (fid)
+ {
+ case 1:
+ if (ftype == ::apache::thrift::protocol::T_I32) {
+ int32_t ecast1;
+ xfer += iprot->readI32(ecast1);
+ this->workflowNodeState = (WorkflowNodeState::type)ecast1;
+ isset_workflowNodeState = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 2:
+ if (ftype == ::apache::thrift::protocol::T_I64) {
+ xfer += iprot->readI64(this->timeOfStateChange);
+ this->__isset.timeOfStateChange = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ default:
+ xfer += iprot->skip(ftype);
+ break;
+ }
+ xfer += iprot->readFieldEnd();
+ }
+
+ xfer += iprot->readStructEnd();
+
+ if (!isset_workflowNodeState)
+ throw TProtocolException(TProtocolException::INVALID_DATA);
+ return xfer;
+}
+
+uint32_t WorkflowNodeStatus::write(::apache::thrift::protocol::TProtocol* oprot) const {
+ uint32_t xfer = 0;
+ xfer += oprot->writeStructBegin("WorkflowNodeStatus");
+
+ xfer += oprot->writeFieldBegin("workflowNodeState", ::apache::thrift::protocol::T_I32, 1);
+ xfer += oprot->writeI32((int32_t)this->workflowNodeState);
+ xfer += oprot->writeFieldEnd();
+
+ if (this->__isset.timeOfStateChange) {
+ xfer += oprot->writeFieldBegin("timeOfStateChange", ::apache::thrift::protocol::T_I64, 2);
+ xfer += oprot->writeI64(this->timeOfStateChange);
+ xfer += oprot->writeFieldEnd();
+ }
+ xfer += oprot->writeFieldStop();
+ xfer += oprot->writeStructEnd();
+ return xfer;
+}
+
+void swap(WorkflowNodeStatus &a, WorkflowNodeStatus &b) {
+ using ::std::swap;
+ swap(a.workflowNodeState, b.workflowNodeState);
+ swap(a.timeOfStateChange, b.timeOfStateChange);
+ swap(a.__isset, b.__isset);
+}
+
+const char* TaskStatus::ascii_fingerprint = "1662AAADFABAB647546029B578B3B69B";
+const uint8_t TaskStatus::binary_fingerprint[16] = {0x16,0x62,0xAA,0xAD,0xFA,0xBA,0xB6,0x47,0x54,0x60,0x29,0xB5,0x78,0xB3,0xB6,0x9B};
+
+uint32_t TaskStatus::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+ uint32_t xfer = 0;
+ std::string fname;
+ ::apache::thrift::protocol::TType ftype;
+ int16_t fid;
+
+ xfer += iprot->readStructBegin(fname);
+
+ using ::apache::thrift::protocol::TProtocolException;
+
+ bool isset_executionState = false;
+
+ while (true)
+ {
+ xfer += iprot->readFieldBegin(fname, ftype, fid);
+ if (ftype == ::apache::thrift::protocol::T_STOP) {
+ break;
+ }
+ switch (fid)
+ {
+ case 1:
+ if (ftype == ::apache::thrift::protocol::T_I32) {
+ int32_t ecast2;
+ xfer += iprot->readI32(ecast2);
+ this->executionState = (TaskState::type)ecast2;
+ isset_executionState = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 2:
+ if (ftype == ::apache::thrift::protocol::T_I64) {
+ xfer += iprot->readI64(this->timeOfStateChange);
+ this->__isset.timeOfStateChange = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ default:
+ xfer += iprot->skip(ftype);
+ break;
+ }
+ xfer += iprot->readFieldEnd();
+ }
+
+ xfer += iprot->readStructEnd();
+
+ if (!isset_executionState)
+ throw TProtocolException(TProtocolException::INVALID_DATA);
+ return xfer;
+}
+
+uint32_t TaskStatus::write(::apache::thrift::protocol::TProtocol* oprot) const {
+ uint32_t xfer = 0;
+ xfer += oprot->writeStructBegin("TaskStatus");
+
+ xfer += oprot->writeFieldBegin("executionState", ::apache::thrift::protocol::T_I32, 1);
+ xfer += oprot->writeI32((int32_t)this->executionState);
+ xfer += oprot->writeFieldEnd();
+
+ if (this->__isset.timeOfStateChange) {
+ xfer += oprot->writeFieldBegin("timeOfStateChange", ::apache::thrift::protocol::T_I64, 2);
+ xfer += oprot->writeI64(this->timeOfStateChange);
+ xfer += oprot->writeFieldEnd();
+ }
+ xfer += oprot->writeFieldStop();
+ xfer += oprot->writeStructEnd();
+ return xfer;
+}
+
+void swap(TaskStatus &a, TaskStatus &b) {
+ using ::std::swap;
+ swap(a.executionState, b.executionState);
+ swap(a.timeOfStateChange, b.timeOfStateChange);
+ swap(a.__isset, b.__isset);
+}
+
+const char* JobStatus::ascii_fingerprint = "1662AAADFABAB647546029B578B3B69B";
+const uint8_t JobStatus::binary_fingerprint[16] = {0x16,0x62,0xAA,0xAD,0xFA,0xBA,0xB6,0x47,0x54,0x60,0x29,0xB5,0x78,0xB3,0xB6,0x9B};
+
+uint32_t JobStatus::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+ uint32_t xfer = 0;
+ std::string fname;
+ ::apache::thrift::protocol::TType ftype;
+ int16_t fid;
+
+ xfer += iprot->readStructBegin(fname);
+
+ using ::apache::thrift::protocol::TProtocolException;
+
+ bool isset_jobState = false;
+
+ while (true)
+ {
+ xfer += iprot->readFieldBegin(fname, ftype, fid);
+ if (ftype == ::apache::thrift::protocol::T_STOP) {
+ break;
+ }
+ switch (fid)
+ {
+ case 1:
+ if (ftype == ::apache::thrift::protocol::T_I32) {
+ int32_t ecast3;
+ xfer += iprot->readI32(ecast3);
+ this->jobState = (JobState::type)ecast3;
+ isset_jobState = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 2:
+ if (ftype == ::apache::thrift::protocol::T_I64) {
+ xfer += iprot->readI64(this->timeOfStateChange);
+ this->__isset.timeOfStateChange = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ default:
+ xfer += iprot->skip(ftype);
+ break;
+ }
+ xfer += iprot->readFieldEnd();
+ }
+
+ xfer += iprot->readStructEnd();
+
+ if (!isset_jobState)
+ throw TProtocolException(TProtocolException::INVALID_DATA);
+ return xfer;
+}
+
+uint32_t JobStatus::write(::apache::thrift::protocol::TProtocol* oprot) const {
+ uint32_t xfer = 0;
+ xfer += oprot->writeStructBegin("JobStatus");
+
+ xfer += oprot->writeFieldBegin("jobState", ::apache::thrift::protocol::T_I32, 1);
+ xfer += oprot->writeI32((int32_t)this->jobState);
+ xfer += oprot->writeFieldEnd();
+
+ if (this->__isset.timeOfStateChange) {
+ xfer += oprot->writeFieldBegin("timeOfStateChange", ::apache::thrift::protocol::T_I64, 2);
+ xfer += oprot->writeI64(this->timeOfStateChange);
+ xfer += oprot->writeFieldEnd();
+ }
+ xfer += oprot->writeFieldStop();
+ xfer += oprot->writeStructEnd();
+ return xfer;
+}
+
+void swap(JobStatus &a, JobStatus &b) {
+ using ::std::swap;
+ swap(a.jobState, b.jobState);
+ swap(a.timeOfStateChange, b.timeOfStateChange);
+ swap(a.__isset, b.__isset);
+}
+
+const char* TransferStatus::ascii_fingerprint = "1662AAADFABAB647546029B578B3B69B";
+const uint8_t TransferStatus::binary_fingerprint[16] = {0x16,0x62,0xAA,0xAD,0xFA,0xBA,0xB6,0x47,0x54,0x60,0x29,0xB5,0x78,0xB3,0xB6,0x9B};
+
+uint32_t TransferStatus::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+ uint32_t xfer = 0;
+ std::string fname;
+ ::apache::thrift::protocol::TType ftype;
+ int16_t fid;
+
+ xfer += iprot->readStructBegin(fname);
+
+ using ::apache::thrift::protocol::TProtocolException;
+
+ bool isset_transferState = false;
+
+ while (true)
+ {
+ xfer += iprot->readFieldBegin(fname, ftype, fid);
+ if (ftype == ::apache::thrift::protocol::T_STOP) {
+ break;
+ }
+ switch (fid)
+ {
+ case 1:
+ if (ftype == ::apache::thrift::protocol::T_I32) {
+ int32_t ecast4;
+ xfer += iprot->readI32(ecast4);
+ this->transferState = (TransferState::type)ecast4;
+ isset_transferState = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 2:
+ if (ftype == ::apache::thrift::protocol::T_I64) {
+ xfer += iprot->readI64(this->timeOfStateChange);
+ this->__isset.timeOfStateChange = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ default:
+ xfer += iprot->skip(ftype);
+ break;
+ }
+ xfer += iprot->readFieldEnd();
+ }
+
+ xfer += iprot->readStructEnd();
+
+ if (!isset_transferState)
+ throw TProtocolException(TProtocolException::INVALID_DATA);
+ return xfer;
+}
+
+uint32_t TransferStatus::write(::apache::thrift::protocol::TProtocol* oprot) const {
+ uint32_t xfer = 0;
+ xfer += oprot->writeStructBegin("TransferStatus");
+
+ xfer += oprot->writeFieldBegin("transferState", ::apache::thrift::protocol::T_I32, 1);
+ xfer += oprot->writeI32((int32_t)this->transferState);
+ xfer += oprot->writeFieldEnd();
+
+ if (this->__isset.timeOfStateChange) {
+ xfer += oprot->writeFieldBegin("timeOfStateChange", ::apache::thrift::protocol::T_I64, 2);
+ xfer += oprot->writeI64(this->timeOfStateChange);
+ xfer += oprot->writeFieldEnd();
+ }
+ xfer += oprot->writeFieldStop();
+ xfer += oprot->writeStructEnd();
+ return xfer;
+}
+
+void swap(TransferStatus &a, TransferStatus &b) {
+ using ::std::swap;
+ swap(a.transferState, b.transferState);
+ swap(a.timeOfStateChange, b.timeOfStateChange);
+ swap(a.__isset, b.__isset);
+}
+
+const char* ApplicationStatus::ascii_fingerprint = "E17E126D15049701494262EE3246F603";
+const uint8_t ApplicationStatus::binary_fingerprint[16] = {0xE1,0x7E,0x12,0x6D,0x15,0x04,0x97,0x01,0x49,0x42,0x62,0xEE,0x32,0x46,0xF6,0x03};
+
+uint32_t ApplicationStatus::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+ uint32_t xfer = 0;
+ std::string fname;
+ ::apache::thrift::protocol::TType ftype;
+ int16_t fid;
+
+ xfer += iprot->readStructBegin(fname);
+
+ using ::apache::thrift::protocol::TProtocolException;
+
+ bool isset_applicationState = false;
+
+ while (true)
+ {
+ xfer += iprot->readFieldBegin(fname, ftype, fid);
+ if (ftype == ::apache::thrift::protocol::T_STOP) {
+ break;
+ }
+ switch (fid)
+ {
+ case 1:
+ if (ftype == ::apache::thrift::protocol::T_STRING) {
+ xfer += iprot->readString(this->applicationState);
+ isset_applicationState = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 2:
+ if (ftype == ::apache::thrift::protocol::T_I64) {
+ xfer += iprot->readI64(this->timeOfStateChange);
+ this->__isset.timeOfStateChange = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ default:
+ xfer += iprot->skip(ftype);
+ break;
+ }
+ xfer += iprot->readFieldEnd();
+ }
+
+ xfer += iprot->readStructEnd();
+
+ if (!isset_applicationState)
+ throw TProtocolException(TProtocolException::INVALID_DATA);
+ return xfer;
+}
+
+uint32_t ApplicationStatus::write(::apache::thrift::protocol::TProtocol* oprot) const {
+ uint32_t xfer = 0;
+ xfer += oprot->writeStructBegin("ApplicationStatus");
+
+ xfer += oprot->writeFieldBegin("applicationState", ::apache::thrift::protocol::T_STRING, 1);
+ xfer += oprot->writeString(this->applicationState);
+ xfer += oprot->writeFieldEnd();
+
+ if (this->__isset.timeOfStateChange) {
+ xfer += oprot->writeFieldBegin("timeOfStateChange", ::apache::thrift::protocol::T_I64, 2);
+ xfer += oprot->writeI64(this->timeOfStateChange);
+ xfer += oprot->writeFieldEnd();
+ }
+ xfer += oprot->writeFieldStop();
+ xfer += oprot->writeStructEnd();
+ return xfer;
+}
+
+void swap(ApplicationStatus &a, ApplicationStatus &b) {
+ using ::std::swap;
+ swap(a.applicationState, b.applicationState);
+ swap(a.timeOfStateChange, b.timeOfStateChange);
+ swap(a.__isset, b.__isset);
+}
+
+const char* DataObjectType::ascii_fingerprint = "544FBB8031AE070AEEB7AC0E4A90E43C";
+const uint8_t DataObjectType::binary_fingerprint[16] = {0x54,0x4F,0xBB,0x80,0x31,0xAE,0x07,0x0A,0xEE,0xB7,0xAC,0x0E,0x4A,0x90,0xE4,0x3C};
+
+uint32_t DataObjectType::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+ uint32_t xfer = 0;
+ std::string fname;
+ ::apache::thrift::protocol::TType ftype;
+ int16_t fid;
+
+ xfer += iprot->readStructBegin(fname);
+
+ using ::apache::thrift::protocol::TProtocolException;
+
+ bool isset_key = false;
+
+ while (true)
+ {
+ xfer += iprot->readFieldBegin(fname, ftype, fid);
+ if (ftype == ::apache::thrift::protocol::T_STOP) {
+ break;
+ }
+ switch (fid)
+ {
+ case 1:
+ if (ftype == ::apache::thrift::protocol::T_STRING) {
+ xfer += iprot->readString(this->key);
+ isset_key = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 2:
+ if (ftype == ::apache::thrift::protocol::T_STRING) {
+ xfer += iprot->readString(this->value);
+ this->__isset.value = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 3:
+ if (ftype == ::apache::thrift::protocol::T_I32) {
+ int32_t ecast5;
+ xfer += iprot->readI32(ecast5);
+ this->type = (DataType::type)ecast5;
+ this->__isset.type = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 4:
+ if (ftype == ::apache::thrift::protocol::T_STRING) {
+ xfer += iprot->readString(this->metaData);
+ this->__isset.metaData = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ default:
+ xfer += iprot->skip(ftype);
+ break;
+ }
+ xfer += iprot->readFieldEnd();
+ }
+
+ xfer += iprot->readStructEnd();
+
+ if (!isset_key)
+ throw TProtocolException(TProtocolException::INVALID_DATA);
+ return xfer;
+}
+
+uint32_t DataObjectType::write(::apache::thrift::protocol::TProtocol* oprot) const {
+ uint32_t xfer = 0;
+ xfer += oprot->writeStructBegin("DataObjectType");
+
+ xfer += oprot->writeFieldBegin("key", ::apache::thrift::protocol::T_STRING, 1);
+ xfer += oprot->writeString(this->key);
+ xfer += oprot->writeFieldEnd();
+
+ if (this->__isset.value) {
+ xfer += oprot->writeFieldBegin("value", ::apache::thrift::protocol::T_STRING, 2);
+ xfer += oprot->writeString(this->value);
+ xfer += oprot->writeFieldEnd();
+ }
+ if (this->__isset.type) {
+ xfer += oprot->writeFieldBegin("type", ::apache::thrift::protocol::T_I32, 3);
+ xfer += oprot->writeI32((int32_t)this->type);
+ xfer += oprot->writeFieldEnd();
+ }
+ if (this->__isset.metaData) {
+ xfer += oprot->writeFieldBegin("metaData", ::apache::thrift::protocol::T_STRING, 4);
+ xfer += oprot->writeString(this->metaData);
+ xfer += oprot->writeFieldEnd();
+ }
+ xfer += oprot->writeFieldStop();
+ xfer += oprot->writeStructEnd();
+ return xfer;
+}
+
+void swap(DataObjectType &a, DataObjectType &b) {
+ using ::std::swap;
+ swap(a.key, b.key);
+ swap(a.value, b.value);
+ swap(a.type, b.type);
+ swap(a.metaData, b.metaData);
+ swap(a.__isset, b.__isset);
+}
+
+const char* ComputationalResourceScheduling::ascii_fingerprint = "32AC7AC41AD3753A7224A32FD6EB4B5D";
+const uint8_t ComputationalResourceScheduling::binary_fingerprint[16] = {0x32,0xAC,0x7A,0xC4,0x1A,0xD3,0x75,0x3A,0x72,0x24,0xA3,0x2F,0xD6,0xEB,0x4B,0x5D};
+
+uint32_t ComputationalResourceScheduling::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+ uint32_t xfer = 0;
+ std::string fname;
+ ::apache::thrift::protocol::TType ftype;
+ int16_t fid;
+
+ xfer += iprot->readStructBegin(fname);
+
+ using ::apache::thrift::protocol::TProtocolException;
+
+
+ while (true)
+ {
+ xfer += iprot->readFieldBegin(fname, ftype, fid);
+ if (ftype == ::apache::thrift::protocol::T_STOP) {
+ break;
+ }
+ switch (fid)
+ {
+ case 1:
+ if (ftype == ::apache::thrift::protocol::T_STRING) {
+ xfer += iprot->readString(this->resourceHostId);
+ this->__isset.resourceHostId = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 2:
+ if (ftype == ::apache::thrift::protocol::T_I32) {
+ xfer += iprot->readI32(this->totalCPUCount);
+ this->__isset.totalCPUCount = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 3:
+ if (ftype == ::apache::thrift::protocol::T_I32) {
+ xfer += iprot->readI32(this->nodeCount);
+ this->__isset.nodeCount = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 4:
+ if (ftype == ::apache::thrift::protocol::T_I32) {
+ xfer += iprot->readI32(this->numberOfThreads);
+ this->__isset.numberOfThreads = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 5:
+ if (ftype == ::apache::thrift::protocol::T_STRING) {
+ xfer += iprot->readString(this->queueName);
+ this->__isset.queueName = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 6:
+ if (ftype == ::apache::thrift::protocol::T_I32) {
+ xfer += iprot->readI32(this->wallTimeLimit);
+ this->__isset.wallTimeLimit = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 7:
+ if (ftype == ::apache::thrift::protocol::T_I32) {
+ xfer += iprot->readI32(this->jobStartTime);
+ this->__isset.jobStartTime = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 8:
+ if (ftype == ::apache::thrift::protocol::T_I32) {
+ xfer += iprot->readI32(this->totalPhysicalMemory);
+ this->__isset.totalPhysicalMemory = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 9:
+ if (ftype == ::apache::thrift::protocol::T_STRING) {
+ xfer += iprot->readString(this->computationalProjectAccount);
+ this->__isset.computationalProjectAccount = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ default:
+ xfer += iprot->skip(ftype);
+ break;
+ }
+ xfer += iprot->readFieldEnd();
+ }
+
+ xfer += iprot->readStructEnd();
+
+ return xfer;
+}
+
+uint32_t ComputationalResourceScheduling::write(::apache::thrift::protocol::TProtocol* oprot) const {
+ uint32_t xfer = 0;
+ xfer += oprot->writeStructBegin("ComputationalResourceScheduling");
+
+ if (this->__isset.resourceHostId) {
+ xfer += oprot->writeFieldBegin("resourceHostId", ::apache::thrift::protocol::T_STRING, 1);
+ xfer += oprot->writeString(this->resourceHostId);
+ xfer += oprot->writeFieldEnd();
+ }
+ if (this->__isset.totalCPUCount) {
+ xfer += oprot->writeFieldBegin("totalCPUCount", ::apache::thrift::protocol::T_I32, 2);
+ xfer += oprot->writeI32(this->totalCPUCount);
+ xfer += oprot->writeFieldEnd();
+ }
+ if (this->__isset.nodeCount) {
+ xfer += oprot->writeFieldBegin("nodeCount", ::apache::thrift::protocol::T_I32, 3);
+ xfer += oprot->writeI32(this->nodeCount);
+ xfer += oprot->writeFieldEnd();
+ }
+ if (this->__isset.numberOfThreads) {
+ xfer += oprot->writeFieldBegin("numberOfThreads", ::apache::thrift::protocol::T_I32, 4);
+ xfer += oprot->writeI32(this->numberOfThreads);
+ xfer += oprot->writeFieldEnd();
+ }
+ if (this->__isset.queueName) {
+ xfer += oprot->writeFieldBegin("queueName", ::apache::thrift::protocol::T_STRING, 5);
+ xfer += oprot->writeString(this->queueName);
+ xfer += oprot->writeFieldEnd();
+ }
+ if (this->__isset.wallTimeLimit) {
+ xfer += oprot->writeFieldBegin("wallTimeLimit", ::apache::thrift::protocol::T_I32, 6);
+ xfer += oprot->writeI32(this->wallTimeLimit);
+ xfer += oprot->writeFieldEnd();
+ }
+ if (this->__isset.jobStartTime) {
+ xfer += oprot->writeFieldBegin("jobStartTime", ::apache::thrift::protocol::T_I32, 7);
+ xfer += oprot->writeI32(this->jobStartTime);
+ xfer += oprot->writeFieldEnd();
+ }
+ if (this->__isset.totalPhysicalMemory) {
+ xfer += oprot->writeFieldBegin("totalPhysicalMemory", ::apache::thrift::protocol::T_I32, 8);
+ xfer += oprot->writeI32(this->totalPhysicalMemory);
+ xfer += oprot->writeFieldEnd();
+ }
+ if (this->__isset.computationalProjectAccount) {
+ xfer += oprot->writeFieldBegin("computationalProjectAccount", ::apache::thrift::protocol::T_STRING, 9);
+ xfer += oprot->writeString(this->computationalProjectAccount);
+ xfer += oprot->writeFieldEnd();
+ }
+ xfer += oprot->writeFieldStop();
+ xfer += oprot->writeStructEnd();
+ return xfer;
+}
+
+void swap(ComputationalResourceScheduling &a, ComputationalResourceScheduling &b) {
+ using ::std::swap;
+ swap(a.resourceHostId, b.resourceHostId);
+ swap(a.totalCPUCount, b.totalCPUCount);
+ swap(a.nodeCount, b.nodeCount);
+ swap(a.numberOfThreads, b.numberOfThreads);
+ swap(a.queueName, b.queueName);
+ swap(a.wallTimeLimit, b.wallTimeLimit);
+ swap(a.jobStartTime, b.jobStartTime);
+ swap(a.totalPhysicalMemory, b.totalPhysicalMemory);
+ swap(a.computationalProjectAccount, b.computationalProjectAccount);
+ swap(a.__isset, b.__isset);
+}
+
+const char* AdvancedInputDataHandling::ascii_fingerprint = "6139039875942E8B25C483838DD664B7";
+const uint8_t AdvancedInputDataHandling::binary_fingerprint[16] = {0x61,0x39,0x03,0x98,0x75,0x94,0x2E,0x8B,0x25,0xC4,0x83,0x83,0x8D,0xD6,0x64,0xB7};
+
+uint32_t AdvancedInputDataHandling::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+ uint32_t xfer = 0;
+ std::string fname;
+ ::apache::thrift::protocol::TType ftype;
+ int16_t fid;
+
+ xfer += iprot->readStructBegin(fname);
+
+ using ::apache::thrift::protocol::TProtocolException;
+
+
+ while (true)
+ {
+ xfer += iprot->readFieldBegin(fname, ftype, fid);
+ if (ftype == ::apache::thrift::protocol::T_STOP) {
+ break;
+ }
+ switch (fid)
+ {
+ case 1:
+ if (ftype == ::apache::thrift::protocol::T_BOOL) {
+ xfer += iprot->readBool(this->stageInputFilesToWorkingDir);
+ this->__isset.stageInputFilesToWorkingDir = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 2:
+ if (ftype == ::apache::thrift::protocol::T_STRING) {
+ xfer += iprot->readString(this->parentWorkingDirectory);
+ this->__isset.parentWorkingDirectory = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 3:
+ if (ftype == ::apache::thrift::protocol::T_STRING) {
+ xfer += iprot->readString(this->uniqueWorkingDirectory);
+ this->__isset.uniqueWorkingDirectory = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 4:
+ if (ftype == ::apache::thrift::protocol::T_BOOL) {
+ xfer += iprot->readBool(this->cleanUpWorkingDirAfterJob);
+ this->__isset.cleanUpWorkingDirAfterJob = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ default:
+ xfer += iprot->skip(ftype);
+ break;
+ }
+ xfer += iprot->readFieldEnd();
+ }
+
+ xfer += iprot->readStructEnd();
+
+ return xfer;
+}
+
+uint32_t AdvancedInputDataHandling::write(::apache::thrift::protocol::TProtocol* oprot) const {
+ uint32_t xfer = 0;
+ xfer += oprot->writeStructBegin("AdvancedInputDataHandling");
+
+ if (this->__isset.stageInputFilesToWorkingDir) {
+ xfer += oprot->writeFieldBegin("stageInputFilesToWorkingDir", ::apache::thrift::protocol::T_BOOL, 1);
+ xfer += oprot->writeBool(this->stageInputFilesToWorkingDir);
+ xfer += oprot->writeFieldEnd();
+ }
+ if (this->__isset.parentWorkingDirectory) {
+ xfer += oprot->writeFieldBegin("parentWorkingDirectory", ::apache::thrift::protocol::T_STRING, 2);
+ xfer += oprot->writeString(this->parentWorkingDirectory);
+ xfer += oprot->writeFieldEnd();
+ }
+ if (this->__isset.uniqueWorkingDirectory) {
+ xfer += oprot->writeFieldBegin("uniqueWorkingDirectory", ::apache::thrift::protocol::T_STRING, 3);
+ xfer += oprot->writeString(this->uniqueWorkingDirectory);
+ xfer += oprot->writeFieldEnd();
+ }
+ if (this->__isset.cleanUpWorkingDirAfterJob) {
+ xfer += oprot->writeFieldBegin("cleanUpWorkingDirAfterJob", ::apache::thrift::protocol::T_BOOL, 4);
+ xfer += oprot->writeBool(this->cleanUpWorkingDirAfterJob);
+ xfer += oprot->writeFieldEnd();
+ }
+ xfer += oprot->writeFieldStop();
+ xfer += oprot->writeStructEnd();
+ return xfer;
+}
+
+void swap(AdvancedInputDataHandling &a, AdvancedInputDataHandling &b) {
+ using ::std::swap;
+ swap(a.stageInputFilesToWorkingDir, b.stageInputFilesToWorkingDir);
+ swap(a.parentWorkingDirectory, b.parentWorkingDirectory);
+ swap(a.uniqueWorkingDirectory, b.uniqueWorkingDirectory);
+ swap(a.cleanUpWorkingDirAfterJob, b.cleanUpWorkingDirAfterJob);
+ swap(a.__isset, b.__isset);
+}
+
+const char* AdvancedOutputDataHandling::ascii_fingerprint = "6EC898D3B5ECFF21200795BD22F73CD2";
+const uint8_t AdvancedOutputDataHandling::binary_fingerprint[16] = {0x6E,0xC8,0x98,0xD3,0xB5,0xEC,0xFF,0x21,0x20,0x07,0x95,0xBD,0x22,0xF7,0x3C,0xD2};
+
+uint32_t AdvancedOutputDataHandling::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+ uint32_t xfer = 0;
+ std::string fname;
+ ::apache::thrift::protocol::TType ftype;
+ int16_t fid;
+
+ xfer += iprot->readStructBegin(fname);
+
+ using ::apache::thrift::protocol::TProtocolException;
+
+
+ while (true)
+ {
+ xfer += iprot->readFieldBegin(fname, ftype, fid);
+ if (ftype == ::apache::thrift::protocol::T_STOP) {
+ break;
+ }
+ switch (fid)
+ {
+ case 2:
+ if (ftype == ::apache::thrift::protocol::T_STRING) {
+ xfer += iprot->readString(this->outputDataDir);
+ this->__isset.outputDataDir = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 3:
+ if (ftype == ::apache::thrift::protocol::T_STRING) {
+ xfer += iprot->readString(this->dataRegistryURL);
+ this->__isset.dataRegistryURL = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 4:
+ if (ftype == ::apache::thrift::protocol::T_BOOL) {
+ xfer += iprot->readBool(this->persistOutputData);
+ this->__isset.persistOutputData = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ default:
+ xfer += iprot->skip(ftype);
+ break;
+ }
+ xfer += iprot->readFieldEnd();
+ }
+
+ xfer += iprot->readStructEnd();
+
+ return xfer;
+}
+
+uint32_t AdvancedOutputDataHandling::write(::apache::thrift::protocol::TProtocol* oprot) const {
+ uint32_t xfer = 0;
+ xfer += oprot->writeStructBegin("AdvancedOutputDataHandling");
+
+ if (this->__isset.outputDataDir) {
+ xfer += oprot->writeFieldBegin("outputDataDir", ::apache::thrift::protocol::T_STRING, 2);
+ xfer += oprot->writeString(this->outputDataDir);
+ xfer += oprot->writeFieldEnd();
+ }
+ if (this->__isset.dataRegistryURL) {
+ xfer += oprot->writeFieldBegin("dataRegistryURL", ::apache::thrift::protocol::T_STRING, 3);
+ xfer += oprot->writeString(this->dataRegistryURL);
+ xfer += oprot->writeFieldEnd();
+ }
+ if (this->__isset.persistOutputData) {
+ xfer += oprot->writeFieldBegin("persistOutputData", ::apache::thrift::protocol::T_BOOL, 4);
+ xfer += oprot->writeBool(this->persistOutputData);
+ xfer += oprot->writeFieldEnd();
+ }
+ xfer += oprot->writeFieldStop();
+ xfer += oprot->writeStructEnd();
+ return xfer;
+}
+
+void swap(AdvancedOutputDataHandling &a, AdvancedOutputDataHandling &b) {
+ using ::std::swap;
+ swap(a.outputDataDir, b.outputDataDir);
+ swap(a.dataRegistryURL, b.dataRegistryURL);
+ swap(a.persistOutputData, b.persistOutputData);
+ swap(a.__isset, b.__isset);
+}
+
+const char* QualityOfServiceParams::ascii_fingerprint = "35985D966603A273E8D7132543B44873";
+const uint8_t QualityOfServiceParams::binary_fingerprint[16] = {0x35,0x98,0x5D,0x96,0x66,0x03,0xA2,0x73,0xE8,0xD7,0x13,0x25,0x43,0xB4,0x48,0x73};
+
+uint32_t QualityOfServiceParams::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+ uint32_t xfer = 0;
+ std::string fname;
+ ::apache::thrift::protocol::TType ftype;
+ int16_t fid;
+
+ xfer += iprot->readStructBegin(fname);
+
+ using ::apache::thrift::protocol::TProtocolException;
+
+
+ while (true)
+ {
+ xfer += iprot->readFieldBegin(fname, ftype, fid);
+ if (ftype == ::apache::thrift::protocol::T_STOP) {
+ break;
+ }
+ switch (fid)
+ {
+ case 1:
+ if (ftype == ::apache::thrift::protocol::T_STRING) {
+ xfer += iprot->readString(this->startExecutionAt);
+ this->__isset.startExecutionAt = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 2:
+ if (ftype == ::apache::thrift::protocol::T_STRING) {
+ xfer += iprot->readString(this->executeBefore);
+ this->__isset.executeBefore = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 3:
+ if (ftype == ::apache::thrift::protocol::T_I32) {
+ xfer += iprot->readI32(this->numberofRetries);
+ this->__isset.numberofRetries = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ default:
+ xfer += iprot->skip(ftype);
+ break;
+ }
+ xfer += iprot->readFieldEnd();
+ }
+
+ xfer += iprot->readStructEnd();
+
+ return xfer;
+}
+
+uint32_t QualityOfServiceParams::write(::apache::thrift::protocol::TProtocol* oprot) const {
+ uint32_t xfer = 0;
+ xfer += oprot->writeStructBegin("QualityOfServiceParams");
+
+ if (this->__isset.startExecutionAt) {
+ xfer += oprot->writeFieldBegin("startExecutionAt", ::apache::thrift::protocol::T_STRING, 1);
+ xfer += oprot->writeString(this->startExecutionAt);
+ xfer += oprot->writeFieldEnd();
+ }
+ if (this->__isset.executeBefore) {
+ xfer += oprot->writeFieldBegin("executeBefore", ::apache::thrift::protocol::T_STRING, 2);
+ xfer += oprot->writeString(this->executeBefore);
+ xfer += oprot->writeFieldEnd();
+ }
+ if (this->__isset.numberofRetries) {
+ xfer += oprot->writeFieldBegin("numberofRetries", ::apache::thrift::protocol::T_I32, 3);
+ xfer += oprot->writeI32(this->numberofRetries);
+ xfer += oprot->writeFieldEnd();
+ }
+ xfer += oprot->writeFieldStop();
+ xfer += oprot->writeStructEnd();
+ return xfer;
+}
+
+void swap(QualityOfServiceParams &a, QualityOfServiceParams &b) {
+ using ::std::swap;
+ swap(a.startExecutionAt, b.startExecutionAt);
+ swap(a.executeBefore, b.executeBefore);
+ swap(a.numberofRetries, b.numberofRetries);
+ swap(a.__isset, b.__isset);
+}
+
+const char* UserConfigurationData::ascii_fingerprint = "889486266D7ADC041ED1C586A2468611";
+const uint8_t UserConfigurationData::binary_fingerprint[16] = {0x88,0x94,0x86,0x26,0x6D,0x7A,0xDC,0x04,0x1E,0xD1,0xC5,0x86,0xA2,0x46,0x86,0x11};
+
+uint32_t UserConfigurationData::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+ uint32_t xfer = 0;
+ std::string fname;
+ ::apache::thrift::protocol::TType ftype;
+ int16_t fid;
+
+ xfer += iprot->readStructBegin(fname);
+
+ using ::apache::thrift::protocol::TProtocolException;
+
+ bool isset_airavataAutoSchedule = false;
+ bool isset_overrideManualScheduledParams = false;
+
+ while (true)
+ {
+ xfer += iprot->readFieldBegin(fname, ftype, fid);
+ if (ftype == ::apache::thrift::protocol::T_STOP) {
+ break;
+ }
+ switch (fid)
+ {
+ case 1:
+ if (ftype == ::apache::thrift::protocol::T_BOOL) {
+ xfer += iprot->readBool(this->airavataAutoSchedule);
+ isset_airavataAutoSchedule = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 2:
+ if (ftype == ::apache::thrift::protocol::T_BOOL) {
+ xfer += iprot->readBool(this->overrideManualScheduledParams);
+ isset_overrideManualScheduledParams = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 3:
+ if (ftype == ::apache::thrift::protocol::T_BOOL) {
+ xfer += iprot->readBool(this->shareExperimentPublicly);
+ this->__isset.shareExperimentPublicly = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 4:
+ if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+ xfer += this->computationalResourceScheduling.read(iprot);
+ this->__isset.computationalResourceScheduling = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 5:
+ if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+ xfer += this->advanceInputDataHandling.read(iprot);
+ this->__isset.advanceInputDataHandling = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 6:
+ if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+ xfer += this->advanceOutputDataHandling.read(iprot);
+ this->__isset.advanceOutputDataHandling = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 7:
+ if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+ xfer += this->qosParams.read(iprot);
+ this->__isset.qosParams = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ default:
+ xfer += iprot->skip(ftype);
+ break;
+ }
+ xfer += iprot->readFieldEnd();
+ }
+
+ xfer += iprot->readStructEnd();
+
+ if (!isset_airavataAutoSchedule)
+ throw TProtocolException(TProtocolException::INVALID_DATA);
+ if (!isset_overrideManualScheduledParams)
+ throw TProtocolException(TProtocolException::INVALID_DATA);
+ return xfer;
+}
+
+uint32_t UserConfigurationData::write(::apache::thrift::protocol::TProtocol* oprot) const {
+ uint32_t xfer = 0;
+ xfer += oprot->writeStructBegin("UserConfigurationData");
+
+ xfer += oprot->writeFieldBegin("airavataAutoSchedule", ::apache::thrift::protocol::T_BOOL, 1);
+ xfer += oprot->writeBool(this->airavataAutoSchedule);
+ xfer += oprot->writeFieldEnd();
+
+ xfer += oprot->writeFieldBegin("overrideManualScheduledParams", ::apache::thrift::protocol::T_BOOL, 2);
+ xfer += oprot->writeBool(this->overrideManualScheduledParams);
+ xfer += oprot->writeFieldEnd();
+
+ if (this->__isset.shareExperimentPublicly) {
+ xfer += oprot->writeFieldBegin("shareExperimentPublicly", ::apache::thrift::protocol::T_BOOL, 3);
+ xfer += oprot->writeBool(this->shareExperimentPublicly);
+ xfer += oprot->writeFieldEnd();
+ }
+ if (this->__isset.computationalResourceScheduling) {
+ xfer += oprot->writeFieldBegin("computationalResourceScheduling", ::apache::thrift::protocol::T_STRUCT, 4);
+ xfer += this->computationalResourceScheduling.write(oprot);
+ xfer += oprot->writeFieldEnd();
+ }
+ if (this->__isset.advanceInputDataHandling) {
+ xfer += oprot->writeFieldBegin("advanceInputDataHandling", ::apache::thrift::protocol::T_STRUCT, 5);
+ xfer += this->advanceInputDataHandling.write(oprot);
+ xfer += oprot->writeFieldEnd();
+ }
+ if (this->__isset.advanceOutputDataHandling) {
+ xfer += oprot->writeFieldBegin("advanceOutputDataHandling", ::apache::thrift::protocol::T_STRUCT, 6);
+ xfer += this->advanceOutputDataHandling.write(oprot);
+ xfer += oprot->writeFieldEnd();
+ }
+ if (this->__isset.qosParams) {
+ xfer += oprot->writeFieldBegin("qosParams", ::apache::thrift::protocol::T_STRUCT, 7);
+ xfer += this->qosParams.write(oprot);
+ xfer += oprot->writeFieldEnd();
+ }
+ xfer += oprot->writeFieldStop();
+ xfer += oprot->writeStructEnd();
+ return xfer;
+}
+
+void swap(UserConfigurationData &a, UserConfigurationData &b) {
+ using ::std::swap;
+ swap(a.airavataAutoSchedule, b.airavataAutoSchedule);
+ swap(a.overrideManualScheduledParams, b.overrideManualScheduledParams);
+ swap(a.shareExperimentPublicly, b.shareExperimentPublicly);
+ swap(a.computationalResourceScheduling, b.computationalResourceScheduling);
+ swap(a.advanceInputDataHandling, b.advanceInputDataHandling);
+ swap(a.advanceOutputDataHandling, b.advanceOutputDataHandling);
+ swap(a.qosParams, b.qosParams);
+ swap(a.__isset, b.__isset);
+}
+
+const char* ErrorDetails::ascii_fingerprint = "170CA6E79EB283F31417B9D68071DA33";
+const uint8_t ErrorDetails::binary_fingerprint[16] = {0x17,0x0C,0xA6,0xE7,0x9E,0xB2,0x83,0xF3,0x14,0x17,0xB9,0xD6,0x80,0x71,0xDA,0x33};
+
+uint32_t ErrorDetails::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+ uint32_t xfer = 0;
+ std::string fname;
+ ::apache::thrift::protocol::TType ftype;
+ int16_t fid;
+
+ xfer += iprot->readStructBegin(fname);
+
+ using ::apache::thrift::protocol::TProtocolException;
+
+ bool isset_errorID = false;
+
+ while (true)
+ {
+ xfer += iprot->readFieldBegin(fname, ftype, fid);
+ if (ftype == ::apache::thrift::protocol::T_STOP) {
+ break;
+ }
+ switch (fid)
+ {
+ case 1:
+ if (ftype == ::apache::thrift::protocol::T_STRING) {
+ xfer += iprot->readString(this->errorID);
+ isset_errorID = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 2:
+ if (ftype == ::apache::thrift::protocol::T_I64) {
+ xfer += iprot->readI64(this->creationTime);
+ this->__isset.creationTime = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 3:
+ if (ftype == ::apache::thrift::protocol::T_STRING) {
+ xfer += iprot->readString(this->actualErrorMessage);
+ this->__isset.actualErrorMessage = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 4:
+ if (ftype == ::apache::thrift::protocol::T_STRING) {
+ xfer += iprot->readString(this->userFriendlyMessage);
+ this->__isset.userFriendlyMessage = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 5:
+ if (ftype == ::apache::thrift::protocol::T_I32) {
+ int32_t ecast6;
+ xfer += iprot->readI32(ecast6);
+ this->errorCategory = (ErrorCategory::type)ecast6;
+ this->__isset.errorCategory = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 6:
+ if (ftype == ::apache::thrift::protocol::T_BOOL) {
+ xfer += iprot->readBool(this->transientOrPersistent);
+ this->__isset.transientOrPersistent = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 7:
+ if (ftype == ::apache::thrift::protocol::T_I32) {
+ int32_t ecast7;
+ xfer += iprot->readI32(ecast7);
+ this->correctiveAction = (CorrectiveAction::type)ecast7;
+ this->__isset.correctiveAction = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 8:
+ if (ftype == ::apache::thrift::protocol::T_I32) {
+ int32_t ecast8;
+ xfer += iprot->readI32(ecast8);
+ this->actionableGroup = (ActionableGroup::type)ecast8;
+ this->__isset.actionableGroup = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 9:
+ if (ftype == ::apache::thrift::protocol::T_LIST) {
+ {
+ this->rootCauseErrorIdList.clear();
+ uint32_t _size9;
+ ::apache::thrift::protocol::TType _etype12;
+ xfer += iprot->readListBegin(_etype12, _size9);
+ this->rootCauseErrorIdList.resize(_size9);
+ uint32_t _i13;
+ for (_i13 = 0; _i13 < _size9; ++_i13)
+ {
+ xfer += iprot->readString(this->rootCauseErrorIdList[_i13]);
+ }
+ xfer += iprot->readListEnd();
+ }
+ this->__isset.rootCauseErrorIdList = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ default:
+ xfer += iprot->skip(ftype);
+ break;
+ }
+ xfer += iprot->readFieldEnd();
+ }
+
+ xfer += iprot->readStructEnd();
+
+ if (!isset_errorID)
+ throw TProtocolException(TProtocolException::INVALID_DATA);
+ return xfer;
+}
+
+uint32_t ErrorDetails::write(::apache::thrift::protocol::TProtocol* oprot) const {
+ uint32_t xfer = 0;
+ xfer += oprot->writeStructBegin("ErrorDetails");
+
+ xfer += oprot->writeFieldBegin("errorID", ::apache::thrift::protocol::T_STRING, 1);
+ xfer += oprot->writeString(this->errorID);
+ xfer += oprot->writeFieldEnd();
+
+ if (this->__isset.creationTime) {
+ xfer += oprot->writeFieldBegin("creationTime", ::apache::thrift::protocol::T_I64, 2);
+ xfer += oprot->writeI64(this->creationTime);
+ xfer += oprot->writeFieldEnd();
+ }
+ if (this->__isset.actualErrorMessage) {
+ xfer += oprot->writeFieldBegin("actualErrorMessage", ::apache::thrift::protocol::T_STRING, 3);
+ xfer += oprot->writeString(this->actualErrorMessage);
+ xfer += oprot->writeFieldEnd();
+ }
+ if (this->__isset.userFriendlyMessage) {
+ xfer += oprot->writeFieldBegin("userFriendlyMessage", ::apache::thrift::protocol::T_STRING, 4);
+ xfer += oprot->writeString(this->userFriendlyMessage);
+ xfer += oprot->writeFieldEnd();
+ }
+ if (this->__isset.errorCategory) {
+ xfer += oprot->writeFieldBegin("errorCategory", ::apache::thrift::protocol::T_I32, 5);
+ xfer += oprot->writeI32((int32_t)this->errorCategory);
+ xfer += oprot->writeFieldEnd();
+ }
+ if (this->__isset.transientOrPersistent) {
+ xfer += oprot->writeFieldBegin("transientOrPersistent", ::apache::thrift::protocol::T_BOOL, 6);
+ xfer += oprot->writeBool(this->transientOrPersistent);
+ xfer += oprot->writeFieldEnd();
+ }
+ if (this->__isset.correctiveAction) {
+ xfer += oprot->writeFieldBegin("correctiveAction", ::apache::thrift::protocol::T_I32, 7);
+ xfer += oprot->writeI32((int32_t)this->correctiveAction);
+ xfer += oprot->writeFieldEnd();
+ }
+ if (this->__isset.actionableGroup) {
+ xfer += oprot->writeFieldBegin("actionableGroup", ::apache::thrift::protocol::T_I32, 8);
+ xfer += oprot->writeI32((int32_t)this->actionableGroup);
+ xfer += oprot->writeFieldEnd();
+ }
+ if (this->__isset.rootCauseErrorIdList) {
+ xfer += oprot->writeFieldBegin("rootCauseErrorIdList", ::apache::thrift::protocol::T_LIST, 9);
+ {
+ xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRING, static_cast<uint32_t>(this->rootCauseErrorIdList.size()));
+ std::vector<std::string> ::const_iterator _iter14;
+ for (_iter14 = this->rootCauseErrorIdList.begin(); _iter14 != this->rootCauseErrorIdList.end(); ++_iter14)
+ {
+ xfer += oprot->writeString((*_iter14));
+ }
+ xfer += oprot->writeListEnd();
+ }
+ xfer += oprot->writeFieldEnd();
+ }
+ xfer += oprot->writeFieldStop();
+ xfer += oprot->writeStructEnd();
+ return xfer;
+}
+
+void swap(ErrorDetails &a, ErrorDetails &b) {
+ using ::std::swap;
+ swap(a.errorID, b.errorID);
+ swap(a.creationTime, b.creationTime);
+ swap(a.actualErrorMessage, b.actualErrorMessage);
+ swap(a.userFriendlyMessage, b.userFriendlyMessage);
+ swap(a.errorCategory, b.errorCategory);
+ swap(a.transientOrPersistent, b.transientOrPersistent);
+ swap(a.correctiveAction, b.correctiveAction);
+ swap(a.actionableGroup, b.actionableGroup);
+ swap(a.rootCauseErrorIdList, b.rootCauseErrorIdList);
+ swap(a.__isset, b.__isset);
+}
+
+const char* JobDetails::ascii_fingerprint = "5946807521C11BC65075D497F8568057";
+const uint8_t JobDetails::binary_fingerprint[16] = {0x59,0x46,0x80,0x75,0x21,0xC1,0x1B,0xC6,0x50,0x75,0xD4,0x97,0xF8,0x56,0x80,0x57};
+
+uint32_t JobDetails::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+ uint32_t xfer = 0;
+ std::string fname;
+ ::apache::thrift::protocol::TType ftype;
+ int16_t fid;
+
+ xfer += iprot->readStructBegin(fname);
+
+ using ::apache::thrift::protocol::TProtocolException;
+
+ bool isset_jobID = false;
+ bool isset_jobDescription = false;
+
+ while (true)
+ {
+ xfer += iprot->readFieldBegin(fname, ftype, fid);
+ if (ftype == ::apache::thrift::protocol::T_STOP) {
+ break;
+ }
+ switch (fid)
+ {
+ case 1:
+ if (ftype == ::apache::thrift::protocol::T_STRING) {
+ xfer += iprot->readString(this->jobID);
+ isset_jobID = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 2:
+ if (ftype == ::apache::thrift::protocol::T_STRING) {
+ xfer += iprot->readString(this->jobDescription);
+ isset_jobDescription = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 3:
+ if (ftype == ::apache::thrift::protocol::T_I64) {
+ xfer += iprot->readI64(this->creationTime);
+ this->__isset.creationTime = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 4:
+ if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+ xfer += this->jobStatus.read(iprot);
+ this->__isset.jobStatus = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 5:
+ if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+ xfer += this->applicationStatus.read(iprot);
+ this->__isset.applicationStatus = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 6:
+ if (ftype == ::apache::thrift::protocol::T_LIST) {
+ {
+ this->errors.clear();
+ uint32_t _size15;
+ ::apache::thrift::protocol::TType _etype18;
+ xfer += iprot->readListBegin(_etype18, _size15);
+ this->errors.resize(_size15);
+ uint32_t _i19;
+ for (_i19 = 0; _i19 < _size15; ++_i19)
+ {
+ xfer += this->errors[_i19].read(iprot);
+ }
+ xfer += iprot->readListEnd();
+ }
+ this->__isset.errors = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 7:
+ if (ftype == ::apache::thrift::protocol::T_STRING) {
+ xfer += iprot->readString(this->computeResourceConsumed);
+ this->__isset.computeResourceConsumed = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ default:
+ xfer += iprot->skip(ftype);
+ break;
+ }
+ xfer += iprot->readFieldEnd();
+ }
+
+ xfer += iprot->readStructEnd();
+
+ if (!isset_jobID)
+ throw TProtocolException(TProtocolException::INVALID_DATA);
+ if (!isset_jobDescription)
+ throw TProtocolException(TProtocolException::INVALID_DATA);
+ return xfer;
+}
+
+uint32_t JobDetails::write(::apache::thrift::protocol::TProtocol* oprot) const {
+ uint32_t xfer = 0;
+ xfer += oprot->writeStructBegin("JobDetails");
+
+ xfer += oprot->writeFieldBegin("jobID", ::apache::thrift::protocol::T_STRING, 1);
+ xfer += oprot->writeString(this->jobID);
+ xfer += oprot->writeFieldEnd();
+
+ xfer += oprot->writeFieldBegin("jobDescription", ::apache::thrift::protocol::T_STRING, 2);
+ xfer += oprot->writeString(this->jobDescription);
+ xfer += oprot->writeFieldEnd();
+
+ if (this->__isset.creationTime) {
+ xfer += oprot->writeFieldBegin("creationTime", ::apache::thrift::protocol::T_I64, 3);
+ xfer += oprot->writeI64(this->creationTime);
+ xfer += oprot->writeFieldEnd();
+ }
+ if (this->__isset.jobStatus) {
+ xfer += oprot->writeFieldBegin("jobStatus", ::apache::thrift::protocol::T_STRUCT, 4);
+ xfer += this->jobStatus.write(oprot);
+ xfer += oprot->writeFieldEnd();
+ }
+ if (this->__isset.applicationStatus) {
+ xfer += oprot->writeFieldBegin("applicationStatus", ::apache::thrift::protocol::T_STRUCT, 5);
+ xfer += this->applicationStatus.write(oprot);
+ xfer += oprot->writeFieldEnd();
+ }
+ if (this->__isset.errors) {
+ xfer += oprot->writeFieldBegin("errors", ::apache::thrift::protocol::T_LIST, 6);
+ {
+ xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>(this->errors.size()));
+ std::vector<ErrorDetails> ::const_iterator _iter20;
+ for (_iter20 = this->errors.begin(); _iter20 != this->errors.end(); ++_iter20)
+ {
+ xfer += (*_iter20).write(oprot);
+ }
+ xfer += oprot->writeListEnd();
+ }
+ xfer += oprot->writeFieldEnd();
+ }
+ if (this->__isset.computeResourceConsumed) {
+ xfer += oprot->writeFieldBegin("computeResourceConsumed", ::apache::thrift::protocol::T_STRING, 7);
+ xfer += oprot->writeString(this->computeResourceConsumed);
+ xfer += oprot->writeFieldEnd();
+ }
+ xfer += oprot->writeFieldStop();
+ xfer += oprot->writeStructEnd();
+ return xfer;
+}
+
+void swap(JobDetails &a, JobDetails &b) {
+ using ::std::swap;
+ swap(a.jobID, b.jobID);
+ swap(a.jobDescription, b.jobDescription);
+ swap(a.creationTime, b.creationTime);
+ swap(a.jobStatus, b.jobStatus);
+ swap(a.applicationStatus, b.applicationStatus);
+ swap(a.errors, b.errors);
+ swap(a.computeResourceConsumed, b.computeResourceConsumed);
+ swap(a.__isset, b.__isset);
+}
+
+const char* DataTransferDetails::ascii_fingerprint = "40D4FEC20E3B334AEEBA92DA2AB9E91E";
+const uint8_t DataTransferDetails::binary_fingerprint[16] = {0x40,0xD4,0xFE,0xC2,0x0E,0x3B,0x33,0x4A,0xEE,0xBA,0x92,0xDA,0x2A,0xB9,0xE9,0x1E};
+
+uint32_t DataTransferDetails::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+ uint32_t xfer = 0;
+ std::string fname;
+ ::apache::thrift::protocol::TType ftype;
+ int16_t fid;
+
+ xfer += iprot->readStructBegin(fname);
+
+ using ::apache::thrift::protocol::TProtocolException;
+
+ bool isset_transferID = false;
+ bool isset_transferDescription = false;
+
+ while (true)
+ {
+ xfer += iprot->readFieldBegin(fname, ftype, fid);
+ if (ftype == ::apache::thrift::protocol::T_STOP) {
+ break;
+ }
+ switch (fid)
+ {
+ case 1:
+ if (ftype == ::apache::thrift::protocol::T_STRING) {
+ xfer += iprot->readString(this->transferID);
+ isset_transferID = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 2:
+ if (ftype == ::apache::thrift::protocol::T_I64) {
+ xfer += iprot->readI64(this->creationTime);
+ this->__isset.creationTime = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 3:
+ if (ftype == ::apache::thrift::protocol::T_STRING) {
+ xfer += iprot->readString(this->transferDescription);
+ isset_transferDescription = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 4:
+ if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+ xfer += this->transferStatus.read(iprot);
+ this->__isset.transferStatus = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ default:
+ xfer += iprot->skip(ftype);
+ break;
+ }
+ xfer += iprot->readFieldEnd();
+ }
+
+ xfer += iprot->readStructEnd();
+
+ if (!isset_transferID)
+ throw TProtocolException(TProtocolException::INVALID_DATA);
+ if (!isset_transferDescription)
+ throw TProtocolException(TProtocolException::INVALID_DATA);
+ return xfer;
+}
+
+uint32_t DataTransferDetails::write(::apache::thrift::protocol::TProtocol* oprot) const {
+ uint32_t xfer = 0;
+ xfer += oprot->writeStructBegin("DataTransferDetails");
+
+ xfer += oprot->writeFieldBegin("transferID", ::apache::thrift::protocol::T_STRING, 1);
+ xfer += oprot->writeString(this->transferID);
+ xfer += oprot->writeFieldEnd();
+
+ if (this->__isset.creationTime) {
+ xfer += oprot->writeFieldBegin("creationTime", ::apache::thrift::protocol::T_I64, 2);
+ xfer += oprot->writeI64(this->creationTime);
+ xfer += oprot->writeFieldEnd();
+ }
+ xfer += oprot->writeFieldBegin("transferDescription", ::apache::thrift::protocol::T_STRING, 3);
+ xfer += oprot->writeString(this->transferDescription);
+ xfer += oprot->writeFieldEnd();
+
+ if (this->__isset.transferStatus) {
+ xfer += oprot->writeFieldBegin("transferStatus", ::apache::thrift::protocol::T_STRUCT, 4);
+ xfer += this->transferStatus.write(oprot);
+ xfer += oprot->writeFieldEnd();
+ }
+ xfer += oprot->writeFieldStop();
+ xfer += oprot->writeStructEnd();
+ return xfer;
+}
+
+void swap(DataTransferDetails &a, DataTransferDetails &b) {
+ using ::std::swap;
+ swap(a.transferID, b.transferID);
+ swap(a.creationTime, b.creationTime);
+ swap(a.transferDescription, b.transferDescription);
+ swap(a.transferStatus, b.transferStatus);
+ swap(a.__isset, b.__isset);
+}
+
+const char* TaskDetails::ascii_fingerprint = "482C560A67EC84E3BEB13AFC5FEDA02C";
+const uint8_t TaskDetails::binary_fingerprint[16] = {0x48,0x2C,0x56,0x0A,0x67,0xEC,0x84,0xE3,0xBE,0xB1,0x3A,0xFC,0x5F,0xED,0xA0,0x2C};
+
+uint32_t TaskDetails::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+ uint32_t xfer = 0;
+ std::string fname;
+ ::apache::thrift::protocol::TType ftype;
+ int16_t fid;
+
+ xfer += iprot->readStructBegin(fname);
+
+ using ::apache::thrift::protocol::TProtocolException;
+
+ bool isset_taskID = false;
+
+ while (true)
+ {
+ xfer += iprot->readFieldBegin(fname, ftype, fid);
+ if (ftype == ::apache::thrift::protocol::T_STOP) {
+ break;
+ }
+ switch (fid)
+ {
+ case 1:
+ if (ftype == ::apache::thrift::protocol::T_STRING) {
+ xfer += iprot->readString(this->taskID);
+ isset_taskID = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 2:
+ if (ftype == ::apache::thrift::protocol::T_I64) {
+ xfer += iprot->readI64(this->creationTime);
+ this->__isset.creationTime = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 3:
+ if (ftype == ::apache::thrift::protocol::T_STRING) {
+ xfer += iprot->readString(this->applicationId);
+ this->__isset.applicationId = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 4:
+ if (ftype == ::apache::thrift::protocol::T_STRING) {
+ xfer += iprot->readString(this->applicationVersion);
+ this->__isset.applicationVersion = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 5:
+ if (ftype == ::apache::thrift::protocol::T_STRING) {
+ xfer += iprot->readString(this->applicationDeploymentId);
+ this->__isset.applicationDeploymentId = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 6:
+ if (ftype == ::apache::thrift::protocol::T_LIST) {
+ {
+ this->applicationInputs.clear();
+ uint32_t _size21;
+ ::apache::thrift::protocol::TType _etype24;
+ xfer += iprot->readListBegin(_etype24, _size21);
+ this->applicationInputs.resize(_size21);
+ uint32_t _i25;
+ for (_i25 = 0; _i25 < _size21; ++_i25)
+ {
+ xfer += this->applicationInputs[_i25].read(iprot);
+ }
+ xfer += iprot->readListEnd();
+ }
+ this->__isset.applicationInputs = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 7:
+ if (ftype == ::apache::thrift::protocol::T_LIST) {
+ {
+ this->applicationOutputs.clear();
+ uint32_t _size26;
+ ::apache::thrift::protocol::TType _etype29;
+ xfer += iprot->readListBegin(_etype29, _size26);
+ this->applicationOutputs.resize(_size26);
+ uint32_t _i30;
+ for (_i30 = 0; _i30 < _size26; ++_i30)
+ {
+ xfer += this->applicationOutputs[_i30].read(iprot);
+ }
+ xfer += iprot->readListEnd();
+ }
+ this->__isset.applicationOutputs = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 8:
+ if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+ xfer += this->taskScheduling.read(iprot);
+ this->__isset.taskScheduling = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 9:
+ if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+ xfer += this->advancedInputDataHandling.read(iprot);
+ this->__isset.advancedInputDataHandling = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 10:
+ if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+ xfer += this->advancedOutputDataHandling.read(iprot);
+ this->__isset.advancedOutputDataHandling = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 11:
+ if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+ xfer += this->taskStatus.read(iprot);
+ this->__isset.taskStatus = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 12:
+ if (ftype == ::apache::thrift::protocol::T_LIST) {
+ {
+ this->jobDetailsList.clear();
+ uint32_t _size31;
+ ::apache::thrift::protocol::TType _etype34;
+ xfer += iprot->readListBegin(_etype34, _size31);
+ this->jobDetailsList.resize(_size31);
+ uint32_t _i35;
+ for (_i35 = 0; _i35 < _size31; ++_i35)
+ {
+ xfer += this->jobDetailsList[_i35].read(iprot);
+ }
+ xfer += iprot->readListEnd();
+ }
+ this->__isset.jobDetailsList = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 13:
+ if (ftype == ::apache::thrift::protocol::T_LIST) {
+ {
+ this->dataTransferDetailsList.clear();
+ uint32_t _size36;
+ ::apache::thrift::protocol::TType _etype39;
+ xfer += iprot->readListBegin(_etype39, _size36);
+ this->dataTransferDetailsList.resize(_size36);
+ uint32_t _i40;
+ for (_i40 = 0; _i40 < _size36; ++_i40)
+ {
+ xfer += this->dataTransferDetailsList[_i40].read(iprot);
+ }
+ xfer += iprot->readListEnd();
+ }
+ this->__isset.dataTransferDetailsList = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 14:
+ if (ftype == ::apache::thrift::protocol::T_LIST) {
+ {
+ this->errors.clear();
+ uint32_t _size41;
+ ::apache::thrift::protocol::TType _etype44;
+ xfer += iprot->readListBegin(_etype44, _size41);
+ this->errors.resize(_size41);
+ uint32_t _i45;
+ for (_i45 = 0; _i45 < _size41; ++_i45)
+ {
+ xfer += this->errors[_i45].read(iprot);
+ }
+ xfer += iprot->readListEnd();
+ }
+ this->__isset.errors = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ default:
+ xfer += iprot->skip(ftype);
+ break;
+ }
+ xfer += iprot->readFieldEnd();
+ }
+
+ xfer += iprot->readStructEnd();
+
+ if (!isset_taskID)
+ throw TProtocolException(TProtocolException::INVALID_DATA);
+ return xfer;
+}
+
+uint32_t TaskDetails::write(::apache::thrift::protocol::TProtocol* oprot) const {
+ uint32_t xfer = 0;
+ xfer += oprot->writeStructBegin("TaskDetails");
+
+ xfer += oprot->writeFieldBegin("taskID", ::apache::thrift::protocol::T_STRING, 1);
+ xfer += oprot->writeString(this->taskID);
+ xfer += oprot->writeFieldEnd();
+
+ if (this->__isset.creationTime) {
+ xfer += oprot->writeFieldBegin("creationTime", ::apache::thrift::protocol::T_I64, 2);
+ xfer += oprot->writeI64(this->creationTime);
+ xfer += oprot->writeFieldEnd();
+ }
+ if (this->__isset.applicationId) {
+ xfer += oprot->writeFieldBegin("applicationId", ::apache::thrift::protocol::T_STRING, 3);
+ xfer += oprot->writeString(this->applicationId);
+ xfer += oprot->writeFieldEnd();
+ }
+ if (this->__isset.applicationVersion) {
+ xfer += oprot->writeFieldBegin("applicationVersion", ::apache::thrift::protocol::T_STRING, 4);
+ xfer += oprot->writeString(this->applicationVersion);
+ xfer += oprot->writeFieldEnd();
+ }
+ if (this->__isset.applicationDeploymentId) {
+ xfer += oprot->writeFieldBegin("applicationDeploymentId", ::apache::thrift::protocol::T_STRING, 5);
+ xfer += oprot->writeString(this->applicationDeploymentId);
+ xfer += oprot->writeFieldEnd();
+ }
+ if (this->__isset.applicationInputs) {
+ xfer += oprot->writeFieldBegin("applicationInputs", ::apache::thrift::protocol::T_LIST, 6);
+ {
+ xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>(this->applicationInputs.size()));
+ std::vector<DataObjectType> ::const_iterator _iter46;
+ for (_iter46 = this->applicationInputs.begin(); _iter46 != this->applicationInputs.end(); ++_iter46)
+ {
+ xfer += (*_iter46).write(oprot);
+ }
+ xfer += oprot->writeListEnd();
+ }
+ xfer += oprot->writeFieldEnd();
+ }
+ if (this->__isset.applicationOutputs) {
+ xfer += oprot->writeFieldBegin("applicationOutputs", ::apache::thrift::protocol::T_LIST, 7);
+ {
+ xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>(this->applicationOutputs.size()));
+ std::vector<DataObjectType> ::const_iterator _iter47;
+ for (_iter47 = this->applicationOutputs.begin(); _iter47 != this->applicationOutputs.end(); ++_iter47)
+ {
+ xfer += (*_iter47).write(oprot);
+ }
+ xfer += oprot->writeListEnd();
+ }
+ xfer += oprot->writeFieldEnd();
+ }
+ if (this->__isset.taskScheduling) {
+ xfer += oprot->writeFieldBegin("taskScheduling", ::apache::thrift::protocol::T_STRUCT, 8);
+ xfer += this->taskScheduling.write(oprot);
+ xfer += oprot->writeFieldEnd();
+ }
+ if (this->__isset.advancedInputDataHandling) {
+ xfer += oprot->writeFieldBegin("advancedInputDataHandling", ::apache::thrift::protocol::T_STRUCT, 9);
+ xfer += this->advancedInputDataHandling.write(oprot);
+ xfer += oprot->writeFieldEnd();
+ }
+ if (this->__isset.advancedOutputDataHandling) {
+ xfer += oprot->writeFieldBegin("advancedOutputDataHandling", ::apache::thrift::protocol::T_STRUCT, 10);
+ xfer += this->advancedOutputDataHandling.write(oprot);
+ xfer += oprot->writeFieldEnd();
+ }
+ if (this->__isset.taskStatus) {
+ xfer += oprot->writeFieldBegin("taskStatus", ::apache::thrift::protocol::T_STRUCT, 11);
+ xfer += this->taskStatus.write(oprot);
+ xfer += oprot->writeFieldEnd();
+ }
+ if (this->__isset.jobDetailsList) {
+ xfer += oprot->writeFieldBegin("jobDetailsList", ::apache::thrift::protocol::T_LIST, 12);
+ {
+ xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>(this->jobDetailsList.size()));
+ std::vector<JobDetails> ::const_iterator _iter48;
+ for (_iter48 = this->jobDetailsList.begin(); _iter48 != this->jobDetailsList.end(); ++_iter48)
+ {
+ xfer += (*_iter48).write(oprot);
+ }
+ xfer += oprot->writeListEnd();
+ }
+ xfer += oprot->writeFieldEnd();
+ }
+ if (this->__isset.dataTransferDetailsList) {
+ xfer += oprot->writeFieldBegin("dataTransferDetailsList", ::apache::thrift::protocol::T_LIST, 13);
+ {
+ xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>(this->dataTransferDetailsList.size()));
+ std::vector<DataTransferDetails> ::const_iterator _iter49;
+ for (_iter49 = this->dataTransferDetailsList.begin(); _iter49 != this->dataTransferDetailsList.end(); ++_iter49)
+ {
+ xfer += (*_iter49).write(oprot);
+ }
+ xfer += oprot->writeListEnd();
+ }
+ xfer += oprot->writeFieldEnd();
+ }
+ if (this->__isset.errors) {
+ xfer += oprot->writeFieldBegin("errors", ::apache::thrift::protocol::T_LIST, 14);
+ {
+ xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>(this->errors.size()));
+ std::vector<ErrorDetails> ::const_iterator _iter50;
+ for (_iter50 = this->errors.begin(); _iter50 != this->errors.end(); ++_iter50)
+ {
+ xfer += (*_iter50).write(oprot);
+ }
+ xfer += oprot->writeListEnd();
+ }
+ xfer += oprot->writeFieldEnd();
+ }
+ xfer += oprot->writeFieldStop();
+ xfer += oprot->writeStructEnd();
+ return xfer;
+}
+
+void swap(TaskDetails &a, TaskDetails &b) {
+ using ::std::swap;
+ swap(a.taskID, b.taskID);
+ swap(a.creationTime, b.creationTime);
+ swap(a.applicationId, b.applicationId);
+ swap(a.applicationVersion, b.applicationVersion);
+ swap(a.applicationDeploymentId, b.applicationDeploymentId);
+ swap(a.applicationInputs, b.applicationInputs);
+ swap(a.applicationOutputs, b.applicationOutputs);
+ swap(a.taskScheduling, b.taskScheduling);
+ swap(a.advancedInputDataHandling, b.advancedInputDataHandling);
+ swap(a.advancedOutputDataHandling, b.advancedOutputDataHandling);
+ swap(a.taskStatus, b.taskStatus);
+ swap(a.jobDetailsList, b.jobDetailsList);
+ swap(a.dataTransferDetailsList, b.dataTransferDetailsList);
+ swap(a.errors, b.errors);
+ swap(a.__isset, b.__isset);
+}
+
+const char* WorkflowNodeDetails::ascii_fingerprint = "95130A9D83D5C73D70BAEBDF11F2FFE7";
+const uint8_t WorkflowNodeDetails::binary_fingerprint[16] = {0x95,0x13,0x0A,0x9D,0x83,0xD5,0xC7,0x3D,0x70,0xBA,0xEB,0xDF,0x11,0xF2,0xFF,0xE7};
+
+uint32_t WorkflowNodeDetails::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+ uint32_t xfer = 0;
+ std::string fname;
+ ::apache::thrift::protocol::TType ftype;
+ int16_t fid;
+
+ xfer += iprot->readStructBegin(fname);
+
+ using ::apache::thrift::protocol::TProtocolException;
+
+ bool isset_nodeInstanceId = false;
+ bool isset_nodeName = false;
+ bool isset_executionUnit = false;
+
+ while (true)
+ {
+ xfer += iprot->readFieldBegin(fname, ftype, fid);
+ if (ftype == ::apache::thrift::protocol::T_STOP) {
+ break;
+ }
+ switch (fid)
+ {
+ case 1:
+ if (ftype == ::apache::thrift::protocol::T_STRING) {
+ xfer += iprot->readString(this->nodeInstanceId);
+ isset_nodeInstanceId = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 2:
+ if (ftype == ::apache::thrift::protocol::T_I64) {
+ xfer += iprot->readI64(this->creationTime);
+ this->__isset.creationTime = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 3:
+ if (ftype == ::apache::thrift::protocol::T_STRING) {
+ xfer += iprot->readString(this->nodeName);
+ isset_nodeName = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 4:
+ if (ftype == ::apache::thrift::protocol::T_I32) {
+ int32_t ecast51;
+ xfer += iprot->readI32(ecast51);
+ this->executionUnit = (ExecutionUnit::type)ecast51;
+ isset_executionUnit = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 5:
+ if (ftype == ::apache::thrift::protocol::T_STRING) {
+ xfer += iprot->readString(this->executionUnitData);
+ this->__isset.executionUnitData = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 6:
+ if (ftype == ::apache::thrift::protocol::T_LIST) {
+ {
+ this->nodeInputs.clear();
+ uint32_t _size52;
+ ::apache::thrift::protocol::TType _etype55;
+ xfer += iprot->readListBegin(_etype55, _size52);
+ this->nodeInputs.resize(_size52);
+ uint32_t _i56;
+ for (_i56 = 0; _i56 < _size52; ++_i56)
+ {
+ xfer += this->nodeInputs[_i56].read(iprot);
+ }
+ xfer += iprot->readListEnd();
+ }
+ this->__isset.nodeInputs = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 7:
+ if (ftype == ::apache::thrift::protocol::T_LIST) {
+ {
+ this->nodeOutputs.clear();
+ uint32_t _size57;
+ ::apache::thrift::protocol::TType _etype60;
+ xfer += iprot->readListBegin(_etype60, _size57);
+ this->nodeOutputs.resize(_size57);
+ uint32_t _i61;
+ for (_i61 = 0; _i61 < _size57; ++_i61)
+ {
+ xfer += this->nodeOutputs[_i61].read(iprot);
+ }
+ xfer += iprot->readListEnd();
+ }
+ this->__isset.nodeOutputs = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 8:
+ if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+ xfer += this->workflowNodeStatus.read(iprot);
+ this->__isset.workflowNodeStatus = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 9:
+ if (ftype == ::apache::thrift::protocol::T_LIST) {
+ {
+ this->taskDetailsList.clear();
+ uint32_t _size62;
+ ::apache::thrift::protocol::TType _etype65;
+ xfer += iprot->readListBegin(_etype65, _size62);
+ this->taskDetailsList.resize(_size62);
+ uint32_t _i66;
+ for (_i66 = 0; _i66 < _size62; ++_i66)
+ {
+ xfer += this->taskDetailsList[_i66].read(iprot);
+ }
+ xfer += iprot->readListEnd();
+ }
+ this->__isset.taskDetailsList = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 10:
+ if (ftype == ::apache::thrift::protocol::T_LIST) {
+ {
+ this->errors.clear();
+ uint32_t _size67;
+ ::apache::thrift::protocol::TType _etype70;
+ xfer += iprot->readListBegin(_etype70, _size67);
+ this->errors.resize(_size67);
+ uint32_t _i71;
+ for (_i71 = 0; _i71 < _size67; ++_i71)
+ {
+ xfer += this->errors[_i71].read(iprot);
+ }
+ xfer += iprot->readListEnd();
+ }
+ this->__isset.errors = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ default:
+ xfer += iprot->skip(ftype);
+ break;
+ }
+ xfer += iprot->readFieldEnd();
+ }
+
+ xfer += iprot->readStructEnd();
+
+ if (!isset_nodeInstanceId)
+ throw TProtocolException(TProtocolException::INVALID_DATA);
+ if (!isset_nodeName)
+ throw TProtocolException(TProtocolException::INVALID_DATA);
+ if (!isset_executionUnit)
+ throw TProtocolException(TProtocolException::INVALID_DATA);
+ return xfer;
+}
+
+uint32_t WorkflowNodeDetails::write(::apache::thrift::protocol::TProtocol* oprot) const {
+ uint32_t xfer = 0;
+ xfer += oprot->writeStructBegin("WorkflowNodeDetails");
+
+ xfer += oprot->writeFieldBegin("nodeInstanceId", ::apache::thrift::protocol::T_STRING, 1);
+ xfer += oprot->writeString(this->nodeInstanceId);
+ xfer += oprot->writeFieldEnd();
+
+ if (this->__isset.creationTime) {
+ xfer += oprot->writeFieldBegin("creationTime", ::apache::thrift::protocol::T_I64, 2);
+ xfer += oprot->writeI64(this->creationTime);
+ xfer += oprot->writeFieldEnd();
+ }
+ xfer += oprot->writeFieldBegin("nodeName", ::apache::thrift::protocol::T_STRING, 3);
+ xfer += oprot->writeString(this->nodeName);
+ xfer += oprot->writeFieldEnd();
+
+ xfer += oprot->writeFieldBegin("executionUnit", ::apache::thrift::protocol::T_I32, 4);
+ xfer += oprot->writeI32((int32_t)this->executionUnit);
+ xfer += oprot->writeFieldEnd();
+
+ if (this->__isset.executionUnitData) {
+ xfer += oprot->writeFieldBegin("executionUnitData", ::apache::thrift::protocol::T_STRING, 5);
+ xfer += oprot->writeString(this->executionUnitData);
+ xfer += oprot->writeFieldEnd();
+ }
+ if (this->__isset.nodeInputs) {
+ xfer += oprot->writeFieldBegin("nodeInputs", ::apache::thrift::protocol::T_LIST, 6);
+ {
+ xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>(this->nodeInputs.size()));
+ std::vector<DataObjectType> ::const_iterator _iter72;
+ for (_iter72 = this->nodeInputs.begin(); _iter72 != this->nodeInputs.end(); ++_iter72)
+ {
+ xfer += (*_iter72).write(oprot);
+ }
+ xfer += oprot->writeListEnd();
+ }
+ xfer += oprot->writeFieldEnd();
+ }
+ if (this->__isset.nodeOutputs) {
+ xfer += oprot->writeFieldBegin("nodeOutputs", ::apache::thrift::protocol::T_LIST, 7);
+ {
+ xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>(this->nodeOutputs.size()));
+ std::vector<DataObjectType> ::const_iterator _iter73;
+ for (_iter73 = this->nodeOutputs.begin(); _iter73 != this->nodeOutputs.end(); ++_iter73)
+ {
+ xfer += (*_iter73).write(oprot);
+ }
+ xfer += oprot->writeListEnd();
+ }
+ xfer += oprot->writeFieldEnd();
+ }
+ if (this->__isset.workflowNodeStatus) {
+ xfer += oprot->writeFieldBegin("workflowNodeStatus", ::apache::thrift::protocol::T_STRUCT, 8);
+ xfer += this->workflowNodeStatus.write(oprot);
+ xfer += oprot->writeFieldEnd();
+ }
+ if (this->__isset.taskDetailsList) {
+ xfer += oprot->writeFieldBegin("taskDetailsList", ::apache::thrift::protocol::T_LIST, 9);
+ {
+ xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>(this->taskDetailsList.size()));
+ std::vector<TaskDetails> ::const_iterator _iter74;
+ for (_iter74 = this->taskDetailsList.begin(); _iter74 != this->taskDetailsList.end(); ++_iter74)
+ {
+ xfer += (*_iter74).write(oprot);
+ }
+ xfer += oprot->writeListEnd();
+ }
+ xfer += oprot->writeFieldEnd();
+ }
+ if (this->__isset.errors) {
+ xfer += oprot->writeFieldBegin("errors", ::apache::thrift::protocol::T_LIST, 10);
+ {
+ xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>(this->errors.size()));
+ std::vector<ErrorDetails> ::const_iterator _iter75;
+ for (_iter75 = this->errors.begin(); _iter75 != this->errors.end(); ++_iter75)
+ {
+ xfer += (*_iter75).write(oprot);
+ }
+ xfer += oprot->writeListEnd();
+ }
+ xfer += oprot->writeFieldEnd();
+ }
+ xfer += oprot->writeFieldStop();
+ xfer += oprot->writeStructEnd();
+ return xfer;
+}
+
+void swap(WorkflowNodeDetails &a, WorkflowNodeDetails &b) {
+ using ::std::swap;
+ swap(a.nodeInstanceId, b.nodeInstanceId);
+ swap(a.creationTime, b.creationTime);
+ swap(a.nodeName, b.nodeName);
+ swap(a.executionUnit, b.executionUnit);
+ swap(a.executionUnitData, b.executionUnitData);
+ swap(a.nodeInputs, b.nodeInputs);
+ swap(a.nodeOutputs, b.nodeOutputs);
+ swap(a.workflowNodeStatus, b.workflowNodeStatus);
+ swap(a.taskDetailsList, b.taskDetailsList);
+ swap(a.errors, b.errors);
+ swap(a.__isset, b.__isset);
+}
+
+const char* ValidatorResult::ascii_fingerprint = "EB04A806CFFC9025AEE48CFFDC378A86";
+const uint8_t ValidatorResult::binary_fingerprint[16] = {0xEB,0x04,0xA8,0x06,0xCF,0xFC,0x90,0x25,0xAE,0xE4,0x8C,0xFF,0xDC,0x37,0x8A,0x86};
+
+uint32_t ValidatorResult::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+ uint32_t xfer = 0;
+ std::string fname;
+ ::apache::thrift::protocol::TType ftype;
+ int16_t fid;
+
+ xfer += iprot->readStructBegin(fname);
+
+ using ::apache::thrift::protocol::TProtocolException;
+
+ bool isset_result = false;
+
+ while (true)
+ {
+ xfer += iprot->readFieldBegin(fname, ftype, fid);
+ if (ftype == ::apache::thrift::protocol::T_STOP) {
+ break;
+ }
+ switch (fid)
+ {
+ case 1:
+ if (ftype == ::apache::thrift::protocol::T_BOOL) {
+ xfer += iprot->readBool(this->result);
+ isset_result = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ case 2:
+ if (ftype == ::apache::thrift::protocol::T_STRING) {
+ xfer += iprot->readString(this->errorDetails);
+ this->__isset.errorDetails = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
+ default:
+ xfer += iprot->skip(ftype);
+ break;
+ }
+ xfer += iprot->readFieldEnd();
+ }
+
+ xfer += iprot->readStructEnd();
+
+ if (!isset_result)
+ throw TProtocolException(TProtocolException::INVALID_DATA);
+ return xfer;
+}
+
+uint32_t ValidatorResult::write(::apache::thrift::protocol::TProtocol* oprot) const {
+ uint32_t xfer = 0;
+ xfer += oprot->writeStructBegin("ValidatorResult");
+
+ xfer += oprot->writeFieldBegin("result", ::apache::thrift::protocol::T_BOOL, 1);
+ xfer += oprot->writeBool(this->result);
+ xfer += oprot->writeFieldEnd();
+
+ if (this->__isset.errorDetails) {
+ xfer += oprot->writeFieldBegin("errorDetails", ::apache::thrift::protocol::T_STRING, 2);
+ xfer += oprot->writeString(this->errorDetails);
+ xfer += oprot->writeFieldEnd();
+ }
+ xfer += oprot->writeFieldStop();
+ xfer += oprot->writeStructEnd();
+ return xfer;
+}
+
+void swap(ValidatorResult &a, ValidatorResult &b) {
+ using ::std::swap;
+ swap(a.result, b.result);
+ swap(a.errorDetails, b.errorDetails);
+ swap(a.__isset, b.__isset);
+}
+
+const char* ValidationResults::ascii_fingerprint = "E73BC8630EE405DA5FB801ED852143D2";
+const uint8_t ValidationResults::binary_fingerprint[16] = {0xE7,0x3B,0xC8,0x63,0x0E,0xE4,0x05,0xDA,0x5F,0xB8,0x01,0xED,0x85,0x21,0x43,0xD2};
+
+uint32_t ValidationResults::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+ uint32_t xfer = 0;
+ std::string
<TRUNCATED>
[42/47] git commit: removed backup files
Posted by sm...@apache.org.
removed backup files
Project: http://git-wip-us.apache.org/repos/asf/airavata/repo
Commit: http://git-wip-us.apache.org/repos/asf/airavata/commit/81ad6ead
Tree: http://git-wip-us.apache.org/repos/asf/airavata/tree/81ad6ead
Diff: http://git-wip-us.apache.org/repos/asf/airavata/diff/81ad6ead
Branch: refs/heads/master
Commit: 81ad6eadf2df50a5f9abfbbe8f18fe6f98fc63d1
Parents: 00b8aaf
Author: ixxi-2013 <na...@gmail.com>
Authored: Fri Jul 11 11:51:54 2014 +0200
Committer: ixxi-2013 <na...@gmail.com>
Committed: Fri Jul 11 11:51:54 2014 +0200
----------------------------------------------------------------------
.../src/main/resources/client samples/test.cpp~ | 55 --------------------
.../src/main/resources/client samples/test:c~ | 0
2 files changed, 55 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/airavata/blob/81ad6ead/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client samples/test.cpp~
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client samples/test.cpp~ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client samples/test.cpp~
deleted file mode 100644
index 24bf1af..0000000
--- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client samples/test.cpp~
+++ /dev/null
@@ -1,55 +0,0 @@
-#include <glib.h>
-#include <iostream>
-#include <stdint.h>
-#include <sys/time.h>
-
-#define _WIN32_WINNT 0x501
-
-
-#include <thrift/transport/TSocket.h>
-#include <thrift/transport/TBufferTransports.h>
-#include <thrift/protocol/TBinaryProtocol.h>
-
-#include "../lib/airavata/Airavata.h"
-#include "../lib/airavata/Airavata.cpp"
-#include "../lib/airavata/airavataDataModel_types.h"
-#include "../lib/airavata/airavataDataModel_types.cpp"
-#include "../lib/airavata/airavataErrors_types.h"
-#include "../lib/airavata/airavataErrors_types.cpp"
-#include "../lib/airavata/experimentModel_types.h"
-#include "../lib/airavata/experimentModel_types.cpp"
-#include "../lib/airavata/workspaceModel_types.h"
-#include "../lib/airavata/workspaceModel_types.cpp"
-#include "../lib/airavata/airavataAPI_types.h"
-#include "../lib/airavata/airavataAPI_types.cpp"
-#include "../lib/airavata/applicationDeploymentModel_types.h"
-#include "../lib/airavata/applicationDeploymentModel_types.cpp"
-#include "../lib/airavata/applicationInterfaceModel_types.h"
-#include "../lib/airavata/applicationInterfaceModel_types.cpp"
-#include "../lib/airavata/gatewayResourceProfileModel_types.h"
-#include "../lib/airavata/gatewayResourceProfileModel_types.cpp"
-#include "../lib/airavata/computeResourceModel_types.h"
-#include "../lib/airavata/computeResourceModel_types.cpp"
-
-using namespace std;
-using namespace apache::thrift;
-using namespace apache::thrift::protocol;
-using namespace apache::thrift::transport;
-using namespace apache::airavata::api;
-
-
-
-int main(int argc, char **argv) {
- boost::shared_ptr<TSocket> socket(new TSocket("localhost", 8930));
- boost::shared_ptr<TTransport> transport(new TBufferedTransport(socket));
- boost::shared_ptr<TProtocol> protocol(new TBinaryProtocol(transport));
- AiravataClient airavataclient(protocol);
- transport-open();
-
- apache::airavata::model::workspace::Project project;
- project.owner=argv[1];
- project.name=argv[2];
- std::string _return;
- airavataclient.createProject(_return,project);
- cout << _return;
-}
http://git-wip-us.apache.org/repos/asf/airavata/blob/81ad6ead/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client samples/test:c~
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client samples/test:c~ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client samples/test:c~
deleted file mode 100644
index e69de29..0000000
[04/47] Added c++ client samples for integrattion of airavata with
any other application's c++ interface
Posted by sm...@apache.org.
http://git-wip-us.apache.org/repos/asf/airavata/blob/f891b7dc/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/transport/TBufferTransports.h
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/transport/TBufferTransports.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/transport/TBufferTransports.h
new file mode 100644
index 0000000..cd6ecea
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/transport/TBufferTransports.h
@@ -0,0 +1,735 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you 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 _THRIFT_TRANSPORT_TBUFFERTRANSPORTS_H_
+#define _THRIFT_TRANSPORT_TBUFFERTRANSPORTS_H_ 1
+
+#include <cstring>
+#include <boost/scoped_array.hpp>
+
+#include <thrift/transport/TTransport.h>
+#include <thrift/transport/TVirtualTransport.h>
+
+#ifdef __GNUC__
+#define TDB_LIKELY(val) (__builtin_expect((val), 1))
+#define TDB_UNLIKELY(val) (__builtin_expect((val), 0))
+#else
+#define TDB_LIKELY(val) (val)
+#define TDB_UNLIKELY(val) (val)
+#endif
+
+namespace apache { namespace thrift { namespace transport {
+
+
+/**
+ * Base class for all transports that use read/write buffers for performance.
+ *
+ * TBufferBase is designed to implement the fast-path "memcpy" style
+ * operations that work in the common case. It does so with small and
+ * (eventually) nonvirtual, inlinable methods. TBufferBase is an abstract
+ * class. Subclasses are expected to define the "slow path" operations
+ * that have to be done when the buffers are full or empty.
+ *
+ */
+class TBufferBase : public TVirtualTransport<TBufferBase> {
+
+ public:
+
+ /**
+ * Fast-path read.
+ *
+ * When we have enough data buffered to fulfill the read, we can satisfy it
+ * with a single memcpy, then adjust our internal pointers. If the buffer
+ * is empty, we call out to our slow path, implemented by a subclass.
+ * This method is meant to eventually be nonvirtual and inlinable.
+ */
+ uint32_t read(uint8_t* buf, uint32_t len) {
+ uint8_t* new_rBase = rBase_ + len;
+ if (TDB_LIKELY(new_rBase <= rBound_)) {
+ std::memcpy(buf, rBase_, len);
+ rBase_ = new_rBase;
+ return len;
+ }
+ return readSlow(buf, len);
+ }
+
+ /**
+ * Shortcutted version of readAll.
+ */
+ uint32_t readAll(uint8_t* buf, uint32_t len) {
+ uint8_t* new_rBase = rBase_ + len;
+ if (TDB_LIKELY(new_rBase <= rBound_)) {
+ std::memcpy(buf, rBase_, len);
+ rBase_ = new_rBase;
+ return len;
+ }
+ return apache::thrift::transport::readAll(*this, buf, len);
+ }
+
+ /**
+ * Fast-path write.
+ *
+ * When we have enough empty space in our buffer to accomodate the write, we
+ * can satisfy it with a single memcpy, then adjust our internal pointers.
+ * If the buffer is full, we call out to our slow path, implemented by a
+ * subclass. This method is meant to eventually be nonvirtual and
+ * inlinable.
+ */
+ void write(const uint8_t* buf, uint32_t len) {
+ uint8_t* new_wBase = wBase_ + len;
+ if (TDB_LIKELY(new_wBase <= wBound_)) {
+ std::memcpy(wBase_, buf, len);
+ wBase_ = new_wBase;
+ return;
+ }
+ writeSlow(buf, len);
+ }
+
+ /**
+ * Fast-path borrow. A lot like the fast-path read.
+ */
+ const uint8_t* borrow(uint8_t* buf, uint32_t* len) {
+ if (TDB_LIKELY(static_cast<ptrdiff_t>(*len) <= rBound_ - rBase_)) {
+ // With strict aliasing, writing to len shouldn't force us to
+ // refetch rBase_ from memory. TODO(dreiss): Verify this.
+ *len = static_cast<uint32_t>(rBound_ - rBase_);
+ return rBase_;
+ }
+ return borrowSlow(buf, len);
+ }
+
+ /**
+ * Consume doesn't require a slow path.
+ */
+ void consume(uint32_t len) {
+ if (TDB_LIKELY(static_cast<ptrdiff_t>(len) <= rBound_ - rBase_)) {
+ rBase_ += len;
+ } else {
+ throw TTransportException(TTransportException::BAD_ARGS,
+ "consume did not follow a borrow.");
+ }
+ }
+
+
+ protected:
+
+ /// Slow path read.
+ virtual uint32_t readSlow(uint8_t* buf, uint32_t len) = 0;
+
+ /// Slow path write.
+ virtual void writeSlow(const uint8_t* buf, uint32_t len) = 0;
+
+ /**
+ * Slow path borrow.
+ *
+ * POSTCONDITION: return == NULL || rBound_ - rBase_ >= *len
+ */
+ virtual const uint8_t* borrowSlow(uint8_t* buf, uint32_t* len) = 0;
+
+ /**
+ * Trivial constructor.
+ *
+ * Initialize pointers safely. Constructing is not a very
+ * performance-sensitive operation, so it is okay to just leave it to
+ * the concrete class to set up pointers correctly.
+ */
+ TBufferBase()
+ : rBase_(NULL)
+ , rBound_(NULL)
+ , wBase_(NULL)
+ , wBound_(NULL)
+ {}
+
+ /// Convenience mutator for setting the read buffer.
+ void setReadBuffer(uint8_t* buf, uint32_t len) {
+ rBase_ = buf;
+ rBound_ = buf+len;
+ }
+
+ /// Convenience mutator for setting the write buffer.
+ void setWriteBuffer(uint8_t* buf, uint32_t len) {
+ wBase_ = buf;
+ wBound_ = buf+len;
+ }
+
+ virtual ~TBufferBase() {}
+
+ /// Reads begin here.
+ uint8_t* rBase_;
+ /// Reads may extend to just before here.
+ uint8_t* rBound_;
+
+ /// Writes begin here.
+ uint8_t* wBase_;
+ /// Writes may extend to just before here.
+ uint8_t* wBound_;
+};
+
+
+/**
+ * Buffered transport. For reads it will read more data than is requested
+ * and will serve future data out of a local buffer. For writes, data is
+ * stored to an in memory buffer before being written out.
+ *
+ */
+class TBufferedTransport
+ : public TVirtualTransport<TBufferedTransport, TBufferBase> {
+ public:
+
+ static const int DEFAULT_BUFFER_SIZE = 512;
+
+ /// Use default buffer sizes.
+ TBufferedTransport(boost::shared_ptr<TTransport> transport)
+ : transport_(transport)
+ , rBufSize_(DEFAULT_BUFFER_SIZE)
+ , wBufSize_(DEFAULT_BUFFER_SIZE)
+ , rBuf_(new uint8_t[rBufSize_])
+ , wBuf_(new uint8_t[wBufSize_])
+ {
+ initPointers();
+ }
+
+ /// Use specified buffer sizes.
+ TBufferedTransport(boost::shared_ptr<TTransport> transport, uint32_t sz)
+ : transport_(transport)
+ , rBufSize_(sz)
+ , wBufSize_(sz)
+ , rBuf_(new uint8_t[rBufSize_])
+ , wBuf_(new uint8_t[wBufSize_])
+ {
+ initPointers();
+ }
+
+ /// Use specified read and write buffer sizes.
+ TBufferedTransport(boost::shared_ptr<TTransport> transport, uint32_t rsz, uint32_t wsz)
+ : transport_(transport)
+ , rBufSize_(rsz)
+ , wBufSize_(wsz)
+ , rBuf_(new uint8_t[rBufSize_])
+ , wBuf_(new uint8_t[wBufSize_])
+ {
+ initPointers();
+ }
+
+ void open() {
+ transport_->open();
+ }
+
+ bool isOpen() {
+ return transport_->isOpen();
+ }
+
+ bool peek() {
+ if (rBase_ == rBound_) {
+ setReadBuffer(rBuf_.get(), transport_->read(rBuf_.get(), rBufSize_));
+ }
+ return (rBound_ > rBase_);
+ }
+
+ void close() {
+ flush();
+ transport_->close();
+ }
+
+ virtual uint32_t readSlow(uint8_t* buf, uint32_t len);
+
+ virtual void writeSlow(const uint8_t* buf, uint32_t len);
+
+ void flush();
+
+
+ /**
+ * The following behavior is currently implemented by TBufferedTransport,
+ * but that may change in a future version:
+ * 1/ If len is at most rBufSize_, borrow will never return NULL.
+ * Depending on the underlying transport, it could throw an exception
+ * or hang forever.
+ * 2/ Some borrow requests may copy bytes internally. However,
+ * if len is at most rBufSize_/2, none of the copied bytes
+ * will ever have to be copied again. For optimial performance,
+ * stay under this limit.
+ */
+ virtual const uint8_t* borrowSlow(uint8_t* buf, uint32_t* len);
+
+ boost::shared_ptr<TTransport> getUnderlyingTransport() {
+ return transport_;
+ }
+
+ /*
+ * TVirtualTransport provides a default implementation of readAll().
+ * We want to use the TBufferBase version instead.
+ */
+ uint32_t readAll(uint8_t* buf, uint32_t len) {
+ return TBufferBase::readAll(buf, len);
+ }
+
+ protected:
+ void initPointers() {
+ setReadBuffer(rBuf_.get(), 0);
+ setWriteBuffer(wBuf_.get(), wBufSize_);
+ // Write size never changes.
+ }
+
+ boost::shared_ptr<TTransport> transport_;
+
+ uint32_t rBufSize_;
+ uint32_t wBufSize_;
+ boost::scoped_array<uint8_t> rBuf_;
+ boost::scoped_array<uint8_t> wBuf_;
+};
+
+
+/**
+ * Wraps a transport into a buffered one.
+ *
+ */
+class TBufferedTransportFactory : public TTransportFactory {
+ public:
+ TBufferedTransportFactory() {}
+
+ virtual ~TBufferedTransportFactory() {}
+
+ /**
+ * Wraps the transport into a buffered one.
+ */
+ virtual boost::shared_ptr<TTransport> getTransport(boost::shared_ptr<TTransport> trans) {
+ return boost::shared_ptr<TTransport>(new TBufferedTransport(trans));
+ }
+
+};
+
+
+/**
+ * Framed transport. All writes go into an in-memory buffer until flush is
+ * called, at which point the transport writes the length of the entire
+ * binary chunk followed by the data payload. This allows the receiver on the
+ * other end to always do fixed-length reads.
+ *
+ */
+class TFramedTransport
+ : public TVirtualTransport<TFramedTransport, TBufferBase> {
+ public:
+
+ static const int DEFAULT_BUFFER_SIZE = 512;
+
+ /// Use default buffer sizes.
+ TFramedTransport(boost::shared_ptr<TTransport> transport)
+ : transport_(transport)
+ , rBufSize_(0)
+ , wBufSize_(DEFAULT_BUFFER_SIZE)
+ , rBuf_()
+ , wBuf_(new uint8_t[wBufSize_])
+ {
+ initPointers();
+ }
+
+ TFramedTransport(boost::shared_ptr<TTransport> transport, uint32_t sz)
+ : transport_(transport)
+ , rBufSize_(0)
+ , wBufSize_(sz)
+ , rBuf_()
+ , wBuf_(new uint8_t[wBufSize_])
+ {
+ initPointers();
+ }
+
+ void open() {
+ transport_->open();
+ }
+
+ bool isOpen() {
+ return transport_->isOpen();
+ }
+
+ bool peek() {
+ return (rBase_ < rBound_) || transport_->peek();
+ }
+
+ void close() {
+ flush();
+ transport_->close();
+ }
+
+ virtual uint32_t readSlow(uint8_t* buf, uint32_t len);
+
+ virtual void writeSlow(const uint8_t* buf, uint32_t len);
+
+ virtual void flush();
+
+ uint32_t readEnd();
+
+ uint32_t writeEnd();
+
+ const uint8_t* borrowSlow(uint8_t* buf, uint32_t* len);
+
+ boost::shared_ptr<TTransport> getUnderlyingTransport() {
+ return transport_;
+ }
+
+ /*
+ * TVirtualTransport provides a default implementation of readAll().
+ * We want to use the TBufferBase version instead.
+ */
+ uint32_t readAll(uint8_t* buf, uint32_t len) {
+ return TBufferBase::readAll(buf,len);
+ }
+
+ protected:
+ /**
+ * Reads a frame of input from the underlying stream.
+ *
+ * Returns true if a frame was read successfully, or false on EOF.
+ * (Raises a TTransportException if EOF occurs after a partial frame.)
+ */
+ bool readFrame();
+
+ void initPointers() {
+ setReadBuffer(NULL, 0);
+ setWriteBuffer(wBuf_.get(), wBufSize_);
+
+ // Pad the buffer so we can insert the size later.
+ int32_t pad = 0;
+ this->write((uint8_t*)&pad, sizeof(pad));
+ }
+
+ boost::shared_ptr<TTransport> transport_;
+
+ uint32_t rBufSize_;
+ uint32_t wBufSize_;
+ boost::scoped_array<uint8_t> rBuf_;
+ boost::scoped_array<uint8_t> wBuf_;
+};
+
+/**
+ * Wraps a transport into a framed one.
+ *
+ */
+class TFramedTransportFactory : public TTransportFactory {
+ public:
+ TFramedTransportFactory() {}
+
+ virtual ~TFramedTransportFactory() {}
+
+ /**
+ * Wraps the transport into a framed one.
+ */
+ virtual boost::shared_ptr<TTransport> getTransport(boost::shared_ptr<TTransport> trans) {
+ return boost::shared_ptr<TTransport>(new TFramedTransport(trans));
+ }
+
+};
+
+
+/**
+ * A memory buffer is a tranpsort that simply reads from and writes to an
+ * in memory buffer. Anytime you call write on it, the data is simply placed
+ * into a buffer, and anytime you call read, data is read from that buffer.
+ *
+ * The buffers are allocated using C constructs malloc,realloc, and the size
+ * doubles as necessary. We've considered using scoped
+ *
+ */
+class TMemoryBuffer : public TVirtualTransport<TMemoryBuffer, TBufferBase> {
+ private:
+
+ // Common initialization done by all constructors.
+ void initCommon(uint8_t* buf, uint32_t size, bool owner, uint32_t wPos) {
+ if (buf == NULL && size != 0) {
+ assert(owner);
+ buf = (uint8_t*)std::malloc(size);
+ if (buf == NULL) {
+ throw std::bad_alloc();
+ }
+ }
+
+ buffer_ = buf;
+ bufferSize_ = size;
+
+ rBase_ = buffer_;
+ rBound_ = buffer_ + wPos;
+ // TODO(dreiss): Investigate NULL-ing this if !owner.
+ wBase_ = buffer_ + wPos;
+ wBound_ = buffer_ + bufferSize_;
+
+ owner_ = owner;
+
+ // rBound_ is really an artifact. In principle, it should always be
+ // equal to wBase_. We update it in a few places (computeRead, etc.).
+ }
+
+ public:
+ static const uint32_t defaultSize = 1024;
+
+ /**
+ * This enum specifies how a TMemoryBuffer should treat
+ * memory passed to it via constructors or resetBuffer.
+ *
+ * OBSERVE:
+ * TMemoryBuffer will simply store a pointer to the memory.
+ * It is the callers responsibility to ensure that the pointer
+ * remains valid for the lifetime of the TMemoryBuffer,
+ * and that it is properly cleaned up.
+ * Note that no data can be written to observed buffers.
+ *
+ * COPY:
+ * TMemoryBuffer will make an internal copy of the buffer.
+ * The caller has no responsibilities.
+ *
+ * TAKE_OWNERSHIP:
+ * TMemoryBuffer will become the "owner" of the buffer,
+ * and will be responsible for freeing it.
+ * The membory must have been allocated with malloc.
+ */
+ enum MemoryPolicy
+ { OBSERVE = 1
+ , COPY = 2
+ , TAKE_OWNERSHIP = 3
+ };
+
+ /**
+ * Construct a TMemoryBuffer with a default-sized buffer,
+ * owned by the TMemoryBuffer object.
+ */
+ TMemoryBuffer() {
+ initCommon(NULL, defaultSize, true, 0);
+ }
+
+ /**
+ * Construct a TMemoryBuffer with a buffer of a specified size,
+ * owned by the TMemoryBuffer object.
+ *
+ * @param sz The initial size of the buffer.
+ */
+ TMemoryBuffer(uint32_t sz) {
+ initCommon(NULL, sz, true, 0);
+ }
+
+ /**
+ * Construct a TMemoryBuffer with buf as its initial contents.
+ *
+ * @param buf The initial contents of the buffer.
+ * Note that, while buf is a non-const pointer,
+ * TMemoryBuffer will not write to it if policy == OBSERVE,
+ * so it is safe to const_cast<uint8_t*>(whatever).
+ * @param sz The size of @c buf.
+ * @param policy See @link MemoryPolicy @endlink .
+ */
+ TMemoryBuffer(uint8_t* buf, uint32_t sz, MemoryPolicy policy = OBSERVE) {
+ if (buf == NULL && sz != 0) {
+ throw TTransportException(TTransportException::BAD_ARGS,
+ "TMemoryBuffer given null buffer with non-zero size.");
+ }
+
+ switch (policy) {
+ case OBSERVE:
+ case TAKE_OWNERSHIP:
+ initCommon(buf, sz, policy == TAKE_OWNERSHIP, sz);
+ break;
+ case COPY:
+ initCommon(NULL, sz, true, 0);
+ this->write(buf, sz);
+ break;
+ default:
+ throw TTransportException(TTransportException::BAD_ARGS,
+ "Invalid MemoryPolicy for TMemoryBuffer");
+ }
+ }
+
+ ~TMemoryBuffer() {
+ if (owner_) {
+ std::free(buffer_);
+ }
+ }
+
+ bool isOpen() {
+ return true;
+ }
+
+ bool peek() {
+ return (rBase_ < wBase_);
+ }
+
+ void open() {}
+
+ void close() {}
+
+ // TODO(dreiss): Make bufPtr const.
+ void getBuffer(uint8_t** bufPtr, uint32_t* sz) {
+ *bufPtr = rBase_;
+ *sz = static_cast<uint32_t>(wBase_ - rBase_);
+ }
+
+ std::string getBufferAsString() {
+ if (buffer_ == NULL) {
+ return "";
+ }
+ uint8_t* buf;
+ uint32_t sz;
+ getBuffer(&buf, &sz);
+ return std::string((char*)buf, (std::string::size_type)sz);
+ }
+
+ void appendBufferToString(std::string& str) {
+ if (buffer_ == NULL) {
+ return;
+ }
+ uint8_t* buf;
+ uint32_t sz;
+ getBuffer(&buf, &sz);
+ str.append((char*)buf, sz);
+ }
+
+ void resetBuffer() {
+ rBase_ = buffer_;
+ rBound_ = buffer_;
+ wBase_ = buffer_;
+ // It isn't safe to write into a buffer we don't own.
+ if (!owner_) {
+ wBound_ = wBase_;
+ bufferSize_ = 0;
+ }
+ }
+
+ /// See constructor documentation.
+ void resetBuffer(uint8_t* buf, uint32_t sz, MemoryPolicy policy = OBSERVE) {
+ // Use a variant of the copy-and-swap trick for assignment operators.
+ // This is sub-optimal in terms of performance for two reasons:
+ // 1/ The constructing and swapping of the (small) values
+ // in the temporary object takes some time, and is not necessary.
+ // 2/ If policy == COPY, we allocate the new buffer before
+ // freeing the old one, precluding the possibility of
+ // reusing that memory.
+ // I doubt that either of these problems could be optimized away,
+ // but the second is probably no a common case, and the first is minor.
+ // I don't expect resetBuffer to be a common operation, so I'm willing to
+ // bite the performance bullet to make the method this simple.
+
+ // Construct the new buffer.
+ TMemoryBuffer new_buffer(buf, sz, policy);
+ // Move it into ourself.
+ this->swap(new_buffer);
+ // Our old self gets destroyed.
+ }
+
+ /// See constructor documentation.
+ void resetBuffer(uint32_t sz) {
+ // Construct the new buffer.
+ TMemoryBuffer new_buffer(sz);
+ // Move it into ourself.
+ this->swap(new_buffer);
+ // Our old self gets destroyed.
+ }
+
+ std::string readAsString(uint32_t len) {
+ std::string str;
+ (void)readAppendToString(str, len);
+ return str;
+ }
+
+ uint32_t readAppendToString(std::string& str, uint32_t len);
+
+ // return number of bytes read
+ uint32_t readEnd() {
+ //This cast should be safe, because buffer_'s size is a uint32_t
+ uint32_t bytes = static_cast<uint32_t>(rBase_ - buffer_);
+ if (rBase_ == wBase_) {
+ resetBuffer();
+ }
+ return bytes;
+ }
+
+ // Return number of bytes written
+ uint32_t writeEnd() {
+ //This cast should be safe, because buffer_'s size is a uint32_t
+ return static_cast<uint32_t>(wBase_ - buffer_);
+ }
+
+ uint32_t available_read() const {
+ // Remember, wBase_ is the real rBound_.
+ return static_cast<uint32_t>(wBase_ - rBase_);
+ }
+
+ uint32_t available_write() const {
+ return static_cast<uint32_t>(wBound_ - wBase_);
+ }
+
+ // Returns a pointer to where the client can write data to append to
+ // the TMemoryBuffer, and ensures the buffer is big enough to accomodate a
+ // write of the provided length. The returned pointer is very convenient for
+ // passing to read(), recv(), or similar. You must call wroteBytes() as soon
+ // as data is written or the buffer will not be aware that data has changed.
+ uint8_t* getWritePtr(uint32_t len) {
+ ensureCanWrite(len);
+ return wBase_;
+ }
+
+ // Informs the buffer that the client has written 'len' bytes into storage
+ // that had been provided by getWritePtr().
+ void wroteBytes(uint32_t len);
+
+ /*
+ * TVirtualTransport provides a default implementation of readAll().
+ * We want to use the TBufferBase version instead.
+ */
+ uint32_t readAll(uint8_t* buf, uint32_t len) {
+ return TBufferBase::readAll(buf,len);
+ }
+
+ protected:
+ void swap(TMemoryBuffer& that) {
+ using std::swap;
+ swap(buffer_, that.buffer_);
+ swap(bufferSize_, that.bufferSize_);
+
+ swap(rBase_, that.rBase_);
+ swap(rBound_, that.rBound_);
+ swap(wBase_, that.wBase_);
+ swap(wBound_, that.wBound_);
+
+ swap(owner_, that.owner_);
+ }
+
+ // Make sure there's at least 'len' bytes available for writing.
+ void ensureCanWrite(uint32_t len);
+
+ // Compute the position and available data for reading.
+ void computeRead(uint32_t len, uint8_t** out_start, uint32_t* out_give);
+
+ uint32_t readSlow(uint8_t* buf, uint32_t len);
+
+ void writeSlow(const uint8_t* buf, uint32_t len);
+
+ const uint8_t* borrowSlow(uint8_t* buf, uint32_t* len);
+
+ // Data buffer
+ uint8_t* buffer_;
+
+ // Allocated buffer size
+ uint32_t bufferSize_;
+
+ // Is this object the owner of the buffer?
+ bool owner_;
+
+ // Don't forget to update constrctors, initCommon, and swap if
+ // you add new members.
+};
+
+}}} // apache::thrift::transport
+
+#endif // #ifndef _THRIFT_TRANSPORT_TBUFFERTRANSPORTS_H_
http://git-wip-us.apache.org/repos/asf/airavata/blob/f891b7dc/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/transport/TFDTransport.cpp
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/transport/TFDTransport.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/transport/TFDTransport.cpp
new file mode 100644
index 0000000..3b72de5
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/transport/TFDTransport.cpp
@@ -0,0 +1,97 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you 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 <cerrno>
+#include <exception>
+
+#include <thrift/transport/TFDTransport.h>
+#include <thrift/transport/PlatformSocket.h>
+
+#ifdef HAVE_UNISTD_H
+#include <unistd.h>
+#endif
+
+#ifdef _WIN32
+#include <io.h>
+#endif
+
+using namespace std;
+
+namespace apache { namespace thrift { namespace transport {
+
+void TFDTransport::close() {
+ if (!isOpen()) {
+ return;
+ }
+
+ int rv = ::THRIFT_CLOSESOCKET(fd_);
+ int errno_copy = THRIFT_GET_SOCKET_ERROR;
+ fd_ = -1;
+ // Have to check uncaught_exception because this is called in the destructor.
+ if (rv < 0 && !std::uncaught_exception()) {
+ throw TTransportException(TTransportException::UNKNOWN,
+ "TFDTransport::close()",
+ errno_copy);
+ }
+}
+
+uint32_t TFDTransport::read(uint8_t* buf, uint32_t len) {
+ unsigned int maxRetries = 5; // same as the TSocket default
+ unsigned int retries = 0;
+ while (true) {
+ THRIFT_SSIZET rv = ::read(fd_, buf, len);
+ if (rv < 0) {
+ if (THRIFT_GET_SOCKET_ERROR == THRIFT_EINTR && retries < maxRetries) {
+ // If interrupted, try again
+ ++retries;
+ continue;
+ }
+ int errno_copy = THRIFT_GET_SOCKET_ERROR;
+ throw TTransportException(TTransportException::UNKNOWN,
+ "TFDTransport::read()",
+ errno_copy);
+ }
+ //this should be fine, since we already checked for negative values,
+ //and ::read should only return a 32-bit value since len is 32-bit.
+ return static_cast<uint32_t>(rv);
+ }
+}
+
+void TFDTransport::write(const uint8_t* buf, uint32_t len) {
+ while (len > 0) {
+ THRIFT_SSIZET rv = ::write(fd_, buf, len);
+
+ if (rv < 0) {
+ int errno_copy = THRIFT_GET_SOCKET_ERROR;
+ throw TTransportException(TTransportException::UNKNOWN,
+ "TFDTransport::write()",
+ errno_copy);
+ } else if (rv == 0) {
+ throw TTransportException(TTransportException::END_OF_FILE,
+ "TFDTransport::write()");
+ }
+
+ buf += rv;
+ //this should be fine, as we've already checked for negative values, and
+ //::write shouldn't return more than a uint32_t since len is a uint32_t
+ len -= static_cast<uint32_t>(rv);
+ }
+}
+
+}}} // apache::thrift::transport
http://git-wip-us.apache.org/repos/asf/airavata/blob/f891b7dc/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/transport/TFDTransport.h
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/transport/TFDTransport.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/transport/TFDTransport.h
new file mode 100644
index 0000000..cc4f9c1
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/transport/TFDTransport.h
@@ -0,0 +1,75 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you 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 _THRIFT_TRANSPORT_TFDTRANSPORT_H_
+#define _THRIFT_TRANSPORT_TFDTRANSPORT_H_ 1
+
+#include <string>
+#ifdef HAVE_SYS_TIME_H
+#include <sys/time.h>
+#endif
+
+#include <thrift/transport/TTransport.h>
+#include <thrift/transport/TVirtualTransport.h>
+
+namespace apache { namespace thrift { namespace transport {
+
+/**
+ * Dead-simple wrapper around a file descriptor.
+ *
+ */
+class TFDTransport : public TVirtualTransport<TFDTransport> {
+ public:
+ enum ClosePolicy
+ { NO_CLOSE_ON_DESTROY = 0
+ , CLOSE_ON_DESTROY = 1
+ };
+
+ TFDTransport(int fd, ClosePolicy close_policy = NO_CLOSE_ON_DESTROY)
+ : fd_(fd)
+ , close_policy_(close_policy)
+ {}
+
+ ~TFDTransport() {
+ if (close_policy_ == CLOSE_ON_DESTROY) {
+ close();
+ }
+ }
+
+ bool isOpen() { return fd_ >= 0; }
+
+ void open() {}
+
+ void close();
+
+ uint32_t read(uint8_t* buf, uint32_t len);
+
+ void write(const uint8_t* buf, uint32_t len);
+
+ void setFD(int fd) { fd_ = fd; }
+ int getFD() { return fd_; }
+
+ protected:
+ int fd_;
+ ClosePolicy close_policy_;
+};
+
+}}} // apache::thrift::transport
+
+#endif // #ifndef _THRIFT_TRANSPORT_TFDTRANSPORT_H_
http://git-wip-us.apache.org/repos/asf/airavata/blob/f891b7dc/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/transport/TFileTransport.cpp
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/transport/TFileTransport.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/transport/TFileTransport.cpp
new file mode 100644
index 0000000..c94ecd2
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/transport/TFileTransport.cpp
@@ -0,0 +1,1069 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you 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 <thrift/thrift-config.h>
+
+#include <thrift/transport/TFileTransport.h>
+#include <thrift/transport/TTransportUtils.h>
+#include <thrift/transport/PlatformSocket.h>
+#include <thrift/concurrency/FunctionRunner.h>
+
+#ifdef HAVE_SYS_TIME_H
+#include <sys/time.h>
+#else
+#include <time.h>
+#endif
+#include <fcntl.h>
+#ifdef HAVE_UNISTD_H
+#include <unistd.h>
+#endif
+#ifdef HAVE_STRINGS_H
+#include <strings.h>
+#endif
+#include <cstdlib>
+#include <cstring>
+#include <iostream>
+#include <limits>
+#ifdef HAVE_SYS_STAT_H
+#include <sys/stat.h>
+#endif
+
+#ifdef _WIN32
+#include <io.h>
+#endif
+
+namespace apache { namespace thrift { namespace transport {
+
+using boost::scoped_ptr;
+using boost::shared_ptr;
+using namespace std;
+using namespace apache::thrift::protocol;
+using namespace apache::thrift::concurrency;
+
+TFileTransport::TFileTransport(string path, bool readOnly)
+ : readState_()
+ , readBuff_(NULL)
+ , currentEvent_(NULL)
+ , readBuffSize_(DEFAULT_READ_BUFF_SIZE)
+ , readTimeout_(NO_TAIL_READ_TIMEOUT)
+ , chunkSize_(DEFAULT_CHUNK_SIZE)
+ , eventBufferSize_(DEFAULT_EVENT_BUFFER_SIZE)
+ , flushMaxUs_(DEFAULT_FLUSH_MAX_US)
+ , flushMaxBytes_(DEFAULT_FLUSH_MAX_BYTES)
+ , maxEventSize_(DEFAULT_MAX_EVENT_SIZE)
+ , maxCorruptedEvents_(DEFAULT_MAX_CORRUPTED_EVENTS)
+ , eofSleepTime_(DEFAULT_EOF_SLEEP_TIME_US)
+ , corruptedEventSleepTime_(DEFAULT_CORRUPTED_SLEEP_TIME_US)
+ , writerThreadIOErrorSleepTime_(DEFAULT_WRITER_THREAD_SLEEP_TIME_US)
+ , dequeueBuffer_(NULL)
+ , enqueueBuffer_(NULL)
+ , notFull_(&mutex_)
+ , notEmpty_(&mutex_)
+ , closing_(false)
+ , flushed_(&mutex_)
+ , forceFlush_(false)
+ , filename_(path)
+ , fd_(0)
+ , bufferAndThreadInitialized_(false)
+ , offset_(0)
+ , lastBadChunk_(0)
+ , numCorruptedEventsInChunk_(0)
+ , readOnly_(readOnly)
+{
+ threadFactory_.setDetached(false);
+ openLogFile();
+}
+
+void TFileTransport::resetOutputFile(int fd, string filename, off_t offset) {
+ filename_ = filename;
+ offset_ = offset;
+
+ // check if current file is still open
+ if (fd_ > 0) {
+ // flush any events in the queue
+ flush();
+ GlobalOutput.printf("error, current file (%s) not closed", filename_.c_str());
+ if (-1 == ::THRIFT_CLOSESOCKET(fd_)) {
+ int errno_copy = THRIFT_GET_SOCKET_ERROR;
+ GlobalOutput.perror("TFileTransport: resetOutputFile() ::close() ", errno_copy);
+ throw TTransportException(TTransportException::UNKNOWN, "TFileTransport: error in file close", errno_copy);
+ } else {
+ //successfully closed fd
+ fd_ = 0;
+ }
+ }
+
+ if (fd) {
+ fd_ = fd;
+ } else {
+ // open file if the input fd is 0
+ openLogFile();
+ }
+}
+
+
+TFileTransport::~TFileTransport() {
+ // flush the buffer if a writer thread is active
+ if(writerThread_.get()) {
+ // set state to closing
+ closing_ = true;
+
+ // wake up the writer thread
+ // Since closing_ is true, it will attempt to flush all data, then exit.
+ notEmpty_.notify();
+
+ writerThread_->join();
+ writerThread_.reset();
+ }
+
+ if (dequeueBuffer_) {
+ delete dequeueBuffer_;
+ dequeueBuffer_ = NULL;
+ }
+
+ if (enqueueBuffer_) {
+ delete enqueueBuffer_;
+ enqueueBuffer_ = NULL;
+ }
+
+ if (readBuff_) {
+ delete[] readBuff_;
+ readBuff_ = NULL;
+ }
+
+ if (currentEvent_) {
+ delete currentEvent_;
+ currentEvent_ = NULL;
+ }
+
+ // close logfile
+ if (fd_ > 0) {
+ if(-1 == ::THRIFT_CLOSESOCKET(fd_)) {
+ GlobalOutput.perror("TFileTransport: ~TFileTransport() ::close() ", THRIFT_GET_SOCKET_ERROR);
+ } else {
+ //successfully closed fd
+ fd_ = 0;
+ }
+ }
+}
+
+bool TFileTransport::initBufferAndWriteThread() {
+ if (bufferAndThreadInitialized_) {
+ T_ERROR("%s", "Trying to double-init TFileTransport");
+ return false;
+ }
+
+ if(!writerThread_.get()) {
+ writerThread_ = threadFactory_.newThread(
+ apache::thrift::concurrency::FunctionRunner::create(startWriterThread, this));
+ writerThread_->start();
+ }
+
+ dequeueBuffer_ = new TFileTransportBuffer(eventBufferSize_);
+ enqueueBuffer_ = new TFileTransportBuffer(eventBufferSize_);
+ bufferAndThreadInitialized_ = true;
+
+ return true;
+}
+
+void TFileTransport::write(const uint8_t* buf, uint32_t len) {
+ if (readOnly_) {
+ throw TTransportException("TFileTransport: attempting to write to file opened readonly");
+ }
+
+ enqueueEvent(buf, len);
+}
+
+void TFileTransport::enqueueEvent(const uint8_t* buf, uint32_t eventLen) {
+ // can't enqueue more events if file is going to close
+ if (closing_) {
+ return;
+ }
+
+ // make sure that event size is valid
+ if ( (maxEventSize_ > 0) && (eventLen > maxEventSize_) ) {
+ T_ERROR("msg size is greater than max event size: %u > %u\n", eventLen, maxEventSize_);
+ return;
+ }
+
+ if (eventLen == 0) {
+ T_ERROR("%s", "cannot enqueue an empty event");
+ return;
+ }
+
+ eventInfo* toEnqueue = new eventInfo();
+ toEnqueue->eventBuff_ = (uint8_t *)std::malloc((sizeof(uint8_t) * eventLen) + 4);
+ if (toEnqueue->eventBuff_ == NULL) {
+ delete toEnqueue;
+ throw std::bad_alloc();
+ }
+ // first 4 bytes is the event length
+ memcpy(toEnqueue->eventBuff_, (void*)(&eventLen), 4);
+ // actual event contents
+ memcpy(toEnqueue->eventBuff_ + 4, buf, eventLen);
+ toEnqueue->eventSize_ = eventLen + 4;
+
+ // lock mutex
+ Guard g(mutex_);
+
+ // make sure that enqueue buffer is initialized and writer thread is running
+ if (!bufferAndThreadInitialized_) {
+ if (!initBufferAndWriteThread()) {
+ delete toEnqueue;
+ return;
+ }
+ }
+
+ // Can't enqueue while buffer is full
+ while (enqueueBuffer_->isFull()) {
+ notFull_.wait();
+ }
+
+ // We shouldn't be trying to enqueue new data while a forced flush is
+ // requested. (Otherwise the writer thread might not ever be able to finish
+ // the flush if more data keeps being enqueued.)
+ assert(!forceFlush_);
+
+ // add to the buffer
+ if (!enqueueBuffer_->addEvent(toEnqueue)) {
+ delete toEnqueue;
+ return;
+ }
+
+ // signal anybody who's waiting for the buffer to be non-empty
+ notEmpty_.notify();
+
+ // this really should be a loop where it makes sure it got flushed
+ // because condition variables can get triggered by the os for no reason
+ // it is probably a non-factor for the time being
+}
+
+bool TFileTransport::swapEventBuffers(struct timeval* deadline) {
+ bool swap;
+ Guard g(mutex_);
+
+ if (!enqueueBuffer_->isEmpty()) {
+ swap = true;
+ } else if (closing_) {
+ // even though there is no data to write,
+ // return immediately if the transport is closing
+ swap = false;
+ } else {
+ if (deadline != NULL) {
+ // if we were handed a deadline time struct, do a timed wait
+ notEmpty_.waitForTime(deadline);
+ } else {
+ // just wait until the buffer gets an item
+ notEmpty_.wait();
+ }
+
+ // could be empty if we timed out
+ swap = enqueueBuffer_->isEmpty();
+ }
+
+ if (swap) {
+ TFileTransportBuffer *temp = enqueueBuffer_;
+ enqueueBuffer_ = dequeueBuffer_;
+ dequeueBuffer_ = temp;
+ }
+
+
+ if (swap) {
+ notFull_.notify();
+ }
+
+ return swap;
+}
+
+
+void TFileTransport::writerThread() {
+ bool hasIOError = false;
+
+ // open file if it is not open
+ if(!fd_) {
+ try {
+ openLogFile();
+ } catch (...) {
+ int errno_copy = THRIFT_GET_SOCKET_ERROR;
+ GlobalOutput.perror("TFileTransport: writerThread() openLogFile() ", errno_copy);
+ fd_ = 0;
+ hasIOError = true;
+ }
+ }
+
+ // set the offset to the correct value (EOF)
+ if (!hasIOError) {
+ try {
+ seekToEnd();
+ // throw away any partial events
+ offset_ += readState_.lastDispatchPtr_;
+#ifndef _WIN32
+ ftruncate(fd_, offset_);
+#else
+ _chsize_s(fd_, offset_);
+#endif
+ readState_.resetAllValues();
+ } catch (...) {
+ int errno_copy = THRIFT_GET_SOCKET_ERROR;
+ GlobalOutput.perror("TFileTransport: writerThread() initialization ", errno_copy);
+ hasIOError = true;
+ }
+ }
+
+ // Figure out the next time by which a flush must take place
+ struct timeval ts_next_flush;
+ getNextFlushTime(&ts_next_flush);
+ uint32_t unflushed = 0;
+
+ while (1) {
+ // this will only be true when the destructor is being invoked
+ if (closing_) {
+ if (hasIOError) {
+ return;
+ }
+
+ // Try to empty buffers before exit
+ if (enqueueBuffer_->isEmpty() && dequeueBuffer_->isEmpty()) {
+#ifndef _WIN32
+ fsync(fd_);
+#endif
+ if (-1 == ::THRIFT_CLOSESOCKET(fd_)) {
+ int errno_copy = THRIFT_GET_SOCKET_ERROR;
+ GlobalOutput.perror("TFileTransport: writerThread() ::close() ", errno_copy);
+ } else {
+ //fd successfully closed
+ fd_ = 0;
+ }
+ return;
+ }
+ }
+
+ if (swapEventBuffers(&ts_next_flush)) {
+ eventInfo* outEvent;
+ while (NULL != (outEvent = dequeueBuffer_->getNext())) {
+ // Remove an event from the buffer and write it out to disk. If there is any IO error, for instance,
+ // the output file is unmounted or deleted, then this event is dropped. However, the writer thread
+ // will: (1) sleep for a short while; (2) try to reopen the file; (3) if successful then start writing
+ // from the end.
+
+ while (hasIOError) {
+ T_ERROR("TFileTransport: writer thread going to sleep for %d microseconds due to IO errors", writerThreadIOErrorSleepTime_);
+ THRIFT_SLEEP_USEC(writerThreadIOErrorSleepTime_);
+ if (closing_) {
+ return;
+ }
+ if (!fd_) {
+ ::THRIFT_CLOSESOCKET(fd_);
+ fd_ = 0;
+ }
+ try {
+ openLogFile();
+ seekToEnd();
+ unflushed = 0;
+ hasIOError = false;
+ T_LOG_OPER("TFileTransport: log file %s reopened by writer thread during error recovery", filename_.c_str());
+ } catch (...) {
+ T_ERROR("TFileTransport: unable to reopen log file %s during error recovery", filename_.c_str());
+ }
+ }
+
+ // sanity check on event
+ if ((maxEventSize_ > 0) && (outEvent->eventSize_ > maxEventSize_)) {
+ T_ERROR("msg size is greater than max event size: %u > %u\n", outEvent->eventSize_, maxEventSize_);
+ continue;
+ }
+
+ // If chunking is required, then make sure that msg does not cross chunk boundary
+ if ((outEvent->eventSize_ > 0) && (chunkSize_ != 0)) {
+ // event size must be less than chunk size
+ if (outEvent->eventSize_ > chunkSize_) {
+ T_ERROR("TFileTransport: event size(%u) > chunk size(%u): skipping event", outEvent->eventSize_, chunkSize_);
+ continue;
+ }
+
+ int64_t chunk1 = offset_/chunkSize_;
+ int64_t chunk2 = (offset_ + outEvent->eventSize_ - 1)/chunkSize_;
+
+ // if adding this event will cross a chunk boundary, pad the chunk with zeros
+ if (chunk1 != chunk2) {
+ // refetch the offset to keep in sync
+ offset_ = lseek(fd_, 0, SEEK_CUR);
+ int32_t padding = (int32_t)((offset_ / chunkSize_ + 1) * chunkSize_ - offset_);
+
+ uint8_t* zeros = new uint8_t[padding];
+ memset(zeros, '\0', padding);
+ boost::scoped_array<uint8_t> array(zeros);
+ if (-1 == ::write(fd_, zeros, padding)) {
+ int errno_copy = THRIFT_GET_SOCKET_ERROR;
+ GlobalOutput.perror("TFileTransport: writerThread() error while padding zeros ", errno_copy);
+ hasIOError = true;
+ continue;
+ }
+ unflushed += padding;
+ offset_ += padding;
+ }
+ }
+
+ // write the dequeued event to the file
+ if (outEvent->eventSize_ > 0) {
+ if (-1 == ::write(fd_, outEvent->eventBuff_, outEvent->eventSize_)) {
+ int errno_copy = THRIFT_GET_SOCKET_ERROR;
+ GlobalOutput.perror("TFileTransport: error while writing event ", errno_copy);
+ hasIOError = true;
+ continue;
+ }
+ unflushed += outEvent->eventSize_;
+ offset_ += outEvent->eventSize_;
+ }
+ }
+ dequeueBuffer_->reset();
+ }
+
+ if (hasIOError) {
+ continue;
+ }
+
+ // Local variable to cache the state of forceFlush_.
+ //
+ // We only want to check the value of forceFlush_ once each time around the
+ // loop. If we check it more than once without holding the lock the entire
+ // time, it could have changed state in between. This will result in us
+ // making inconsistent decisions.
+ bool forced_flush = false;
+ {
+ Guard g(mutex_);
+ if (forceFlush_) {
+ if (!enqueueBuffer_->isEmpty()) {
+ // If forceFlush_ is true, we need to flush all available data.
+ // If enqueueBuffer_ is not empty, go back to the start of the loop to
+ // write it out.
+ //
+ // We know the main thread is waiting on forceFlush_ to be cleared,
+ // so no new events will be added to enqueueBuffer_ until we clear
+ // forceFlush_. Therefore the next time around the loop enqueueBuffer_
+ // is guaranteed to be empty. (I.e., we're guaranteed to make progress
+ // and clear forceFlush_ the next time around the loop.)
+ continue;
+ }
+ forced_flush = true;
+ }
+ }
+
+ // determine if we need to perform an fsync
+ bool flush = false;
+ if (forced_flush || unflushed > flushMaxBytes_) {
+ flush = true;
+ } else {
+ struct timeval current_time;
+ THRIFT_GETTIMEOFDAY(¤t_time, NULL);
+ if (current_time.tv_sec > ts_next_flush.tv_sec ||
+ (current_time.tv_sec == ts_next_flush.tv_sec &&
+ current_time.tv_usec > ts_next_flush.tv_usec)) {
+ if (unflushed > 0) {
+ flush = true;
+ } else {
+ // If there is no new data since the last fsync,
+ // don't perform the fsync, but do reset the timer.
+ getNextFlushTime(&ts_next_flush);
+ }
+ }
+ }
+
+ if (flush) {
+ // sync (force flush) file to disk
+#ifndef _WIN32
+ fsync(fd_);
+#endif
+ unflushed = 0;
+ getNextFlushTime(&ts_next_flush);
+
+ // notify anybody waiting for flush completion
+ if (forced_flush) {
+ Guard g(mutex_);
+ forceFlush_ = false;
+ assert(enqueueBuffer_->isEmpty());
+ assert(dequeueBuffer_->isEmpty());
+ flushed_.notifyAll();
+ }
+ }
+ }
+}
+
+void TFileTransport::flush() {
+ // file must be open for writing for any flushing to take place
+ if (!writerThread_.get()) {
+ return;
+ }
+ // wait for flush to take place
+ Guard g(mutex_);
+
+ // Indicate that we are requesting a flush
+ forceFlush_ = true;
+ // Wake up the writer thread so it will perform the flush immediately
+ notEmpty_.notify();
+
+ while (forceFlush_) {
+ flushed_.wait();
+ }
+}
+
+
+uint32_t TFileTransport::readAll(uint8_t* buf, uint32_t len) {
+ uint32_t have = 0;
+ uint32_t get = 0;
+
+ while (have < len) {
+ get = read(buf+have, len-have);
+ if (get <= 0) {
+ throw TEOFException();
+ }
+ have += get;
+ }
+
+ return have;
+}
+
+bool TFileTransport::peek() {
+ // check if there is an event ready to be read
+ if (!currentEvent_) {
+ currentEvent_ = readEvent();
+ }
+
+ // did not manage to read an event from the file. This could have happened
+ // if the timeout expired or there was some other error
+ if (!currentEvent_) {
+ return false;
+ }
+
+ // check if there is anything to read
+ return (currentEvent_->eventSize_ - currentEvent_->eventBuffPos_) > 0;
+}
+
+uint32_t TFileTransport::read(uint8_t* buf, uint32_t len) {
+ // check if there an event is ready to be read
+ if (!currentEvent_) {
+ currentEvent_ = readEvent();
+ }
+
+ // did not manage to read an event from the file. This could have happened
+ // if the timeout expired or there was some other error
+ if (!currentEvent_) {
+ return 0;
+ }
+
+ // read as much of the current event as possible
+ int32_t remaining = currentEvent_->eventSize_ - currentEvent_->eventBuffPos_;
+ if (remaining <= (int32_t)len) {
+ // copy over anything thats remaining
+ if (remaining > 0) {
+ memcpy(buf,
+ currentEvent_->eventBuff_ + currentEvent_->eventBuffPos_,
+ remaining);
+ }
+ delete(currentEvent_);
+ currentEvent_ = NULL;
+ return remaining;
+ }
+
+ // read as much as possible
+ memcpy(buf, currentEvent_->eventBuff_ + currentEvent_->eventBuffPos_, len);
+ currentEvent_->eventBuffPos_ += len;
+ return len;
+}
+
+// note caller is responsible for freeing returned events
+eventInfo* TFileTransport::readEvent() {
+ int readTries = 0;
+
+ if (!readBuff_) {
+ readBuff_ = new uint8_t[readBuffSize_];
+ }
+
+ while (1) {
+ // read from the file if read buffer is exhausted
+ if (readState_.bufferPtr_ == readState_.bufferLen_) {
+ // advance the offset pointer
+ offset_ += readState_.bufferLen_;
+ readState_.bufferLen_ = static_cast<uint32_t>(::read(fd_, readBuff_, readBuffSize_));
+ // if (readState_.bufferLen_) {
+ // T_DEBUG_L(1, "Amount read: %u (offset: %lu)", readState_.bufferLen_, offset_);
+ // }
+ readState_.bufferPtr_ = 0;
+ readState_.lastDispatchPtr_ = 0;
+
+ // read error
+ if (readState_.bufferLen_ == -1) {
+ readState_.resetAllValues();
+ GlobalOutput("TFileTransport: error while reading from file");
+ throw TTransportException("TFileTransport: error while reading from file");
+ } else if (readState_.bufferLen_ == 0) { // EOF
+ // wait indefinitely if there is no timeout
+ if (readTimeout_ == TAIL_READ_TIMEOUT) {
+ THRIFT_SLEEP_USEC(eofSleepTime_);
+ continue;
+ } else if (readTimeout_ == NO_TAIL_READ_TIMEOUT) {
+ // reset state
+ readState_.resetState(0);
+ return NULL;
+ } else if (readTimeout_ > 0) {
+ // timeout already expired once
+ if (readTries > 0) {
+ readState_.resetState(0);
+ return NULL;
+ } else {
+ THRIFT_SLEEP_USEC(readTimeout_ * 1000);
+ readTries++;
+ continue;
+ }
+ }
+ }
+ }
+
+ readTries = 0;
+
+ // attempt to read an event from the buffer
+ while(readState_.bufferPtr_ < readState_.bufferLen_) {
+ if (readState_.readingSize_) {
+ if(readState_.eventSizeBuffPos_ == 0) {
+ if ( (offset_ + readState_.bufferPtr_)/chunkSize_ !=
+ ((offset_ + readState_.bufferPtr_ + 3)/chunkSize_)) {
+ // skip one byte towards chunk boundary
+ // T_DEBUG_L(1, "Skipping a byte");
+ readState_.bufferPtr_++;
+ continue;
+ }
+ }
+
+ readState_.eventSizeBuff_[readState_.eventSizeBuffPos_++] =
+ readBuff_[readState_.bufferPtr_++];
+
+ if (readState_.eventSizeBuffPos_ == 4) {
+ if (readState_.getEventSize() == 0) {
+ // 0 length event indicates padding
+ // T_DEBUG_L(1, "Got padding");
+ readState_.resetState(readState_.lastDispatchPtr_);
+ continue;
+ }
+ // got a valid event
+ readState_.readingSize_ = false;
+ if (readState_.event_) {
+ delete(readState_.event_);
+ }
+ readState_.event_ = new eventInfo();
+ readState_.event_->eventSize_ = readState_.getEventSize();
+
+ // check if the event is corrupted and perform recovery if required
+ if (isEventCorrupted()) {
+ performRecovery();
+ // start from the top
+ break;
+ }
+ }
+ } else {
+ if (!readState_.event_->eventBuff_) {
+ readState_.event_->eventBuff_ = new uint8_t[readState_.event_->eventSize_];
+ readState_.event_->eventBuffPos_ = 0;
+ }
+ // take either the entire event or the remaining bytes in the buffer
+ int reclaimBuffer = min((uint32_t)(readState_.bufferLen_ - readState_.bufferPtr_),
+ readState_.event_->eventSize_ - readState_.event_->eventBuffPos_);
+
+ // copy data from read buffer into event buffer
+ memcpy(readState_.event_->eventBuff_ + readState_.event_->eventBuffPos_,
+ readBuff_ + readState_.bufferPtr_,
+ reclaimBuffer);
+
+ // increment position ptrs
+ readState_.event_->eventBuffPos_ += reclaimBuffer;
+ readState_.bufferPtr_ += reclaimBuffer;
+
+ // check if the event has been read in full
+ if (readState_.event_->eventBuffPos_ == readState_.event_->eventSize_) {
+ // set the completed event to the current event
+ eventInfo* completeEvent = readState_.event_;
+ completeEvent->eventBuffPos_ = 0;
+
+ readState_.event_ = NULL;
+ readState_.resetState(readState_.bufferPtr_);
+
+ // exit criteria
+ return completeEvent;
+ }
+ }
+ }
+
+ }
+}
+
+bool TFileTransport::isEventCorrupted() {
+ // an error is triggered if:
+ if ( (maxEventSize_ > 0) && (readState_.event_->eventSize_ > maxEventSize_)) {
+ // 1. Event size is larger than user-speficied max-event size
+ T_ERROR("Read corrupt event. Event size(%u) greater than max event size (%u)",
+ readState_.event_->eventSize_, maxEventSize_);
+ return true;
+ } else if (readState_.event_->eventSize_ > chunkSize_) {
+ // 2. Event size is larger than chunk size
+ T_ERROR("Read corrupt event. Event size(%u) greater than chunk size (%u)",
+ readState_.event_->eventSize_, chunkSize_);
+ return true;
+ } else if( ((offset_ + readState_.bufferPtr_ - 4)/chunkSize_) !=
+ ((offset_ + readState_.bufferPtr_ + readState_.event_->eventSize_ - 1)/chunkSize_) ) {
+ // 3. size indicates that event crosses chunk boundary
+ T_ERROR("Read corrupt event. Event crosses chunk boundary. Event size:%u Offset:%lu",
+ readState_.event_->eventSize_,
+ static_cast<unsigned long>(offset_ + readState_.bufferPtr_ + 4));
+
+ return true;
+ }
+
+ return false;
+}
+
+void TFileTransport::performRecovery() {
+ // perform some kickass recovery
+ uint32_t curChunk = getCurChunk();
+ if (lastBadChunk_ == curChunk) {
+ numCorruptedEventsInChunk_++;
+ } else {
+ lastBadChunk_ = curChunk;
+ numCorruptedEventsInChunk_ = 1;
+ }
+
+ if (numCorruptedEventsInChunk_ < maxCorruptedEvents_) {
+ // maybe there was an error in reading the file from disk
+ // seek to the beginning of chunk and try again
+ seekToChunk(curChunk);
+ } else {
+
+ // just skip ahead to the next chunk if we not already at the last chunk
+ if (curChunk != (getNumChunks() - 1)) {
+ seekToChunk(curChunk + 1);
+ } else if (readTimeout_ == TAIL_READ_TIMEOUT) {
+ // if tailing the file, wait until there is enough data to start
+ // the next chunk
+ while(curChunk == (getNumChunks() - 1)) {
+ THRIFT_SLEEP_USEC(DEFAULT_CORRUPTED_SLEEP_TIME_US);
+ }
+ seekToChunk(curChunk + 1);
+ } else {
+ // pretty hosed at this stage, rewind the file back to the last successful
+ // point and punt on the error
+ readState_.resetState(readState_.lastDispatchPtr_);
+ currentEvent_ = NULL;
+ char errorMsg[1024];
+ sprintf(errorMsg, "TFileTransport: log file corrupted at offset: %lu",
+ static_cast<unsigned long>(offset_ + readState_.lastDispatchPtr_));
+
+ GlobalOutput(errorMsg);
+ throw TTransportException(errorMsg);
+ }
+ }
+
+}
+
+void TFileTransport::seekToChunk(int32_t chunk) {
+ if (fd_ <= 0) {
+ throw TTransportException("File not open");
+ }
+
+ int32_t numChunks = getNumChunks();
+
+ // file is empty, seeking to chunk is pointless
+ if (numChunks == 0) {
+ return;
+ }
+
+ // negative indicates reverse seek (from the end)
+ if (chunk < 0) {
+ chunk += numChunks;
+ }
+
+ // too large a value for reverse seek, just seek to beginning
+ if (chunk < 0) {
+ T_DEBUG("%s", "Incorrect value for reverse seek. Seeking to beginning...");
+ chunk = 0;
+ }
+
+ // cannot seek past EOF
+ bool seekToEnd = false;
+ off_t minEndOffset = 0;
+ if (chunk >= numChunks) {
+ T_DEBUG("%s", "Trying to seek past EOF. Seeking to EOF instead...");
+ seekToEnd = true;
+ chunk = numChunks - 1;
+ // this is the min offset to process events till
+ minEndOffset = lseek(fd_, 0, SEEK_END);
+ }
+
+ off_t newOffset = off_t(chunk) * chunkSize_;
+ offset_ = lseek(fd_, newOffset, SEEK_SET);
+ readState_.resetAllValues();
+ currentEvent_ = NULL;
+ if (offset_ == -1) {
+ GlobalOutput("TFileTransport: lseek error in seekToChunk");
+ throw TTransportException("TFileTransport: lseek error in seekToChunk");
+ }
+
+ // seek to EOF if user wanted to go to last chunk
+ if (seekToEnd) {
+ uint32_t oldReadTimeout = getReadTimeout();
+ setReadTimeout(NO_TAIL_READ_TIMEOUT);
+ // keep on reading unti the last event at point of seekChunk call
+ boost::scoped_ptr<eventInfo> event;
+ while ((offset_ + readState_.bufferPtr_) < minEndOffset) {
+ event.reset(readEvent());
+ if (event.get() == NULL) {
+ break;
+ }
+ }
+ setReadTimeout(oldReadTimeout);
+ }
+
+}
+
+void TFileTransport::seekToEnd() {
+ seekToChunk(getNumChunks());
+}
+
+uint32_t TFileTransport::getNumChunks() {
+ if (fd_ <= 0) {
+ return 0;
+ }
+
+ struct stat f_info;
+ int rv = fstat(fd_, &f_info);
+
+ if (rv < 0) {
+ int errno_copy = THRIFT_GET_SOCKET_ERROR;
+ throw TTransportException(TTransportException::UNKNOWN,
+ "TFileTransport::getNumChunks() (fstat)",
+ errno_copy);
+ }
+
+ if (f_info.st_size > 0) {
+ size_t numChunks = ((f_info.st_size)/chunkSize_) + 1;
+ if (numChunks > (std::numeric_limits<uint32_t>::max)())
+ throw TTransportException("Too many chunks");
+ return static_cast<uint32_t>(numChunks);
+ }
+
+ // empty file has no chunks
+ return 0;
+}
+
+uint32_t TFileTransport::getCurChunk() {
+ return static_cast<uint32_t>(offset_/chunkSize_);
+}
+
+// Utility Functions
+void TFileTransport::openLogFile() {
+#ifndef _WIN32
+ mode_t mode = readOnly_ ? S_IRUSR | S_IRGRP | S_IROTH : S_IRUSR | S_IWUSR| S_IRGRP | S_IROTH;
+ int flags = readOnly_ ? O_RDONLY : O_RDWR | O_CREAT | O_APPEND;
+ fd_ = ::open(filename_.c_str(), flags, mode);
+#else
+ int mode = readOnly_ ? _S_IREAD : _S_IREAD | _S_IWRITE;
+ int flags = readOnly_ ? _O_RDONLY : _O_RDWR | _O_CREAT | _O_APPEND;
+ fd_ = ::_open(filename_.c_str(), flags, mode);
+#endif
+ offset_ = 0;
+
+ // make sure open call was successful
+ if(fd_ == -1) {
+ int errno_copy = THRIFT_GET_SOCKET_ERROR;
+ GlobalOutput.perror("TFileTransport: openLogFile() ::open() file: " + filename_, errno_copy);
+ throw TTransportException(TTransportException::NOT_OPEN, filename_, errno_copy);
+ }
+
+}
+
+void TFileTransport::getNextFlushTime(struct timeval* ts_next_flush) {
+ THRIFT_GETTIMEOFDAY(ts_next_flush, NULL);
+
+ ts_next_flush->tv_usec += flushMaxUs_;
+ if (ts_next_flush->tv_usec > 1000000) {
+ long extra_secs = ts_next_flush->tv_usec / 1000000;
+ ts_next_flush->tv_usec %= 1000000;
+ ts_next_flush->tv_sec += extra_secs;
+ }
+}
+
+TFileTransportBuffer::TFileTransportBuffer(uint32_t size)
+ : bufferMode_(WRITE)
+ , writePoint_(0)
+ , readPoint_(0)
+ , size_(size)
+{
+ buffer_ = new eventInfo*[size];
+}
+
+TFileTransportBuffer::~TFileTransportBuffer() {
+ if (buffer_) {
+ for (uint32_t i = 0; i < writePoint_; i++) {
+ delete buffer_[i];
+ }
+ delete[] buffer_;
+ buffer_ = NULL;
+ }
+}
+
+bool TFileTransportBuffer::addEvent(eventInfo *event) {
+ if (bufferMode_ == READ) {
+ GlobalOutput("Trying to write to a buffer in read mode");
+ }
+ if (writePoint_ < size_) {
+ buffer_[writePoint_++] = event;
+ return true;
+ } else {
+ // buffer is full
+ return false;
+ }
+}
+
+eventInfo* TFileTransportBuffer::getNext() {
+ if (bufferMode_ == WRITE) {
+ bufferMode_ = READ;
+ }
+ if (readPoint_ < writePoint_) {
+ return buffer_[readPoint_++];
+ } else {
+ // no more entries
+ return NULL;
+ }
+}
+
+void TFileTransportBuffer::reset() {
+ if (bufferMode_ == WRITE || writePoint_ > readPoint_) {
+ T_DEBUG("%s", "Resetting a buffer with unread entries");
+ }
+ // Clean up the old entries
+ for (uint32_t i = 0; i < writePoint_; i++) {
+ delete buffer_[i];
+ }
+ bufferMode_ = WRITE;
+ writePoint_ = 0;
+ readPoint_ = 0;
+}
+
+bool TFileTransportBuffer::isFull() {
+ return writePoint_ == size_;
+}
+
+bool TFileTransportBuffer::isEmpty() {
+ return writePoint_ == 0;
+}
+
+TFileProcessor::TFileProcessor(shared_ptr<TProcessor> processor,
+ shared_ptr<TProtocolFactory> protocolFactory,
+ shared_ptr<TFileReaderTransport> inputTransport):
+ processor_(processor),
+ inputProtocolFactory_(protocolFactory),
+ outputProtocolFactory_(protocolFactory),
+ inputTransport_(inputTransport) {
+
+ // default the output transport to a null transport (common case)
+ outputTransport_ = shared_ptr<TNullTransport>(new TNullTransport());
+}
+
+TFileProcessor::TFileProcessor(shared_ptr<TProcessor> processor,
+ shared_ptr<TProtocolFactory> inputProtocolFactory,
+ shared_ptr<TProtocolFactory> outputProtocolFactory,
+ shared_ptr<TFileReaderTransport> inputTransport):
+ processor_(processor),
+ inputProtocolFactory_(inputProtocolFactory),
+ outputProtocolFactory_(outputProtocolFactory),
+ inputTransport_(inputTransport) {
+
+ // default the output transport to a null transport (common case)
+ outputTransport_ = shared_ptr<TNullTransport>(new TNullTransport());
+}
+
+TFileProcessor::TFileProcessor(shared_ptr<TProcessor> processor,
+ shared_ptr<TProtocolFactory> protocolFactory,
+ shared_ptr<TFileReaderTransport> inputTransport,
+ shared_ptr<TTransport> outputTransport):
+ processor_(processor),
+ inputProtocolFactory_(protocolFactory),
+ outputProtocolFactory_(protocolFactory),
+ inputTransport_(inputTransport),
+ outputTransport_(outputTransport) {}
+
+void TFileProcessor::process(uint32_t numEvents, bool tail) {
+ shared_ptr<TProtocol> inputProtocol = inputProtocolFactory_->getProtocol(inputTransport_);
+ shared_ptr<TProtocol> outputProtocol = outputProtocolFactory_->getProtocol(outputTransport_);
+
+ // set the read timeout to 0 if tailing is required
+ int32_t oldReadTimeout = inputTransport_->getReadTimeout();
+ if (tail) {
+ // save old read timeout so it can be restored
+ inputTransport_->setReadTimeout(TFileTransport::TAIL_READ_TIMEOUT);
+ }
+
+ uint32_t numProcessed = 0;
+ while(1) {
+ // bad form to use exceptions for flow control but there is really
+ // no other way around it
+ try {
+ processor_->process(inputProtocol, outputProtocol, NULL);
+ numProcessed++;
+ if ( (numEvents > 0) && (numProcessed == numEvents)) {
+ return;
+ }
+ } catch (TEOFException&) {
+ if (!tail) {
+ break;
+ }
+ } catch (TException &te) {
+ cerr << te.what() << endl;
+ break;
+ }
+ }
+
+ // restore old read timeout
+ if (tail) {
+ inputTransport_->setReadTimeout(oldReadTimeout);
+ }
+
+}
+
+void TFileProcessor::processChunk() {
+ shared_ptr<TProtocol> inputProtocol = inputProtocolFactory_->getProtocol(inputTransport_);
+ shared_ptr<TProtocol> outputProtocol = outputProtocolFactory_->getProtocol(outputTransport_);
+
+ uint32_t curChunk = inputTransport_->getCurChunk();
+
+ while(1) {
+ // bad form to use exceptions for flow control but there is really
+ // no other way around it
+ try {
+ processor_->process(inputProtocol, outputProtocol, NULL);
+ if (curChunk != inputTransport_->getCurChunk()) {
+ break;
+ }
+ } catch (TEOFException&) {
+ break;
+ } catch (TException &te) {
+ cerr << te.what() << endl;
+ break;
+ }
+ }
+}
+
+}}} // apache::thrift::transport
http://git-wip-us.apache.org/repos/asf/airavata/blob/f891b7dc/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/transport/TFileTransport.h
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/transport/TFileTransport.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/transport/TFileTransport.h
new file mode 100644
index 0000000..75941cf
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/transport/TFileTransport.h
@@ -0,0 +1,474 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you 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 _THRIFT_TRANSPORT_TFILETRANSPORT_H_
+#define _THRIFT_TRANSPORT_TFILETRANSPORT_H_ 1
+
+#include <thrift/transport/TTransport.h>
+#include <thrift/Thrift.h>
+#include <thrift/TProcessor.h>
+
+#include <string>
+#include <stdio.h>
+
+#include <boost/scoped_ptr.hpp>
+#include <boost/shared_ptr.hpp>
+
+#include <thrift/concurrency/Mutex.h>
+#include <thrift/concurrency/Monitor.h>
+#include <thrift/concurrency/PlatformThreadFactory.h>
+#include <thrift/concurrency/Thread.h>
+
+namespace apache { namespace thrift { namespace transport {
+
+using apache::thrift::TProcessor;
+using apache::thrift::protocol::TProtocolFactory;
+using apache::thrift::concurrency::Mutex;
+using apache::thrift::concurrency::Monitor;
+
+// Data pertaining to a single event
+typedef struct eventInfo {
+ uint8_t* eventBuff_;
+ uint32_t eventSize_;
+ uint32_t eventBuffPos_;
+
+ eventInfo():eventBuff_(NULL), eventSize_(0), eventBuffPos_(0){};
+ ~eventInfo() {
+ if (eventBuff_) {
+ delete[] eventBuff_;
+ }
+ }
+} eventInfo;
+
+// information about current read state
+typedef struct readState {
+ eventInfo* event_;
+
+ // keep track of event size
+ uint8_t eventSizeBuff_[4];
+ uint8_t eventSizeBuffPos_;
+ bool readingSize_;
+
+ // read buffer variables
+ int32_t bufferPtr_;
+ int32_t bufferLen_;
+
+ // last successful dispatch point
+ int32_t lastDispatchPtr_;
+
+ void resetState(uint32_t lastDispatchPtr) {
+ readingSize_ = true;
+ eventSizeBuffPos_ = 0;
+ lastDispatchPtr_ = lastDispatchPtr;
+ }
+
+ void resetAllValues() {
+ resetState(0);
+ bufferPtr_ = 0;
+ bufferLen_ = 0;
+ if (event_) {
+ delete(event_);
+ }
+ event_ = 0;
+ }
+
+ inline uint32_t getEventSize() {
+ const void *buffer=reinterpret_cast<const void *>(eventSizeBuff_);
+ return *reinterpret_cast<const uint32_t *>(buffer);
+ }
+
+ readState() {
+ event_ = 0;
+ resetAllValues();
+ }
+
+ ~readState() {
+ if (event_) {
+ delete(event_);
+ }
+ }
+
+} readState;
+
+/**
+ * TFileTransportBuffer - buffer class used by TFileTransport for queueing up events
+ * to be written to disk. Should be used in the following way:
+ * 1) Buffer created
+ * 2) Buffer written to (addEvent)
+ * 3) Buffer read from (getNext)
+ * 4) Buffer reset (reset)
+ * 5) Go back to 2, or destroy buffer
+ *
+ * The buffer should never be written to after it is read from, unless it is reset first.
+ * Note: The above rules are enforced mainly for debugging its sole client TFileTransport
+ * which uses the buffer in this way.
+ *
+ */
+class TFileTransportBuffer {
+ public:
+ TFileTransportBuffer(uint32_t size);
+ ~TFileTransportBuffer();
+
+ bool addEvent(eventInfo *event);
+ eventInfo* getNext();
+ void reset();
+ bool isFull();
+ bool isEmpty();
+
+ private:
+ TFileTransportBuffer(); // should not be used
+
+ enum mode {
+ WRITE,
+ READ
+ };
+ mode bufferMode_;
+
+ uint32_t writePoint_;
+ uint32_t readPoint_;
+ uint32_t size_;
+ eventInfo** buffer_;
+};
+
+/**
+ * Abstract interface for transports used to read files
+ */
+class TFileReaderTransport : virtual public TTransport {
+ public:
+ virtual int32_t getReadTimeout() = 0;
+ virtual void setReadTimeout(int32_t readTimeout) = 0;
+
+ virtual uint32_t getNumChunks() = 0;
+ virtual uint32_t getCurChunk() = 0;
+ virtual void seekToChunk(int32_t chunk) = 0;
+ virtual void seekToEnd() = 0;
+};
+
+/**
+ * Abstract interface for transports used to write files
+ */
+class TFileWriterTransport : virtual public TTransport {
+ public:
+ virtual uint32_t getChunkSize() = 0;
+ virtual void setChunkSize(uint32_t chunkSize) = 0;
+};
+
+/**
+ * File implementation of a transport. Reads and writes are done to a
+ * file on disk.
+ *
+ */
+class TFileTransport : public TFileReaderTransport,
+ public TFileWriterTransport {
+ public:
+ TFileTransport(std::string path, bool readOnly=false);
+ ~TFileTransport();
+
+ // TODO: what is the correct behaviour for this?
+ // the log file is generally always open
+ bool isOpen() {
+ return true;
+ }
+
+ void write(const uint8_t* buf, uint32_t len);
+ void flush();
+
+ uint32_t readAll(uint8_t* buf, uint32_t len);
+ uint32_t read(uint8_t* buf, uint32_t len);
+ bool peek();
+
+ // log-file specific functions
+ void seekToChunk(int32_t chunk);
+ void seekToEnd();
+ uint32_t getNumChunks();
+ uint32_t getCurChunk();
+
+ // for changing the output file
+ void resetOutputFile(int fd, std::string filename, off_t offset);
+
+ // Setter/Getter functions for user-controllable options
+ void setReadBuffSize(uint32_t readBuffSize) {
+ if (readBuffSize) {
+ readBuffSize_ = readBuffSize;
+ }
+ }
+ uint32_t getReadBuffSize() {
+ return readBuffSize_;
+ }
+
+ static const int32_t TAIL_READ_TIMEOUT = -1;
+ static const int32_t NO_TAIL_READ_TIMEOUT = 0;
+ void setReadTimeout(int32_t readTimeout) {
+ readTimeout_ = readTimeout;
+ }
+ int32_t getReadTimeout() {
+ return readTimeout_;
+ }
+
+ void setChunkSize(uint32_t chunkSize) {
+ if (chunkSize) {
+ chunkSize_ = chunkSize;
+ }
+ }
+ uint32_t getChunkSize() {
+ return chunkSize_;
+ }
+
+ void setEventBufferSize(uint32_t bufferSize) {
+ if (bufferAndThreadInitialized_) {
+ GlobalOutput("Cannot change the buffer size after writer thread started");
+ return;
+ }
+ eventBufferSize_ = bufferSize;
+ }
+
+ uint32_t getEventBufferSize() {
+ return eventBufferSize_;
+ }
+
+ void setFlushMaxUs(uint32_t flushMaxUs) {
+ if (flushMaxUs) {
+ flushMaxUs_ = flushMaxUs;
+ }
+ }
+ uint32_t getFlushMaxUs() {
+ return flushMaxUs_;
+ }
+
+ void setFlushMaxBytes(uint32_t flushMaxBytes) {
+ if (flushMaxBytes) {
+ flushMaxBytes_ = flushMaxBytes;
+ }
+ }
+ uint32_t getFlushMaxBytes() {
+ return flushMaxBytes_;
+ }
+
+ void setMaxEventSize(uint32_t maxEventSize) {
+ maxEventSize_ = maxEventSize;
+ }
+ uint32_t getMaxEventSize() {
+ return maxEventSize_;
+ }
+
+ void setMaxCorruptedEvents(uint32_t maxCorruptedEvents) {
+ maxCorruptedEvents_ = maxCorruptedEvents;
+ }
+ uint32_t getMaxCorruptedEvents() {
+ return maxCorruptedEvents_;
+ }
+
+ void setEofSleepTimeUs(uint32_t eofSleepTime) {
+ if (eofSleepTime) {
+ eofSleepTime_ = eofSleepTime;
+ }
+ }
+ uint32_t getEofSleepTimeUs() {
+ return eofSleepTime_;
+ }
+
+ /*
+ * Override TTransport *_virt() functions to invoke our implementations.
+ * We cannot use TVirtualTransport to provide these, since we need to inherit
+ * virtually from TTransport.
+ */
+ virtual uint32_t read_virt(uint8_t* buf, uint32_t len) {
+ return this->read(buf, len);
+ }
+ virtual uint32_t readAll_virt(uint8_t* buf, uint32_t len) {
+ return this->readAll(buf, len);
+ }
+ virtual void write_virt(const uint8_t* buf, uint32_t len) {
+ this->write(buf, len);
+ }
+
+ private:
+ // helper functions for writing to a file
+ void enqueueEvent(const uint8_t* buf, uint32_t eventLen);
+ bool swapEventBuffers(struct timeval* deadline);
+ bool initBufferAndWriteThread();
+
+ // control for writer thread
+ static void* startWriterThread(void* ptr) {
+ static_cast<TFileTransport*>(ptr)->writerThread();
+ return NULL;
+ }
+ void writerThread();
+
+ // helper functions for reading from a file
+ eventInfo* readEvent();
+
+ // event corruption-related functions
+ bool isEventCorrupted();
+ void performRecovery();
+
+ // Utility functions
+ void openLogFile();
+ void getNextFlushTime(struct timeval* ts_next_flush);
+
+ // Class variables
+ readState readState_;
+ uint8_t* readBuff_;
+ eventInfo* currentEvent_;
+
+ uint32_t readBuffSize_;
+ static const uint32_t DEFAULT_READ_BUFF_SIZE = 1 * 1024 * 1024;
+
+ int32_t readTimeout_;
+ static const int32_t DEFAULT_READ_TIMEOUT_MS = 200;
+
+ // size of chunks that file will be split up into
+ uint32_t chunkSize_;
+ static const uint32_t DEFAULT_CHUNK_SIZE = 16 * 1024 * 1024;
+
+ // size of event buffers
+ uint32_t eventBufferSize_;
+ static const uint32_t DEFAULT_EVENT_BUFFER_SIZE = 10000;
+
+ // max number of microseconds that can pass without flushing
+ uint32_t flushMaxUs_;
+ static const uint32_t DEFAULT_FLUSH_MAX_US = 3000000;
+
+ // max number of bytes that can be written without flushing
+ uint32_t flushMaxBytes_;
+ static const uint32_t DEFAULT_FLUSH_MAX_BYTES = 1000 * 1024;
+
+ // max event size
+ uint32_t maxEventSize_;
+ static const uint32_t DEFAULT_MAX_EVENT_SIZE = 0;
+
+ // max number of corrupted events per chunk
+ uint32_t maxCorruptedEvents_;
+ static const uint32_t DEFAULT_MAX_CORRUPTED_EVENTS = 0;
+
+ // sleep duration when EOF is hit
+ uint32_t eofSleepTime_;
+ static const uint32_t DEFAULT_EOF_SLEEP_TIME_US = 500 * 1000;
+
+ // sleep duration when a corrupted event is encountered
+ uint32_t corruptedEventSleepTime_;
+ static const uint32_t DEFAULT_CORRUPTED_SLEEP_TIME_US = 1 * 1000 * 1000;
+
+ // sleep duration in seconds when an IO error is encountered in the writer thread
+ uint32_t writerThreadIOErrorSleepTime_;
+ static const uint32_t DEFAULT_WRITER_THREAD_SLEEP_TIME_US = 60 * 1000 * 1000;
+
+ // writer thread
+ apache::thrift::concurrency::PlatformThreadFactory threadFactory_;
+ boost::shared_ptr<apache::thrift::concurrency::Thread> writerThread_;
+
+ // buffers to hold data before it is flushed. Each element of the buffer stores a msg that
+ // needs to be written to the file. The buffers are swapped by the writer thread.
+ TFileTransportBuffer *dequeueBuffer_;
+ TFileTransportBuffer *enqueueBuffer_;
+
+ // conditions used to block when the buffer is full or empty
+ Monitor notFull_, notEmpty_;
+ volatile bool closing_;
+
+ // To keep track of whether the buffer has been flushed
+ Monitor flushed_;
+ volatile bool forceFlush_;
+
+ // Mutex that is grabbed when enqueueing and swapping the read/write buffers
+ Mutex mutex_;
+
+ // File information
+ std::string filename_;
+ int fd_;
+
+ // Whether the writer thread and buffers have been initialized
+ bool bufferAndThreadInitialized_;
+
+ // Offset within the file
+ off_t offset_;
+
+ // event corruption information
+ uint32_t lastBadChunk_;
+ uint32_t numCorruptedEventsInChunk_;
+
+ bool readOnly_;
+};
+
+// Exception thrown when EOF is hit
+class TEOFException : public TTransportException {
+ public:
+ TEOFException():
+ TTransportException(TTransportException::END_OF_FILE) {};
+};
+
+
+// wrapper class to process events from a file containing thrift events
+class TFileProcessor {
+ public:
+ /**
+ * Constructor that defaults output transport to null transport
+ *
+ * @param processor processes log-file events
+ * @param protocolFactory protocol factory
+ * @param inputTransport file transport
+ */
+ TFileProcessor(boost::shared_ptr<TProcessor> processor,
+ boost::shared_ptr<TProtocolFactory> protocolFactory,
+ boost::shared_ptr<TFileReaderTransport> inputTransport);
+
+ TFileProcessor(boost::shared_ptr<TProcessor> processor,
+ boost::shared_ptr<TProtocolFactory> inputProtocolFactory,
+ boost::shared_ptr<TProtocolFactory> outputProtocolFactory,
+ boost::shared_ptr<TFileReaderTransport> inputTransport);
+
+ /**
+ * Constructor
+ *
+ * @param processor processes log-file events
+ * @param protocolFactory protocol factory
+ * @param inputTransport input file transport
+ * @param output output transport
+ */
+ TFileProcessor(boost::shared_ptr<TProcessor> processor,
+ boost::shared_ptr<TProtocolFactory> protocolFactory,
+ boost::shared_ptr<TFileReaderTransport> inputTransport,
+ boost::shared_ptr<TTransport> outputTransport);
+
+ /**
+ * processes events from the file
+ *
+ * @param numEvents number of events to process (0 for unlimited)
+ * @param tail tails the file if true
+ */
+ void process(uint32_t numEvents, bool tail);
+
+ /**
+ * process events until the end of the chunk
+ *
+ */
+ void processChunk();
+
+ private:
+ boost::shared_ptr<TProcessor> processor_;
+ boost::shared_ptr<TProtocolFactory> inputProtocolFactory_;
+ boost::shared_ptr<TProtocolFactory> outputProtocolFactory_;
+ boost::shared_ptr<TFileReaderTransport> inputTransport_;
+ boost::shared_ptr<TTransport> outputTransport_;
+};
+
+
+}}} // apache::thrift::transport
+
+#endif // _THRIFT_TRANSPORT_TFILETRANSPORT_H_
http://git-wip-us.apache.org/repos/asf/airavata/blob/f891b7dc/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/transport/THttpClient.cpp
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/transport/THttpClient.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/transport/THttpClient.cpp
new file mode 100644
index 0000000..cb94d5e
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/transport/THttpClient.cpp
@@ -0,0 +1,117 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you 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 <limits>
+#include <cstdlib>
+#include <sstream>
+#include <boost/algorithm/string.hpp>
+
+#include <thrift/transport/THttpClient.h>
+#include <thrift/transport/TSocket.h>
+
+namespace apache { namespace thrift { namespace transport {
+
+using namespace std;
+
+THttpClient::THttpClient(boost::shared_ptr<TTransport> transport, std::string host, std::string path) :
+ THttpTransport(transport), host_(host), path_(path) {
+}
+
+THttpClient::THttpClient(string host, int port, string path) :
+ THttpTransport(boost::shared_ptr<TTransport>(new TSocket(host, port))), host_(host), path_(path) {
+}
+
+THttpClient::~THttpClient() {}
+
+void THttpClient::parseHeader(char* header) {
+ char* colon = strchr(header, ':');
+ if (colon == NULL) {
+ return;
+ }
+ char* value = colon+1;
+
+ if (boost::istarts_with(header, "Transfer-Encoding")) {
+ if (boost::iends_with(value, "chunked")) {
+ chunked_ = true;
+ }
+ } else if (boost::istarts_with(header, "Content-Length")) {
+ chunked_ = false;
+ contentLength_ = atoi(value);
+ }
+}
+
+bool THttpClient::parseStatusLine(char* status) {
+ char* http = status;
+
+ char* code = strchr(http, ' ');
+ if (code == NULL) {
+ throw TTransportException(string("Bad Status: ") + status);
+ }
+
+ *code = '\0';
+ while (*(code++) == ' ') {};
+
+ char* msg = strchr(code, ' ');
+ if (msg == NULL) {
+ throw TTransportException(string("Bad Status: ") + status);
+ }
+ *msg = '\0';
+
+ if (strcmp(code, "200") == 0) {
+ // HTTP 200 = OK, we got the response
+ return true;
+ } else if (strcmp(code, "100") == 0) {
+ // HTTP 100 = continue, just keep reading
+ return false;
+ } else {
+ throw TTransportException(string("Bad Status: ") + status);
+ }
+}
+
+void THttpClient::flush() {
+ // Fetch the contents of the write buffer
+ uint8_t* buf;
+ uint32_t len;
+ writeBuffer_.getBuffer(&buf, &len);
+
+ // Construct the HTTP header
+ std::ostringstream h;
+ h <<
+ "POST " << path_ << " HTTP/1.1" << CRLF <<
+ "Host: " << host_ << CRLF <<
+ "Content-Type: application/x-thrift" << CRLF <<
+ "Content-Length: " << len << CRLF <<
+ "Accept: application/x-thrift" << CRLF <<
+ "User-Agent: Thrift/" << VERSION << " (C++/THttpClient)" << CRLF <<
+ CRLF;
+ string header = h.str();
+
+ if(header.size() > (std::numeric_limits<uint32_t>::max)())
+ throw TTransportException("Header too big");
+ // Write the header, then the data, then flush
+ transport_->write((const uint8_t*)header.c_str(), static_cast<uint32_t>(header.size()));
+ transport_->write(buf, len);
+ transport_->flush();
+
+ // Reset the buffer and header variables
+ writeBuffer_.resetBuffer();
+ readHeaders_ = true;
+}
+
+}}} // apache::thrift::transport
http://git-wip-us.apache.org/repos/asf/airavata/blob/f891b7dc/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/transport/THttpClient.h
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/transport/THttpClient.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/transport/THttpClient.h
new file mode 100644
index 0000000..0898b11
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/transport/THttpClient.h
@@ -0,0 +1,49 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you 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 _THRIFT_TRANSPORT_THTTPCLIENT_H_
+#define _THRIFT_TRANSPORT_THTTPCLIENT_H_ 1
+
+#include <thrift/transport/THttpTransport.h>
+
+namespace apache { namespace thrift { namespace transport {
+
+class THttpClient : public THttpTransport {
+ public:
+ THttpClient(boost::shared_ptr<TTransport> transport, std::string host, std::string path="");
+
+ THttpClient(std::string host, int port, std::string path="");
+
+ virtual ~THttpClient();
+
+ virtual void flush();
+
+ protected:
+
+ std::string host_;
+ std::string path_;
+
+ virtual void parseHeader(char* header);
+ virtual bool parseStatusLine(char* status);
+
+};
+
+}}} // apache::thrift::transport
+
+#endif // #ifndef _THRIFT_TRANSPORT_THTTPCLIENT_H_
http://git-wip-us.apache.org/repos/asf/airavata/blob/f891b7dc/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/transport/THttpServer.cpp
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/transport/THttpServer.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/transport/THttpServer.cpp
new file mode 100644
index 0000000..1135270
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/transport/THttpServer.cpp
@@ -0,0 +1,152 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you 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 <cstdlib>
+#include <sstream>
+#include <iostream>
+
+#include <thrift/transport/THttpServer.h>
+#include <thrift/transport/TSocket.h>
+
+namespace apache { namespace thrift { namespace transport {
+
+using namespace std;
+
+THttpServer::THttpServer(boost::shared_ptr<TTransport> transport) :
+ THttpTransport(transport) {
+}
+
+THttpServer::~THttpServer() {}
+
+void THttpServer::parseHeader(char* header) {
+ char* colon = strchr(header, ':');
+ if (colon == NULL) {
+ return;
+ }
+ size_t sz = colon - header;
+ char* value = colon+1;
+
+ if (strncmp(header, "Transfer-Encoding", sz) == 0) {
+ if (strstr(value, "chunked") != NULL) {
+ chunked_ = true;
+ }
+ } else if (strncmp(header, "Content-Length", sz) == 0) {
+ chunked_ = false;
+ contentLength_ = atoi(value);
+ }
+}
+
+bool THttpServer::parseStatusLine(char* status) {
+ char* method = status;
+
+ char* path = strchr(method, ' ');
+ if (path == NULL) {
+ throw TTransportException(string("Bad Status: ") + status);
+ }
+
+ *path = '\0';
+ while (*(++path) == ' ') {};
+
+ char* http = strchr(path, ' ');
+ if (http == NULL) {
+ throw TTransportException(string("Bad Status: ") + status);
+ }
+ *http = '\0';
+
+ if (strcmp(method, "POST") == 0) {
+ // POST method ok, looking for content.
+ return true;
+ }
+ else if (strcmp(method, "OPTIONS") == 0) {
+ // preflight OPTIONS method, we don't need further content.
+ // how to graciously close connection?
+ uint8_t* buf;
+ uint32_t len;
+ writeBuffer_.getBuffer(&buf, &len);
+
+ // Construct the HTTP header
+ std::ostringstream h;
+ h <<
+ "HTTP/1.1 200 OK" << CRLF <<
+ "Date: " << getTimeRFC1123() << CRLF <<
+ "Access-Control-Allow-Origin: *" << CRLF <<
+ "Access-Control-Allow-Methods: POST, OPTIONS" << CRLF <<
+ "Access-Control-Allow-Headers: Content-Type" << CRLF <<
+ CRLF;
+ string header = h.str();
+
+ // Write the header, then the data, then flush
+ transport_->write((const uint8_t*)header.c_str(), header.size());
+ transport_->write(buf, len);
+ transport_->flush();
+
+ // Reset the buffer and header variables
+ writeBuffer_.resetBuffer();
+ readHeaders_ = true;
+ return true;
+ }
+ throw TTransportException(string("Bad Status (unsupported method): ") + status);
+}
+
+void THttpServer::flush() {
+ // Fetch the contents of the write buffer
+ uint8_t* buf;
+ uint32_t len;
+ writeBuffer_.getBuffer(&buf, &len);
+
+ // Construct the HTTP header
+ std::ostringstream h;
+ h <<
+ "HTTP/1.1 200 OK" << CRLF <<
+ "Date: " << getTimeRFC1123() << CRLF <<
+ "Server: Thrift/" << VERSION << CRLF <<
+ "Access-Control-Allow-Origin: *" << CRLF <<
+ "Content-Type: application/x-thrift" << CRLF <<
+ "Content-Length: " << len << CRLF <<
+ "Connection: Keep-Alive" << CRLF <<
+ CRLF;
+ string header = h.str();
+
+ // Write the header, then the data, then flush
+ // cast should be fine, because none of "header" is under attacker control
+ transport_->write((const uint8_t*)header.c_str(), static_cast<uint32_t>(header.size()));
+ transport_->write(buf, len);
+ transport_->flush();
+
+ // Reset the buffer and header variables
+ writeBuffer_.resetBuffer();
+ readHeaders_ = true;
+}
+
+std::string THttpServer::getTimeRFC1123()
+{
+ static const char* Days[] = {"Sun","Mon","Tue","Wed","Thu","Fri","Sat"};
+ static const char* Months[] = {"Jan","Feb","Mar", "Apr", "May", "Jun", "Jul","Aug", "Sep", "Oct","Nov","Dec"};
+ char buff[128];
+ time_t t = time(NULL);
+ tm* broken_t = gmtime(&t);
+
+ sprintf(buff,"%s, %d %s %d %d:%d:%d GMT",
+ Days[broken_t->tm_wday], broken_t->tm_mday, Months[broken_t->tm_mon],
+ broken_t->tm_year + 1900,
+ broken_t->tm_hour,broken_t->tm_min,broken_t->tm_sec);
+ return std::string(buff);
+}
+
+}}} // apache::thrift::transport
[02/47] Added c++ client samples for integrattion of airavata with
any other application's c++ interface
Posted by sm...@apache.org.
http://git-wip-us.apache.org/repos/asf/airavata/blob/f891b7dc/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/transport/TServerSocket.cpp
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/transport/TServerSocket.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/transport/TServerSocket.cpp
new file mode 100644
index 0000000..4cecc3b
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/transport/TServerSocket.cpp
@@ -0,0 +1,490 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you 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 <thrift/thrift-config.h>
+
+#include <cstring>
+#include <sys/types.h>
+#ifdef HAVE_SYS_SOCKET_H
+#include <sys/socket.h>
+#endif
+#ifdef HAVE_SYS_UN_H
+#include <sys/un.h>
+#endif
+#ifdef HAVE_SYS_POLL_H
+#include <sys/poll.h>
+#endif
+#ifdef HAVE_NETINET_IN_H
+#include <netinet/in.h>
+#include <netinet/tcp.h>
+#endif
+#ifdef HAVE_NETDB_H
+#include <netdb.h>
+#endif
+#include <fcntl.h>
+#ifdef HAVE_UNISTD_H
+#include <unistd.h>
+#endif
+
+#include <thrift/transport/TSocket.h>
+#include <thrift/transport/TServerSocket.h>
+#include <thrift/transport/PlatformSocket.h>
+#include <boost/shared_ptr.hpp>
+
+#ifndef AF_LOCAL
+#define AF_LOCAL AF_UNIX
+#endif
+
+#ifndef SOCKOPT_CAST_T
+# ifndef _WIN32
+# define SOCKOPT_CAST_T void
+# else
+# define SOCKOPT_CAST_T char
+# endif // _WIN32
+#endif
+
+template<class T>
+inline const SOCKOPT_CAST_T* const_cast_sockopt(const T* v) {
+ return reinterpret_cast<const SOCKOPT_CAST_T*>(v);
+}
+
+template<class T>
+inline SOCKOPT_CAST_T* cast_sockopt(T* v) {
+ return reinterpret_cast<SOCKOPT_CAST_T*>(v);
+}
+
+namespace apache { namespace thrift { namespace transport {
+
+using namespace std;
+using boost::shared_ptr;
+
+TServerSocket::TServerSocket(int port) :
+ port_(port),
+ serverSocket_(THRIFT_INVALID_SOCKET),
+ acceptBacklog_(DEFAULT_BACKLOG),
+ sendTimeout_(0),
+ recvTimeout_(0),
+ accTimeout_(-1),
+ retryLimit_(0),
+ retryDelay_(0),
+ tcpSendBuffer_(0),
+ tcpRecvBuffer_(0),
+ intSock1_(THRIFT_INVALID_SOCKET),
+ intSock2_(THRIFT_INVALID_SOCKET) {}
+
+TServerSocket::TServerSocket(int port, int sendTimeout, int recvTimeout) :
+ port_(port),
+ serverSocket_(THRIFT_INVALID_SOCKET),
+ acceptBacklog_(DEFAULT_BACKLOG),
+ sendTimeout_(sendTimeout),
+ recvTimeout_(recvTimeout),
+ accTimeout_(-1),
+ retryLimit_(0),
+ retryDelay_(0),
+ tcpSendBuffer_(0),
+ tcpRecvBuffer_(0),
+ intSock1_(THRIFT_INVALID_SOCKET),
+ intSock2_(THRIFT_INVALID_SOCKET) {}
+
+TServerSocket::TServerSocket(string path) :
+ port_(0),
+ path_(path),
+ serverSocket_(THRIFT_INVALID_SOCKET),
+ acceptBacklog_(DEFAULT_BACKLOG),
+ sendTimeout_(0),
+ recvTimeout_(0),
+ accTimeout_(-1),
+ retryLimit_(0),
+ retryDelay_(0),
+ tcpSendBuffer_(0),
+ tcpRecvBuffer_(0),
+ intSock1_(THRIFT_INVALID_SOCKET),
+ intSock2_(THRIFT_INVALID_SOCKET) {}
+
+TServerSocket::~TServerSocket() {
+ close();
+}
+
+void TServerSocket::setSendTimeout(int sendTimeout) {
+ sendTimeout_ = sendTimeout;
+}
+
+void TServerSocket::setRecvTimeout(int recvTimeout) {
+ recvTimeout_ = recvTimeout;
+}
+
+void TServerSocket::setAcceptTimeout(int accTimeout) {
+ accTimeout_ = accTimeout;
+}
+
+void TServerSocket::setAcceptBacklog(int accBacklog) {
+ acceptBacklog_ = accBacklog;
+}
+
+void TServerSocket::setRetryLimit(int retryLimit) {
+ retryLimit_ = retryLimit;
+}
+
+void TServerSocket::setRetryDelay(int retryDelay) {
+ retryDelay_ = retryDelay;
+}
+
+void TServerSocket::setTcpSendBuffer(int tcpSendBuffer) {
+ tcpSendBuffer_ = tcpSendBuffer;
+}
+
+void TServerSocket::setTcpRecvBuffer(int tcpRecvBuffer) {
+ tcpRecvBuffer_ = tcpRecvBuffer;
+}
+
+void TServerSocket::listen() {
+ THRIFT_SOCKET sv[2];
+ if (-1 == THRIFT_SOCKETPAIR(AF_LOCAL, SOCK_STREAM, 0, sv)) {
+ GlobalOutput.perror("TServerSocket::listen() socketpair() ", THRIFT_GET_SOCKET_ERROR);
+ intSock1_ = THRIFT_INVALID_SOCKET;
+ intSock2_ = THRIFT_INVALID_SOCKET;
+ } else {
+ intSock1_ = sv[1];
+ intSock2_ = sv[0];
+ }
+
+ struct addrinfo hints, *res, *res0;
+ int error;
+ char port[sizeof("65536") + 1];
+ std::memset(&hints, 0, sizeof(hints));
+ hints.ai_family = PF_UNSPEC;
+ hints.ai_socktype = SOCK_STREAM;
+ hints.ai_flags = AI_PASSIVE | AI_ADDRCONFIG;
+ sprintf(port, "%d", port_);
+
+ // Wildcard address
+ error = getaddrinfo(NULL, port, &hints, &res0);
+ if (error) {
+ GlobalOutput.printf("getaddrinfo %d: %s", error, THRIFT_GAI_STRERROR(error));
+ close();
+ throw TTransportException(TTransportException::NOT_OPEN, "Could not resolve host for server socket.");
+ }
+
+ // Pick the ipv6 address first since ipv4 addresses can be mapped
+ // into ipv6 space.
+ for (res = res0; res; res = res->ai_next) {
+ if (res->ai_family == AF_INET6 || res->ai_next == NULL)
+ break;
+ }
+
+ if (! path_.empty()) {
+ serverSocket_ = socket(PF_UNIX, SOCK_STREAM, IPPROTO_IP);
+ } else {
+ serverSocket_ = socket(res->ai_family, res->ai_socktype, res->ai_protocol);
+ }
+
+ if (serverSocket_ == THRIFT_INVALID_SOCKET) {
+ int errno_copy = THRIFT_GET_SOCKET_ERROR;
+ GlobalOutput.perror("TServerSocket::listen() socket() ", errno_copy);
+ close();
+ throw TTransportException(TTransportException::NOT_OPEN, "Could not create server socket.", errno_copy);
+ }
+
+ // Set THRIFT_NO_SOCKET_CACHING to prevent 2MSL delay on accept
+ int one = 1;
+ if (-1 == setsockopt(serverSocket_, SOL_SOCKET, THRIFT_NO_SOCKET_CACHING,
+ cast_sockopt(&one), sizeof(one))) {
+ //ignore errors coming out of this setsockopt on Windows. This is because
+ //SO_EXCLUSIVEADDRUSE requires admin privileges on WinXP, but we don't
+ //want to force servers to be an admin.
+#ifndef _WIN32
+ int errno_copy = THRIFT_GET_SOCKET_ERROR;
+ GlobalOutput.perror("TServerSocket::listen() setsockopt() THRIFT_NO_SOCKET_CACHING ", errno_copy);
+ close();
+ throw TTransportException(TTransportException::NOT_OPEN, "Could not set THRIFT_NO_SOCKET_CACHING", errno_copy);
+#endif
+ }
+
+ // Set TCP buffer sizes
+ if (tcpSendBuffer_ > 0) {
+ if (-1 == setsockopt(serverSocket_, SOL_SOCKET, SO_SNDBUF,
+ cast_sockopt(&tcpSendBuffer_), sizeof(tcpSendBuffer_))) {
+ int errno_copy = THRIFT_GET_SOCKET_ERROR;
+ GlobalOutput.perror("TServerSocket::listen() setsockopt() SO_SNDBUF ", errno_copy);
+ close();
+ throw TTransportException(TTransportException::NOT_OPEN, "Could not set SO_SNDBUF", errno_copy);
+ }
+ }
+
+ if (tcpRecvBuffer_ > 0) {
+ if (-1 == setsockopt(serverSocket_, SOL_SOCKET, SO_RCVBUF,
+ cast_sockopt(&tcpRecvBuffer_), sizeof(tcpRecvBuffer_))) {
+ int errno_copy = THRIFT_GET_SOCKET_ERROR;
+ GlobalOutput.perror("TServerSocket::listen() setsockopt() SO_RCVBUF ", errno_copy);
+ close();
+ throw TTransportException(TTransportException::NOT_OPEN, "Could not set SO_RCVBUF", errno_copy);
+ }
+ }
+
+ // Defer accept
+ #ifdef TCP_DEFER_ACCEPT
+ if (-1 == setsockopt(serverSocket_, SOL_SOCKET, TCP_DEFER_ACCEPT,
+ &one, sizeof(one))) {
+ int errno_copy = THRIFT_GET_SOCKET_ERROR;
+ GlobalOutput.perror("TServerSocket::listen() setsockopt() TCP_DEFER_ACCEPT ", errno_copy);
+ close();
+ throw TTransportException(TTransportException::NOT_OPEN, "Could not set TCP_DEFER_ACCEPT", errno_copy);
+ }
+ #endif // #ifdef TCP_DEFER_ACCEPT
+
+ #ifdef IPV6_V6ONLY
+ if (res->ai_family == AF_INET6 && path_.empty()) {
+ int zero = 0;
+ if (-1 == setsockopt(serverSocket_, IPPROTO_IPV6, IPV6_V6ONLY,
+ cast_sockopt(&zero), sizeof(zero))) {
+ GlobalOutput.perror("TServerSocket::listen() IPV6_V6ONLY ", THRIFT_GET_SOCKET_ERROR);
+ }
+ }
+ #endif // #ifdef IPV6_V6ONLY
+
+ // Turn linger off, don't want to block on calls to close
+ struct linger ling = {0, 0};
+ if (-1 == setsockopt(serverSocket_, SOL_SOCKET, SO_LINGER,
+ cast_sockopt(&ling), sizeof(ling))) {
+ int errno_copy = THRIFT_GET_SOCKET_ERROR;
+ GlobalOutput.perror("TServerSocket::listen() setsockopt() SO_LINGER ", errno_copy);
+ close();
+ throw TTransportException(TTransportException::NOT_OPEN, "Could not set SO_LINGER", errno_copy);
+ }
+
+ // Unix Sockets do not need that
+ if (path_.empty()) {
+ // TCP Nodelay, speed over bandwidth
+ if (-1 == setsockopt(serverSocket_, IPPROTO_TCP, TCP_NODELAY,
+ cast_sockopt(&one), sizeof(one))) {
+ int errno_copy = THRIFT_GET_SOCKET_ERROR;
+ GlobalOutput.perror("TServerSocket::listen() setsockopt() TCP_NODELAY ", errno_copy);
+ close();
+ throw TTransportException(TTransportException::NOT_OPEN, "Could not set TCP_NODELAY", errno_copy);
+ }
+ }
+
+ // Set NONBLOCK on the accept socket
+ int flags = THRIFT_FCNTL(serverSocket_, THRIFT_F_GETFL, 0);
+ if (flags == -1) {
+ int errno_copy = THRIFT_GET_SOCKET_ERROR;
+ GlobalOutput.perror("TServerSocket::listen() THRIFT_FCNTL() THRIFT_F_GETFL ", errno_copy);
+ throw TTransportException(TTransportException::NOT_OPEN, "THRIFT_FCNTL() failed", errno_copy);
+ }
+
+ if (-1 == THRIFT_FCNTL(serverSocket_, THRIFT_F_SETFL, flags | THRIFT_O_NONBLOCK)) {
+ int errno_copy = THRIFT_GET_SOCKET_ERROR;
+ GlobalOutput.perror("TServerSocket::listen() THRIFT_FCNTL() THRIFT_O_NONBLOCK ", errno_copy);
+ throw TTransportException(TTransportException::NOT_OPEN, "THRIFT_FCNTL() failed", errno_copy);
+ }
+
+ // prepare the port information
+ // we may want to try to bind more than once, since THRIFT_NO_SOCKET_CACHING doesn't
+ // always seem to work. The client can configure the retry variables.
+ int retries = 0;
+
+ if (! path_.empty()) {
+
+#ifndef _WIN32
+
+ // Unix Domain Socket
+ struct sockaddr_un address;
+ socklen_t len;
+
+ if (path_.length() > sizeof(address.sun_path)) {
+ int errno_copy = THRIFT_GET_SOCKET_ERROR;
+ GlobalOutput.perror("TSocket::listen() Unix Domain socket path too long", errno_copy);
+ throw TTransportException(TTransportException::NOT_OPEN, " Unix Domain socket path too long");
+ }
+
+ address.sun_family = AF_UNIX;
+ THRIFT_SNPRINTF(address.sun_path, sizeof(address.sun_path), "%s", path_.c_str());
+ len = sizeof(address);
+
+ do {
+ if (0 == ::bind(serverSocket_, (struct sockaddr *) &address, len)) {
+ break;
+ }
+ // use short circuit evaluation here to only sleep if we need to
+ } while ((retries++ < retryLimit_) && (THRIFT_SLEEP_SEC(retryDelay_) == 0));
+#else
+ GlobalOutput.perror("TSocket::open() Unix Domain socket path not supported on windows", -99);
+ throw TTransportException(TTransportException::NOT_OPEN, " Unix Domain socket path not supported");
+#endif
+ } else {
+ do {
+ if (0 == ::bind(serverSocket_, res->ai_addr, static_cast<int>(res->ai_addrlen))) {
+ break;
+ }
+ // use short circuit evaluation here to only sleep if we need to
+ } while ((retries++ < retryLimit_) && (THRIFT_SLEEP_SEC(retryDelay_) == 0));
+
+ // free addrinfo
+ freeaddrinfo(res0);
+ }
+
+ // throw an error if we failed to bind properly
+ if (retries > retryLimit_) {
+ char errbuf[1024];
+ if (! path_.empty()) {
+ sprintf(errbuf, "TServerSocket::listen() PATH %s", path_.c_str());
+ }
+ else {
+ sprintf(errbuf, "TServerSocket::listen() BIND %d", port_);
+ }
+ GlobalOutput(errbuf);
+ close();
+ throw TTransportException(TTransportException::NOT_OPEN, "Could not bind",
+ THRIFT_GET_SOCKET_ERROR);
+ }
+
+ // Call listen
+ if (-1 == ::listen(serverSocket_, acceptBacklog_)) {
+ int errno_copy = THRIFT_GET_SOCKET_ERROR;
+ GlobalOutput.perror("TServerSocket::listen() listen() ", errno_copy);
+ close();
+ throw TTransportException(TTransportException::NOT_OPEN, "Could not listen", errno_copy);
+ }
+
+ // The socket is now listening!
+}
+
+shared_ptr<TTransport> TServerSocket::acceptImpl() {
+ if (serverSocket_ == THRIFT_INVALID_SOCKET) {
+ throw TTransportException(TTransportException::NOT_OPEN, "TServerSocket not listening");
+ }
+
+ struct THRIFT_POLLFD fds[2];
+
+ int maxEintrs = 5;
+ int numEintrs = 0;
+
+ while (true) {
+ std::memset(fds, 0 , sizeof(fds));
+ fds[0].fd = serverSocket_;
+ fds[0].events = THRIFT_POLLIN;
+ if (intSock2_ != THRIFT_INVALID_SOCKET) {
+ fds[1].fd = intSock2_;
+ fds[1].events = THRIFT_POLLIN;
+ }
+ /*
+ TODO: if THRIFT_EINTR is received, we'll restart the timeout.
+ To be accurate, we need to fix this in the future.
+ */
+ int ret = THRIFT_POLL(fds, 2, accTimeout_);
+
+ if (ret < 0) {
+ // error cases
+ if (THRIFT_GET_SOCKET_ERROR == THRIFT_EINTR && (numEintrs++ < maxEintrs)) {
+ // THRIFT_EINTR needs to be handled manually and we can tolerate
+ // a certain number
+ continue;
+ }
+ int errno_copy = THRIFT_GET_SOCKET_ERROR;
+ GlobalOutput.perror("TServerSocket::acceptImpl() THRIFT_POLL() ", errno_copy);
+ throw TTransportException(TTransportException::UNKNOWN, "Unknown", errno_copy);
+ } else if (ret > 0) {
+ // Check for an interrupt signal
+ if (intSock2_ != THRIFT_INVALID_SOCKET
+ && (fds[1].revents & THRIFT_POLLIN)) {
+ int8_t buf;
+ if (-1 == recv(intSock2_, cast_sockopt(&buf), sizeof(int8_t), 0)) {
+ GlobalOutput.perror("TServerSocket::acceptImpl() recv() interrupt ", THRIFT_GET_SOCKET_ERROR);
+ }
+ throw TTransportException(TTransportException::INTERRUPTED);
+ }
+
+ // Check for the actual server socket being ready
+ if (fds[0].revents & THRIFT_POLLIN) {
+ break;
+ }
+ } else {
+ GlobalOutput("TServerSocket::acceptImpl() THRIFT_POLL 0");
+ throw TTransportException(TTransportException::UNKNOWN);
+ }
+ }
+
+ struct sockaddr_storage clientAddress;
+ int size = sizeof(clientAddress);
+ THRIFT_SOCKET clientSocket = ::accept(serverSocket_,
+ (struct sockaddr *) &clientAddress,
+ (socklen_t *) &size);
+
+ if (clientSocket == -1) {
+ int errno_copy = THRIFT_GET_SOCKET_ERROR;
+ GlobalOutput.perror("TServerSocket::acceptImpl() ::accept() ", errno_copy);
+ throw TTransportException(TTransportException::UNKNOWN, "accept()", errno_copy);
+ }
+
+ // Make sure client socket is blocking
+ int flags = THRIFT_FCNTL(clientSocket, THRIFT_F_GETFL, 0);
+ if (flags == -1) {
+ int errno_copy = THRIFT_GET_SOCKET_ERROR;
+ GlobalOutput.perror("TServerSocket::acceptImpl() THRIFT_FCNTL() THRIFT_F_GETFL ", errno_copy);
+ throw TTransportException(TTransportException::UNKNOWN, "THRIFT_FCNTL(THRIFT_F_GETFL)", errno_copy);
+ }
+
+ if (-1 == THRIFT_FCNTL(clientSocket, THRIFT_F_SETFL, flags & ~THRIFT_O_NONBLOCK)) {
+ int errno_copy = THRIFT_GET_SOCKET_ERROR;
+ GlobalOutput.perror("TServerSocket::acceptImpl() THRIFT_FCNTL() THRIFT_F_SETFL ~THRIFT_O_NONBLOCK ", errno_copy);
+ throw TTransportException(TTransportException::UNKNOWN, "THRIFT_FCNTL(THRIFT_F_SETFL)", errno_copy);
+ }
+
+ shared_ptr<TSocket> client = createSocket(clientSocket);
+ if (sendTimeout_ > 0) {
+ client->setSendTimeout(sendTimeout_);
+ }
+ if (recvTimeout_ > 0) {
+ client->setRecvTimeout(recvTimeout_);
+ }
+ client->setCachedAddress((sockaddr*) &clientAddress, size);
+
+ return client;
+}
+
+shared_ptr<TSocket> TServerSocket::createSocket(THRIFT_SOCKET clientSocket) {
+ return shared_ptr<TSocket>(new TSocket(clientSocket));
+}
+
+void TServerSocket::interrupt() {
+ if (intSock1_ != THRIFT_INVALID_SOCKET) {
+ int8_t byte = 0;
+ if (-1 == send(intSock1_, cast_sockopt(&byte), sizeof(int8_t), 0)) {
+ GlobalOutput.perror("TServerSocket::interrupt() send() ", THRIFT_GET_SOCKET_ERROR);
+ }
+ }
+}
+
+void TServerSocket::close() {
+ if (serverSocket_ != THRIFT_INVALID_SOCKET) {
+ shutdown(serverSocket_, THRIFT_SHUT_RDWR);
+ ::THRIFT_CLOSESOCKET(serverSocket_);
+ }
+ if (intSock1_ != THRIFT_INVALID_SOCKET) {
+ ::THRIFT_CLOSESOCKET(intSock1_);
+ }
+ if (intSock2_ != THRIFT_INVALID_SOCKET) {
+ ::THRIFT_CLOSESOCKET(intSock2_);
+ }
+ serverSocket_ = THRIFT_INVALID_SOCKET;
+ intSock1_ = THRIFT_INVALID_SOCKET;
+ intSock2_ = THRIFT_INVALID_SOCKET;
+}
+
+}}} // apache::thrift::transport
http://git-wip-us.apache.org/repos/asf/airavata/blob/f891b7dc/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/transport/TServerSocket.h
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/transport/TServerSocket.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/transport/TServerSocket.h
new file mode 100644
index 0000000..4a8c029
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/transport/TServerSocket.h
@@ -0,0 +1,86 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you 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 _THRIFT_TRANSPORT_TSERVERSOCKET_H_
+#define _THRIFT_TRANSPORT_TSERVERSOCKET_H_ 1
+
+#include <thrift/transport/TServerTransport.h>
+#include <thrift/transport/PlatformSocket.h>
+#include <boost/shared_ptr.hpp>
+
+namespace apache { namespace thrift { namespace transport {
+
+class TSocket;
+
+/**
+ * Server socket implementation of TServerTransport. Wrapper around a unix
+ * socket listen and accept calls.
+ *
+ */
+class TServerSocket : public TServerTransport {
+ public:
+ const static int DEFAULT_BACKLOG = 1024;
+
+ TServerSocket(int port);
+ TServerSocket(int port, int sendTimeout, int recvTimeout);
+ TServerSocket(std::string path);
+
+ ~TServerSocket();
+
+ void setSendTimeout(int sendTimeout);
+ void setRecvTimeout(int recvTimeout);
+
+ void setAcceptTimeout(int accTimeout);
+ void setAcceptBacklog(int accBacklog);
+
+ void setRetryLimit(int retryLimit);
+ void setRetryDelay(int retryDelay);
+
+ void setTcpSendBuffer(int tcpSendBuffer);
+ void setTcpRecvBuffer(int tcpRecvBuffer);
+
+ void listen();
+ void close();
+
+ void interrupt();
+
+ protected:
+ boost::shared_ptr<TTransport> acceptImpl();
+ virtual boost::shared_ptr<TSocket> createSocket(THRIFT_SOCKET client);
+
+ private:
+ int port_;
+ std::string path_;
+ THRIFT_SOCKET serverSocket_;
+ int acceptBacklog_;
+ int sendTimeout_;
+ int recvTimeout_;
+ int accTimeout_;
+ int retryLimit_;
+ int retryDelay_;
+ int tcpSendBuffer_;
+ int tcpRecvBuffer_;
+
+ THRIFT_SOCKET intSock1_;
+ THRIFT_SOCKET intSock2_;
+};
+
+}}} // apache::thrift::transport
+
+#endif // #ifndef _THRIFT_TRANSPORT_TSERVERSOCKET_H_
http://git-wip-us.apache.org/repos/asf/airavata/blob/f891b7dc/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/transport/TServerTransport.h
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/transport/TServerTransport.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/transport/TServerTransport.h
new file mode 100644
index 0000000..2ddee0d
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/transport/TServerTransport.h
@@ -0,0 +1,92 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you 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 _THRIFT_TRANSPORT_TSERVERTRANSPORT_H_
+#define _THRIFT_TRANSPORT_TSERVERTRANSPORT_H_ 1
+
+#include <thrift/transport/TTransport.h>
+#include <thrift/transport/TTransportException.h>
+#include <boost/shared_ptr.hpp>
+
+namespace apache { namespace thrift { namespace transport {
+
+/**
+ * Server transport framework. A server needs to have some facility for
+ * creating base transports to read/write from.
+ *
+ */
+class TServerTransport {
+ public:
+ virtual ~TServerTransport() {}
+
+ /**
+ * Starts the server transport listening for new connections. Prior to this
+ * call most transports will not return anything when accept is called.
+ *
+ * @throws TTransportException if we were unable to listen
+ */
+ virtual void listen() {}
+
+ /**
+ * Gets a new dynamically allocated transport object and passes it to the
+ * caller. Note that it is the explicit duty of the caller to free the
+ * allocated object. The returned TTransport object must always be in the
+ * opened state. NULL should never be returned, instead an Exception should
+ * always be thrown.
+ *
+ * @return A new TTransport object
+ * @throws TTransportException if there is an error
+ */
+ boost::shared_ptr<TTransport> accept() {
+ boost::shared_ptr<TTransport> result = acceptImpl();
+ if (!result) {
+ throw TTransportException("accept() may not return NULL");
+ }
+ return result;
+ }
+
+ /**
+ * For "smart" TServerTransport implementations that work in a multi
+ * threaded context this can be used to break out of an accept() call.
+ * It is expected that the transport will throw a TTransportException
+ * with the interrupted error code.
+ */
+ virtual void interrupt() {}
+
+ /**
+ * Closes this transport such that future calls to accept will do nothing.
+ */
+ virtual void close() = 0;
+
+ protected:
+ TServerTransport() {}
+
+ /**
+ * Subclasses should implement this function for accept.
+ *
+ * @return A newly allocated TTransport object
+ * @throw TTransportException If an error occurs
+ */
+ virtual boost::shared_ptr<TTransport> acceptImpl() = 0;
+
+};
+
+}}} // apache::thrift::transport
+
+#endif // #ifndef _THRIFT_TRANSPORT_TSERVERTRANSPORT_H_
http://git-wip-us.apache.org/repos/asf/airavata/blob/f891b7dc/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/transport/TShortReadTransport.h
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/transport/TShortReadTransport.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/transport/TShortReadTransport.h
new file mode 100644
index 0000000..8def354
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/transport/TShortReadTransport.h
@@ -0,0 +1,97 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you 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 _THRIFT_TRANSPORT_TSHORTREADTRANSPORT_H_
+#define _THRIFT_TRANSPORT_TSHORTREADTRANSPORT_H_ 1
+
+#include <cstdlib>
+
+#include <thrift/transport/TTransport.h>
+#include <thrift/transport/TVirtualTransport.h>
+
+namespace apache { namespace thrift { namespace transport { namespace test {
+
+/**
+ * This class is only meant for testing. It wraps another transport.
+ * Calls to read are passed through with some probability. Otherwise,
+ * the read amount is randomly reduced before being passed through.
+ *
+ */
+class TShortReadTransport : public TVirtualTransport<TShortReadTransport> {
+ public:
+ TShortReadTransport(boost::shared_ptr<TTransport> transport, double full_prob)
+ : transport_(transport)
+ , fullProb_(full_prob)
+ {}
+
+ bool isOpen() {
+ return transport_->isOpen();
+ }
+
+ bool peek() {
+ return transport_->peek();
+ }
+
+ void open() {
+ transport_->open();
+ }
+
+ void close() {
+ transport_->close();
+ }
+
+ uint32_t read(uint8_t* buf, uint32_t len) {
+ if (len == 0) {
+ return 0;
+ }
+
+ if (rand()/(double)RAND_MAX >= fullProb_) {
+ len = 1 + rand()%len;
+ }
+ return transport_->read(buf, len);
+ }
+
+ void write(const uint8_t* buf, uint32_t len) {
+ transport_->write(buf, len);
+ }
+
+ void flush() {
+ transport_->flush();
+ }
+
+ const uint8_t* borrow(uint8_t* buf, uint32_t* len) {
+ return transport_->borrow(buf, len);
+ }
+
+ void consume(uint32_t len) {
+ return transport_->consume(len);
+ }
+
+ boost::shared_ptr<TTransport> getUnderlyingTransport() {
+ return transport_;
+ }
+
+ protected:
+ boost::shared_ptr<TTransport> transport_;
+ double fullProb_;
+};
+
+}}}} // apache::thrift::transport::test
+
+#endif // #ifndef _THRIFT_TRANSPORT_TSHORTREADTRANSPORT_H_
http://git-wip-us.apache.org/repos/asf/airavata/blob/f891b7dc/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/transport/TSimpleFileTransport.cpp
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/transport/TSimpleFileTransport.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/transport/TSimpleFileTransport.cpp
new file mode 100644
index 0000000..9af1445
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/transport/TSimpleFileTransport.cpp
@@ -0,0 +1,67 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you 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 <thrift/thrift-config.h>
+
+#include <thrift/transport/TSimpleFileTransport.h>
+
+#include <sys/types.h>
+#ifdef HAVE_SYS_STAT_H
+#include <sys/stat.h>
+#endif
+#include <fcntl.h>
+
+#ifdef _WIN32
+#include <io.h>
+#endif
+
+namespace apache { namespace thrift { namespace transport {
+
+TSimpleFileTransport::
+TSimpleFileTransport(const std::string& path, bool read, bool write)
+ : TFDTransport(-1, TFDTransport::CLOSE_ON_DESTROY) {
+ int flags = 0;
+ if (read && write) {
+ flags = O_RDWR;
+ } else if (read) {
+ flags = O_RDONLY;
+ } else if (write) {
+ flags = O_WRONLY;
+ } else {
+ throw TTransportException("Neither READ nor WRITE specified");
+ }
+ if (write) {
+ flags |= O_CREAT | O_APPEND;
+ }
+#ifndef _WIN32
+ mode_t mode = S_IRUSR | S_IWUSR| S_IRGRP | S_IROTH;
+#else
+ int mode = _S_IREAD | _S_IWRITE;
+#endif
+ int fd = ::open(path.c_str(),
+ flags,
+ mode);
+ if (fd < 0) {
+ throw TTransportException("failed to open file for writing: " + path);
+ }
+ setFD(fd);
+ open();
+}
+
+}}} // apache::thrift::transport
http://git-wip-us.apache.org/repos/asf/airavata/blob/f891b7dc/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/transport/TSimpleFileTransport.h
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/transport/TSimpleFileTransport.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/transport/TSimpleFileTransport.h
new file mode 100644
index 0000000..985a1d3
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/transport/TSimpleFileTransport.h
@@ -0,0 +1,41 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you 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 _THRIFT_TRANSPORT_TSIMPLEFILETRANSPORT_H_
+#define _THRIFT_TRANSPORT_TSIMPLEFILETRANSPORT_H_ 1
+
+#include <thrift/transport/TFDTransport.h>
+
+namespace apache { namespace thrift { namespace transport {
+
+/**
+ * Dead-simple wrapper around a file.
+ *
+ * Writeable files are opened with O_CREAT and O_APPEND
+ */
+class TSimpleFileTransport : public TFDTransport {
+ public:
+ TSimpleFileTransport(const std::string& path,
+ bool read = true,
+ bool write = false);
+};
+
+}}} // apache::thrift::transport
+
+#endif // _THRIFT_TRANSPORT_TSIMPLEFILETRANSPORT_H_
http://git-wip-us.apache.org/repos/asf/airavata/blob/f891b7dc/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/transport/TSocket.cpp
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/transport/TSocket.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/transport/TSocket.cpp
new file mode 100644
index 0000000..d521bb5
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/transport/TSocket.cpp
@@ -0,0 +1,813 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you 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 <thrift/thrift-config.h>
+
+#include <cstring>
+#include <sstream>
+#ifdef HAVE_SYS_SOCKET_H
+#include <sys/socket.h>
+#endif
+#ifdef HAVE_SYS_UN_H
+#include <sys/un.h>
+#endif
+#ifdef HAVE_SYS_POLL_H
+#include <sys/poll.h>
+#endif
+#include <sys/types.h>
+#ifdef HAVE_NETINET_IN_H
+#include <netinet/in.h>
+#include <netinet/tcp.h>
+#endif
+#ifdef HAVE_UNISTD_H
+#include <unistd.h>
+#endif
+#include <fcntl.h>
+
+#include <thrift/concurrency/Monitor.h>
+#include <thrift/transport/TSocket.h>
+#include <thrift/transport/TTransportException.h>
+#include <thrift/transport/PlatformSocket.h>
+
+#ifndef SOCKOPT_CAST_T
+# ifndef _WIN32
+# define SOCKOPT_CAST_T void
+# else
+# define SOCKOPT_CAST_T char
+# endif // _WIN32
+#endif
+
+template<class T>
+inline const SOCKOPT_CAST_T* const_cast_sockopt(const T* v) {
+ return reinterpret_cast<const SOCKOPT_CAST_T*>(v);
+}
+
+template<class T>
+inline SOCKOPT_CAST_T* cast_sockopt(T* v) {
+ return reinterpret_cast<SOCKOPT_CAST_T*>(v);
+}
+
+namespace apache { namespace thrift { namespace transport {
+
+using namespace std;
+
+// Global var to track total socket sys calls
+uint32_t g_socket_syscalls = 0;
+
+/**
+ * TSocket implementation.
+ *
+ */
+
+TSocket::TSocket(string host, int port) :
+ host_(host),
+ port_(port),
+ path_(""),
+ socket_(THRIFT_INVALID_SOCKET),
+ connTimeout_(0),
+ sendTimeout_(0),
+ recvTimeout_(0),
+ lingerOn_(1),
+ lingerVal_(0),
+ noDelay_(1),
+ maxRecvRetries_(5) {
+ recvTimeval_.tv_sec = (int)(recvTimeout_/1000);
+ recvTimeval_.tv_usec = (int)((recvTimeout_%1000)*1000);
+}
+
+TSocket::TSocket(string path) :
+ host_(""),
+ port_(0),
+ path_(path),
+ socket_(THRIFT_INVALID_SOCKET),
+ connTimeout_(0),
+ sendTimeout_(0),
+ recvTimeout_(0),
+ lingerOn_(1),
+ lingerVal_(0),
+ noDelay_(1),
+ maxRecvRetries_(5) {
+ recvTimeval_.tv_sec = (int)(recvTimeout_/1000);
+ recvTimeval_.tv_usec = (int)((recvTimeout_%1000)*1000);
+ cachedPeerAddr_.ipv4.sin_family = AF_UNSPEC;
+}
+
+TSocket::TSocket() :
+ host_(""),
+ port_(0),
+ path_(""),
+ socket_(THRIFT_INVALID_SOCKET),
+ connTimeout_(0),
+ sendTimeout_(0),
+ recvTimeout_(0),
+ lingerOn_(1),
+ lingerVal_(0),
+ noDelay_(1),
+ maxRecvRetries_(5) {
+ recvTimeval_.tv_sec = (int)(recvTimeout_/1000);
+ recvTimeval_.tv_usec = (int)((recvTimeout_%1000)*1000);
+ cachedPeerAddr_.ipv4.sin_family = AF_UNSPEC;
+}
+
+TSocket::TSocket(THRIFT_SOCKET socket) :
+ host_(""),
+ port_(0),
+ path_(""),
+ socket_(socket),
+ connTimeout_(0),
+ sendTimeout_(0),
+ recvTimeout_(0),
+ lingerOn_(1),
+ lingerVal_(0),
+ noDelay_(1),
+ maxRecvRetries_(5) {
+ recvTimeval_.tv_sec = (int)(recvTimeout_/1000);
+ recvTimeval_.tv_usec = (int)((recvTimeout_%1000)*1000);
+ cachedPeerAddr_.ipv4.sin_family = AF_UNSPEC;
+}
+
+TSocket::~TSocket() {
+ close();
+}
+
+bool TSocket::isOpen() {
+ return (socket_ != THRIFT_INVALID_SOCKET);
+}
+
+bool TSocket::peek() {
+ if (!isOpen()) {
+ return false;
+ }
+ uint8_t buf;
+ int r = static_cast<int>(recv(socket_, cast_sockopt(&buf), 1, MSG_PEEK));
+ if (r == -1) {
+ int errno_copy = THRIFT_GET_SOCKET_ERROR;
+ #if defined __FreeBSD__ || defined __MACH__
+ /* shigin:
+ * freebsd returns -1 and THRIFT_ECONNRESET if socket was closed by
+ * the other side
+ */
+ if (errno_copy == THRIFT_ECONNRESET)
+ {
+ close();
+ return false;
+ }
+ #endif
+ GlobalOutput.perror("TSocket::peek() recv() " + getSocketInfo(), errno_copy);
+ throw TTransportException(TTransportException::UNKNOWN, "recv()", errno_copy);
+ }
+ return (r > 0);
+}
+
+void TSocket::openConnection(struct addrinfo *res) {
+
+ if (isOpen()) {
+ return;
+ }
+
+ if (! path_.empty()) {
+ socket_ = socket(PF_UNIX, SOCK_STREAM, IPPROTO_IP);
+ } else {
+ socket_ = socket(res->ai_family, res->ai_socktype, res->ai_protocol);
+ }
+
+ if (socket_ == THRIFT_INVALID_SOCKET) {
+ int errno_copy = THRIFT_GET_SOCKET_ERROR;
+ GlobalOutput.perror("TSocket::open() socket() " + getSocketInfo(), errno_copy);
+ throw TTransportException(TTransportException::NOT_OPEN, "socket()", errno_copy);
+ }
+
+ // Send timeout
+ if (sendTimeout_ > 0) {
+ setSendTimeout(sendTimeout_);
+ }
+
+ // Recv timeout
+ if (recvTimeout_ > 0) {
+ setRecvTimeout(recvTimeout_);
+ }
+
+ // Linger
+ setLinger(lingerOn_, lingerVal_);
+
+ // No delay
+ setNoDelay(noDelay_);
+
+ // Uses a low min RTO if asked to.
+#ifdef TCP_LOW_MIN_RTO
+ if (getUseLowMinRto()) {
+ int one = 1;
+ setsockopt(socket_, IPPROTO_TCP, TCP_LOW_MIN_RTO, &one, sizeof(one));
+ }
+#endif
+
+
+ // Set the socket to be non blocking for connect if a timeout exists
+ int flags = THRIFT_FCNTL(socket_, THRIFT_F_GETFL, 0);
+ if (connTimeout_ > 0) {
+ if (-1 == THRIFT_FCNTL(socket_, THRIFT_F_SETFL, flags | THRIFT_O_NONBLOCK)) {
+ int errno_copy = THRIFT_GET_SOCKET_ERROR;
+ GlobalOutput.perror("TSocket::open() THRIFT_FCNTL() " + getSocketInfo(), errno_copy);
+ throw TTransportException(TTransportException::NOT_OPEN, "THRIFT_FCNTL() failed", errno_copy);
+ }
+ } else {
+ if (-1 == THRIFT_FCNTL(socket_, THRIFT_F_SETFL, flags & ~THRIFT_O_NONBLOCK)) {
+ int errno_copy = THRIFT_GET_SOCKET_ERROR;
+ GlobalOutput.perror("TSocket::open() THRIFT_FCNTL " + getSocketInfo(), errno_copy);
+ throw TTransportException(TTransportException::NOT_OPEN, "THRIFT_FCNTL() failed", errno_copy);
+ }
+ }
+
+ // Connect the socket
+ int ret;
+ if (! path_.empty()) {
+
+#ifndef _WIN32
+
+ struct sockaddr_un address;
+ socklen_t len;
+
+ if (path_.length() > sizeof(address.sun_path)) {
+ int errno_copy = THRIFT_GET_SOCKET_ERROR;
+ GlobalOutput.perror("TSocket::open() Unix Domain socket path too long", errno_copy);
+ throw TTransportException(TTransportException::NOT_OPEN, " Unix Domain socket path too long");
+ }
+
+ address.sun_family = AF_UNIX;
+ THRIFT_SNPRINTF(address.sun_path, sizeof(address.sun_path), "%s", path_.c_str());
+ len = sizeof(address);
+ ret = connect(socket_, (struct sockaddr *) &address, len);
+
+#else
+ GlobalOutput.perror("TSocket::open() Unix Domain socket path not supported on windows", -99);
+ throw TTransportException(TTransportException::NOT_OPEN, " Unix Domain socket path not supported");
+#endif
+
+ } else {
+ ret = connect(socket_, res->ai_addr, static_cast<int>(res->ai_addrlen));
+ }
+
+ // success case
+ if (ret == 0) {
+ goto done;
+ }
+
+ if ((THRIFT_GET_SOCKET_ERROR != THRIFT_EINPROGRESS) && (THRIFT_GET_SOCKET_ERROR != THRIFT_EWOULDBLOCK)) {
+ int errno_copy = THRIFT_GET_SOCKET_ERROR;
+ GlobalOutput.perror("TSocket::open() connect() " + getSocketInfo(), errno_copy);
+ throw TTransportException(TTransportException::NOT_OPEN, "connect() failed", errno_copy);
+ }
+
+
+ struct THRIFT_POLLFD fds[1];
+ std::memset(fds, 0 , sizeof(fds));
+ fds[0].fd = socket_;
+ fds[0].events = THRIFT_POLLOUT;
+ ret = THRIFT_POLL(fds, 1, connTimeout_);
+
+ if (ret > 0) {
+ // Ensure the socket is connected and that there are no errors set
+ int val;
+ socklen_t lon;
+ lon = sizeof(int);
+ int ret2 = getsockopt(socket_, SOL_SOCKET, SO_ERROR, cast_sockopt(&val), &lon);
+ if (ret2 == -1) {
+ int errno_copy = THRIFT_GET_SOCKET_ERROR;
+ GlobalOutput.perror("TSocket::open() getsockopt() " + getSocketInfo(), errno_copy);
+ throw TTransportException(TTransportException::NOT_OPEN, "getsockopt()", errno_copy);
+ }
+ // no errors on socket, go to town
+ if (val == 0) {
+ goto done;
+ }
+ GlobalOutput.perror("TSocket::open() error on socket (after THRIFT_POLL) " + getSocketInfo(), val);
+ throw TTransportException(TTransportException::NOT_OPEN, "socket open() error", val);
+ } else if (ret == 0) {
+ // socket timed out
+ string errStr = "TSocket::open() timed out " + getSocketInfo();
+ GlobalOutput(errStr.c_str());
+ throw TTransportException(TTransportException::NOT_OPEN, "open() timed out");
+ } else {
+ // error on THRIFT_POLL()
+ int errno_copy = THRIFT_GET_SOCKET_ERROR;
+ GlobalOutput.perror("TSocket::open() THRIFT_POLL() " + getSocketInfo(), errno_copy);
+ throw TTransportException(TTransportException::NOT_OPEN, "THRIFT_POLL() failed", errno_copy);
+ }
+
+ done:
+ // Set socket back to normal mode (blocking)
+ THRIFT_FCNTL(socket_, THRIFT_F_SETFL, flags);
+
+ if (path_.empty()) {
+ setCachedAddress(res->ai_addr, static_cast<socklen_t>(res->ai_addrlen));
+ }
+}
+
+void TSocket::open() {
+ if (isOpen()) {
+ return;
+ }
+ if (! path_.empty()) {
+ unix_open();
+ } else {
+ local_open();
+ }
+}
+
+void TSocket::unix_open(){
+ if (! path_.empty()) {
+ // Unix Domain SOcket does not need addrinfo struct, so we pass NULL
+ openConnection(NULL);
+ }
+}
+
+void TSocket::local_open(){
+
+#ifdef _WIN32
+ TWinsockSingleton::create();
+#endif // _WIN32
+
+ if (isOpen()) {
+ return;
+ }
+
+ // Validate port number
+ if (port_ < 0 || port_ > 0xFFFF) {
+ throw TTransportException(TTransportException::NOT_OPEN, "Specified port is invalid");
+ }
+
+ struct addrinfo hints, *res, *res0;
+ res = NULL;
+ res0 = NULL;
+ int error;
+ char port[sizeof("65535")];
+ std::memset(&hints, 0, sizeof(hints));
+ hints.ai_family = PF_UNSPEC;
+ hints.ai_socktype = SOCK_STREAM;
+ hints.ai_flags = AI_PASSIVE | AI_ADDRCONFIG;
+ sprintf(port, "%d", port_);
+
+ error = getaddrinfo(host_.c_str(), port, &hints, &res0);
+
+ if (error) {
+ string errStr = "TSocket::open() getaddrinfo() " + getSocketInfo() + string(THRIFT_GAI_STRERROR(error));
+ GlobalOutput(errStr.c_str());
+ close();
+ throw TTransportException(TTransportException::NOT_OPEN, "Could not resolve host for client socket.");
+ }
+
+ // Cycle through all the returned addresses until one
+ // connects or push the exception up.
+ for (res = res0; res; res = res->ai_next) {
+ try {
+ openConnection(res);
+ break;
+ } catch (TTransportException&) {
+ if (res->ai_next) {
+ close();
+ } else {
+ close();
+ freeaddrinfo(res0); // cleanup on failure
+ throw;
+ }
+ }
+ }
+
+ // Free address structure memory
+ freeaddrinfo(res0);
+}
+
+void TSocket::close() {
+ if (socket_ != THRIFT_INVALID_SOCKET) {
+ shutdown(socket_, THRIFT_SHUT_RDWR);
+ ::THRIFT_CLOSESOCKET(socket_);
+ }
+ socket_ = THRIFT_INVALID_SOCKET;
+}
+
+void TSocket::setSocketFD(THRIFT_SOCKET socket) {
+ if (socket_ != THRIFT_INVALID_SOCKET) {
+ close();
+ }
+ socket_ = socket;
+}
+
+uint32_t TSocket::read(uint8_t* buf, uint32_t len) {
+ if (socket_ == THRIFT_INVALID_SOCKET) {
+ throw TTransportException(TTransportException::NOT_OPEN, "Called read on non-open socket");
+ }
+
+ int32_t retries = 0;
+
+ // THRIFT_EAGAIN can be signalled both when a timeout has occurred and when
+ // the system is out of resources (an awesome undocumented feature).
+ // The following is an approximation of the time interval under which
+ // THRIFT_EAGAIN is taken to indicate an out of resources error.
+ uint32_t eagainThresholdMicros = 0;
+ if (recvTimeout_) {
+ // if a readTimeout is specified along with a max number of recv retries, then
+ // the threshold will ensure that the read timeout is not exceeded even in the
+ // case of resource errors
+ eagainThresholdMicros = (recvTimeout_*1000)/ ((maxRecvRetries_>0) ? maxRecvRetries_ : 2);
+ }
+
+ try_again:
+ // Read from the socket
+ struct timeval begin;
+ if (recvTimeout_ > 0) {
+ THRIFT_GETTIMEOFDAY(&begin, NULL);
+ } else {
+ // if there is no read timeout we don't need the TOD to determine whether
+ // an THRIFT_EAGAIN is due to a timeout or an out-of-resource condition.
+ begin.tv_sec = begin.tv_usec = 0;
+ }
+ int got = static_cast<int>(recv(socket_, cast_sockopt(buf), len, 0));
+ int errno_copy = THRIFT_GET_SOCKET_ERROR; //THRIFT_GETTIMEOFDAY can change THRIFT_GET_SOCKET_ERROR
+ ++g_socket_syscalls;
+
+ // Check for error on read
+ if (got < 0) {
+ if (errno_copy == THRIFT_EAGAIN) {
+ // if no timeout we can assume that resource exhaustion has occurred.
+ if (recvTimeout_ == 0) {
+ throw TTransportException(TTransportException::TIMED_OUT,
+ "THRIFT_EAGAIN (unavailable resources)");
+ }
+ // check if this is the lack of resources or timeout case
+ struct timeval end;
+ THRIFT_GETTIMEOFDAY(&end, NULL);
+ uint32_t readElapsedMicros = static_cast<uint32_t>(
+ ((end.tv_sec - begin.tv_sec) * 1000 * 1000)
+ + (((uint64_t)(end.tv_usec - begin.tv_usec))));
+
+ if (!eagainThresholdMicros || (readElapsedMicros < eagainThresholdMicros)) {
+ if (retries++ < maxRecvRetries_) {
+ THRIFT_SLEEP_USEC(50);
+ goto try_again;
+ } else {
+ throw TTransportException(TTransportException::TIMED_OUT,
+ "THRIFT_EAGAIN (unavailable resources)");
+ }
+ } else {
+ // infer that timeout has been hit
+ throw TTransportException(TTransportException::TIMED_OUT,
+ "THRIFT_EAGAIN (timed out)");
+ }
+ }
+
+ // If interrupted, try again
+ if (errno_copy == THRIFT_EINTR && retries++ < maxRecvRetries_) {
+ goto try_again;
+ }
+
+ #if defined __FreeBSD__ || defined __MACH__
+ if (errno_copy == THRIFT_ECONNRESET) {
+ /* shigin: freebsd doesn't follow POSIX semantic of recv and fails with
+ * THRIFT_ECONNRESET if peer performed shutdown
+ * edhall: eliminated close() since we do that in the destructor.
+ */
+ return 0;
+ }
+ #endif
+
+#ifdef _WIN32
+ if(errno_copy == WSAECONNRESET) {
+ return 0; // EOF
+ }
+#endif
+
+ // Now it's not a try again case, but a real probblez
+ GlobalOutput.perror("TSocket::read() recv() " + getSocketInfo(), errno_copy);
+
+ // If we disconnect with no linger time
+ if (errno_copy == THRIFT_ECONNRESET) {
+ throw TTransportException(TTransportException::NOT_OPEN, "THRIFT_ECONNRESET");
+ }
+
+ // This ish isn't open
+ if (errno_copy == THRIFT_ENOTCONN) {
+ throw TTransportException(TTransportException::NOT_OPEN, "THRIFT_ENOTCONN");
+ }
+
+ // Timed out!
+ if (errno_copy == THRIFT_ETIMEDOUT) {
+ throw TTransportException(TTransportException::TIMED_OUT, "THRIFT_ETIMEDOUT");
+ }
+
+ // Some other error, whatevz
+ throw TTransportException(TTransportException::UNKNOWN, "Unknown", errno_copy);
+ }
+
+ // The remote host has closed the socket
+ if (got == 0) {
+ // edhall: we used to call close() here, but our caller may want to deal
+ // with the socket fd and we'll close() in our destructor in any case.
+ return 0;
+ }
+
+ // Pack data into string
+ return got;
+}
+
+void TSocket::write(const uint8_t* buf, uint32_t len) {
+ uint32_t sent = 0;
+
+ while (sent < len) {
+ uint32_t b = write_partial(buf + sent, len - sent);
+ if (b == 0) {
+ // This should only happen if the timeout set with SO_SNDTIMEO expired.
+ // Raise an exception.
+ throw TTransportException(TTransportException::TIMED_OUT,
+ "send timeout expired");
+ }
+ sent += b;
+ }
+}
+
+uint32_t TSocket::write_partial(const uint8_t* buf, uint32_t len) {
+ if (socket_ == THRIFT_INVALID_SOCKET) {
+ throw TTransportException(TTransportException::NOT_OPEN, "Called write on non-open socket");
+ }
+
+ uint32_t sent = 0;
+
+ int flags = 0;
+#ifdef MSG_NOSIGNAL
+ // Note the use of MSG_NOSIGNAL to suppress SIGPIPE errors, instead we
+ // check for the THRIFT_EPIPE return condition and close the socket in that case
+ flags |= MSG_NOSIGNAL;
+#endif // ifdef MSG_NOSIGNAL
+
+ int b = static_cast<int>(send(socket_, const_cast_sockopt(buf + sent), len - sent, flags));
+ ++g_socket_syscalls;
+
+ if (b < 0) {
+ if (THRIFT_GET_SOCKET_ERROR == THRIFT_EWOULDBLOCK || THRIFT_GET_SOCKET_ERROR == THRIFT_EAGAIN) {
+ return 0;
+ }
+ // Fail on a send error
+ int errno_copy = THRIFT_GET_SOCKET_ERROR;
+ GlobalOutput.perror("TSocket::write_partial() send() " + getSocketInfo(), errno_copy);
+
+ if (errno_copy == THRIFT_EPIPE || errno_copy == THRIFT_ECONNRESET || errno_copy == THRIFT_ENOTCONN) {
+ close();
+ throw TTransportException(TTransportException::NOT_OPEN, "write() send()", errno_copy);
+ }
+
+ throw TTransportException(TTransportException::UNKNOWN, "write() send()", errno_copy);
+ }
+
+ // Fail on blocked send
+ if (b == 0) {
+ throw TTransportException(TTransportException::NOT_OPEN, "Socket send returned 0.");
+ }
+ return b;
+}
+
+std::string TSocket::getHost() {
+ return host_;
+}
+
+int TSocket::getPort() {
+ return port_;
+}
+
+void TSocket::setHost(string host) {
+ host_ = host;
+}
+
+void TSocket::setPort(int port) {
+ port_ = port;
+}
+
+void TSocket::setLinger(bool on, int linger) {
+ lingerOn_ = on;
+ lingerVal_ = linger;
+ if (socket_ == THRIFT_INVALID_SOCKET) {
+ return;
+ }
+
+ struct linger l = {(lingerOn_ ? 1 : 0), lingerVal_};
+ int ret = setsockopt(socket_, SOL_SOCKET, SO_LINGER, cast_sockopt(&l), sizeof(l));
+ if (ret == -1) {
+ int errno_copy = THRIFT_GET_SOCKET_ERROR; // Copy THRIFT_GET_SOCKET_ERROR because we're allocating memory.
+ GlobalOutput.perror("TSocket::setLinger() setsockopt() " + getSocketInfo(), errno_copy);
+ }
+}
+
+void TSocket::setNoDelay(bool noDelay) {
+ noDelay_ = noDelay;
+ if (socket_ == THRIFT_INVALID_SOCKET || !path_.empty()) {
+ return;
+ }
+
+ // Set socket to NODELAY
+ int v = noDelay_ ? 1 : 0;
+ int ret = setsockopt(socket_, IPPROTO_TCP, TCP_NODELAY, cast_sockopt(&v), sizeof(v));
+ if (ret == -1) {
+ int errno_copy = THRIFT_GET_SOCKET_ERROR; // Copy THRIFT_GET_SOCKET_ERROR because we're allocating memory.
+ GlobalOutput.perror("TSocket::setNoDelay() setsockopt() " + getSocketInfo(), errno_copy);
+ }
+}
+
+void TSocket::setConnTimeout(int ms) {
+ connTimeout_ = ms;
+}
+
+void TSocket::setRecvTimeout(int ms) {
+ if (ms < 0) {
+ char errBuf[512];
+ sprintf(errBuf, "TSocket::setRecvTimeout with negative input: %d\n", ms);
+ GlobalOutput(errBuf);
+ return;
+ }
+ recvTimeout_ = ms;
+
+ if (socket_ == THRIFT_INVALID_SOCKET) {
+ return;
+ }
+
+ recvTimeval_.tv_sec = (int)(recvTimeout_/1000);
+ recvTimeval_.tv_usec = (int)((recvTimeout_%1000)*1000);
+
+ // Copy because THRIFT_POLL may modify
+ struct timeval r = recvTimeval_;
+ int ret = setsockopt(socket_, SOL_SOCKET, SO_RCVTIMEO, cast_sockopt(&r), sizeof(r));
+ if (ret == -1) {
+ int errno_copy = THRIFT_GET_SOCKET_ERROR; // Copy THRIFT_GET_SOCKET_ERROR because we're allocating memory.
+ GlobalOutput.perror("TSocket::setRecvTimeout() setsockopt() " + getSocketInfo(), errno_copy);
+ }
+}
+
+void TSocket::setSendTimeout(int ms) {
+ if (ms < 0) {
+ char errBuf[512];
+ sprintf(errBuf, "TSocket::setSendTimeout with negative input: %d\n", ms);
+ GlobalOutput(errBuf);
+ return;
+ }
+ sendTimeout_ = ms;
+
+ if (socket_ == THRIFT_INVALID_SOCKET) {
+ return;
+ }
+
+ struct timeval s = {(int)(sendTimeout_/1000),
+ (int)((sendTimeout_%1000)*1000)};
+ int ret = setsockopt(socket_, SOL_SOCKET, SO_SNDTIMEO, cast_sockopt(&s), sizeof(s));
+ if (ret == -1) {
+ int errno_copy = THRIFT_GET_SOCKET_ERROR; // Copy THRIFT_GET_SOCKET_ERROR because we're allocating memory.
+ GlobalOutput.perror("TSocket::setSendTimeout() setsockopt() " + getSocketInfo(), errno_copy);
+ }
+}
+
+void TSocket::setMaxRecvRetries(int maxRecvRetries) {
+ maxRecvRetries_ = maxRecvRetries;
+}
+
+string TSocket::getSocketInfo() {
+ std::ostringstream oss;
+ if (host_.empty() || port_ == 0) {
+ oss << "<Host: " << getPeerAddress();
+ oss << " Port: " << getPeerPort() << ">";
+ } else {
+ oss << "<Host: " << host_ << " Port: " << port_ << ">";
+ }
+ return oss.str();
+}
+
+std::string TSocket::getPeerHost() {
+ if (peerHost_.empty() && path_.empty()) {
+ struct sockaddr_storage addr;
+ struct sockaddr* addrPtr;
+ socklen_t addrLen;
+
+ if (socket_ == THRIFT_INVALID_SOCKET) {
+ return host_;
+ }
+
+ addrPtr = getCachedAddress(&addrLen);
+
+ if (addrPtr == NULL) {
+ addrLen = sizeof(addr);
+ if (getpeername(socket_, (sockaddr*) &addr, &addrLen) != 0) {
+ return peerHost_;
+ }
+ addrPtr = (sockaddr*)&addr;
+
+ setCachedAddress(addrPtr, addrLen);
+ }
+
+ char clienthost[NI_MAXHOST];
+ char clientservice[NI_MAXSERV];
+
+ getnameinfo((sockaddr*) addrPtr, addrLen,
+ clienthost, sizeof(clienthost),
+ clientservice, sizeof(clientservice), 0);
+
+ peerHost_ = clienthost;
+ }
+ return peerHost_;
+}
+
+std::string TSocket::getPeerAddress() {
+ if (peerAddress_.empty() && path_.empty()) {
+ struct sockaddr_storage addr;
+ struct sockaddr* addrPtr;
+ socklen_t addrLen;
+
+ if (socket_ == THRIFT_INVALID_SOCKET) {
+ return peerAddress_;
+ }
+
+ addrPtr = getCachedAddress(&addrLen);
+
+ if (addrPtr == NULL) {
+ addrLen = sizeof(addr);
+ if (getpeername(socket_, (sockaddr*) &addr, &addrLen) != 0) {
+ return peerAddress_;
+ }
+ addrPtr = (sockaddr*)&addr;
+
+ setCachedAddress(addrPtr, addrLen);
+ }
+
+ char clienthost[NI_MAXHOST];
+ char clientservice[NI_MAXSERV];
+
+ getnameinfo(addrPtr, addrLen,
+ clienthost, sizeof(clienthost),
+ clientservice, sizeof(clientservice),
+ NI_NUMERICHOST|NI_NUMERICSERV);
+
+ peerAddress_ = clienthost;
+ peerPort_ = std::atoi(clientservice);
+ }
+ return peerAddress_;
+}
+
+int TSocket::getPeerPort() {
+ getPeerAddress();
+ return peerPort_;
+}
+
+void TSocket::setCachedAddress(const sockaddr* addr, socklen_t len) {
+ if (!path_.empty()) {
+ return;
+ }
+
+ switch (addr->sa_family) {
+ case AF_INET:
+ if (len == sizeof(sockaddr_in)) {
+ memcpy((void*)&cachedPeerAddr_.ipv4, (void*)addr, len);
+ }
+ break;
+
+ case AF_INET6:
+ if (len == sizeof(sockaddr_in6)) {
+ memcpy((void*)&cachedPeerAddr_.ipv6, (void*)addr, len);
+ }
+ break;
+ }
+}
+
+sockaddr* TSocket::getCachedAddress(socklen_t* len) const {
+ switch (cachedPeerAddr_.ipv4.sin_family) {
+ case AF_INET:
+ *len = sizeof(sockaddr_in);
+ return (sockaddr*) &cachedPeerAddr_.ipv4;
+
+ case AF_INET6:
+ *len = sizeof(sockaddr_in6);
+ return (sockaddr*) &cachedPeerAddr_.ipv6;
+
+ default:
+ return NULL;
+ }
+}
+
+bool TSocket::useLowMinRto_ = false;
+void TSocket::setUseLowMinRto(bool useLowMinRto) {
+ useLowMinRto_ = useLowMinRto;
+}
+bool TSocket::getUseLowMinRto() {
+ return useLowMinRto_;
+}
+
+}}} // apache::thrift::transport
http://git-wip-us.apache.org/repos/asf/airavata/blob/f891b7dc/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/transport/TSocket.h
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/transport/TSocket.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/transport/TSocket.h
new file mode 100644
index 0000000..fd5b961
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/transport/TSocket.h
@@ -0,0 +1,309 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you 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 _THRIFT_TRANSPORT_TSOCKET_H_
+#define _THRIFT_TRANSPORT_TSOCKET_H_ 1
+
+#include <string>
+
+#include <thrift/transport/TTransport.h>
+#include <thrift/transport/TVirtualTransport.h>
+#include <thrift/transport/TServerSocket.h>
+#include <thrift/transport/PlatformSocket.h>
+
+#ifdef HAVE_ARPA_INET_H
+#include <arpa/inet.h>
+#endif
+#ifdef HAVE_SYS_TIME_H
+#include <sys/time.h>
+#endif
+#ifdef HAVE_NETDB_H
+#include <netdb.h>
+#endif
+
+namespace apache { namespace thrift { namespace transport {
+
+/**
+ * TCP Socket implementation of the TTransport interface.
+ *
+ */
+class TSocket : public TVirtualTransport<TSocket> {
+ public:
+ /**
+ * Constructs a new socket. Note that this does NOT actually connect the
+ * socket.
+ *
+ */
+ TSocket();
+
+ /**
+ * Constructs a new socket. Note that this does NOT actually connect the
+ * socket.
+ *
+ * @param host An IP address or hostname to connect to
+ * @param port The port to connect on
+ */
+ TSocket(std::string host, int port);
+
+ /**
+ * Constructs a new Unix domain socket.
+ * Note that this does NOT actually connect the socket.
+ *
+ * @param path The Unix domain socket e.g. "/tmp/ThriftTest.binary.thrift"
+ */
+ TSocket(std::string path);
+
+ /**
+ * Destroyes the socket object, closing it if necessary.
+ */
+ virtual ~TSocket();
+
+ /**
+ * Whether the socket is alive.
+ *
+ * @return Is the socket alive?
+ */
+ virtual bool isOpen();
+
+ /**
+ * Calls select on the socket to see if there is more data available.
+ */
+ virtual bool peek();
+
+ /**
+ * Creates and opens the UNIX socket.
+ *
+ * @throws TTransportException If the socket could not connect
+ */
+ virtual void open();
+
+ /**
+ * Shuts down communications on the socket.
+ */
+ virtual void close();
+
+ /**
+ * Reads from the underlying socket.
+ */
+ virtual uint32_t read(uint8_t* buf, uint32_t len);
+
+ /**
+ * Writes to the underlying socket. Loops until done or fail.
+ */
+ virtual void write(const uint8_t* buf, uint32_t len);
+
+ /**
+ * Writes to the underlying socket. Does single send() and returns result.
+ */
+ uint32_t write_partial(const uint8_t* buf, uint32_t len);
+
+ /**
+ * Get the host that the socket is connected to
+ *
+ * @return string host identifier
+ */
+ std::string getHost();
+
+ /**
+ * Get the port that the socket is connected to
+ *
+ * @return int port number
+ */
+ int getPort();
+
+ /**
+ * Set the host that socket will connect to
+ *
+ * @param host host identifier
+ */
+ void setHost(std::string host);
+
+ /**
+ * Set the port that socket will connect to
+ *
+ * @param port port number
+ */
+ void setPort(int port);
+
+ /**
+ * Controls whether the linger option is set on the socket.
+ *
+ * @param on Whether SO_LINGER is on
+ * @param linger If linger is active, the number of seconds to linger for
+ */
+ void setLinger(bool on, int linger);
+
+ /**
+ * Whether to enable/disable Nagle's algorithm.
+ *
+ * @param noDelay Whether or not to disable the algorithm.
+ * @return
+ */
+ void setNoDelay(bool noDelay);
+
+ /**
+ * Set the connect timeout
+ */
+ void setConnTimeout(int ms);
+
+ /**
+ * Set the receive timeout
+ */
+ void setRecvTimeout(int ms);
+
+ /**
+ * Set the send timeout
+ */
+ void setSendTimeout(int ms);
+
+ /**
+ * Set the max number of recv retries in case of an THRIFT_EAGAIN
+ * error
+ */
+ void setMaxRecvRetries(int maxRecvRetries);
+
+ /**
+ * Get socket information formated as a string <Host: x Port: x>
+ */
+ std::string getSocketInfo();
+
+ /**
+ * Returns the DNS name of the host to which the socket is connected
+ */
+ std::string getPeerHost();
+
+ /**
+ * Returns the address of the host to which the socket is connected
+ */
+ std::string getPeerAddress();
+
+ /**
+ * Returns the port of the host to which the socket is connected
+ **/
+ int getPeerPort();
+
+ /**
+ * Returns the underlying socket file descriptor.
+ */
+ THRIFT_SOCKET getSocketFD() {
+ return socket_;
+ }
+
+ /**
+ * (Re-)initialize a TSocket for the supplied descriptor. This is only
+ * intended for use by TNonblockingServer -- other use may result in
+ * unfortunate surprises.
+ *
+ * @param fd the descriptor for an already-connected socket
+ */
+ void setSocketFD(THRIFT_SOCKET fd);
+
+ /*
+ * Returns a cached copy of the peer address.
+ */
+ sockaddr* getCachedAddress(socklen_t* len) const;
+
+ /**
+ * Sets whether to use a low minimum TCP retransmission timeout.
+ */
+ static void setUseLowMinRto(bool useLowMinRto);
+
+ /**
+ * Gets whether to use a low minimum TCP retransmission timeout.
+ */
+ static bool getUseLowMinRto();
+
+ /**
+ * Constructor to create socket from raw UNIX handle.
+ */
+ TSocket(THRIFT_SOCKET socket);
+
+ /**
+ * Set a cache of the peer address (used when trivially available: e.g.
+ * accept() or connect()). Only caches IPV4 and IPV6; unset for others.
+ */
+ void setCachedAddress(const sockaddr* addr, socklen_t len);
+
+ protected:
+ /** connect, called by open */
+ void openConnection(struct addrinfo *res);
+
+ /** Host to connect to */
+ std::string host_;
+
+ /** Peer hostname */
+ std::string peerHost_;
+
+ /** Peer address */
+ std::string peerAddress_;
+
+ /** Peer port */
+ int peerPort_;
+
+ /** Port number to connect on */
+ int port_;
+
+ /** UNIX domain socket path */
+ std::string path_;
+
+ /** Underlying UNIX socket handle */
+ THRIFT_SOCKET socket_;
+
+ /** Connect timeout in ms */
+ int connTimeout_;
+
+ /** Send timeout in ms */
+ int sendTimeout_;
+
+ /** Recv timeout in ms */
+ int recvTimeout_;
+
+ /** Linger on */
+ bool lingerOn_;
+
+ /** Linger val */
+ int lingerVal_;
+
+ /** Nodelay */
+ bool noDelay_;
+
+ /** Recv EGAIN retries */
+ int maxRecvRetries_;
+
+ /** Recv timeout timeval */
+ struct timeval recvTimeval_;
+
+ /** Cached peer address */
+ union {
+ sockaddr_in ipv4;
+ sockaddr_in6 ipv6;
+ } cachedPeerAddr_;
+
+ /** Whether to use low minimum TCP retransmission timeout */
+ static bool useLowMinRto_;
+
+ private:
+ void unix_open();
+ void local_open();
+};
+
+}}} // apache::thrift::transport
+
+#endif // #ifndef _THRIFT_TRANSPORT_TSOCKET_H_
+
http://git-wip-us.apache.org/repos/asf/airavata/blob/f891b7dc/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/transport/TSocketPool.cpp
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/transport/TSocketPool.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/transport/TSocketPool.cpp
new file mode 100644
index 0000000..e0b286a
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/transport/TSocketPool.cpp
@@ -0,0 +1,254 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you 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 <thrift/thrift-config.h>
+
+#include <algorithm>
+#include <iostream>
+
+#include <thrift/transport/TSocketPool.h>
+
+namespace apache { namespace thrift { namespace transport {
+
+using namespace std;
+
+using boost::shared_ptr;
+
+/**
+ * TSocketPoolServer implementation
+ *
+ */
+TSocketPoolServer::TSocketPoolServer()
+ : host_(""),
+ port_(0),
+ socket_(THRIFT_INVALID_SOCKET),
+ lastFailTime_(0),
+ consecutiveFailures_(0) {}
+
+/**
+ * Constructor for TSocketPool server
+ */
+TSocketPoolServer::TSocketPoolServer(const string &host, int port)
+ : host_(host),
+ port_(port),
+ socket_(THRIFT_INVALID_SOCKET),
+ lastFailTime_(0),
+ consecutiveFailures_(0) {}
+
+/**
+ * TSocketPool implementation.
+ *
+ */
+
+TSocketPool::TSocketPool() : TSocket(),
+ numRetries_(1),
+ retryInterval_(60),
+ maxConsecutiveFailures_(1),
+ randomize_(true),
+ alwaysTryLast_(true) {
+}
+
+TSocketPool::TSocketPool(const vector<string> &hosts,
+ const vector<int> &ports) : TSocket(),
+ numRetries_(1),
+ retryInterval_(60),
+ maxConsecutiveFailures_(1),
+ randomize_(true),
+ alwaysTryLast_(true)
+{
+ if (hosts.size() != ports.size()) {
+ GlobalOutput("TSocketPool::TSocketPool: hosts.size != ports.size");
+ throw TTransportException(TTransportException::BAD_ARGS);
+ }
+
+ for (unsigned int i = 0; i < hosts.size(); ++i) {
+ addServer(hosts[i], ports[i]);
+ }
+}
+
+TSocketPool::TSocketPool(const vector<pair<string, int> >& servers) : TSocket(),
+ numRetries_(1),
+ retryInterval_(60),
+ maxConsecutiveFailures_(1),
+ randomize_(true),
+ alwaysTryLast_(true)
+{
+ for (unsigned i = 0; i < servers.size(); ++i) {
+ addServer(servers[i].first, servers[i].second);
+ }
+}
+
+TSocketPool::TSocketPool(const vector< shared_ptr<TSocketPoolServer> >& servers) : TSocket(),
+ servers_(servers),
+ numRetries_(1),
+ retryInterval_(60),
+ maxConsecutiveFailures_(1),
+ randomize_(true),
+ alwaysTryLast_(true)
+{
+}
+
+TSocketPool::TSocketPool(const string& host, int port) : TSocket(),
+ numRetries_(1),
+ retryInterval_(60),
+ maxConsecutiveFailures_(1),
+ randomize_(true),
+ alwaysTryLast_(true)
+{
+ addServer(host, port);
+}
+
+TSocketPool::~TSocketPool() {
+ vector< shared_ptr<TSocketPoolServer> >::const_iterator iter = servers_.begin();
+ vector< shared_ptr<TSocketPoolServer> >::const_iterator iterEnd = servers_.end();
+ for (; iter != iterEnd; ++iter) {
+ setCurrentServer(*iter);
+ TSocketPool::close();
+ }
+}
+
+void TSocketPool::addServer(const string& host, int port) {
+ servers_.push_back(shared_ptr<TSocketPoolServer>(new TSocketPoolServer(host, port)));
+}
+
+void TSocketPool::addServer(shared_ptr<TSocketPoolServer> &server) {
+ if (server) {
+ servers_.push_back(server);
+ }
+}
+
+void TSocketPool::setServers(const vector< shared_ptr<TSocketPoolServer> >& servers) {
+ servers_ = servers;
+}
+
+void TSocketPool::getServers(vector< shared_ptr<TSocketPoolServer> >& servers) {
+ servers = servers_;
+}
+
+void TSocketPool::setNumRetries(int numRetries) {
+ numRetries_ = numRetries;
+}
+
+void TSocketPool::setRetryInterval(int retryInterval) {
+ retryInterval_ = retryInterval;
+}
+
+
+void TSocketPool::setMaxConsecutiveFailures(int maxConsecutiveFailures) {
+ maxConsecutiveFailures_ = maxConsecutiveFailures;
+}
+
+void TSocketPool::setRandomize(bool randomize) {
+ randomize_ = randomize;
+}
+
+void TSocketPool::setAlwaysTryLast(bool alwaysTryLast) {
+ alwaysTryLast_ = alwaysTryLast;
+}
+
+void TSocketPool::setCurrentServer(const shared_ptr<TSocketPoolServer> &server) {
+ currentServer_ = server;
+ host_ = server->host_;
+ port_ = server->port_;
+ socket_ = server->socket_;
+}
+
+/**
+ * This function throws an exception if socket open fails. When socket
+ * opens fails, the socket in the current server is reset.
+ */
+/* TODO: without apc we ignore a lot of functionality from the php version */
+void TSocketPool::open() {
+
+ size_t numServers = servers_.size();
+ if (numServers == 0) {
+ socket_ = THRIFT_INVALID_SOCKET;
+ throw TTransportException(TTransportException::NOT_OPEN);
+ }
+
+ if (isOpen()) {
+ return;
+ }
+
+ if (randomize_ && numServers > 1) {
+ random_shuffle(servers_.begin(), servers_.end());
+ }
+
+ for (size_t i = 0; i < numServers; ++i) {
+
+ shared_ptr<TSocketPoolServer> &server = servers_[i];
+ // Impersonate the server socket
+ setCurrentServer(server);
+
+ if (isOpen()) {
+ // already open means we're done
+ return;
+ }
+
+ bool retryIntervalPassed = (server->lastFailTime_ == 0);
+ bool isLastServer = alwaysTryLast_ ? (i == (numServers - 1)) : false;
+
+ if (server->lastFailTime_ > 0) {
+ // The server was marked as down, so check if enough time has elapsed to retry
+ time_t elapsedTime = time(NULL) - server->lastFailTime_;
+ if (elapsedTime > retryInterval_) {
+ retryIntervalPassed = true;
+ }
+ }
+
+ if (retryIntervalPassed || isLastServer) {
+ for (int j = 0; j < numRetries_; ++j) {
+ try {
+ TSocket::open();
+ } catch (TException e) {
+ string errStr = "TSocketPool::open failed "+getSocketInfo()+": "+e.what();
+ GlobalOutput(errStr.c_str());
+ socket_ = THRIFT_INVALID_SOCKET;
+ continue;
+ }
+
+ // Copy over the opened socket so that we can keep it persistent
+ server->socket_ = socket_;
+ // reset lastFailTime_ is required
+ server->lastFailTime_ = 0;
+ // success
+ return;
+ }
+
+ ++server->consecutiveFailures_;
+ if (server->consecutiveFailures_ > maxConsecutiveFailures_) {
+ // Mark server as down
+ server->consecutiveFailures_ = 0;
+ server->lastFailTime_ = time(NULL);
+ }
+ }
+ }
+
+ GlobalOutput("TSocketPool::open: all connections failed");
+ throw TTransportException(TTransportException::NOT_OPEN);
+}
+
+void TSocketPool::close() {
+ TSocket::close();
+ if (currentServer_) {
+ currentServer_->socket_ = THRIFT_INVALID_SOCKET;
+ }
+}
+
+}}} // apache::thrift::transport
http://git-wip-us.apache.org/repos/asf/airavata/blob/f891b7dc/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/transport/TSocketPool.h
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/transport/TSocketPool.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/transport/TSocketPool.h
new file mode 100644
index 0000000..7728257
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/transport/TSocketPool.h
@@ -0,0 +1,196 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you 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 _THRIFT_TRANSPORT_TSOCKETPOOL_H_
+#define _THRIFT_TRANSPORT_TSOCKETPOOL_H_ 1
+
+#include <vector>
+#include <thrift/transport/TSocket.h>
+
+namespace apache { namespace thrift { namespace transport {
+
+ /**
+ * Class to hold server information for TSocketPool
+ *
+ */
+class TSocketPoolServer {
+
+ public:
+ /**
+ * Default constructor for server info
+ */
+ TSocketPoolServer();
+
+ /**
+ * Constructor for TSocketPool server
+ */
+ TSocketPoolServer(const std::string &host, int port);
+
+ // Host name
+ std::string host_;
+
+ // Port to connect on
+ int port_;
+
+ // Socket for the server
+ THRIFT_SOCKET socket_;
+
+ // Last time connecting to this server failed
+ time_t lastFailTime_;
+
+ // Number of consecutive times connecting to this server failed
+ int consecutiveFailures_;
+};
+
+/**
+ * TCP Socket implementation of the TTransport interface.
+ *
+ */
+class TSocketPool : public TSocket {
+
+ public:
+
+ /**
+ * Socket pool constructor
+ */
+ TSocketPool();
+
+ /**
+ * Socket pool constructor
+ *
+ * @param hosts list of host names
+ * @param ports list of port names
+ */
+ TSocketPool(const std::vector<std::string> &hosts,
+ const std::vector<int> &ports);
+
+ /**
+ * Socket pool constructor
+ *
+ * @param servers list of pairs of host name and port
+ */
+ TSocketPool(const std::vector<std::pair<std::string, int> >& servers);
+
+ /**
+ * Socket pool constructor
+ *
+ * @param servers list of TSocketPoolServers
+ */
+ TSocketPool(const std::vector< boost::shared_ptr<TSocketPoolServer> >& servers);
+
+ /**
+ * Socket pool constructor
+ *
+ * @param host single host
+ * @param port single port
+ */
+ TSocketPool(const std::string& host, int port);
+
+ /**
+ * Destroyes the socket object, closing it if necessary.
+ */
+ virtual ~TSocketPool();
+
+ /**
+ * Add a server to the pool
+ */
+ void addServer(const std::string& host, int port);
+
+ /**
+ * Add a server to the pool
+ */
+ void addServer(boost::shared_ptr<TSocketPoolServer> &server);
+
+ /**
+ * Set list of servers in this pool
+ */
+ void setServers(const std::vector< boost::shared_ptr<TSocketPoolServer> >& servers);
+
+ /**
+ * Get list of servers in this pool
+ */
+ void getServers(std::vector< boost::shared_ptr<TSocketPoolServer> >& servers);
+
+ /**
+ * Sets how many times to keep retrying a host in the connect function.
+ */
+ void setNumRetries(int numRetries);
+
+ /**
+ * Sets how long to wait until retrying a host if it was marked down
+ */
+ void setRetryInterval(int retryInterval);
+
+ /**
+ * Sets how many times to keep retrying a host before marking it as down.
+ */
+ void setMaxConsecutiveFailures(int maxConsecutiveFailures);
+
+ /**
+ * Turns randomization in connect order on or off.
+ */
+ void setRandomize(bool randomize);
+
+ /**
+ * Whether to always try the last server.
+ */
+ void setAlwaysTryLast(bool alwaysTryLast);
+
+ /**
+ * Creates and opens the UNIX socket.
+ */
+ void open();
+
+ /*
+ * Closes the UNIX socket
+ */
+ void close();
+
+ protected:
+
+ void setCurrentServer(const boost::shared_ptr<TSocketPoolServer> &server);
+
+ /** List of servers to connect to */
+ std::vector< boost::shared_ptr<TSocketPoolServer> > servers_;
+
+ /** Current server */
+ boost::shared_ptr<TSocketPoolServer> currentServer_;
+
+ /** How many times to retry each host in connect */
+ int numRetries_;
+
+ /** Retry interval in seconds, how long to not try a host if it has been
+ * marked as down.
+ */
+ time_t retryInterval_;
+
+ /** Max consecutive failures before marking a host down. */
+ int maxConsecutiveFailures_;
+
+ /** Try hosts in order? or Randomized? */
+ bool randomize_;
+
+ /** Always try last host, even if marked down? */
+ bool alwaysTryLast_;
+};
+
+}}} // apache::thrift::transport
+
+#endif // #ifndef _THRIFT_TRANSPORT_TSOCKETPOOL_H_
+
http://git-wip-us.apache.org/repos/asf/airavata/blob/f891b7dc/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/transport/TTransport.h
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/transport/TTransport.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/transport/TTransport.h
new file mode 100644
index 0000000..3b552c4
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/transport/TTransport.h
@@ -0,0 +1,270 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you 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 _THRIFT_TRANSPORT_TTRANSPORT_H_
+#define _THRIFT_TRANSPORT_TTRANSPORT_H_ 1
+
+#include <thrift/Thrift.h>
+#include <boost/shared_ptr.hpp>
+#include <thrift/transport/TTransportException.h>
+#include <string>
+
+namespace apache { namespace thrift { namespace transport {
+
+/**
+ * Helper template to hoist readAll implementation out of TTransport
+ */
+template <class Transport_>
+uint32_t readAll(Transport_ &trans, uint8_t* buf, uint32_t len) {
+ uint32_t have = 0;
+ uint32_t get = 0;
+
+ while (have < len) {
+ get = trans.read(buf+have, len-have);
+ if (get <= 0) {
+ throw TTransportException(TTransportException::END_OF_FILE,
+ "No more data to read.");
+ }
+ have += get;
+ }
+
+ return have;
+}
+
+
+/**
+ * Generic interface for a method of transporting data. A TTransport may be
+ * capable of either reading or writing, but not necessarily both.
+ *
+ */
+class TTransport {
+ public:
+ /**
+ * Virtual deconstructor.
+ */
+ virtual ~TTransport() {}
+
+ /**
+ * Whether this transport is open.
+ */
+ virtual bool isOpen() {
+ return false;
+ }
+
+ /**
+ * Tests whether there is more data to read or if the remote side is
+ * still open. By default this is true whenever the transport is open,
+ * but implementations should add logic to test for this condition where
+ * possible (i.e. on a socket).
+ * This is used by a server to check if it should listen for another
+ * request.
+ */
+ virtual bool peek() {
+ return isOpen();
+ }
+
+ /**
+ * Opens the transport for communications.
+ *
+ * @return bool Whether the transport was successfully opened
+ * @throws TTransportException if opening failed
+ */
+ virtual void open() {
+ throw TTransportException(TTransportException::NOT_OPEN, "Cannot open base TTransport.");
+ }
+
+ /**
+ * Closes the transport.
+ */
+ virtual void close() {
+ throw TTransportException(TTransportException::NOT_OPEN, "Cannot close base TTransport.");
+ }
+
+ /**
+ * Attempt to read up to the specified number of bytes into the string.
+ *
+ * @param buf Reference to the location to write the data
+ * @param len How many bytes to read
+ * @return How many bytes were actually read
+ * @throws TTransportException If an error occurs
+ */
+ uint32_t read(uint8_t* buf, uint32_t len) {
+ T_VIRTUAL_CALL();
+ return read_virt(buf, len);
+ }
+ virtual uint32_t read_virt(uint8_t* /* buf */, uint32_t /* len */) {
+ throw TTransportException(TTransportException::NOT_OPEN,
+ "Base TTransport cannot read.");
+ }
+
+ /**
+ * Reads the given amount of data in its entirety no matter what.
+ *
+ * @param s Reference to location for read data
+ * @param len How many bytes to read
+ * @return How many bytes read, which must be equal to size
+ * @throws TTransportException If insufficient data was read
+ */
+ uint32_t readAll(uint8_t* buf, uint32_t len) {
+ T_VIRTUAL_CALL();
+ return readAll_virt(buf, len);
+ }
+ virtual uint32_t readAll_virt(uint8_t* buf, uint32_t len) {
+ return apache::thrift::transport::readAll(*this, buf, len);
+ }
+
+ /**
+ * Called when read is completed.
+ * This can be over-ridden to perform a transport-specific action
+ * e.g. logging the request to a file
+ *
+ * @return number of bytes read if available, 0 otherwise.
+ */
+ virtual uint32_t readEnd() {
+ // default behaviour is to do nothing
+ return 0;
+ }
+
+ /**
+ * Writes the string in its entirety to the buffer.
+ *
+ * Note: You must call flush() to ensure the data is actually written,
+ * and available to be read back in the future. Destroying a TTransport
+ * object does not automatically flush pending data--if you destroy a
+ * TTransport object with written but unflushed data, that data may be
+ * discarded.
+ *
+ * @param buf The data to write out
+ * @throws TTransportException if an error occurs
+ */
+ void write(const uint8_t* buf, uint32_t len) {
+ T_VIRTUAL_CALL();
+ write_virt(buf, len);
+ }
+ virtual void write_virt(const uint8_t* /* buf */, uint32_t /* len */) {
+ throw TTransportException(TTransportException::NOT_OPEN,
+ "Base TTransport cannot write.");
+ }
+
+ /**
+ * Called when write is completed.
+ * This can be over-ridden to perform a transport-specific action
+ * at the end of a request.
+ *
+ * @return number of bytes written if available, 0 otherwise
+ */
+ virtual uint32_t writeEnd() {
+ // default behaviour is to do nothing
+ return 0;
+ }
+
+ /**
+ * Flushes any pending data to be written. Typically used with buffered
+ * transport mechanisms.
+ *
+ * @throws TTransportException if an error occurs
+ */
+ virtual void flush() {
+ // default behaviour is to do nothing
+ }
+
+ /**
+ * Attempts to return a pointer to \c len bytes, possibly copied into \c buf.
+ * Does not consume the bytes read (i.e.: a later read will return the same
+ * data). This method is meant to support protocols that need to read
+ * variable-length fields. They can attempt to borrow the maximum amount of
+ * data that they will need, then consume (see next method) what they
+ * actually use. Some transports will not support this method and others
+ * will fail occasionally, so protocols must be prepared to use read if
+ * borrow fails.
+ *
+ * @oaram buf A buffer where the data can be stored if needed.
+ * If borrow doesn't return buf, then the contents of
+ * buf after the call are undefined. This parameter may be
+ * NULL to indicate that the caller is not supplying storage,
+ * but would like a pointer into an internal buffer, if
+ * available.
+ * @param len *len should initially contain the number of bytes to borrow.
+ * If borrow succeeds, *len will contain the number of bytes
+ * available in the returned pointer. This will be at least
+ * what was requested, but may be more if borrow returns
+ * a pointer to an internal buffer, rather than buf.
+ * If borrow fails, the contents of *len are undefined.
+ * @return If the borrow succeeds, return a pointer to the borrowed data.
+ * This might be equal to \c buf, or it might be a pointer into
+ * the transport's internal buffers.
+ * @throws TTransportException if an error occurs
+ */
+ const uint8_t* borrow(uint8_t* buf, uint32_t* len) {
+ T_VIRTUAL_CALL();
+ return borrow_virt(buf, len);
+ }
+ virtual const uint8_t* borrow_virt(uint8_t* /* buf */, uint32_t* /* len */) {
+ return NULL;
+ }
+
+ /**
+ * Remove len bytes from the transport. This should always follow a borrow
+ * of at least len bytes, and should always succeed.
+ * TODO(dreiss): Is there any transport that could borrow but fail to
+ * consume, or that would require a buffer to dump the consumed data?
+ *
+ * @param len How many bytes to consume
+ * @throws TTransportException If an error occurs
+ */
+ void consume(uint32_t len) {
+ T_VIRTUAL_CALL();
+ consume_virt(len);
+ }
+ virtual void consume_virt(uint32_t /* len */) {
+ throw TTransportException(TTransportException::NOT_OPEN,
+ "Base TTransport cannot consume.");
+ }
+
+ protected:
+ /**
+ * Simple constructor.
+ */
+ TTransport() {}
+};
+
+/**
+ * Generic factory class to make an input and output transport out of a
+ * source transport. Commonly used inside servers to make input and output
+ * streams out of raw clients.
+ *
+ */
+class TTransportFactory {
+ public:
+ TTransportFactory() {}
+
+ virtual ~TTransportFactory() {}
+
+ /**
+ * Default implementation does nothing, just returns the transport given.
+ */
+ virtual boost::shared_ptr<TTransport> getTransport(boost::shared_ptr<TTransport> trans) {
+ return trans;
+ }
+
+};
+
+}}} // apache::thrift::transport
+
+#endif // #ifndef _THRIFT_TRANSPORT_TTRANSPORT_H_
http://git-wip-us.apache.org/repos/asf/airavata/blob/f891b7dc/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/transport/TTransportException.cpp
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/transport/TTransportException.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/transport/TTransportException.cpp
new file mode 100644
index 0000000..2c1f303
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/transport/TTransportException.cpp
@@ -0,0 +1,31 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you 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 <thrift/transport/TTransportException.h>
+#include <boost/lexical_cast.hpp>
+#include <cstring>
+
+#include <thrift/thrift-config.h>
+
+using std::string;
+using boost::lexical_cast;
+
+namespace apache { namespace thrift { namespace transport {
+
+}}} // apache::thrift::transport
[33/47] removed unnecessary files, updated ini file
Posted by sm...@apache.org.
http://git-wip-us.apache.org/repos/asf/airavata/blob/00b8aaf0/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/applicationCatalogAPI_constants.cpp
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/applicationCatalogAPI_constants.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/applicationCatalogAPI_constants.cpp
deleted file mode 100644
index d2f6b63..0000000
--- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/applicationCatalogAPI_constants.cpp
+++ /dev/null
@@ -1,19 +0,0 @@
-/**
- * Autogenerated by Thrift Compiler (0.9.1)
- *
- * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
- * @generated
- */
-#include "applicationCatalogAPI_constants.h"
-
-namespace airavata { namespace api { namespace appcatalog {
-
-const applicationCatalogAPIConstants g_applicationCatalogAPI_constants;
-
-applicationCatalogAPIConstants::applicationCatalogAPIConstants() {
- AIRAVATA_API_VERSION = "0.12.0";
-
-}
-
-}}} // namespace
-
http://git-wip-us.apache.org/repos/asf/airavata/blob/00b8aaf0/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/applicationCatalogAPI_constants.h
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/applicationCatalogAPI_constants.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/applicationCatalogAPI_constants.h
deleted file mode 100644
index 325136d..0000000
--- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/applicationCatalogAPI_constants.h
+++ /dev/null
@@ -1,25 +0,0 @@
-/**
- * Autogenerated by Thrift Compiler (0.9.1)
- *
- * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
- * @generated
- */
-#ifndef applicationCatalogAPI_CONSTANTS_H
-#define applicationCatalogAPI_CONSTANTS_H
-
-#include "applicationCatalogAPI_types.h"
-
-namespace airavata { namespace api { namespace appcatalog {
-
-class applicationCatalogAPIConstants {
- public:
- applicationCatalogAPIConstants();
-
- std::string AIRAVATA_API_VERSION;
-};
-
-extern const applicationCatalogAPIConstants g_applicationCatalogAPI_constants;
-
-}}} // namespace
-
-#endif
http://git-wip-us.apache.org/repos/asf/airavata/blob/00b8aaf0/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/applicationCatalogAPI_types.cpp
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/applicationCatalogAPI_types.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/applicationCatalogAPI_types.cpp
deleted file mode 100644
index d0f5533..0000000
--- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/applicationCatalogAPI_types.cpp
+++ /dev/null
@@ -1,13 +0,0 @@
-/**
- * Autogenerated by Thrift Compiler (0.9.1)
- *
- * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
- * @generated
- */
-#include "applicationCatalogAPI_types.h"
-
-#include <algorithm>
-
-namespace airavata { namespace api { namespace appcatalog {
-
-}}} // namespace
http://git-wip-us.apache.org/repos/asf/airavata/blob/00b8aaf0/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/applicationCatalogAPI_types.h
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/applicationCatalogAPI_types.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/applicationCatalogAPI_types.h
deleted file mode 100644
index 4a9fc73..0000000
--- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/applicationCatalogAPI_types.h
+++ /dev/null
@@ -1,27 +0,0 @@
-/**
- * Autogenerated by Thrift Compiler (0.9.1)
- *
- * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
- * @generated
- */
-#ifndef applicationCatalogAPI_TYPES_H
-#define applicationCatalogAPI_TYPES_H
-
-#include <thrift/Thrift.h>
-#include <thrift/TApplicationException.h>
-#include <thrift/protocol/TProtocol.h>
-#include <thrift/transport/TTransport.h>
-
-#include <thrift/cxxfunctional.h>
-#include "airavataErrors_types.h"
-#include "airavataDataModel_types.h"
-#include "computeHostModel_types.h"
-#include "applicationInterfaceModel_types.h"
-#include "applicationDeploymentModel_types.h"
-
-
-namespace airavata { namespace api { namespace appcatalog {
-
-}}} // namespace
-
-#endif
http://git-wip-us.apache.org/repos/asf/airavata/blob/00b8aaf0/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/applicationCatalogDataModel_constants.cpp
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/applicationCatalogDataModel_constants.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/applicationCatalogDataModel_constants.cpp
deleted file mode 100644
index e3b3394..0000000
--- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/applicationCatalogDataModel_constants.cpp
+++ /dev/null
@@ -1,19 +0,0 @@
-/**
- * Autogenerated by Thrift Compiler (0.9.1)
- *
- * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
- * @generated
- */
-#include "applicationCatalogDataModel_constants.h"
-
-
-
-const applicationCatalogDataModelConstants g_applicationCatalogDataModel_constants;
-
-applicationCatalogDataModelConstants::applicationCatalogDataModelConstants() {
- DEFAULT_ID = "DO_NOT_SET_AT_CLIENTS";
-
-}
-
-
-
http://git-wip-us.apache.org/repos/asf/airavata/blob/00b8aaf0/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/applicationCatalogDataModel_constants.h
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/applicationCatalogDataModel_constants.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/applicationCatalogDataModel_constants.h
deleted file mode 100644
index d8bf387..0000000
--- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/applicationCatalogDataModel_constants.h
+++ /dev/null
@@ -1,25 +0,0 @@
-/**
- * Autogenerated by Thrift Compiler (0.9.1)
- *
- * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
- * @generated
- */
-#ifndef applicationCatalogDataModel_CONSTANTS_H
-#define applicationCatalogDataModel_CONSTANTS_H
-
-#include "applicationCatalogDataModel_types.h"
-
-
-
-class applicationCatalogDataModelConstants {
- public:
- applicationCatalogDataModelConstants();
-
- std::string DEFAULT_ID;
-};
-
-extern const applicationCatalogDataModelConstants g_applicationCatalogDataModel_constants;
-
-
-
-#endif
http://git-wip-us.apache.org/repos/asf/airavata/blob/00b8aaf0/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/applicationCatalogDataModel_types.cpp
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/applicationCatalogDataModel_types.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/applicationCatalogDataModel_types.cpp
deleted file mode 100644
index 9cdf168..0000000
--- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/applicationCatalogDataModel_types.cpp
+++ /dev/null
@@ -1,1327 +0,0 @@
-/**
- * Autogenerated by Thrift Compiler (0.9.1)
- *
- * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
- * @generated
- */
-#include "applicationCatalogDataModel_types.h"
-
-#include <algorithm>
-
-
-
-int _kResourceJobManagerValues[] = {
- ResourceJobManager::FORK,
- ResourceJobManager::PBS,
- ResourceJobManager::UGE,
- ResourceJobManager::SLURM
-};
-const char* _kResourceJobManagerNames[] = {
- "FORK",
- "PBS",
- "UGE",
- "SLURM"
-};
-const std::map<int, const char*> _ResourceJobManager_VALUES_TO_NAMES(::apache::thrift::TEnumIterator(4, _kResourceJobManagerValues, _kResourceJobManagerNames), ::apache::thrift::TEnumIterator(-1, NULL, NULL));
-
-int _kJobSubmissionProtocolValues[] = {
- JobSubmissionProtocol::SSH,
- JobSubmissionProtocol::GSISSH,
- JobSubmissionProtocol::GRAM,
- JobSubmissionProtocol::UNICORE
-};
-const char* _kJobSubmissionProtocolNames[] = {
- "SSH",
- "GSISSH",
- "GRAM",
- "UNICORE"
-};
-const std::map<int, const char*> _JobSubmissionProtocol_VALUES_TO_NAMES(::apache::thrift::TEnumIterator(4, _kJobSubmissionProtocolValues, _kJobSubmissionProtocolNames), ::apache::thrift::TEnumIterator(-1, NULL, NULL));
-
-int _kDataMovementProtocolValues[] = {
- DataMovementProtocol::SCP,
- DataMovementProtocol::SFTP,
- DataMovementProtocol::GridFTP,
- DataMovementProtocol::UNICORE_STORAGE_SERVICE
-};
-const char* _kDataMovementProtocolNames[] = {
- "SCP",
- "SFTP",
- "GridFTP",
- "UNICORE_STORAGE_SERVICE"
-};
-const std::map<int, const char*> _DataMovementProtocol_VALUES_TO_NAMES(::apache::thrift::TEnumIterator(4, _kDataMovementProtocolValues, _kDataMovementProtocolNames), ::apache::thrift::TEnumIterator(-1, NULL, NULL));
-
-int _kSecurityProtocolValues[] = {
- SecurityProtocol::USERNAME_PASSWORD,
- SecurityProtocol::SSH_KEYS,
- SecurityProtocol::GSI,
- SecurityProtocol::KERBEROS,
- SecurityProtocol::OAUTH
-};
-const char* _kSecurityProtocolNames[] = {
- "USERNAME_PASSWORD",
- "SSH_KEYS",
- "GSI",
- "KERBEROS",
- "OAUTH"
-};
-const std::map<int, const char*> _SecurityProtocol_VALUES_TO_NAMES(::apache::thrift::TEnumIterator(5, _kSecurityProtocolValues, _kSecurityProtocolNames), ::apache::thrift::TEnumIterator(-1, NULL, NULL));
-
-const char* SCPDataMovement::ascii_fingerprint = "FEB6B2CD28861B4EED855CACA1FEF2CB";
-const uint8_t SCPDataMovement::binary_fingerprint[16] = {0xFE,0xB6,0xB2,0xCD,0x28,0x86,0x1B,0x4E,0xED,0x85,0x5C,0xAC,0xA1,0xFE,0xF2,0xCB};
-
-uint32_t SCPDataMovement::read(::apache::thrift::protocol::TProtocol* iprot) {
-
- uint32_t xfer = 0;
- std::string fname;
- ::apache::thrift::protocol::TType ftype;
- int16_t fid;
-
- xfer += iprot->readStructBegin(fname);
-
- using ::apache::thrift::protocol::TProtocolException;
-
- bool isset_dataMovementDataID = false;
- bool isset_securityProtocol = false;
-
- while (true)
- {
- xfer += iprot->readFieldBegin(fname, ftype, fid);
- if (ftype == ::apache::thrift::protocol::T_STOP) {
- break;
- }
- switch (fid)
- {
- case 1:
- if (ftype == ::apache::thrift::protocol::T_STRING) {
- xfer += iprot->readString(this->dataMovementDataID);
- isset_dataMovementDataID = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 2:
- if (ftype == ::apache::thrift::protocol::T_I32) {
- int32_t ecast0;
- xfer += iprot->readI32(ecast0);
- this->securityProtocol = (SecurityProtocol::type)ecast0;
- isset_securityProtocol = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 3:
- if (ftype == ::apache::thrift::protocol::T_I32) {
- xfer += iprot->readI32(this->sshPort);
- this->__isset.sshPort = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- default:
- xfer += iprot->skip(ftype);
- break;
- }
- xfer += iprot->readFieldEnd();
- }
-
- xfer += iprot->readStructEnd();
-
- if (!isset_dataMovementDataID)
- throw TProtocolException(TProtocolException::INVALID_DATA);
- if (!isset_securityProtocol)
- throw TProtocolException(TProtocolException::INVALID_DATA);
- return xfer;
-}
-
-uint32_t SCPDataMovement::write(::apache::thrift::protocol::TProtocol* oprot) const {
- uint32_t xfer = 0;
- xfer += oprot->writeStructBegin("SCPDataMovement");
-
- xfer += oprot->writeFieldBegin("dataMovementDataID", ::apache::thrift::protocol::T_STRING, 1);
- xfer += oprot->writeString(this->dataMovementDataID);
- xfer += oprot->writeFieldEnd();
-
- xfer += oprot->writeFieldBegin("securityProtocol", ::apache::thrift::protocol::T_I32, 2);
- xfer += oprot->writeI32((int32_t)this->securityProtocol);
- xfer += oprot->writeFieldEnd();
-
- if (this->__isset.sshPort) {
- xfer += oprot->writeFieldBegin("sshPort", ::apache::thrift::protocol::T_I32, 3);
- xfer += oprot->writeI32(this->sshPort);
- xfer += oprot->writeFieldEnd();
- }
- xfer += oprot->writeFieldStop();
- xfer += oprot->writeStructEnd();
- return xfer;
-}
-
-void swap(SCPDataMovement &a, SCPDataMovement &b) {
- using ::std::swap;
- swap(a.dataMovementDataID, b.dataMovementDataID);
- swap(a.securityProtocol, b.securityProtocol);
- swap(a.sshPort, b.sshPort);
- swap(a.__isset, b.__isset);
-}
-
-const char* GridFTPDataMovement::ascii_fingerprint = "790EE8B1D56A3B9B76C41DD063726E75";
-const uint8_t GridFTPDataMovement::binary_fingerprint[16] = {0x79,0x0E,0xE8,0xB1,0xD5,0x6A,0x3B,0x9B,0x76,0xC4,0x1D,0xD0,0x63,0x72,0x6E,0x75};
-
-uint32_t GridFTPDataMovement::read(::apache::thrift::protocol::TProtocol* iprot) {
-
- uint32_t xfer = 0;
- std::string fname;
- ::apache::thrift::protocol::TType ftype;
- int16_t fid;
-
- xfer += iprot->readStructBegin(fname);
-
- using ::apache::thrift::protocol::TProtocolException;
-
- bool isset_dataMovementDataID = false;
- bool isset_securityProtocol = false;
- bool isset_gridFTPEndPoint = false;
-
- while (true)
- {
- xfer += iprot->readFieldBegin(fname, ftype, fid);
- if (ftype == ::apache::thrift::protocol::T_STOP) {
- break;
- }
- switch (fid)
- {
- case 1:
- if (ftype == ::apache::thrift::protocol::T_STRING) {
- xfer += iprot->readString(this->dataMovementDataID);
- isset_dataMovementDataID = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 2:
- if (ftype == ::apache::thrift::protocol::T_I32) {
- int32_t ecast1;
- xfer += iprot->readI32(ecast1);
- this->securityProtocol = (SecurityProtocol::type)ecast1;
- isset_securityProtocol = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 3:
- if (ftype == ::apache::thrift::protocol::T_LIST) {
- {
- this->gridFTPEndPoint.clear();
- uint32_t _size2;
- ::apache::thrift::protocol::TType _etype5;
- xfer += iprot->readListBegin(_etype5, _size2);
- this->gridFTPEndPoint.resize(_size2);
- uint32_t _i6;
- for (_i6 = 0; _i6 < _size2; ++_i6)
- {
- xfer += iprot->readString(this->gridFTPEndPoint[_i6]);
- }
- xfer += iprot->readListEnd();
- }
- isset_gridFTPEndPoint = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- default:
- xfer += iprot->skip(ftype);
- break;
- }
- xfer += iprot->readFieldEnd();
- }
-
- xfer += iprot->readStructEnd();
-
- if (!isset_dataMovementDataID)
- throw TProtocolException(TProtocolException::INVALID_DATA);
- if (!isset_securityProtocol)
- throw TProtocolException(TProtocolException::INVALID_DATA);
- if (!isset_gridFTPEndPoint)
- throw TProtocolException(TProtocolException::INVALID_DATA);
- return xfer;
-}
-
-uint32_t GridFTPDataMovement::write(::apache::thrift::protocol::TProtocol* oprot) const {
- uint32_t xfer = 0;
- xfer += oprot->writeStructBegin("GridFTPDataMovement");
-
- xfer += oprot->writeFieldBegin("dataMovementDataID", ::apache::thrift::protocol::T_STRING, 1);
- xfer += oprot->writeString(this->dataMovementDataID);
- xfer += oprot->writeFieldEnd();
-
- xfer += oprot->writeFieldBegin("securityProtocol", ::apache::thrift::protocol::T_I32, 2);
- xfer += oprot->writeI32((int32_t)this->securityProtocol);
- xfer += oprot->writeFieldEnd();
-
- xfer += oprot->writeFieldBegin("gridFTPEndPoint", ::apache::thrift::protocol::T_LIST, 3);
- {
- xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRING, static_cast<uint32_t>(this->gridFTPEndPoint.size()));
- std::vector<std::string> ::const_iterator _iter7;
- for (_iter7 = this->gridFTPEndPoint.begin(); _iter7 != this->gridFTPEndPoint.end(); ++_iter7)
- {
- xfer += oprot->writeString((*_iter7));
- }
- xfer += oprot->writeListEnd();
- }
- xfer += oprot->writeFieldEnd();
-
- xfer += oprot->writeFieldStop();
- xfer += oprot->writeStructEnd();
- return xfer;
-}
-
-void swap(GridFTPDataMovement &a, GridFTPDataMovement &b) {
- using ::std::swap;
- swap(a.dataMovementDataID, b.dataMovementDataID);
- swap(a.securityProtocol, b.securityProtocol);
- swap(a.gridFTPEndPoint, b.gridFTPEndPoint);
-}
-
-const char* SSHJobSubmission::ascii_fingerprint = "FEB6B2CD28861B4EED855CACA1FEF2CB";
-const uint8_t SSHJobSubmission::binary_fingerprint[16] = {0xFE,0xB6,0xB2,0xCD,0x28,0x86,0x1B,0x4E,0xED,0x85,0x5C,0xAC,0xA1,0xFE,0xF2,0xCB};
-
-uint32_t SSHJobSubmission::read(::apache::thrift::protocol::TProtocol* iprot) {
-
- uint32_t xfer = 0;
- std::string fname;
- ::apache::thrift::protocol::TType ftype;
- int16_t fid;
-
- xfer += iprot->readStructBegin(fname);
-
- using ::apache::thrift::protocol::TProtocolException;
-
- bool isset_jobSubmissionDataID = false;
- bool isset_resourceJobManager = false;
-
- while (true)
- {
- xfer += iprot->readFieldBegin(fname, ftype, fid);
- if (ftype == ::apache::thrift::protocol::T_STOP) {
- break;
- }
- switch (fid)
- {
- case 1:
- if (ftype == ::apache::thrift::protocol::T_STRING) {
- xfer += iprot->readString(this->jobSubmissionDataID);
- isset_jobSubmissionDataID = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 2:
- if (ftype == ::apache::thrift::protocol::T_I32) {
- int32_t ecast8;
- xfer += iprot->readI32(ecast8);
- this->resourceJobManager = (ResourceJobManager::type)ecast8;
- isset_resourceJobManager = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 3:
- if (ftype == ::apache::thrift::protocol::T_I32) {
- xfer += iprot->readI32(this->sshPort);
- this->__isset.sshPort = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- default:
- xfer += iprot->skip(ftype);
- break;
- }
- xfer += iprot->readFieldEnd();
- }
-
- xfer += iprot->readStructEnd();
-
- if (!isset_jobSubmissionDataID)
- throw TProtocolException(TProtocolException::INVALID_DATA);
- if (!isset_resourceJobManager)
- throw TProtocolException(TProtocolException::INVALID_DATA);
- return xfer;
-}
-
-uint32_t SSHJobSubmission::write(::apache::thrift::protocol::TProtocol* oprot) const {
- uint32_t xfer = 0;
- xfer += oprot->writeStructBegin("SSHJobSubmission");
-
- xfer += oprot->writeFieldBegin("jobSubmissionDataID", ::apache::thrift::protocol::T_STRING, 1);
- xfer += oprot->writeString(this->jobSubmissionDataID);
- xfer += oprot->writeFieldEnd();
-
- xfer += oprot->writeFieldBegin("resourceJobManager", ::apache::thrift::protocol::T_I32, 2);
- xfer += oprot->writeI32((int32_t)this->resourceJobManager);
- xfer += oprot->writeFieldEnd();
-
- if (this->__isset.sshPort) {
- xfer += oprot->writeFieldBegin("sshPort", ::apache::thrift::protocol::T_I32, 3);
- xfer += oprot->writeI32(this->sshPort);
- xfer += oprot->writeFieldEnd();
- }
- xfer += oprot->writeFieldStop();
- xfer += oprot->writeStructEnd();
- return xfer;
-}
-
-void swap(SSHJobSubmission &a, SSHJobSubmission &b) {
- using ::std::swap;
- swap(a.jobSubmissionDataID, b.jobSubmissionDataID);
- swap(a.resourceJobManager, b.resourceJobManager);
- swap(a.sshPort, b.sshPort);
- swap(a.__isset, b.__isset);
-}
-
-const char* GlobusJobSubmission::ascii_fingerprint = "DF4253F78D7B543C16FA461660D38A03";
-const uint8_t GlobusJobSubmission::binary_fingerprint[16] = {0xDF,0x42,0x53,0xF7,0x8D,0x7B,0x54,0x3C,0x16,0xFA,0x46,0x16,0x60,0xD3,0x8A,0x03};
-
-uint32_t GlobusJobSubmission::read(::apache::thrift::protocol::TProtocol* iprot) {
-
- uint32_t xfer = 0;
- std::string fname;
- ::apache::thrift::protocol::TType ftype;
- int16_t fid;
-
- xfer += iprot->readStructBegin(fname);
-
- using ::apache::thrift::protocol::TProtocolException;
-
- bool isset_jobSubmissionDataID = false;
- bool isset_securityProtocol = false;
- bool isset_resourceJobManager = false;
-
- while (true)
- {
- xfer += iprot->readFieldBegin(fname, ftype, fid);
- if (ftype == ::apache::thrift::protocol::T_STOP) {
- break;
- }
- switch (fid)
- {
- case 1:
- if (ftype == ::apache::thrift::protocol::T_STRING) {
- xfer += iprot->readString(this->jobSubmissionDataID);
- isset_jobSubmissionDataID = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 2:
- if (ftype == ::apache::thrift::protocol::T_I32) {
- int32_t ecast9;
- xfer += iprot->readI32(ecast9);
- this->securityProtocol = (SecurityProtocol::type)ecast9;
- isset_securityProtocol = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 3:
- if (ftype == ::apache::thrift::protocol::T_I32) {
- int32_t ecast10;
- xfer += iprot->readI32(ecast10);
- this->resourceJobManager = (ResourceJobManager::type)ecast10;
- isset_resourceJobManager = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 4:
- if (ftype == ::apache::thrift::protocol::T_LIST) {
- {
- this->globusGateKeeperEndPoint.clear();
- uint32_t _size11;
- ::apache::thrift::protocol::TType _etype14;
- xfer += iprot->readListBegin(_etype14, _size11);
- this->globusGateKeeperEndPoint.resize(_size11);
- uint32_t _i15;
- for (_i15 = 0; _i15 < _size11; ++_i15)
- {
- xfer += iprot->readString(this->globusGateKeeperEndPoint[_i15]);
- }
- xfer += iprot->readListEnd();
- }
- this->__isset.globusGateKeeperEndPoint = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- default:
- xfer += iprot->skip(ftype);
- break;
- }
- xfer += iprot->readFieldEnd();
- }
-
- xfer += iprot->readStructEnd();
-
- if (!isset_jobSubmissionDataID)
- throw TProtocolException(TProtocolException::INVALID_DATA);
- if (!isset_securityProtocol)
- throw TProtocolException(TProtocolException::INVALID_DATA);
- if (!isset_resourceJobManager)
- throw TProtocolException(TProtocolException::INVALID_DATA);
- return xfer;
-}
-
-uint32_t GlobusJobSubmission::write(::apache::thrift::protocol::TProtocol* oprot) const {
- uint32_t xfer = 0;
- xfer += oprot->writeStructBegin("GlobusJobSubmission");
-
- xfer += oprot->writeFieldBegin("jobSubmissionDataID", ::apache::thrift::protocol::T_STRING, 1);
- xfer += oprot->writeString(this->jobSubmissionDataID);
- xfer += oprot->writeFieldEnd();
-
- xfer += oprot->writeFieldBegin("securityProtocol", ::apache::thrift::protocol::T_I32, 2);
- xfer += oprot->writeI32((int32_t)this->securityProtocol);
- xfer += oprot->writeFieldEnd();
-
- xfer += oprot->writeFieldBegin("resourceJobManager", ::apache::thrift::protocol::T_I32, 3);
- xfer += oprot->writeI32((int32_t)this->resourceJobManager);
- xfer += oprot->writeFieldEnd();
-
- if (this->__isset.globusGateKeeperEndPoint) {
- xfer += oprot->writeFieldBegin("globusGateKeeperEndPoint", ::apache::thrift::protocol::T_LIST, 4);
- {
- xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRING, static_cast<uint32_t>(this->globusGateKeeperEndPoint.size()));
- std::vector<std::string> ::const_iterator _iter16;
- for (_iter16 = this->globusGateKeeperEndPoint.begin(); _iter16 != this->globusGateKeeperEndPoint.end(); ++_iter16)
- {
- xfer += oprot->writeString((*_iter16));
- }
- xfer += oprot->writeListEnd();
- }
- xfer += oprot->writeFieldEnd();
- }
- xfer += oprot->writeFieldStop();
- xfer += oprot->writeStructEnd();
- return xfer;
-}
-
-void swap(GlobusJobSubmission &a, GlobusJobSubmission &b) {
- using ::std::swap;
- swap(a.jobSubmissionDataID, b.jobSubmissionDataID);
- swap(a.securityProtocol, b.securityProtocol);
- swap(a.resourceJobManager, b.resourceJobManager);
- swap(a.globusGateKeeperEndPoint, b.globusGateKeeperEndPoint);
- swap(a.__isset, b.__isset);
-}
-
-const char* GSISSHJobSubmission::ascii_fingerprint = "6969A7F145C4403B2F9081A498E933FD";
-const uint8_t GSISSHJobSubmission::binary_fingerprint[16] = {0x69,0x69,0xA7,0xF1,0x45,0xC4,0x40,0x3B,0x2F,0x90,0x81,0xA4,0x98,0xE9,0x33,0xFD};
-
-uint32_t GSISSHJobSubmission::read(::apache::thrift::protocol::TProtocol* iprot) {
-
- uint32_t xfer = 0;
- std::string fname;
- ::apache::thrift::protocol::TType ftype;
- int16_t fid;
-
- xfer += iprot->readStructBegin(fname);
-
- using ::apache::thrift::protocol::TProtocolException;
-
- bool isset_jobSubmissionDataID = false;
- bool isset_resourceJobManager = false;
-
- while (true)
- {
- xfer += iprot->readFieldBegin(fname, ftype, fid);
- if (ftype == ::apache::thrift::protocol::T_STOP) {
- break;
- }
- switch (fid)
- {
- case 1:
- if (ftype == ::apache::thrift::protocol::T_STRING) {
- xfer += iprot->readString(this->jobSubmissionDataID);
- isset_jobSubmissionDataID = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 2:
- if (ftype == ::apache::thrift::protocol::T_I32) {
- int32_t ecast17;
- xfer += iprot->readI32(ecast17);
- this->resourceJobManager = (ResourceJobManager::type)ecast17;
- isset_resourceJobManager = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 3:
- if (ftype == ::apache::thrift::protocol::T_I32) {
- xfer += iprot->readI32(this->sshPort);
- this->__isset.sshPort = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 4:
- if (ftype == ::apache::thrift::protocol::T_SET) {
- {
- this->exports.clear();
- uint32_t _size18;
- ::apache::thrift::protocol::TType _etype21;
- xfer += iprot->readSetBegin(_etype21, _size18);
- uint32_t _i22;
- for (_i22 = 0; _i22 < _size18; ++_i22)
- {
- std::string _elem23;
- xfer += iprot->readString(_elem23);
- this->exports.insert(_elem23);
- }
- xfer += iprot->readSetEnd();
- }
- this->__isset.exports = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 5:
- if (ftype == ::apache::thrift::protocol::T_LIST) {
- {
- this->preJobCommands.clear();
- uint32_t _size24;
- ::apache::thrift::protocol::TType _etype27;
- xfer += iprot->readListBegin(_etype27, _size24);
- this->preJobCommands.resize(_size24);
- uint32_t _i28;
- for (_i28 = 0; _i28 < _size24; ++_i28)
- {
- xfer += iprot->readString(this->preJobCommands[_i28]);
- }
- xfer += iprot->readListEnd();
- }
- this->__isset.preJobCommands = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 6:
- if (ftype == ::apache::thrift::protocol::T_LIST) {
- {
- this->postJobCommands.clear();
- uint32_t _size29;
- ::apache::thrift::protocol::TType _etype32;
- xfer += iprot->readListBegin(_etype32, _size29);
- this->postJobCommands.resize(_size29);
- uint32_t _i33;
- for (_i33 = 0; _i33 < _size29; ++_i33)
- {
- xfer += iprot->readString(this->postJobCommands[_i33]);
- }
- xfer += iprot->readListEnd();
- }
- this->__isset.postJobCommands = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 7:
- if (ftype == ::apache::thrift::protocol::T_STRING) {
- xfer += iprot->readString(this->installedPath);
- this->__isset.installedPath = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 8:
- if (ftype == ::apache::thrift::protocol::T_STRING) {
- xfer += iprot->readString(this->monitorMode);
- this->__isset.monitorMode = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- default:
- xfer += iprot->skip(ftype);
- break;
- }
- xfer += iprot->readFieldEnd();
- }
-
- xfer += iprot->readStructEnd();
-
- if (!isset_jobSubmissionDataID)
- throw TProtocolException(TProtocolException::INVALID_DATA);
- if (!isset_resourceJobManager)
- throw TProtocolException(TProtocolException::INVALID_DATA);
- return xfer;
-}
-
-uint32_t GSISSHJobSubmission::write(::apache::thrift::protocol::TProtocol* oprot) const {
- uint32_t xfer = 0;
- xfer += oprot->writeStructBegin("GSISSHJobSubmission");
-
- xfer += oprot->writeFieldBegin("jobSubmissionDataID", ::apache::thrift::protocol::T_STRING, 1);
- xfer += oprot->writeString(this->jobSubmissionDataID);
- xfer += oprot->writeFieldEnd();
-
- xfer += oprot->writeFieldBegin("resourceJobManager", ::apache::thrift::protocol::T_I32, 2);
- xfer += oprot->writeI32((int32_t)this->resourceJobManager);
- xfer += oprot->writeFieldEnd();
-
- if (this->__isset.sshPort) {
- xfer += oprot->writeFieldBegin("sshPort", ::apache::thrift::protocol::T_I32, 3);
- xfer += oprot->writeI32(this->sshPort);
- xfer += oprot->writeFieldEnd();
- }
- if (this->__isset.exports) {
- xfer += oprot->writeFieldBegin("exports", ::apache::thrift::protocol::T_SET, 4);
- {
- xfer += oprot->writeSetBegin(::apache::thrift::protocol::T_STRING, static_cast<uint32_t>(this->exports.size()));
- std::set<std::string> ::const_iterator _iter34;
- for (_iter34 = this->exports.begin(); _iter34 != this->exports.end(); ++_iter34)
- {
- xfer += oprot->writeString((*_iter34));
- }
- xfer += oprot->writeSetEnd();
- }
- xfer += oprot->writeFieldEnd();
- }
- if (this->__isset.preJobCommands) {
- xfer += oprot->writeFieldBegin("preJobCommands", ::apache::thrift::protocol::T_LIST, 5);
- {
- xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRING, static_cast<uint32_t>(this->preJobCommands.size()));
- std::vector<std::string> ::const_iterator _iter35;
- for (_iter35 = this->preJobCommands.begin(); _iter35 != this->preJobCommands.end(); ++_iter35)
- {
- xfer += oprot->writeString((*_iter35));
- }
- xfer += oprot->writeListEnd();
- }
- xfer += oprot->writeFieldEnd();
- }
- if (this->__isset.postJobCommands) {
- xfer += oprot->writeFieldBegin("postJobCommands", ::apache::thrift::protocol::T_LIST, 6);
- {
- xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRING, static_cast<uint32_t>(this->postJobCommands.size()));
- std::vector<std::string> ::const_iterator _iter36;
- for (_iter36 = this->postJobCommands.begin(); _iter36 != this->postJobCommands.end(); ++_iter36)
- {
- xfer += oprot->writeString((*_iter36));
- }
- xfer += oprot->writeListEnd();
- }
- xfer += oprot->writeFieldEnd();
- }
- if (this->__isset.installedPath) {
- xfer += oprot->writeFieldBegin("installedPath", ::apache::thrift::protocol::T_STRING, 7);
- xfer += oprot->writeString(this->installedPath);
- xfer += oprot->writeFieldEnd();
- }
- if (this->__isset.monitorMode) {
- xfer += oprot->writeFieldBegin("monitorMode", ::apache::thrift::protocol::T_STRING, 8);
- xfer += oprot->writeString(this->monitorMode);
- xfer += oprot->writeFieldEnd();
- }
- xfer += oprot->writeFieldStop();
- xfer += oprot->writeStructEnd();
- return xfer;
-}
-
-void swap(GSISSHJobSubmission &a, GSISSHJobSubmission &b) {
- using ::std::swap;
- swap(a.jobSubmissionDataID, b.jobSubmissionDataID);
- swap(a.resourceJobManager, b.resourceJobManager);
- swap(a.sshPort, b.sshPort);
- swap(a.exports, b.exports);
- swap(a.preJobCommands, b.preJobCommands);
- swap(a.postJobCommands, b.postJobCommands);
- swap(a.installedPath, b.installedPath);
- swap(a.monitorMode, b.monitorMode);
- swap(a.__isset, b.__isset);
-}
-
-const char* ComputeResourceDescription::ascii_fingerprint = "BA89EA8A5D740F97C53BA51CA49FEC18";
-const uint8_t ComputeResourceDescription::binary_fingerprint[16] = {0xBA,0x89,0xEA,0x8A,0x5D,0x74,0x0F,0x97,0xC5,0x3B,0xA5,0x1C,0xA4,0x9F,0xEC,0x18};
-
-uint32_t ComputeResourceDescription::read(::apache::thrift::protocol::TProtocol* iprot) {
-
- uint32_t xfer = 0;
- std::string fname;
- ::apache::thrift::protocol::TType ftype;
- int16_t fid;
-
- xfer += iprot->readStructBegin(fname);
-
- using ::apache::thrift::protocol::TProtocolException;
-
- bool isset_isEmpty = false;
- bool isset_resourceId = false;
- bool isset_hostName = false;
- bool isset_jobSubmissionProtocols = false;
- bool isset_dataMovementProtocols = false;
-
- while (true)
- {
- xfer += iprot->readFieldBegin(fname, ftype, fid);
- if (ftype == ::apache::thrift::protocol::T_STOP) {
- break;
- }
- switch (fid)
- {
- case 1:
- if (ftype == ::apache::thrift::protocol::T_BOOL) {
- xfer += iprot->readBool(this->isEmpty);
- isset_isEmpty = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 2:
- if (ftype == ::apache::thrift::protocol::T_STRING) {
- xfer += iprot->readString(this->resourceId);
- isset_resourceId = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 3:
- if (ftype == ::apache::thrift::protocol::T_STRING) {
- xfer += iprot->readString(this->hostName);
- isset_hostName = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 4:
- if (ftype == ::apache::thrift::protocol::T_SET) {
- {
- this->hostAliases.clear();
- uint32_t _size37;
- ::apache::thrift::protocol::TType _etype40;
- xfer += iprot->readSetBegin(_etype40, _size37);
- uint32_t _i41;
- for (_i41 = 0; _i41 < _size37; ++_i41)
- {
- std::string _elem42;
- xfer += iprot->readString(_elem42);
- this->hostAliases.insert(_elem42);
- }
- xfer += iprot->readSetEnd();
- }
- this->__isset.hostAliases = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 5:
- if (ftype == ::apache::thrift::protocol::T_SET) {
- {
- this->ipAddresses.clear();
- uint32_t _size43;
- ::apache::thrift::protocol::TType _etype46;
- xfer += iprot->readSetBegin(_etype46, _size43);
- uint32_t _i47;
- for (_i47 = 0; _i47 < _size43; ++_i47)
- {
- std::string _elem48;
- xfer += iprot->readString(_elem48);
- this->ipAddresses.insert(_elem48);
- }
- xfer += iprot->readSetEnd();
- }
- this->__isset.ipAddresses = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 6:
- if (ftype == ::apache::thrift::protocol::T_STRING) {
- xfer += iprot->readString(this->resourceDescription);
- this->__isset.resourceDescription = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 7:
- if (ftype == ::apache::thrift::protocol::T_STRING) {
- xfer += iprot->readString(this->scratchLocation);
- this->__isset.scratchLocation = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 8:
- if (ftype == ::apache::thrift::protocol::T_STRING) {
- xfer += iprot->readString(this->preferredJobSubmissionProtocol);
- this->__isset.preferredJobSubmissionProtocol = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 9:
- if (ftype == ::apache::thrift::protocol::T_MAP) {
- {
- this->jobSubmissionProtocols.clear();
- uint32_t _size49;
- ::apache::thrift::protocol::TType _ktype50;
- ::apache::thrift::protocol::TType _vtype51;
- xfer += iprot->readMapBegin(_ktype50, _vtype51, _size49);
- uint32_t _i53;
- for (_i53 = 0; _i53 < _size49; ++_i53)
- {
- std::string _key54;
- xfer += iprot->readString(_key54);
- JobSubmissionProtocol::type& _val55 = this->jobSubmissionProtocols[_key54];
- int32_t ecast56;
- xfer += iprot->readI32(ecast56);
- _val55 = (JobSubmissionProtocol::type)ecast56;
- }
- xfer += iprot->readMapEnd();
- }
- isset_jobSubmissionProtocols = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 10:
- if (ftype == ::apache::thrift::protocol::T_MAP) {
- {
- this->dataMovementProtocols.clear();
- uint32_t _size57;
- ::apache::thrift::protocol::TType _ktype58;
- ::apache::thrift::protocol::TType _vtype59;
- xfer += iprot->readMapBegin(_ktype58, _vtype59, _size57);
- uint32_t _i61;
- for (_i61 = 0; _i61 < _size57; ++_i61)
- {
- std::string _key62;
- xfer += iprot->readString(_key62);
- DataMovementProtocol::type& _val63 = this->dataMovementProtocols[_key62];
- int32_t ecast64;
- xfer += iprot->readI32(ecast64);
- _val63 = (DataMovementProtocol::type)ecast64;
- }
- xfer += iprot->readMapEnd();
- }
- isset_dataMovementProtocols = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- default:
- xfer += iprot->skip(ftype);
- break;
- }
- xfer += iprot->readFieldEnd();
- }
-
- xfer += iprot->readStructEnd();
-
- if (!isset_isEmpty)
- throw TProtocolException(TProtocolException::INVALID_DATA);
- if (!isset_resourceId)
- throw TProtocolException(TProtocolException::INVALID_DATA);
- if (!isset_hostName)
- throw TProtocolException(TProtocolException::INVALID_DATA);
- if (!isset_jobSubmissionProtocols)
- throw TProtocolException(TProtocolException::INVALID_DATA);
- if (!isset_dataMovementProtocols)
- throw TProtocolException(TProtocolException::INVALID_DATA);
- return xfer;
-}
-
-uint32_t ComputeResourceDescription::write(::apache::thrift::protocol::TProtocol* oprot) const {
- uint32_t xfer = 0;
- xfer += oprot->writeStructBegin("ComputeResourceDescription");
-
- xfer += oprot->writeFieldBegin("isEmpty", ::apache::thrift::protocol::T_BOOL, 1);
- xfer += oprot->writeBool(this->isEmpty);
- xfer += oprot->writeFieldEnd();
-
- xfer += oprot->writeFieldBegin("resourceId", ::apache::thrift::protocol::T_STRING, 2);
- xfer += oprot->writeString(this->resourceId);
- xfer += oprot->writeFieldEnd();
-
- xfer += oprot->writeFieldBegin("hostName", ::apache::thrift::protocol::T_STRING, 3);
- xfer += oprot->writeString(this->hostName);
- xfer += oprot->writeFieldEnd();
-
- if (this->__isset.hostAliases) {
- xfer += oprot->writeFieldBegin("hostAliases", ::apache::thrift::protocol::T_SET, 4);
- {
- xfer += oprot->writeSetBegin(::apache::thrift::protocol::T_STRING, static_cast<uint32_t>(this->hostAliases.size()));
- std::set<std::string> ::const_iterator _iter65;
- for (_iter65 = this->hostAliases.begin(); _iter65 != this->hostAliases.end(); ++_iter65)
- {
- xfer += oprot->writeString((*_iter65));
- }
- xfer += oprot->writeSetEnd();
- }
- xfer += oprot->writeFieldEnd();
- }
- if (this->__isset.ipAddresses) {
- xfer += oprot->writeFieldBegin("ipAddresses", ::apache::thrift::protocol::T_SET, 5);
- {
- xfer += oprot->writeSetBegin(::apache::thrift::protocol::T_STRING, static_cast<uint32_t>(this->ipAddresses.size()));
- std::set<std::string> ::const_iterator _iter66;
- for (_iter66 = this->ipAddresses.begin(); _iter66 != this->ipAddresses.end(); ++_iter66)
- {
- xfer += oprot->writeString((*_iter66));
- }
- xfer += oprot->writeSetEnd();
- }
- xfer += oprot->writeFieldEnd();
- }
- if (this->__isset.resourceDescription) {
- xfer += oprot->writeFieldBegin("resourceDescription", ::apache::thrift::protocol::T_STRING, 6);
- xfer += oprot->writeString(this->resourceDescription);
- xfer += oprot->writeFieldEnd();
- }
- if (this->__isset.scratchLocation) {
- xfer += oprot->writeFieldBegin("scratchLocation", ::apache::thrift::protocol::T_STRING, 7);
- xfer += oprot->writeString(this->scratchLocation);
- xfer += oprot->writeFieldEnd();
- }
- if (this->__isset.preferredJobSubmissionProtocol) {
- xfer += oprot->writeFieldBegin("preferredJobSubmissionProtocol", ::apache::thrift::protocol::T_STRING, 8);
- xfer += oprot->writeString(this->preferredJobSubmissionProtocol);
- xfer += oprot->writeFieldEnd();
- }
- xfer += oprot->writeFieldBegin("jobSubmissionProtocols", ::apache::thrift::protocol::T_MAP, 9);
- {
- xfer += oprot->writeMapBegin(::apache::thrift::protocol::T_STRING, ::apache::thrift::protocol::T_I32, static_cast<uint32_t>(this->jobSubmissionProtocols.size()));
- std::map<std::string, JobSubmissionProtocol::type> ::const_iterator _iter67;
- for (_iter67 = this->jobSubmissionProtocols.begin(); _iter67 != this->jobSubmissionProtocols.end(); ++_iter67)
- {
- xfer += oprot->writeString(_iter67->first);
- xfer += oprot->writeI32((int32_t)_iter67->second);
- }
- xfer += oprot->writeMapEnd();
- }
- xfer += oprot->writeFieldEnd();
-
- xfer += oprot->writeFieldBegin("dataMovementProtocols", ::apache::thrift::protocol::T_MAP, 10);
- {
- xfer += oprot->writeMapBegin(::apache::thrift::protocol::T_STRING, ::apache::thrift::protocol::T_I32, static_cast<uint32_t>(this->dataMovementProtocols.size()));
- std::map<std::string, DataMovementProtocol::type> ::const_iterator _iter68;
- for (_iter68 = this->dataMovementProtocols.begin(); _iter68 != this->dataMovementProtocols.end(); ++_iter68)
- {
- xfer += oprot->writeString(_iter68->first);
- xfer += oprot->writeI32((int32_t)_iter68->second);
- }
- xfer += oprot->writeMapEnd();
- }
- xfer += oprot->writeFieldEnd();
-
- xfer += oprot->writeFieldStop();
- xfer += oprot->writeStructEnd();
- return xfer;
-}
-
-void swap(ComputeResourceDescription &a, ComputeResourceDescription &b) {
- using ::std::swap;
- swap(a.isEmpty, b.isEmpty);
- swap(a.resourceId, b.resourceId);
- swap(a.hostName, b.hostName);
- swap(a.hostAliases, b.hostAliases);
- swap(a.ipAddresses, b.ipAddresses);
- swap(a.resourceDescription, b.resourceDescription);
- swap(a.scratchLocation, b.scratchLocation);
- swap(a.preferredJobSubmissionProtocol, b.preferredJobSubmissionProtocol);
- swap(a.jobSubmissionProtocols, b.jobSubmissionProtocols);
- swap(a.dataMovementProtocols, b.dataMovementProtocols);
- swap(a.__isset, b.__isset);
-}
-
-const char* ApplicationDescriptor::ascii_fingerprint = "5B708A954C550ECA9C1A49D3C5CAFAB9";
-const uint8_t ApplicationDescriptor::binary_fingerprint[16] = {0x5B,0x70,0x8A,0x95,0x4C,0x55,0x0E,0xCA,0x9C,0x1A,0x49,0xD3,0xC5,0xCA,0xFA,0xB9};
-
-uint32_t ApplicationDescriptor::read(::apache::thrift::protocol::TProtocol* iprot) {
-
- uint32_t xfer = 0;
- std::string fname;
- ::apache::thrift::protocol::TType ftype;
- int16_t fid;
-
- xfer += iprot->readStructBegin(fname);
-
- using ::apache::thrift::protocol::TProtocolException;
-
- bool isset_applicationDescriptorId = false;
-
- while (true)
- {
- xfer += iprot->readFieldBegin(fname, ftype, fid);
- if (ftype == ::apache::thrift::protocol::T_STOP) {
- break;
- }
- switch (fid)
- {
- case 1:
- if (ftype == ::apache::thrift::protocol::T_STRING) {
- xfer += iprot->readString(this->applicationDescriptorId);
- isset_applicationDescriptorId = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 2:
- if (ftype == ::apache::thrift::protocol::T_STRING) {
- xfer += iprot->readString(this->applicationDescriptorData);
- this->__isset.applicationDescriptorData = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- default:
- xfer += iprot->skip(ftype);
- break;
- }
- xfer += iprot->readFieldEnd();
- }
-
- xfer += iprot->readStructEnd();
-
- if (!isset_applicationDescriptorId)
- throw TProtocolException(TProtocolException::INVALID_DATA);
- return xfer;
-}
-
-uint32_t ApplicationDescriptor::write(::apache::thrift::protocol::TProtocol* oprot) const {
- uint32_t xfer = 0;
- xfer += oprot->writeStructBegin("ApplicationDescriptor");
-
- xfer += oprot->writeFieldBegin("applicationDescriptorId", ::apache::thrift::protocol::T_STRING, 1);
- xfer += oprot->writeString(this->applicationDescriptorId);
- xfer += oprot->writeFieldEnd();
-
- if (this->__isset.applicationDescriptorData) {
- xfer += oprot->writeFieldBegin("applicationDescriptorData", ::apache::thrift::protocol::T_STRING, 2);
- xfer += oprot->writeString(this->applicationDescriptorData);
- xfer += oprot->writeFieldEnd();
- }
- xfer += oprot->writeFieldStop();
- xfer += oprot->writeStructEnd();
- return xfer;
-}
-
-void swap(ApplicationDescriptor &a, ApplicationDescriptor &b) {
- using ::std::swap;
- swap(a.applicationDescriptorId, b.applicationDescriptorId);
- swap(a.applicationDescriptorData, b.applicationDescriptorData);
- swap(a.__isset, b.__isset);
-}
-
-const char* ApplicationDeployment::ascii_fingerprint = "960C379A1227D22F43E92F77C32827B9";
-const uint8_t ApplicationDeployment::binary_fingerprint[16] = {0x96,0x0C,0x37,0x9A,0x12,0x27,0xD2,0x2F,0x43,0xE9,0x2F,0x77,0xC3,0x28,0x27,0xB9};
-
-uint32_t ApplicationDeployment::read(::apache::thrift::protocol::TProtocol* iprot) {
-
- uint32_t xfer = 0;
- std::string fname;
- ::apache::thrift::protocol::TType ftype;
- int16_t fid;
-
- xfer += iprot->readStructBegin(fname);
-
- using ::apache::thrift::protocol::TProtocolException;
-
- bool isset_deploymentId = false;
- bool isset_computeResourceDescription = false;
- bool isset_applicationDescriptor = false;
-
- while (true)
- {
- xfer += iprot->readFieldBegin(fname, ftype, fid);
- if (ftype == ::apache::thrift::protocol::T_STOP) {
- break;
- }
- switch (fid)
- {
- case 1:
- if (ftype == ::apache::thrift::protocol::T_STRING) {
- xfer += iprot->readString(this->deploymentId);
- isset_deploymentId = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 2:
- if (ftype == ::apache::thrift::protocol::T_STRUCT) {
- xfer += this->computeResourceDescription.read(iprot);
- isset_computeResourceDescription = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 3:
- if (ftype == ::apache::thrift::protocol::T_STRUCT) {
- xfer += this->applicationDescriptor.read(iprot);
- isset_applicationDescriptor = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- default:
- xfer += iprot->skip(ftype);
- break;
- }
- xfer += iprot->readFieldEnd();
- }
-
- xfer += iprot->readStructEnd();
-
- if (!isset_deploymentId)
- throw TProtocolException(TProtocolException::INVALID_DATA);
- if (!isset_computeResourceDescription)
- throw TProtocolException(TProtocolException::INVALID_DATA);
- if (!isset_applicationDescriptor)
- throw TProtocolException(TProtocolException::INVALID_DATA);
- return xfer;
-}
-
-uint32_t ApplicationDeployment::write(::apache::thrift::protocol::TProtocol* oprot) const {
- uint32_t xfer = 0;
- xfer += oprot->writeStructBegin("ApplicationDeployment");
-
- xfer += oprot->writeFieldBegin("deploymentId", ::apache::thrift::protocol::T_STRING, 1);
- xfer += oprot->writeString(this->deploymentId);
- xfer += oprot->writeFieldEnd();
-
- xfer += oprot->writeFieldBegin("computeResourceDescription", ::apache::thrift::protocol::T_STRUCT, 2);
- xfer += this->computeResourceDescription.write(oprot);
- xfer += oprot->writeFieldEnd();
-
- xfer += oprot->writeFieldBegin("applicationDescriptor", ::apache::thrift::protocol::T_STRUCT, 3);
- xfer += this->applicationDescriptor.write(oprot);
- xfer += oprot->writeFieldEnd();
-
- xfer += oprot->writeFieldStop();
- xfer += oprot->writeStructEnd();
- return xfer;
-}
-
-void swap(ApplicationDeployment &a, ApplicationDeployment &b) {
- using ::std::swap;
- swap(a.deploymentId, b.deploymentId);
- swap(a.computeResourceDescription, b.computeResourceDescription);
- swap(a.applicationDescriptor, b.applicationDescriptor);
-}
-
-const char* ApplicationInterface::ascii_fingerprint = "EEF3E81C0A64CA93FD2422A6CF9ABA97";
-const uint8_t ApplicationInterface::binary_fingerprint[16] = {0xEE,0xF3,0xE8,0x1C,0x0A,0x64,0xCA,0x93,0xFD,0x24,0x22,0xA6,0xCF,0x9A,0xBA,0x97};
-
-uint32_t ApplicationInterface::read(::apache::thrift::protocol::TProtocol* iprot) {
-
- uint32_t xfer = 0;
- std::string fname;
- ::apache::thrift::protocol::TType ftype;
- int16_t fid;
-
- xfer += iprot->readStructBegin(fname);
-
- using ::apache::thrift::protocol::TProtocolException;
-
- bool isset_applicationInterfaceId = false;
-
- while (true)
- {
- xfer += iprot->readFieldBegin(fname, ftype, fid);
- if (ftype == ::apache::thrift::protocol::T_STOP) {
- break;
- }
- switch (fid)
- {
- case 1:
- if (ftype == ::apache::thrift::protocol::T_STRING) {
- xfer += iprot->readString(this->applicationInterfaceId);
- isset_applicationInterfaceId = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 2:
- if (ftype == ::apache::thrift::protocol::T_STRING) {
- xfer += iprot->readString(this->applicationInterfaceData);
- this->__isset.applicationInterfaceData = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 3:
- if (ftype == ::apache::thrift::protocol::T_LIST) {
- {
- this->applicationDeployments.clear();
- uint32_t _size69;
- ::apache::thrift::protocol::TType _etype72;
- xfer += iprot->readListBegin(_etype72, _size69);
- this->applicationDeployments.resize(_size69);
- uint32_t _i73;
- for (_i73 = 0; _i73 < _size69; ++_i73)
- {
- xfer += this->applicationDeployments[_i73].read(iprot);
- }
- xfer += iprot->readListEnd();
- }
- this->__isset.applicationDeployments = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- default:
- xfer += iprot->skip(ftype);
- break;
- }
- xfer += iprot->readFieldEnd();
- }
-
- xfer += iprot->readStructEnd();
-
- if (!isset_applicationInterfaceId)
- throw TProtocolException(TProtocolException::INVALID_DATA);
- return xfer;
-}
-
-uint32_t ApplicationInterface::write(::apache::thrift::protocol::TProtocol* oprot) const {
- uint32_t xfer = 0;
- xfer += oprot->writeStructBegin("ApplicationInterface");
-
- xfer += oprot->writeFieldBegin("applicationInterfaceId", ::apache::thrift::protocol::T_STRING, 1);
- xfer += oprot->writeString(this->applicationInterfaceId);
- xfer += oprot->writeFieldEnd();
-
- if (this->__isset.applicationInterfaceData) {
- xfer += oprot->writeFieldBegin("applicationInterfaceData", ::apache::thrift::protocol::T_STRING, 2);
- xfer += oprot->writeString(this->applicationInterfaceData);
- xfer += oprot->writeFieldEnd();
- }
- if (this->__isset.applicationDeployments) {
- xfer += oprot->writeFieldBegin("applicationDeployments", ::apache::thrift::protocol::T_LIST, 3);
- {
- xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>(this->applicationDeployments.size()));
- std::vector<ApplicationDeployment> ::const_iterator _iter74;
- for (_iter74 = this->applicationDeployments.begin(); _iter74 != this->applicationDeployments.end(); ++_iter74)
- {
- xfer += (*_iter74).write(oprot);
- }
- xfer += oprot->writeListEnd();
- }
- xfer += oprot->writeFieldEnd();
- }
- xfer += oprot->writeFieldStop();
- xfer += oprot->writeStructEnd();
- return xfer;
-}
-
-void swap(ApplicationInterface &a, ApplicationInterface &b) {
- using ::std::swap;
- swap(a.applicationInterfaceId, b.applicationInterfaceId);
- swap(a.applicationInterfaceData, b.applicationInterfaceData);
- swap(a.applicationDeployments, b.applicationDeployments);
- swap(a.__isset, b.__isset);
-}
-
-
http://git-wip-us.apache.org/repos/asf/airavata/blob/00b8aaf0/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/applicationCatalogDataModel_types.h
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/applicationCatalogDataModel_types.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/applicationCatalogDataModel_types.h
deleted file mode 100644
index 814bcd3..0000000
--- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/applicationCatalogDataModel_types.h
+++ /dev/null
@@ -1,713 +0,0 @@
-/**
- * Autogenerated by Thrift Compiler (0.9.1)
- *
- * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
- * @generated
- */
-#ifndef applicationCatalogDataModel_TYPES_H
-#define applicationCatalogDataModel_TYPES_H
-
-#include <thrift/Thrift.h>
-#include <thrift/TApplicationException.h>
-#include <thrift/protocol/TProtocol.h>
-#include <thrift/transport/TTransport.h>
-
-#include <thrift/cxxfunctional.h>
-
-
-
-
-struct ResourceJobManager {
- enum type {
- FORK = 0,
- PBS = 1,
- UGE = 2,
- SLURM = 3
- };
-};
-
-extern const std::map<int, const char*> _ResourceJobManager_VALUES_TO_NAMES;
-
-struct JobSubmissionProtocol {
- enum type {
- SSH = 0,
- GSISSH = 1,
- GRAM = 2,
- UNICORE = 3
- };
-};
-
-extern const std::map<int, const char*> _JobSubmissionProtocol_VALUES_TO_NAMES;
-
-struct DataMovementProtocol {
- enum type {
- SCP = 0,
- SFTP = 1,
- GridFTP = 2,
- UNICORE_STORAGE_SERVICE = 3
- };
-};
-
-extern const std::map<int, const char*> _DataMovementProtocol_VALUES_TO_NAMES;
-
-struct SecurityProtocol {
- enum type {
- USERNAME_PASSWORD = 0,
- SSH_KEYS = 1,
- GSI = 2,
- KERBEROS = 3,
- OAUTH = 4
- };
-};
-
-extern const std::map<int, const char*> _SecurityProtocol_VALUES_TO_NAMES;
-
-typedef struct _SCPDataMovement__isset {
- _SCPDataMovement__isset() : sshPort(true) {}
- bool sshPort;
-} _SCPDataMovement__isset;
-
-class SCPDataMovement {
- public:
-
- static const char* ascii_fingerprint; // = "FEB6B2CD28861B4EED855CACA1FEF2CB";
- static const uint8_t binary_fingerprint[16]; // = {0xFE,0xB6,0xB2,0xCD,0x28,0x86,0x1B,0x4E,0xED,0x85,0x5C,0xAC,0xA1,0xFE,0xF2,0xCB};
-
- SCPDataMovement() : dataMovementDataID("DO_NOT_SET_AT_CLIENTS"), securityProtocol((SecurityProtocol::type)0), sshPort(22) {
- }
-
- virtual ~SCPDataMovement() throw() {}
-
- std::string dataMovementDataID;
- SecurityProtocol::type securityProtocol;
- int32_t sshPort;
-
- _SCPDataMovement__isset __isset;
-
- void __set_dataMovementDataID(const std::string& val) {
- dataMovementDataID = val;
- }
-
- void __set_securityProtocol(const SecurityProtocol::type val) {
- securityProtocol = val;
- }
-
- void __set_sshPort(const int32_t val) {
- sshPort = val;
- __isset.sshPort = true;
- }
-
- bool operator == (const SCPDataMovement & rhs) const
- {
- if (!(dataMovementDataID == rhs.dataMovementDataID))
- return false;
- if (!(securityProtocol == rhs.securityProtocol))
- return false;
- if (__isset.sshPort != rhs.__isset.sshPort)
- return false;
- else if (__isset.sshPort && !(sshPort == rhs.sshPort))
- return false;
- return true;
- }
- bool operator != (const SCPDataMovement &rhs) const {
- return !(*this == rhs);
- }
-
- bool operator < (const SCPDataMovement & ) const;
-
- uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
- uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-};
-
-void swap(SCPDataMovement &a, SCPDataMovement &b);
-
-
-class GridFTPDataMovement {
- public:
-
- static const char* ascii_fingerprint; // = "790EE8B1D56A3B9B76C41DD063726E75";
- static const uint8_t binary_fingerprint[16]; // = {0x79,0x0E,0xE8,0xB1,0xD5,0x6A,0x3B,0x9B,0x76,0xC4,0x1D,0xD0,0x63,0x72,0x6E,0x75};
-
- GridFTPDataMovement() : dataMovementDataID("DO_NOT_SET_AT_CLIENTS"), securityProtocol((SecurityProtocol::type)0) {
- }
-
- virtual ~GridFTPDataMovement() throw() {}
-
- std::string dataMovementDataID;
- SecurityProtocol::type securityProtocol;
- std::vector<std::string> gridFTPEndPoint;
-
- void __set_dataMovementDataID(const std::string& val) {
- dataMovementDataID = val;
- }
-
- void __set_securityProtocol(const SecurityProtocol::type val) {
- securityProtocol = val;
- }
-
- void __set_gridFTPEndPoint(const std::vector<std::string> & val) {
- gridFTPEndPoint = val;
- }
-
- bool operator == (const GridFTPDataMovement & rhs) const
- {
- if (!(dataMovementDataID == rhs.dataMovementDataID))
- return false;
- if (!(securityProtocol == rhs.securityProtocol))
- return false;
- if (!(gridFTPEndPoint == rhs.gridFTPEndPoint))
- return false;
- return true;
- }
- bool operator != (const GridFTPDataMovement &rhs) const {
- return !(*this == rhs);
- }
-
- bool operator < (const GridFTPDataMovement & ) const;
-
- uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
- uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-};
-
-void swap(GridFTPDataMovement &a, GridFTPDataMovement &b);
-
-typedef struct _SSHJobSubmission__isset {
- _SSHJobSubmission__isset() : sshPort(true) {}
- bool sshPort;
-} _SSHJobSubmission__isset;
-
-class SSHJobSubmission {
- public:
-
- static const char* ascii_fingerprint; // = "FEB6B2CD28861B4EED855CACA1FEF2CB";
- static const uint8_t binary_fingerprint[16]; // = {0xFE,0xB6,0xB2,0xCD,0x28,0x86,0x1B,0x4E,0xED,0x85,0x5C,0xAC,0xA1,0xFE,0xF2,0xCB};
-
- SSHJobSubmission() : jobSubmissionDataID("DO_NOT_SET_AT_CLIENTS"), resourceJobManager((ResourceJobManager::type)0), sshPort(22) {
- }
-
- virtual ~SSHJobSubmission() throw() {}
-
- std::string jobSubmissionDataID;
- ResourceJobManager::type resourceJobManager;
- int32_t sshPort;
-
- _SSHJobSubmission__isset __isset;
-
- void __set_jobSubmissionDataID(const std::string& val) {
- jobSubmissionDataID = val;
- }
-
- void __set_resourceJobManager(const ResourceJobManager::type val) {
- resourceJobManager = val;
- }
-
- void __set_sshPort(const int32_t val) {
- sshPort = val;
- __isset.sshPort = true;
- }
-
- bool operator == (const SSHJobSubmission & rhs) const
- {
- if (!(jobSubmissionDataID == rhs.jobSubmissionDataID))
- return false;
- if (!(resourceJobManager == rhs.resourceJobManager))
- return false;
- if (__isset.sshPort != rhs.__isset.sshPort)
- return false;
- else if (__isset.sshPort && !(sshPort == rhs.sshPort))
- return false;
- return true;
- }
- bool operator != (const SSHJobSubmission &rhs) const {
- return !(*this == rhs);
- }
-
- bool operator < (const SSHJobSubmission & ) const;
-
- uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
- uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-};
-
-void swap(SSHJobSubmission &a, SSHJobSubmission &b);
-
-typedef struct _GlobusJobSubmission__isset {
- _GlobusJobSubmission__isset() : globusGateKeeperEndPoint(false) {}
- bool globusGateKeeperEndPoint;
-} _GlobusJobSubmission__isset;
-
-class GlobusJobSubmission {
- public:
-
- static const char* ascii_fingerprint; // = "DF4253F78D7B543C16FA461660D38A03";
- static const uint8_t binary_fingerprint[16]; // = {0xDF,0x42,0x53,0xF7,0x8D,0x7B,0x54,0x3C,0x16,0xFA,0x46,0x16,0x60,0xD3,0x8A,0x03};
-
- GlobusJobSubmission() : jobSubmissionDataID("DO_NOT_SET_AT_CLIENTS"), securityProtocol((SecurityProtocol::type)0), resourceJobManager((ResourceJobManager::type)0) {
- }
-
- virtual ~GlobusJobSubmission() throw() {}
-
- std::string jobSubmissionDataID;
- SecurityProtocol::type securityProtocol;
- ResourceJobManager::type resourceJobManager;
- std::vector<std::string> globusGateKeeperEndPoint;
-
- _GlobusJobSubmission__isset __isset;
-
- void __set_jobSubmissionDataID(const std::string& val) {
- jobSubmissionDataID = val;
- }
-
- void __set_securityProtocol(const SecurityProtocol::type val) {
- securityProtocol = val;
- }
-
- void __set_resourceJobManager(const ResourceJobManager::type val) {
- resourceJobManager = val;
- }
-
- void __set_globusGateKeeperEndPoint(const std::vector<std::string> & val) {
- globusGateKeeperEndPoint = val;
- __isset.globusGateKeeperEndPoint = true;
- }
-
- bool operator == (const GlobusJobSubmission & rhs) const
- {
- if (!(jobSubmissionDataID == rhs.jobSubmissionDataID))
- return false;
- if (!(securityProtocol == rhs.securityProtocol))
- return false;
- if (!(resourceJobManager == rhs.resourceJobManager))
- return false;
- if (__isset.globusGateKeeperEndPoint != rhs.__isset.globusGateKeeperEndPoint)
- return false;
- else if (__isset.globusGateKeeperEndPoint && !(globusGateKeeperEndPoint == rhs.globusGateKeeperEndPoint))
- return false;
- return true;
- }
- bool operator != (const GlobusJobSubmission &rhs) const {
- return !(*this == rhs);
- }
-
- bool operator < (const GlobusJobSubmission & ) const;
-
- uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
- uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-};
-
-void swap(GlobusJobSubmission &a, GlobusJobSubmission &b);
-
-typedef struct _GSISSHJobSubmission__isset {
- _GSISSHJobSubmission__isset() : sshPort(true), exports(false), preJobCommands(false), postJobCommands(false), installedPath(false), monitorMode(false) {}
- bool sshPort;
- bool exports;
- bool preJobCommands;
- bool postJobCommands;
- bool installedPath;
- bool monitorMode;
-} _GSISSHJobSubmission__isset;
-
-class GSISSHJobSubmission {
- public:
-
- static const char* ascii_fingerprint; // = "6969A7F145C4403B2F9081A498E933FD";
- static const uint8_t binary_fingerprint[16]; // = {0x69,0x69,0xA7,0xF1,0x45,0xC4,0x40,0x3B,0x2F,0x90,0x81,0xA4,0x98,0xE9,0x33,0xFD};
-
- GSISSHJobSubmission() : jobSubmissionDataID("DO_NOT_SET_AT_CLIENTS"), resourceJobManager((ResourceJobManager::type)0), sshPort(22), installedPath(), monitorMode() {
- }
-
- virtual ~GSISSHJobSubmission() throw() {}
-
- std::string jobSubmissionDataID;
- ResourceJobManager::type resourceJobManager;
- int32_t sshPort;
- std::set<std::string> exports;
- std::vector<std::string> preJobCommands;
- std::vector<std::string> postJobCommands;
- std::string installedPath;
- std::string monitorMode;
-
- _GSISSHJobSubmission__isset __isset;
-
- void __set_jobSubmissionDataID(const std::string& val) {
- jobSubmissionDataID = val;
- }
-
- void __set_resourceJobManager(const ResourceJobManager::type val) {
- resourceJobManager = val;
- }
-
- void __set_sshPort(const int32_t val) {
- sshPort = val;
- __isset.sshPort = true;
- }
-
- void __set_exports(const std::set<std::string> & val) {
- exports = val;
- __isset.exports = true;
- }
-
- void __set_preJobCommands(const std::vector<std::string> & val) {
- preJobCommands = val;
- __isset.preJobCommands = true;
- }
-
- void __set_postJobCommands(const std::vector<std::string> & val) {
- postJobCommands = val;
- __isset.postJobCommands = true;
- }
-
- void __set_installedPath(const std::string& val) {
- installedPath = val;
- __isset.installedPath = true;
- }
-
- void __set_monitorMode(const std::string& val) {
- monitorMode = val;
- __isset.monitorMode = true;
- }
-
- bool operator == (const GSISSHJobSubmission & rhs) const
- {
- if (!(jobSubmissionDataID == rhs.jobSubmissionDataID))
- return false;
- if (!(resourceJobManager == rhs.resourceJobManager))
- return false;
- if (__isset.sshPort != rhs.__isset.sshPort)
- return false;
- else if (__isset.sshPort && !(sshPort == rhs.sshPort))
- return false;
- if (__isset.exports != rhs.__isset.exports)
- return false;
- else if (__isset.exports && !(exports == rhs.exports))
- return false;
- if (__isset.preJobCommands != rhs.__isset.preJobCommands)
- return false;
- else if (__isset.preJobCommands && !(preJobCommands == rhs.preJobCommands))
- return false;
- if (__isset.postJobCommands != rhs.__isset.postJobCommands)
- return false;
- else if (__isset.postJobCommands && !(postJobCommands == rhs.postJobCommands))
- return false;
- if (__isset.installedPath != rhs.__isset.installedPath)
- return false;
- else if (__isset.installedPath && !(installedPath == rhs.installedPath))
- return false;
- if (__isset.monitorMode != rhs.__isset.monitorMode)
- return false;
- else if (__isset.monitorMode && !(monitorMode == rhs.monitorMode))
- return false;
- return true;
- }
- bool operator != (const GSISSHJobSubmission &rhs) const {
- return !(*this == rhs);
- }
-
- bool operator < (const GSISSHJobSubmission & ) const;
-
- uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
- uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-};
-
-void swap(GSISSHJobSubmission &a, GSISSHJobSubmission &b);
-
-typedef struct _ComputeResourceDescription__isset {
- _ComputeResourceDescription__isset() : hostAliases(false), ipAddresses(false), resourceDescription(false), scratchLocation(false), preferredJobSubmissionProtocol(false) {}
- bool hostAliases;
- bool ipAddresses;
- bool resourceDescription;
- bool scratchLocation;
- bool preferredJobSubmissionProtocol;
-} _ComputeResourceDescription__isset;
-
-class ComputeResourceDescription {
- public:
-
- static const char* ascii_fingerprint; // = "BA89EA8A5D740F97C53BA51CA49FEC18";
- static const uint8_t binary_fingerprint[16]; // = {0xBA,0x89,0xEA,0x8A,0x5D,0x74,0x0F,0x97,0xC5,0x3B,0xA5,0x1C,0xA4,0x9F,0xEC,0x18};
-
- ComputeResourceDescription() : isEmpty(false), resourceId("DO_NOT_SET_AT_CLIENTS"), hostName(), resourceDescription(), scratchLocation(), preferredJobSubmissionProtocol() {
- }
-
- virtual ~ComputeResourceDescription() throw() {}
-
- bool isEmpty;
- std::string resourceId;
- std::string hostName;
- std::set<std::string> hostAliases;
- std::set<std::string> ipAddresses;
- std::string resourceDescription;
- std::string scratchLocation;
- std::string preferredJobSubmissionProtocol;
- std::map<std::string, JobSubmissionProtocol::type> jobSubmissionProtocols;
- std::map<std::string, DataMovementProtocol::type> dataMovementProtocols;
-
- _ComputeResourceDescription__isset __isset;
-
- void __set_isEmpty(const bool val) {
- isEmpty = val;
- }
-
- void __set_resourceId(const std::string& val) {
- resourceId = val;
- }
-
- void __set_hostName(const std::string& val) {
- hostName = val;
- }
-
- void __set_hostAliases(const std::set<std::string> & val) {
- hostAliases = val;
- __isset.hostAliases = true;
- }
-
- void __set_ipAddresses(const std::set<std::string> & val) {
- ipAddresses = val;
- __isset.ipAddresses = true;
- }
-
- void __set_resourceDescription(const std::string& val) {
- resourceDescription = val;
- __isset.resourceDescription = true;
- }
-
- void __set_scratchLocation(const std::string& val) {
- scratchLocation = val;
- __isset.scratchLocation = true;
- }
-
- void __set_preferredJobSubmissionProtocol(const std::string& val) {
- preferredJobSubmissionProtocol = val;
- __isset.preferredJobSubmissionProtocol = true;
- }
-
- void __set_jobSubmissionProtocols(const std::map<std::string, JobSubmissionProtocol::type> & val) {
- jobSubmissionProtocols = val;
- }
-
- void __set_dataMovementProtocols(const std::map<std::string, DataMovementProtocol::type> & val) {
- dataMovementProtocols = val;
- }
-
- bool operator == (const ComputeResourceDescription & rhs) const
- {
- if (!(isEmpty == rhs.isEmpty))
- return false;
- if (!(resourceId == rhs.resourceId))
- return false;
- if (!(hostName == rhs.hostName))
- return false;
- if (__isset.hostAliases != rhs.__isset.hostAliases)
- return false;
- else if (__isset.hostAliases && !(hostAliases == rhs.hostAliases))
- return false;
- if (__isset.ipAddresses != rhs.__isset.ipAddresses)
- return false;
- else if (__isset.ipAddresses && !(ipAddresses == rhs.ipAddresses))
- return false;
- if (__isset.resourceDescription != rhs.__isset.resourceDescription)
- return false;
- else if (__isset.resourceDescription && !(resourceDescription == rhs.resourceDescription))
- return false;
- if (__isset.scratchLocation != rhs.__isset.scratchLocation)
- return false;
- else if (__isset.scratchLocation && !(scratchLocation == rhs.scratchLocation))
- return false;
- if (__isset.preferredJobSubmissionProtocol != rhs.__isset.preferredJobSubmissionProtocol)
- return false;
- else if (__isset.preferredJobSubmissionProtocol && !(preferredJobSubmissionProtocol == rhs.preferredJobSubmissionProtocol))
- return false;
- if (!(jobSubmissionProtocols == rhs.jobSubmissionProtocols))
- return false;
- if (!(dataMovementProtocols == rhs.dataMovementProtocols))
- return false;
- return true;
- }
- bool operator != (const ComputeResourceDescription &rhs) const {
- return !(*this == rhs);
- }
-
- bool operator < (const ComputeResourceDescription & ) const;
-
- uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
- uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-};
-
-void swap(ComputeResourceDescription &a, ComputeResourceDescription &b);
-
-typedef struct _ApplicationDescriptor__isset {
- _ApplicationDescriptor__isset() : applicationDescriptorData(false) {}
- bool applicationDescriptorData;
-} _ApplicationDescriptor__isset;
-
-class ApplicationDescriptor {
- public:
-
- static const char* ascii_fingerprint; // = "5B708A954C550ECA9C1A49D3C5CAFAB9";
- static const uint8_t binary_fingerprint[16]; // = {0x5B,0x70,0x8A,0x95,0x4C,0x55,0x0E,0xCA,0x9C,0x1A,0x49,0xD3,0xC5,0xCA,0xFA,0xB9};
-
- ApplicationDescriptor() : applicationDescriptorId("DO_NOT_SET_AT_CLIENTS"), applicationDescriptorData() {
- }
-
- virtual ~ApplicationDescriptor() throw() {}
-
- std::string applicationDescriptorId;
- std::string applicationDescriptorData;
-
- _ApplicationDescriptor__isset __isset;
-
- void __set_applicationDescriptorId(const std::string& val) {
- applicationDescriptorId = val;
- }
-
- void __set_applicationDescriptorData(const std::string& val) {
- applicationDescriptorData = val;
- __isset.applicationDescriptorData = true;
- }
-
- bool operator == (const ApplicationDescriptor & rhs) const
- {
- if (!(applicationDescriptorId == rhs.applicationDescriptorId))
- return false;
- if (__isset.applicationDescriptorData != rhs.__isset.applicationDescriptorData)
- return false;
- else if (__isset.applicationDescriptorData && !(applicationDescriptorData == rhs.applicationDescriptorData))
- return false;
- return true;
- }
- bool operator != (const ApplicationDescriptor &rhs) const {
- return !(*this == rhs);
- }
-
- bool operator < (const ApplicationDescriptor & ) const;
-
- uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
- uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-};
-
-void swap(ApplicationDescriptor &a, ApplicationDescriptor &b);
-
-
-class ApplicationDeployment {
- public:
-
- static const char* ascii_fingerprint; // = "960C379A1227D22F43E92F77C32827B9";
- static const uint8_t binary_fingerprint[16]; // = {0x96,0x0C,0x37,0x9A,0x12,0x27,0xD2,0x2F,0x43,0xE9,0x2F,0x77,0xC3,0x28,0x27,0xB9};
-
- ApplicationDeployment() : deploymentId("DO_NOT_SET_AT_CLIENTS") {
- }
-
- virtual ~ApplicationDeployment() throw() {}
-
- std::string deploymentId;
- ComputeResourceDescription computeResourceDescription;
- ApplicationDescriptor applicationDescriptor;
-
- void __set_deploymentId(const std::string& val) {
- deploymentId = val;
- }
-
- void __set_computeResourceDescription(const ComputeResourceDescription& val) {
- computeResourceDescription = val;
- }
-
- void __set_applicationDescriptor(const ApplicationDescriptor& val) {
- applicationDescriptor = val;
- }
-
- bool operator == (const ApplicationDeployment & rhs) const
- {
- if (!(deploymentId == rhs.deploymentId))
- return false;
- if (!(computeResourceDescription == rhs.computeResourceDescription))
- return false;
- if (!(applicationDescriptor == rhs.applicationDescriptor))
- return false;
- return true;
- }
- bool operator != (const ApplicationDeployment &rhs) const {
- return !(*this == rhs);
- }
-
- bool operator < (const ApplicationDeployment & ) const;
-
- uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
- uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-};
-
-void swap(ApplicationDeployment &a, ApplicationDeployment &b);
-
-typedef struct _ApplicationInterface__isset {
- _ApplicationInterface__isset() : applicationInterfaceData(false), applicationDeployments(false) {}
- bool applicationInterfaceData;
- bool applicationDeployments;
-} _ApplicationInterface__isset;
-
-class ApplicationInterface {
- public:
-
- static const char* ascii_fingerprint; // = "EEF3E81C0A64CA93FD2422A6CF9ABA97";
- static const uint8_t binary_fingerprint[16]; // = {0xEE,0xF3,0xE8,0x1C,0x0A,0x64,0xCA,0x93,0xFD,0x24,0x22,0xA6,0xCF,0x9A,0xBA,0x97};
-
- ApplicationInterface() : applicationInterfaceId("DO_NOT_SET_AT_CLIENTS"), applicationInterfaceData() {
- }
-
- virtual ~ApplicationInterface() throw() {}
-
- std::string applicationInterfaceId;
- std::string applicationInterfaceData;
- std::vector<ApplicationDeployment> applicationDeployments;
-
- _ApplicationInterface__isset __isset;
-
- void __set_applicationInterfaceId(const std::string& val) {
- applicationInterfaceId = val;
- }
-
- void __set_applicationInterfaceData(const std::string& val) {
- applicationInterfaceData = val;
- __isset.applicationInterfaceData = true;
- }
-
- void __set_applicationDeployments(const std::vector<ApplicationDeployment> & val) {
- applicationDeployments = val;
- __isset.applicationDeployments = true;
- }
-
- bool operator == (const ApplicationInterface & rhs) const
- {
- if (!(applicationInterfaceId == rhs.applicationInterfaceId))
- return false;
- if (__isset.applicationInterfaceData != rhs.__isset.applicationInterfaceData)
- return false;
- else if (__isset.applicationInterfaceData && !(applicationInterfaceData == rhs.applicationInterfaceData))
- return false;
- if (__isset.applicationDeployments != rhs.__isset.applicationDeployments)
- return false;
- else if (__isset.applicationDeployments && !(applicationDeployments == rhs.applicationDeployments))
- return false;
- return true;
- }
- bool operator != (const ApplicationInterface &rhs) const {
- return !(*this == rhs);
- }
-
- bool operator < (const ApplicationInterface & ) const;
-
- uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
- uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-};
-
-void swap(ApplicationInterface &a, ApplicationInterface &b);
-
-
-
-#endif
http://git-wip-us.apache.org/repos/asf/airavata/blob/00b8aaf0/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/applicationDeploymentModel_constants.cpp
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/applicationDeploymentModel_constants.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/applicationDeploymentModel_constants.cpp
deleted file mode 100644
index 52c0dac..0000000
--- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/applicationDeploymentModel_constants.cpp
+++ /dev/null
@@ -1,19 +0,0 @@
-/**
- * Autogenerated by Thrift Compiler (0.9.1)
- *
- * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
- * @generated
- */
-#include "applicationDeploymentModel_constants.h"
-
-namespace apache { namespace airavata { namespace model { namespace appcatalog { namespace appdeployment {
-
-const applicationDeploymentModelConstants g_applicationDeploymentModel_constants;
-
-applicationDeploymentModelConstants::applicationDeploymentModelConstants() {
- DEFAULT_ID = "DO_NOT_SET_AT_CLIENTS";
-
-}
-
-}}}}} // namespace
-
http://git-wip-us.apache.org/repos/asf/airavata/blob/00b8aaf0/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/applicationDeploymentModel_constants.h
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/applicationDeploymentModel_constants.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/applicationDeploymentModel_constants.h
deleted file mode 100644
index a0ba25e..0000000
--- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/applicationDeploymentModel_constants.h
+++ /dev/null
@@ -1,25 +0,0 @@
-/**
- * Autogenerated by Thrift Compiler (0.9.1)
- *
- * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
- * @generated
- */
-#ifndef applicationDeploymentModel_CONSTANTS_H
-#define applicationDeploymentModel_CONSTANTS_H
-
-#include "applicationDeploymentModel_types.h"
-
-namespace apache { namespace airavata { namespace model { namespace appcatalog { namespace appdeployment {
-
-class applicationDeploymentModelConstants {
- public:
- applicationDeploymentModelConstants();
-
- std::string DEFAULT_ID;
-};
-
-extern const applicationDeploymentModelConstants g_applicationDeploymentModel_constants;
-
-}}}}} // namespace
-
-#endif
[28/47] removed unnecessary files, updated ini file
Posted by sm...@apache.org.
http://git-wip-us.apache.org/repos/asf/airavata/blob/00b8aaf0/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/gatewayResourceProfileModel_constants.h
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/gatewayResourceProfileModel_constants.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/gatewayResourceProfileModel_constants.h
deleted file mode 100644
index e584f21..0000000
--- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/gatewayResourceProfileModel_constants.h
+++ /dev/null
@@ -1,25 +0,0 @@
-/**
- * Autogenerated by Thrift Compiler (0.9.1)
- *
- * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
- * @generated
- */
-#ifndef gatewayResourceProfileModel_CONSTANTS_H
-#define gatewayResourceProfileModel_CONSTANTS_H
-
-#include "gatewayResourceProfileModel_types.h"
-
-namespace apache { namespace airavata { namespace model { namespace appcatalog { namespace gatewayprofile {
-
-class gatewayResourceProfileModelConstants {
- public:
- gatewayResourceProfileModelConstants();
-
- std::string DEFAULT_ID;
-};
-
-extern const gatewayResourceProfileModelConstants g_gatewayResourceProfileModel_constants;
-
-}}}}} // namespace
-
-#endif
http://git-wip-us.apache.org/repos/asf/airavata/blob/00b8aaf0/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/gatewayResourceProfileModel_types.cpp
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/gatewayResourceProfileModel_types.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/gatewayResourceProfileModel_types.cpp
deleted file mode 100644
index d9951ca..0000000
--- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/gatewayResourceProfileModel_types.cpp
+++ /dev/null
@@ -1,293 +0,0 @@
-/**
- * Autogenerated by Thrift Compiler (0.9.1)
- *
- * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
- * @generated
- */
-#include "gatewayResourceProfileModel_types.h"
-
-#include <algorithm>
-
-namespace apache { namespace airavata { namespace model { namespace appcatalog { namespace gatewayprofile {
-
-const char* ComputeResourcePreference::ascii_fingerprint = "9C98338B7E052CD4DEECB22F243D6DAE";
-const uint8_t ComputeResourcePreference::binary_fingerprint[16] = {0x9C,0x98,0x33,0x8B,0x7E,0x05,0x2C,0xD4,0xDE,0xEC,0xB2,0x2F,0x24,0x3D,0x6D,0xAE};
-
-uint32_t ComputeResourcePreference::read(::apache::thrift::protocol::TProtocol* iprot) {
-
- uint32_t xfer = 0;
- std::string fname;
- ::apache::thrift::protocol::TType ftype;
- int16_t fid;
-
- xfer += iprot->readStructBegin(fname);
-
- using ::apache::thrift::protocol::TProtocolException;
-
- bool isset_computeResourceId = false;
- bool isset_overridebyAiravata = false;
-
- while (true)
- {
- xfer += iprot->readFieldBegin(fname, ftype, fid);
- if (ftype == ::apache::thrift::protocol::T_STOP) {
- break;
- }
- switch (fid)
- {
- case 1:
- if (ftype == ::apache::thrift::protocol::T_STRING) {
- xfer += iprot->readString(this->computeResourceId);
- isset_computeResourceId = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 2:
- if (ftype == ::apache::thrift::protocol::T_BOOL) {
- xfer += iprot->readBool(this->overridebyAiravata);
- isset_overridebyAiravata = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 3:
- if (ftype == ::apache::thrift::protocol::T_STRING) {
- xfer += iprot->readString(this->preferredJobSubmissionProtocol);
- this->__isset.preferredJobSubmissionProtocol = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 4:
- if (ftype == ::apache::thrift::protocol::T_STRING) {
- xfer += iprot->readString(this->preferredDataMovementProtocol);
- this->__isset.preferredDataMovementProtocol = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 5:
- if (ftype == ::apache::thrift::protocol::T_STRING) {
- xfer += iprot->readString(this->preferredBatchQueue);
- this->__isset.preferredBatchQueue = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 6:
- if (ftype == ::apache::thrift::protocol::T_STRING) {
- xfer += iprot->readString(this->scratchLocation);
- this->__isset.scratchLocation = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 7:
- if (ftype == ::apache::thrift::protocol::T_STRING) {
- xfer += iprot->readString(this->allocationProjectNumber);
- this->__isset.allocationProjectNumber = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- default:
- xfer += iprot->skip(ftype);
- break;
- }
- xfer += iprot->readFieldEnd();
- }
-
- xfer += iprot->readStructEnd();
-
- if (!isset_computeResourceId)
- throw TProtocolException(TProtocolException::INVALID_DATA);
- if (!isset_overridebyAiravata)
- throw TProtocolException(TProtocolException::INVALID_DATA);
- return xfer;
-}
-
-uint32_t ComputeResourcePreference::write(::apache::thrift::protocol::TProtocol* oprot) const {
- uint32_t xfer = 0;
- xfer += oprot->writeStructBegin("ComputeResourcePreference");
-
- xfer += oprot->writeFieldBegin("computeResourceId", ::apache::thrift::protocol::T_STRING, 1);
- xfer += oprot->writeString(this->computeResourceId);
- xfer += oprot->writeFieldEnd();
-
- xfer += oprot->writeFieldBegin("overridebyAiravata", ::apache::thrift::protocol::T_BOOL, 2);
- xfer += oprot->writeBool(this->overridebyAiravata);
- xfer += oprot->writeFieldEnd();
-
- if (this->__isset.preferredJobSubmissionProtocol) {
- xfer += oprot->writeFieldBegin("preferredJobSubmissionProtocol", ::apache::thrift::protocol::T_STRING, 3);
- xfer += oprot->writeString(this->preferredJobSubmissionProtocol);
- xfer += oprot->writeFieldEnd();
- }
- if (this->__isset.preferredDataMovementProtocol) {
- xfer += oprot->writeFieldBegin("preferredDataMovementProtocol", ::apache::thrift::protocol::T_STRING, 4);
- xfer += oprot->writeString(this->preferredDataMovementProtocol);
- xfer += oprot->writeFieldEnd();
- }
- if (this->__isset.preferredBatchQueue) {
- xfer += oprot->writeFieldBegin("preferredBatchQueue", ::apache::thrift::protocol::T_STRING, 5);
- xfer += oprot->writeString(this->preferredBatchQueue);
- xfer += oprot->writeFieldEnd();
- }
- if (this->__isset.scratchLocation) {
- xfer += oprot->writeFieldBegin("scratchLocation", ::apache::thrift::protocol::T_STRING, 6);
- xfer += oprot->writeString(this->scratchLocation);
- xfer += oprot->writeFieldEnd();
- }
- if (this->__isset.allocationProjectNumber) {
- xfer += oprot->writeFieldBegin("allocationProjectNumber", ::apache::thrift::protocol::T_STRING, 7);
- xfer += oprot->writeString(this->allocationProjectNumber);
- xfer += oprot->writeFieldEnd();
- }
- xfer += oprot->writeFieldStop();
- xfer += oprot->writeStructEnd();
- return xfer;
-}
-
-void swap(ComputeResourcePreference &a, ComputeResourcePreference &b) {
- using ::std::swap;
- swap(a.computeResourceId, b.computeResourceId);
- swap(a.overridebyAiravata, b.overridebyAiravata);
- swap(a.preferredJobSubmissionProtocol, b.preferredJobSubmissionProtocol);
- swap(a.preferredDataMovementProtocol, b.preferredDataMovementProtocol);
- swap(a.preferredBatchQueue, b.preferredBatchQueue);
- swap(a.scratchLocation, b.scratchLocation);
- swap(a.allocationProjectNumber, b.allocationProjectNumber);
- swap(a.__isset, b.__isset);
-}
-
-const char* GatewayResourceProfile::ascii_fingerprint = "D6477904C48AAB4DC8F09369D670B400";
-const uint8_t GatewayResourceProfile::binary_fingerprint[16] = {0xD6,0x47,0x79,0x04,0xC4,0x8A,0xAB,0x4D,0xC8,0xF0,0x93,0x69,0xD6,0x70,0xB4,0x00};
-
-uint32_t GatewayResourceProfile::read(::apache::thrift::protocol::TProtocol* iprot) {
-
- uint32_t xfer = 0;
- std::string fname;
- ::apache::thrift::protocol::TType ftype;
- int16_t fid;
-
- xfer += iprot->readStructBegin(fname);
-
- using ::apache::thrift::protocol::TProtocolException;
-
- bool isset_gatewayID = false;
- bool isset_gatewayName = false;
-
- while (true)
- {
- xfer += iprot->readFieldBegin(fname, ftype, fid);
- if (ftype == ::apache::thrift::protocol::T_STOP) {
- break;
- }
- switch (fid)
- {
- case 1:
- if (ftype == ::apache::thrift::protocol::T_STRING) {
- xfer += iprot->readString(this->gatewayID);
- isset_gatewayID = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 2:
- if (ftype == ::apache::thrift::protocol::T_STRING) {
- xfer += iprot->readString(this->gatewayName);
- isset_gatewayName = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 3:
- if (ftype == ::apache::thrift::protocol::T_STRING) {
- xfer += iprot->readString(this->gatewayDescription);
- this->__isset.gatewayDescription = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 4:
- if (ftype == ::apache::thrift::protocol::T_LIST) {
- {
- this->computeResourcePreferences.clear();
- uint32_t _size0;
- ::apache::thrift::protocol::TType _etype3;
- xfer += iprot->readListBegin(_etype3, _size0);
- this->computeResourcePreferences.resize(_size0);
- uint32_t _i4;
- for (_i4 = 0; _i4 < _size0; ++_i4)
- {
- xfer += this->computeResourcePreferences[_i4].read(iprot);
- }
- xfer += iprot->readListEnd();
- }
- this->__isset.computeResourcePreferences = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- default:
- xfer += iprot->skip(ftype);
- break;
- }
- xfer += iprot->readFieldEnd();
- }
-
- xfer += iprot->readStructEnd();
-
- if (!isset_gatewayID)
- throw TProtocolException(TProtocolException::INVALID_DATA);
- if (!isset_gatewayName)
- throw TProtocolException(TProtocolException::INVALID_DATA);
- return xfer;
-}
-
-uint32_t GatewayResourceProfile::write(::apache::thrift::protocol::TProtocol* oprot) const {
- uint32_t xfer = 0;
- xfer += oprot->writeStructBegin("GatewayResourceProfile");
-
- xfer += oprot->writeFieldBegin("gatewayID", ::apache::thrift::protocol::T_STRING, 1);
- xfer += oprot->writeString(this->gatewayID);
- xfer += oprot->writeFieldEnd();
-
- xfer += oprot->writeFieldBegin("gatewayName", ::apache::thrift::protocol::T_STRING, 2);
- xfer += oprot->writeString(this->gatewayName);
- xfer += oprot->writeFieldEnd();
-
- if (this->__isset.gatewayDescription) {
- xfer += oprot->writeFieldBegin("gatewayDescription", ::apache::thrift::protocol::T_STRING, 3);
- xfer += oprot->writeString(this->gatewayDescription);
- xfer += oprot->writeFieldEnd();
- }
- if (this->__isset.computeResourcePreferences) {
- xfer += oprot->writeFieldBegin("computeResourcePreferences", ::apache::thrift::protocol::T_LIST, 4);
- {
- xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>(this->computeResourcePreferences.size()));
- std::vector<ComputeResourcePreference> ::const_iterator _iter5;
- for (_iter5 = this->computeResourcePreferences.begin(); _iter5 != this->computeResourcePreferences.end(); ++_iter5)
- {
- xfer += (*_iter5).write(oprot);
- }
- xfer += oprot->writeListEnd();
- }
- xfer += oprot->writeFieldEnd();
- }
- xfer += oprot->writeFieldStop();
- xfer += oprot->writeStructEnd();
- return xfer;
-}
-
-void swap(GatewayResourceProfile &a, GatewayResourceProfile &b) {
- using ::std::swap;
- swap(a.gatewayID, b.gatewayID);
- swap(a.gatewayName, b.gatewayName);
- swap(a.gatewayDescription, b.gatewayDescription);
- swap(a.computeResourcePreferences, b.computeResourcePreferences);
- swap(a.__isset, b.__isset);
-}
-
-}}}}} // namespace
http://git-wip-us.apache.org/repos/asf/airavata/blob/00b8aaf0/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/gatewayResourceProfileModel_types.h
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/gatewayResourceProfileModel_types.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/gatewayResourceProfileModel_types.h
deleted file mode 100644
index 62ca9e0..0000000
--- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/gatewayResourceProfileModel_types.h
+++ /dev/null
@@ -1,197 +0,0 @@
-/**
- * Autogenerated by Thrift Compiler (0.9.1)
- *
- * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
- * @generated
- */
-#ifndef gatewayResourceProfileModel_TYPES_H
-#define gatewayResourceProfileModel_TYPES_H
-
-#include <thrift/Thrift.h>
-#include <thrift/TApplicationException.h>
-#include <thrift/protocol/TProtocol.h>
-#include <thrift/transport/TTransport.h>
-
-#include <thrift/cxxfunctional.h>
-
-
-namespace apache { namespace airavata { namespace model { namespace appcatalog { namespace gatewayprofile {
-
-typedef struct _ComputeResourcePreference__isset {
- _ComputeResourcePreference__isset() : preferredJobSubmissionProtocol(false), preferredDataMovementProtocol(false), preferredBatchQueue(false), scratchLocation(false), allocationProjectNumber(false) {}
- bool preferredJobSubmissionProtocol;
- bool preferredDataMovementProtocol;
- bool preferredBatchQueue;
- bool scratchLocation;
- bool allocationProjectNumber;
-} _ComputeResourcePreference__isset;
-
-class ComputeResourcePreference {
- public:
-
- static const char* ascii_fingerprint; // = "9C98338B7E052CD4DEECB22F243D6DAE";
- static const uint8_t binary_fingerprint[16]; // = {0x9C,0x98,0x33,0x8B,0x7E,0x05,0x2C,0xD4,0xDE,0xEC,0xB2,0x2F,0x24,0x3D,0x6D,0xAE};
-
- ComputeResourcePreference() : computeResourceId(), overridebyAiravata(true), preferredJobSubmissionProtocol(), preferredDataMovementProtocol(), preferredBatchQueue(), scratchLocation(), allocationProjectNumber() {
- }
-
- virtual ~ComputeResourcePreference() throw() {}
-
- std::string computeResourceId;
- bool overridebyAiravata;
- std::string preferredJobSubmissionProtocol;
- std::string preferredDataMovementProtocol;
- std::string preferredBatchQueue;
- std::string scratchLocation;
- std::string allocationProjectNumber;
-
- _ComputeResourcePreference__isset __isset;
-
- void __set_computeResourceId(const std::string& val) {
- computeResourceId = val;
- }
-
- void __set_overridebyAiravata(const bool val) {
- overridebyAiravata = val;
- }
-
- void __set_preferredJobSubmissionProtocol(const std::string& val) {
- preferredJobSubmissionProtocol = val;
- __isset.preferredJobSubmissionProtocol = true;
- }
-
- void __set_preferredDataMovementProtocol(const std::string& val) {
- preferredDataMovementProtocol = val;
- __isset.preferredDataMovementProtocol = true;
- }
-
- void __set_preferredBatchQueue(const std::string& val) {
- preferredBatchQueue = val;
- __isset.preferredBatchQueue = true;
- }
-
- void __set_scratchLocation(const std::string& val) {
- scratchLocation = val;
- __isset.scratchLocation = true;
- }
-
- void __set_allocationProjectNumber(const std::string& val) {
- allocationProjectNumber = val;
- __isset.allocationProjectNumber = true;
- }
-
- bool operator == (const ComputeResourcePreference & rhs) const
- {
- if (!(computeResourceId == rhs.computeResourceId))
- return false;
- if (!(overridebyAiravata == rhs.overridebyAiravata))
- return false;
- if (__isset.preferredJobSubmissionProtocol != rhs.__isset.preferredJobSubmissionProtocol)
- return false;
- else if (__isset.preferredJobSubmissionProtocol && !(preferredJobSubmissionProtocol == rhs.preferredJobSubmissionProtocol))
- return false;
- if (__isset.preferredDataMovementProtocol != rhs.__isset.preferredDataMovementProtocol)
- return false;
- else if (__isset.preferredDataMovementProtocol && !(preferredDataMovementProtocol == rhs.preferredDataMovementProtocol))
- return false;
- if (__isset.preferredBatchQueue != rhs.__isset.preferredBatchQueue)
- return false;
- else if (__isset.preferredBatchQueue && !(preferredBatchQueue == rhs.preferredBatchQueue))
- return false;
- if (__isset.scratchLocation != rhs.__isset.scratchLocation)
- return false;
- else if (__isset.scratchLocation && !(scratchLocation == rhs.scratchLocation))
- return false;
- if (__isset.allocationProjectNumber != rhs.__isset.allocationProjectNumber)
- return false;
- else if (__isset.allocationProjectNumber && !(allocationProjectNumber == rhs.allocationProjectNumber))
- return false;
- return true;
- }
- bool operator != (const ComputeResourcePreference &rhs) const {
- return !(*this == rhs);
- }
-
- bool operator < (const ComputeResourcePreference & ) const;
-
- uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
- uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-};
-
-void swap(ComputeResourcePreference &a, ComputeResourcePreference &b);
-
-typedef struct _GatewayResourceProfile__isset {
- _GatewayResourceProfile__isset() : gatewayDescription(false), computeResourcePreferences(false) {}
- bool gatewayDescription;
- bool computeResourcePreferences;
-} _GatewayResourceProfile__isset;
-
-class GatewayResourceProfile {
- public:
-
- static const char* ascii_fingerprint; // = "D6477904C48AAB4DC8F09369D670B400";
- static const uint8_t binary_fingerprint[16]; // = {0xD6,0x47,0x79,0x04,0xC4,0x8A,0xAB,0x4D,0xC8,0xF0,0x93,0x69,0xD6,0x70,0xB4,0x00};
-
- GatewayResourceProfile() : gatewayID("DO_NOT_SET_AT_CLIENTS"), gatewayName(), gatewayDescription() {
- }
-
- virtual ~GatewayResourceProfile() throw() {}
-
- std::string gatewayID;
- std::string gatewayName;
- std::string gatewayDescription;
- std::vector<ComputeResourcePreference> computeResourcePreferences;
-
- _GatewayResourceProfile__isset __isset;
-
- void __set_gatewayID(const std::string& val) {
- gatewayID = val;
- }
-
- void __set_gatewayName(const std::string& val) {
- gatewayName = val;
- }
-
- void __set_gatewayDescription(const std::string& val) {
- gatewayDescription = val;
- __isset.gatewayDescription = true;
- }
-
- void __set_computeResourcePreferences(const std::vector<ComputeResourcePreference> & val) {
- computeResourcePreferences = val;
- __isset.computeResourcePreferences = true;
- }
-
- bool operator == (const GatewayResourceProfile & rhs) const
- {
- if (!(gatewayID == rhs.gatewayID))
- return false;
- if (!(gatewayName == rhs.gatewayName))
- return false;
- if (__isset.gatewayDescription != rhs.__isset.gatewayDescription)
- return false;
- else if (__isset.gatewayDescription && !(gatewayDescription == rhs.gatewayDescription))
- return false;
- if (__isset.computeResourcePreferences != rhs.__isset.computeResourcePreferences)
- return false;
- else if (__isset.computeResourcePreferences && !(computeResourcePreferences == rhs.computeResourcePreferences))
- return false;
- return true;
- }
- bool operator != (const GatewayResourceProfile &rhs) const {
- return !(*this == rhs);
- }
-
- bool operator < (const GatewayResourceProfile & ) const;
-
- uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
- uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-};
-
-void swap(GatewayResourceProfile &a, GatewayResourceProfile &b);
-
-}}}}} // namespace
-
-#endif
http://git-wip-us.apache.org/repos/asf/airavata/blob/00b8aaf0/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/workflowAPI_constants.cpp
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/workflowAPI_constants.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/workflowAPI_constants.cpp
deleted file mode 100644
index c1755c9..0000000
--- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/workflowAPI_constants.cpp
+++ /dev/null
@@ -1,19 +0,0 @@
-/**
- * Autogenerated by Thrift Compiler (0.9.1)
- *
- * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
- * @generated
- */
-#include "workflowAPI_constants.h"
-
-namespace airavata { namespace api { namespace workflow {
-
-const workflowAPIConstants g_workflowAPI_constants;
-
-workflowAPIConstants::workflowAPIConstants() {
- AIRAVATA_API_VERSION = "0.13.0";
-
-}
-
-}}} // namespace
-
http://git-wip-us.apache.org/repos/asf/airavata/blob/00b8aaf0/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/workflowAPI_constants.h
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/workflowAPI_constants.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/workflowAPI_constants.h
deleted file mode 100644
index ffb7a9a..0000000
--- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/workflowAPI_constants.h
+++ /dev/null
@@ -1,25 +0,0 @@
-/**
- * Autogenerated by Thrift Compiler (0.9.1)
- *
- * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
- * @generated
- */
-#ifndef workflowAPI_CONSTANTS_H
-#define workflowAPI_CONSTANTS_H
-
-#include "workflowAPI_types.h"
-
-namespace airavata { namespace api { namespace workflow {
-
-class workflowAPIConstants {
- public:
- workflowAPIConstants();
-
- std::string AIRAVATA_API_VERSION;
-};
-
-extern const workflowAPIConstants g_workflowAPI_constants;
-
-}}} // namespace
-
-#endif
http://git-wip-us.apache.org/repos/asf/airavata/blob/00b8aaf0/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/workflowAPI_types.cpp
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/workflowAPI_types.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/workflowAPI_types.cpp
deleted file mode 100644
index 4c24d2c..0000000
--- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/workflowAPI_types.cpp
+++ /dev/null
@@ -1,13 +0,0 @@
-/**
- * Autogenerated by Thrift Compiler (0.9.1)
- *
- * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
- * @generated
- */
-#include "workflowAPI_types.h"
-
-#include <algorithm>
-
-namespace airavata { namespace api { namespace workflow {
-
-}}} // namespace
http://git-wip-us.apache.org/repos/asf/airavata/blob/00b8aaf0/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/workflowAPI_types.h
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/workflowAPI_types.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/workflowAPI_types.h
deleted file mode 100644
index 5e601f6..0000000
--- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/workflowAPI_types.h
+++ /dev/null
@@ -1,30 +0,0 @@
-/**
- * Autogenerated by Thrift Compiler (0.9.1)
- *
- * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
- * @generated
- */
-#ifndef workflowAPI_TYPES_H
-#define workflowAPI_TYPES_H
-
-#include <thrift/Thrift.h>
-#include <thrift/TApplicationException.h>
-#include <thrift/protocol/TProtocol.h>
-#include <thrift/transport/TTransport.h>
-
-#include <thrift/cxxfunctional.h>
-#include "airavataErrors_types.h"
-#include "airavataDataModel_types.h"
-#include "experimentModel_types.h"
-#include "workspaceModel_types.h"
-#include "computeResourceModel_types.h"
-#include "applicationDeploymentModel_types.h"
-#include "applicationInterfaceModel_types.h"
-#include "workflowDataModel_types.h"
-
-
-namespace airavata { namespace api { namespace workflow {
-
-}}} // namespace
-
-#endif
http://git-wip-us.apache.org/repos/asf/airavata/blob/00b8aaf0/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/workflowDataModel_constants.cpp
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/workflowDataModel_constants.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/workflowDataModel_constants.cpp
deleted file mode 100644
index 7335f4e..0000000
--- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/workflowDataModel_constants.cpp
+++ /dev/null
@@ -1,19 +0,0 @@
-/**
- * Autogenerated by Thrift Compiler (0.9.1)
- *
- * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
- * @generated
- */
-#include "workflowDataModel_constants.h"
-
-
-
-const workflowDataModelConstants g_workflowDataModel_constants;
-
-workflowDataModelConstants::workflowDataModelConstants() {
- DEFAULT_ID = "DO_NOT_SET_AT_CLIENTS";
-
-}
-
-
-
http://git-wip-us.apache.org/repos/asf/airavata/blob/00b8aaf0/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/workflowDataModel_constants.h
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/workflowDataModel_constants.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/workflowDataModel_constants.h
deleted file mode 100644
index 29a937b..0000000
--- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/workflowDataModel_constants.h
+++ /dev/null
@@ -1,25 +0,0 @@
-/**
- * Autogenerated by Thrift Compiler (0.9.1)
- *
- * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
- * @generated
- */
-#ifndef workflowDataModel_CONSTANTS_H
-#define workflowDataModel_CONSTANTS_H
-
-#include "workflowDataModel_types.h"
-
-
-
-class workflowDataModelConstants {
- public:
- workflowDataModelConstants();
-
- std::string DEFAULT_ID;
-};
-
-extern const workflowDataModelConstants g_workflowDataModel_constants;
-
-
-
-#endif
http://git-wip-us.apache.org/repos/asf/airavata/blob/00b8aaf0/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/workflowDataModel_types.cpp
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/workflowDataModel_types.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/workflowDataModel_types.cpp
deleted file mode 100644
index 8b7bb07..0000000
--- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/workflowDataModel_types.cpp
+++ /dev/null
@@ -1,108 +0,0 @@
-/**
- * Autogenerated by Thrift Compiler (0.9.1)
- *
- * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
- * @generated
- */
-#include "workflowDataModel_types.h"
-
-#include <algorithm>
-
-
-
-const char* Workflow::ascii_fingerprint = "F4A50F0EC638C7F66026F9B6678FD89B";
-const uint8_t Workflow::binary_fingerprint[16] = {0xF4,0xA5,0x0F,0x0E,0xC6,0x38,0xC7,0xF6,0x60,0x26,0xF9,0xB6,0x67,0x8F,0xD8,0x9B};
-
-uint32_t Workflow::read(::apache::thrift::protocol::TProtocol* iprot) {
-
- uint32_t xfer = 0;
- std::string fname;
- ::apache::thrift::protocol::TType ftype;
- int16_t fid;
-
- xfer += iprot->readStructBegin(fname);
-
- using ::apache::thrift::protocol::TProtocolException;
-
- bool isset_templateId = false;
- bool isset_name = false;
-
- while (true)
- {
- xfer += iprot->readFieldBegin(fname, ftype, fid);
- if (ftype == ::apache::thrift::protocol::T_STOP) {
- break;
- }
- switch (fid)
- {
- case 1:
- if (ftype == ::apache::thrift::protocol::T_STRING) {
- xfer += iprot->readString(this->templateId);
- isset_templateId = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 2:
- if (ftype == ::apache::thrift::protocol::T_STRING) {
- xfer += iprot->readString(this->name);
- isset_name = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 3:
- if (ftype == ::apache::thrift::protocol::T_STRING) {
- xfer += iprot->readString(this->graph);
- this->__isset.graph = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- default:
- xfer += iprot->skip(ftype);
- break;
- }
- xfer += iprot->readFieldEnd();
- }
-
- xfer += iprot->readStructEnd();
-
- if (!isset_templateId)
- throw TProtocolException(TProtocolException::INVALID_DATA);
- if (!isset_name)
- throw TProtocolException(TProtocolException::INVALID_DATA);
- return xfer;
-}
-
-uint32_t Workflow::write(::apache::thrift::protocol::TProtocol* oprot) const {
- uint32_t xfer = 0;
- xfer += oprot->writeStructBegin("Workflow");
-
- xfer += oprot->writeFieldBegin("templateId", ::apache::thrift::protocol::T_STRING, 1);
- xfer += oprot->writeString(this->templateId);
- xfer += oprot->writeFieldEnd();
-
- xfer += oprot->writeFieldBegin("name", ::apache::thrift::protocol::T_STRING, 2);
- xfer += oprot->writeString(this->name);
- xfer += oprot->writeFieldEnd();
-
- if (this->__isset.graph) {
- xfer += oprot->writeFieldBegin("graph", ::apache::thrift::protocol::T_STRING, 3);
- xfer += oprot->writeString(this->graph);
- xfer += oprot->writeFieldEnd();
- }
- xfer += oprot->writeFieldStop();
- xfer += oprot->writeStructEnd();
- return xfer;
-}
-
-void swap(Workflow &a, Workflow &b) {
- using ::std::swap;
- swap(a.templateId, b.templateId);
- swap(a.name, b.name);
- swap(a.graph, b.graph);
- swap(a.__isset, b.__isset);
-}
-
-
http://git-wip-us.apache.org/repos/asf/airavata/blob/00b8aaf0/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/workflowDataModel_types.h
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/workflowDataModel_types.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/workflowDataModel_types.h
deleted file mode 100644
index 3ec5a3d..0000000
--- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/workflowDataModel_types.h
+++ /dev/null
@@ -1,82 +0,0 @@
-/**
- * Autogenerated by Thrift Compiler (0.9.1)
- *
- * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
- * @generated
- */
-#ifndef workflowDataModel_TYPES_H
-#define workflowDataModel_TYPES_H
-
-#include <thrift/Thrift.h>
-#include <thrift/TApplicationException.h>
-#include <thrift/protocol/TProtocol.h>
-#include <thrift/transport/TTransport.h>
-
-#include <thrift/cxxfunctional.h>
-
-
-
-
-typedef struct _Workflow__isset {
- _Workflow__isset() : graph(false) {}
- bool graph;
-} _Workflow__isset;
-
-class Workflow {
- public:
-
- static const char* ascii_fingerprint; // = "F4A50F0EC638C7F66026F9B6678FD89B";
- static const uint8_t binary_fingerprint[16]; // = {0xF4,0xA5,0x0F,0x0E,0xC6,0x38,0xC7,0xF6,0x60,0x26,0xF9,0xB6,0x67,0x8F,0xD8,0x9B};
-
- Workflow() : templateId("DO_NOT_SET_AT_CLIENTS"), name(), graph() {
- }
-
- virtual ~Workflow() throw() {}
-
- std::string templateId;
- std::string name;
- std::string graph;
-
- _Workflow__isset __isset;
-
- void __set_templateId(const std::string& val) {
- templateId = val;
- }
-
- void __set_name(const std::string& val) {
- name = val;
- }
-
- void __set_graph(const std::string& val) {
- graph = val;
- __isset.graph = true;
- }
-
- bool operator == (const Workflow & rhs) const
- {
- if (!(templateId == rhs.templateId))
- return false;
- if (!(name == rhs.name))
- return false;
- if (__isset.graph != rhs.__isset.graph)
- return false;
- else if (__isset.graph && !(graph == rhs.graph))
- return false;
- return true;
- }
- bool operator != (const Workflow &rhs) const {
- return !(*this == rhs);
- }
-
- bool operator < (const Workflow & ) const;
-
- uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
- uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-};
-
-void swap(Workflow &a, Workflow &b);
-
-
-
-#endif
http://git-wip-us.apache.org/repos/asf/airavata/blob/00b8aaf0/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/workspaceModel_constants.cpp
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/workspaceModel_constants.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/workspaceModel_constants.cpp
deleted file mode 100644
index 0afb586..0000000
--- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/workspaceModel_constants.cpp
+++ /dev/null
@@ -1,17 +0,0 @@
-/**
- * Autogenerated by Thrift Compiler (0.9.1)
- *
- * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
- * @generated
- */
-#include "workspaceModel_constants.h"
-
-namespace apache { namespace airavata { namespace model { namespace workspace {
-
-const workspaceModelConstants g_workspaceModel_constants;
-
-workspaceModelConstants::workspaceModelConstants() {
-}
-
-}}}} // namespace
-
http://git-wip-us.apache.org/repos/asf/airavata/blob/00b8aaf0/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/workspaceModel_constants.h
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/workspaceModel_constants.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/workspaceModel_constants.h
deleted file mode 100644
index f1cc0cd..0000000
--- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/workspaceModel_constants.h
+++ /dev/null
@@ -1,24 +0,0 @@
-/**
- * Autogenerated by Thrift Compiler (0.9.1)
- *
- * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
- * @generated
- */
-#ifndef workspaceModel_CONSTANTS_H
-#define workspaceModel_CONSTANTS_H
-
-#include "workspaceModel_types.h"
-
-namespace apache { namespace airavata { namespace model { namespace workspace {
-
-class workspaceModelConstants {
- public:
- workspaceModelConstants();
-
-};
-
-extern const workspaceModelConstants g_workspaceModel_constants;
-
-}}}} // namespace
-
-#endif
http://git-wip-us.apache.org/repos/asf/airavata/blob/00b8aaf0/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/workspaceModel_types.cpp
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/workspaceModel_types.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/workspaceModel_types.cpp
deleted file mode 100644
index d3e7b7c..0000000
--- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/workspaceModel_types.cpp
+++ /dev/null
@@ -1,464 +0,0 @@
-/**
- * Autogenerated by Thrift Compiler (0.9.1)
- *
- * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
- * @generated
- */
-#include "workspaceModel_types.h"
-
-#include <algorithm>
-
-namespace apache { namespace airavata { namespace model { namespace workspace {
-
-const char* Group::ascii_fingerprint = "5B708A954C550ECA9C1A49D3C5CAFAB9";
-const uint8_t Group::binary_fingerprint[16] = {0x5B,0x70,0x8A,0x95,0x4C,0x55,0x0E,0xCA,0x9C,0x1A,0x49,0xD3,0xC5,0xCA,0xFA,0xB9};
-
-uint32_t Group::read(::apache::thrift::protocol::TProtocol* iprot) {
-
- uint32_t xfer = 0;
- std::string fname;
- ::apache::thrift::protocol::TType ftype;
- int16_t fid;
-
- xfer += iprot->readStructBegin(fname);
-
- using ::apache::thrift::protocol::TProtocolException;
-
- bool isset_groupName = false;
-
- while (true)
- {
- xfer += iprot->readFieldBegin(fname, ftype, fid);
- if (ftype == ::apache::thrift::protocol::T_STOP) {
- break;
- }
- switch (fid)
- {
- case 1:
- if (ftype == ::apache::thrift::protocol::T_STRING) {
- xfer += iprot->readString(this->groupName);
- isset_groupName = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 2:
- if (ftype == ::apache::thrift::protocol::T_STRING) {
- xfer += iprot->readString(this->description);
- this->__isset.description = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- default:
- xfer += iprot->skip(ftype);
- break;
- }
- xfer += iprot->readFieldEnd();
- }
-
- xfer += iprot->readStructEnd();
-
- if (!isset_groupName)
- throw TProtocolException(TProtocolException::INVALID_DATA);
- return xfer;
-}
-
-uint32_t Group::write(::apache::thrift::protocol::TProtocol* oprot) const {
- uint32_t xfer = 0;
- xfer += oprot->writeStructBegin("Group");
-
- xfer += oprot->writeFieldBegin("groupName", ::apache::thrift::protocol::T_STRING, 1);
- xfer += oprot->writeString(this->groupName);
- xfer += oprot->writeFieldEnd();
-
- if (this->__isset.description) {
- xfer += oprot->writeFieldBegin("description", ::apache::thrift::protocol::T_STRING, 2);
- xfer += oprot->writeString(this->description);
- xfer += oprot->writeFieldEnd();
- }
- xfer += oprot->writeFieldStop();
- xfer += oprot->writeStructEnd();
- return xfer;
-}
-
-void swap(Group &a, Group &b) {
- using ::std::swap;
- swap(a.groupName, b.groupName);
- swap(a.description, b.description);
- swap(a.__isset, b.__isset);
-}
-
-const char* Project::ascii_fingerprint = "AFD8090DE564134035942D450F918628";
-const uint8_t Project::binary_fingerprint[16] = {0xAF,0xD8,0x09,0x0D,0xE5,0x64,0x13,0x40,0x35,0x94,0x2D,0x45,0x0F,0x91,0x86,0x28};
-
-uint32_t Project::read(::apache::thrift::protocol::TProtocol* iprot) {
-
- uint32_t xfer = 0;
- std::string fname;
- ::apache::thrift::protocol::TType ftype;
- int16_t fid;
-
- xfer += iprot->readStructBegin(fname);
-
- using ::apache::thrift::protocol::TProtocolException;
-
- bool isset_projectID = false;
- bool isset_owner = false;
- bool isset_name = false;
-
- while (true)
- {
- xfer += iprot->readFieldBegin(fname, ftype, fid);
- if (ftype == ::apache::thrift::protocol::T_STOP) {
- break;
- }
- switch (fid)
- {
- case 1:
- if (ftype == ::apache::thrift::protocol::T_STRING) {
- xfer += iprot->readString(this->projectID);
- isset_projectID = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 2:
- if (ftype == ::apache::thrift::protocol::T_STRING) {
- xfer += iprot->readString(this->owner);
- isset_owner = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 3:
- if (ftype == ::apache::thrift::protocol::T_STRING) {
- xfer += iprot->readString(this->name);
- isset_name = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 4:
- if (ftype == ::apache::thrift::protocol::T_STRING) {
- xfer += iprot->readString(this->description);
- this->__isset.description = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 5:
- if (ftype == ::apache::thrift::protocol::T_I64) {
- xfer += iprot->readI64(this->creationTime);
- this->__isset.creationTime = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 6:
- if (ftype == ::apache::thrift::protocol::T_LIST) {
- {
- this->sharedUsers.clear();
- uint32_t _size0;
- ::apache::thrift::protocol::TType _etype3;
- xfer += iprot->readListBegin(_etype3, _size0);
- this->sharedUsers.resize(_size0);
- uint32_t _i4;
- for (_i4 = 0; _i4 < _size0; ++_i4)
- {
- xfer += iprot->readString(this->sharedUsers[_i4]);
- }
- xfer += iprot->readListEnd();
- }
- this->__isset.sharedUsers = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 7:
- if (ftype == ::apache::thrift::protocol::T_LIST) {
- {
- this->sharedGroups.clear();
- uint32_t _size5;
- ::apache::thrift::protocol::TType _etype8;
- xfer += iprot->readListBegin(_etype8, _size5);
- this->sharedGroups.resize(_size5);
- uint32_t _i9;
- for (_i9 = 0; _i9 < _size5; ++_i9)
- {
- xfer += iprot->readString(this->sharedGroups[_i9]);
- }
- xfer += iprot->readListEnd();
- }
- this->__isset.sharedGroups = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- default:
- xfer += iprot->skip(ftype);
- break;
- }
- xfer += iprot->readFieldEnd();
- }
-
- xfer += iprot->readStructEnd();
-
- if (!isset_projectID)
- throw TProtocolException(TProtocolException::INVALID_DATA);
- if (!isset_owner)
- throw TProtocolException(TProtocolException::INVALID_DATA);
- if (!isset_name)
- throw TProtocolException(TProtocolException::INVALID_DATA);
- return xfer;
-}
-
-uint32_t Project::write(::apache::thrift::protocol::TProtocol* oprot) const {
- uint32_t xfer = 0;
- xfer += oprot->writeStructBegin("Project");
-
- xfer += oprot->writeFieldBegin("projectID", ::apache::thrift::protocol::T_STRING, 1);
- xfer += oprot->writeString(this->projectID);
- xfer += oprot->writeFieldEnd();
-
- xfer += oprot->writeFieldBegin("owner", ::apache::thrift::protocol::T_STRING, 2);
- xfer += oprot->writeString(this->owner);
- xfer += oprot->writeFieldEnd();
-
- xfer += oprot->writeFieldBegin("name", ::apache::thrift::protocol::T_STRING, 3);
- xfer += oprot->writeString(this->name);
- xfer += oprot->writeFieldEnd();
-
- if (this->__isset.description) {
- xfer += oprot->writeFieldBegin("description", ::apache::thrift::protocol::T_STRING, 4);
- xfer += oprot->writeString(this->description);
- xfer += oprot->writeFieldEnd();
- }
- if (this->__isset.creationTime) {
- xfer += oprot->writeFieldBegin("creationTime", ::apache::thrift::protocol::T_I64, 5);
- xfer += oprot->writeI64(this->creationTime);
- xfer += oprot->writeFieldEnd();
- }
- if (this->__isset.sharedUsers) {
- xfer += oprot->writeFieldBegin("sharedUsers", ::apache::thrift::protocol::T_LIST, 6);
- {
- xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRING, static_cast<uint32_t>(this->sharedUsers.size()));
- std::vector<std::string> ::const_iterator _iter10;
- for (_iter10 = this->sharedUsers.begin(); _iter10 != this->sharedUsers.end(); ++_iter10)
- {
- xfer += oprot->writeString((*_iter10));
- }
- xfer += oprot->writeListEnd();
- }
- xfer += oprot->writeFieldEnd();
- }
- if (this->__isset.sharedGroups) {
- xfer += oprot->writeFieldBegin("sharedGroups", ::apache::thrift::protocol::T_LIST, 7);
- {
- xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRING, static_cast<uint32_t>(this->sharedGroups.size()));
- std::vector<std::string> ::const_iterator _iter11;
- for (_iter11 = this->sharedGroups.begin(); _iter11 != this->sharedGroups.end(); ++_iter11)
- {
- xfer += oprot->writeString((*_iter11));
- }
- xfer += oprot->writeListEnd();
- }
- xfer += oprot->writeFieldEnd();
- }
- xfer += oprot->writeFieldStop();
- xfer += oprot->writeStructEnd();
- return xfer;
-}
-
-void swap(Project &a, Project &b) {
- using ::std::swap;
- swap(a.projectID, b.projectID);
- swap(a.owner, b.owner);
- swap(a.name, b.name);
- swap(a.description, b.description);
- swap(a.creationTime, b.creationTime);
- swap(a.sharedUsers, b.sharedUsers);
- swap(a.sharedGroups, b.sharedGroups);
- swap(a.__isset, b.__isset);
-}
-
-const char* User::ascii_fingerprint = "D7DA282D6B2F08CB02B4E3CF47DB44E5";
-const uint8_t User::binary_fingerprint[16] = {0xD7,0xDA,0x28,0x2D,0x6B,0x2F,0x08,0xCB,0x02,0xB4,0xE3,0xCF,0x47,0xDB,0x44,0xE5};
-
-uint32_t User::read(::apache::thrift::protocol::TProtocol* iprot) {
-
- uint32_t xfer = 0;
- std::string fname;
- ::apache::thrift::protocol::TType ftype;
- int16_t fid;
-
- xfer += iprot->readStructBegin(fname);
-
- using ::apache::thrift::protocol::TProtocolException;
-
- bool isset_userName = false;
-
- while (true)
- {
- xfer += iprot->readFieldBegin(fname, ftype, fid);
- if (ftype == ::apache::thrift::protocol::T_STOP) {
- break;
- }
- switch (fid)
- {
- case 1:
- if (ftype == ::apache::thrift::protocol::T_STRING) {
- xfer += iprot->readString(this->userName);
- isset_userName = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 2:
- if (ftype == ::apache::thrift::protocol::T_LIST) {
- {
- this->groupList.clear();
- uint32_t _size12;
- ::apache::thrift::protocol::TType _etype15;
- xfer += iprot->readListBegin(_etype15, _size12);
- this->groupList.resize(_size12);
- uint32_t _i16;
- for (_i16 = 0; _i16 < _size12; ++_i16)
- {
- xfer += this->groupList[_i16].read(iprot);
- }
- xfer += iprot->readListEnd();
- }
- this->__isset.groupList = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- default:
- xfer += iprot->skip(ftype);
- break;
- }
- xfer += iprot->readFieldEnd();
- }
-
- xfer += iprot->readStructEnd();
-
- if (!isset_userName)
- throw TProtocolException(TProtocolException::INVALID_DATA);
- return xfer;
-}
-
-uint32_t User::write(::apache::thrift::protocol::TProtocol* oprot) const {
- uint32_t xfer = 0;
- xfer += oprot->writeStructBegin("User");
-
- xfer += oprot->writeFieldBegin("userName", ::apache::thrift::protocol::T_STRING, 1);
- xfer += oprot->writeString(this->userName);
- xfer += oprot->writeFieldEnd();
-
- if (this->__isset.groupList) {
- xfer += oprot->writeFieldBegin("groupList", ::apache::thrift::protocol::T_LIST, 2);
- {
- xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>(this->groupList.size()));
- std::vector<Group> ::const_iterator _iter17;
- for (_iter17 = this->groupList.begin(); _iter17 != this->groupList.end(); ++_iter17)
- {
- xfer += (*_iter17).write(oprot);
- }
- xfer += oprot->writeListEnd();
- }
- xfer += oprot->writeFieldEnd();
- }
- xfer += oprot->writeFieldStop();
- xfer += oprot->writeStructEnd();
- return xfer;
-}
-
-void swap(User &a, User &b) {
- using ::std::swap;
- swap(a.userName, b.userName);
- swap(a.groupList, b.groupList);
- swap(a.__isset, b.__isset);
-}
-
-const char* Gateway::ascii_fingerprint = "07A9615F837F7D0A952B595DD3020972";
-const uint8_t Gateway::binary_fingerprint[16] = {0x07,0xA9,0x61,0x5F,0x83,0x7F,0x7D,0x0A,0x95,0x2B,0x59,0x5D,0xD3,0x02,0x09,0x72};
-
-uint32_t Gateway::read(::apache::thrift::protocol::TProtocol* iprot) {
-
- uint32_t xfer = 0;
- std::string fname;
- ::apache::thrift::protocol::TType ftype;
- int16_t fid;
-
- xfer += iprot->readStructBegin(fname);
-
- using ::apache::thrift::protocol::TProtocolException;
-
- bool isset_gatewayId = false;
- bool isset_name = false;
-
- while (true)
- {
- xfer += iprot->readFieldBegin(fname, ftype, fid);
- if (ftype == ::apache::thrift::protocol::T_STOP) {
- break;
- }
- switch (fid)
- {
- case 1:
- if (ftype == ::apache::thrift::protocol::T_STRING) {
- xfer += iprot->readString(this->gatewayId);
- isset_gatewayId = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 2:
- if (ftype == ::apache::thrift::protocol::T_STRING) {
- xfer += iprot->readString(this->name);
- isset_name = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- default:
- xfer += iprot->skip(ftype);
- break;
- }
- xfer += iprot->readFieldEnd();
- }
-
- xfer += iprot->readStructEnd();
-
- if (!isset_gatewayId)
- throw TProtocolException(TProtocolException::INVALID_DATA);
- if (!isset_name)
- throw TProtocolException(TProtocolException::INVALID_DATA);
- return xfer;
-}
-
-uint32_t Gateway::write(::apache::thrift::protocol::TProtocol* oprot) const {
- uint32_t xfer = 0;
- xfer += oprot->writeStructBegin("Gateway");
-
- xfer += oprot->writeFieldBegin("gatewayId", ::apache::thrift::protocol::T_STRING, 1);
- xfer += oprot->writeString(this->gatewayId);
- xfer += oprot->writeFieldEnd();
-
- xfer += oprot->writeFieldBegin("name", ::apache::thrift::protocol::T_STRING, 2);
- xfer += oprot->writeString(this->name);
- xfer += oprot->writeFieldEnd();
-
- xfer += oprot->writeFieldStop();
- xfer += oprot->writeStructEnd();
- return xfer;
-}
-
-void swap(Gateway &a, Gateway &b) {
- using ::std::swap;
- swap(a.gatewayId, b.gatewayId);
- swap(a.name, b.name);
-}
-
-}}}} // namespace
http://git-wip-us.apache.org/repos/asf/airavata/blob/00b8aaf0/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/workspaceModel_types.h
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/workspaceModel_types.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/workspaceModel_types.h
deleted file mode 100644
index 2ed8611..0000000
--- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/workspaceModel_types.h
+++ /dev/null
@@ -1,273 +0,0 @@
-/**
- * Autogenerated by Thrift Compiler (0.9.1)
- *
- * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
- * @generated
- */
-#ifndef workspaceModel_TYPES_H
-#define workspaceModel_TYPES_H
-
-#include <thrift/Thrift.h>
-#include <thrift/TApplicationException.h>
-#include <thrift/protocol/TProtocol.h>
-#include <thrift/transport/TTransport.h>
-
-#include <thrift/cxxfunctional.h>
-#include "experimentModel_types.h"
-
-
-namespace apache { namespace airavata { namespace model { namespace workspace {
-
-typedef struct _Group__isset {
- _Group__isset() : description(false) {}
- bool description;
-} _Group__isset;
-
-class Group {
- public:
-
- static const char* ascii_fingerprint; // = "5B708A954C550ECA9C1A49D3C5CAFAB9";
- static const uint8_t binary_fingerprint[16]; // = {0x5B,0x70,0x8A,0x95,0x4C,0x55,0x0E,0xCA,0x9C,0x1A,0x49,0xD3,0xC5,0xCA,0xFA,0xB9};
-
- Group() : groupName(), description() {
- }
-
- virtual ~Group() throw() {}
-
- std::string groupName;
- std::string description;
-
- _Group__isset __isset;
-
- void __set_groupName(const std::string& val) {
- groupName = val;
- }
-
- void __set_description(const std::string& val) {
- description = val;
- __isset.description = true;
- }
-
- bool operator == (const Group & rhs) const
- {
- if (!(groupName == rhs.groupName))
- return false;
- if (__isset.description != rhs.__isset.description)
- return false;
- else if (__isset.description && !(description == rhs.description))
- return false;
- return true;
- }
- bool operator != (const Group &rhs) const {
- return !(*this == rhs);
- }
-
- bool operator < (const Group & ) const;
-
- uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
- uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-};
-
-void swap(Group &a, Group &b);
-
-typedef struct _Project__isset {
- _Project__isset() : description(false), creationTime(false), sharedUsers(false), sharedGroups(false) {}
- bool description;
- bool creationTime;
- bool sharedUsers;
- bool sharedGroups;
-} _Project__isset;
-
-class Project {
- public:
-
- static const char* ascii_fingerprint; // = "AFD8090DE564134035942D450F918628";
- static const uint8_t binary_fingerprint[16]; // = {0xAF,0xD8,0x09,0x0D,0xE5,0x64,0x13,0x40,0x35,0x94,0x2D,0x45,0x0F,0x91,0x86,0x28};
-
- Project() : projectID("DEFAULT"), owner(), name(), description(), creationTime(0) {
- }
-
- virtual ~Project() throw() {}
-
- std::string projectID;
- std::string owner;
- std::string name;
- std::string description;
- int64_t creationTime;
- std::vector<std::string> sharedUsers;
- std::vector<std::string> sharedGroups;
-
- _Project__isset __isset;
-
- void __set_projectID(const std::string& val) {
- projectID = val;
- }
-
- void __set_owner(const std::string& val) {
- owner = val;
- }
-
- void __set_name(const std::string& val) {
- name = val;
- }
-
- void __set_description(const std::string& val) {
- description = val;
- __isset.description = true;
- }
-
- void __set_creationTime(const int64_t val) {
- creationTime = val;
- __isset.creationTime = true;
- }
-
- void __set_sharedUsers(const std::vector<std::string> & val) {
- sharedUsers = val;
- __isset.sharedUsers = true;
- }
-
- void __set_sharedGroups(const std::vector<std::string> & val) {
- sharedGroups = val;
- __isset.sharedGroups = true;
- }
-
- bool operator == (const Project & rhs) const
- {
- if (!(projectID == rhs.projectID))
- return false;
- if (!(owner == rhs.owner))
- return false;
- if (!(name == rhs.name))
- return false;
- if (__isset.description != rhs.__isset.description)
- return false;
- else if (__isset.description && !(description == rhs.description))
- return false;
- if (__isset.creationTime != rhs.__isset.creationTime)
- return false;
- else if (__isset.creationTime && !(creationTime == rhs.creationTime))
- return false;
- if (__isset.sharedUsers != rhs.__isset.sharedUsers)
- return false;
- else if (__isset.sharedUsers && !(sharedUsers == rhs.sharedUsers))
- return false;
- if (__isset.sharedGroups != rhs.__isset.sharedGroups)
- return false;
- else if (__isset.sharedGroups && !(sharedGroups == rhs.sharedGroups))
- return false;
- return true;
- }
- bool operator != (const Project &rhs) const {
- return !(*this == rhs);
- }
-
- bool operator < (const Project & ) const;
-
- uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
- uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-};
-
-void swap(Project &a, Project &b);
-
-typedef struct _User__isset {
- _User__isset() : groupList(false) {}
- bool groupList;
-} _User__isset;
-
-class User {
- public:
-
- static const char* ascii_fingerprint; // = "D7DA282D6B2F08CB02B4E3CF47DB44E5";
- static const uint8_t binary_fingerprint[16]; // = {0xD7,0xDA,0x28,0x2D,0x6B,0x2F,0x08,0xCB,0x02,0xB4,0xE3,0xCF,0x47,0xDB,0x44,0xE5};
-
- User() : userName() {
- }
-
- virtual ~User() throw() {}
-
- std::string userName;
- std::vector<Group> groupList;
-
- _User__isset __isset;
-
- void __set_userName(const std::string& val) {
- userName = val;
- }
-
- void __set_groupList(const std::vector<Group> & val) {
- groupList = val;
- __isset.groupList = true;
- }
-
- bool operator == (const User & rhs) const
- {
- if (!(userName == rhs.userName))
- return false;
- if (__isset.groupList != rhs.__isset.groupList)
- return false;
- else if (__isset.groupList && !(groupList == rhs.groupList))
- return false;
- return true;
- }
- bool operator != (const User &rhs) const {
- return !(*this == rhs);
- }
-
- bool operator < (const User & ) const;
-
- uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
- uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-};
-
-void swap(User &a, User &b);
-
-
-class Gateway {
- public:
-
- static const char* ascii_fingerprint; // = "07A9615F837F7D0A952B595DD3020972";
- static const uint8_t binary_fingerprint[16]; // = {0x07,0xA9,0x61,0x5F,0x83,0x7F,0x7D,0x0A,0x95,0x2B,0x59,0x5D,0xD3,0x02,0x09,0x72};
-
- Gateway() : gatewayId("DO_NOT_SET_AT_CLIENTS"), name() {
- }
-
- virtual ~Gateway() throw() {}
-
- std::string gatewayId;
- std::string name;
-
- void __set_gatewayId(const std::string& val) {
- gatewayId = val;
- }
-
- void __set_name(const std::string& val) {
- name = val;
- }
-
- bool operator == (const Gateway & rhs) const
- {
- if (!(gatewayId == rhs.gatewayId))
- return false;
- if (!(name == rhs.name))
- return false;
- return true;
- }
- bool operator != (const Gateway &rhs) const {
- return !(*this == rhs);
- }
-
- bool operator < (const Gateway & ) const;
-
- uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
- uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-};
-
-void swap(Gateway &a, Gateway &b);
-
-}}}} // namespace
-
-#endif
[29/47] removed unnecessary files, updated ini file
Posted by sm...@apache.org.
http://git-wip-us.apache.org/repos/asf/airavata/blob/00b8aaf0/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/experimentModel_types.h
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/experimentModel_types.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/experimentModel_types.h
deleted file mode 100644
index 42a6005..0000000
--- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/experimentModel_types.h
+++ /dev/null
@@ -1,2077 +0,0 @@
-/**
- * Autogenerated by Thrift Compiler (0.9.1)
- *
- * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
- * @generated
- */
-#ifndef experimentModel_TYPES_H
-#define experimentModel_TYPES_H
-
-#include <thrift/Thrift.h>
-#include <thrift/TApplicationException.h>
-#include <thrift/protocol/TProtocol.h>
-#include <thrift/transport/TTransport.h>
-
-#include <thrift/cxxfunctional.h>
-#include "computeResourceModel_types.h"
-
-
-namespace apache { namespace airavata { namespace model { namespace workspace { namespace experiment {
-
-struct ExperimentState {
- enum type {
- CREATED = 0,
- VALIDATED = 1,
- SCHEDULED = 2,
- LAUNCHED = 3,
- EXECUTING = 4,
- CANCELING = 5,
- CANCELED = 6,
- SUSPENDED = 7,
- COMPLETED = 8,
- FAILED = 9,
- UNKNOWN = 10
- };
-};
-
-extern const std::map<int, const char*> _ExperimentState_VALUES_TO_NAMES;
-
-struct WorkflowNodeState {
- enum type {
- INVOKED = 0,
- EXECUTING = 1,
- CANCELING = 2,
- CANCELED = 3,
- SUSPENDED = 4,
- COMPLETED = 5,
- FAILED = 6,
- UNKNOWN = 7
- };
-};
-
-extern const std::map<int, const char*> _WorkflowNodeState_VALUES_TO_NAMES;
-
-struct TaskState {
- enum type {
- WAITING = 0,
- STARTED = 1,
- PRE_PROCESSING = 2,
- CONFIGURING_WORKSPACE = 3,
- INPUT_DATA_STAGING = 4,
- OUTPUT_DATA_STAGING = 5,
- POST_PROCESSING = 6,
- EXECUTING = 7,
- CANCELING = 8,
- CANCELED = 9,
- COMPLETED = 10,
- FAILED = 11,
- UNKNOWN = 12
- };
-};
-
-extern const std::map<int, const char*> _TaskState_VALUES_TO_NAMES;
-
-struct JobState {
- enum type {
- SUBMITTED = 0,
- UN_SUBMITTED = 1,
- SETUP = 2,
- QUEUED = 3,
- ACTIVE = 4,
- COMPLETE = 5,
- CANCELING = 6,
- CANCELED = 7,
- FAILED = 8,
- HELD = 9,
- SUSPENDED = 10,
- UNKNOWN = 11
- };
-};
-
-extern const std::map<int, const char*> _JobState_VALUES_TO_NAMES;
-
-struct TransferState {
- enum type {
- DIRECTORY_SETUP = 0,
- UPLOAD = 1,
- DOWNLOAD = 2,
- ACTIVE = 3,
- COMPLETE = 4,
- STDOUT_DOWNLOAD = 5,
- STDERROR_DOWNLOAD = 6,
- CANCELING = 7,
- CANCELED = 8,
- FAILED = 9,
- HELD = 10,
- SUSPENDED = 11,
- UNKNOWN = 12
- };
-};
-
-extern const std::map<int, const char*> _TransferState_VALUES_TO_NAMES;
-
-struct ActionableGroup {
- enum type {
- RESOURCE_ADMINS = 0,
- AIRAVATA_ADMINS = 1,
- GATEWAYS_ADMINS = 2,
- USER = 3,
- CANNOT_BE_DETERMINED = 4
- };
-};
-
-extern const std::map<int, const char*> _ActionableGroup_VALUES_TO_NAMES;
-
-struct ErrorCategory {
- enum type {
- FILE_SYSTEM_FAILURE = 0,
- APPLICATION_FAILURE = 1,
- RESOURCE_NODE_FAILURE = 2,
- DISK_FULL = 3,
- INSUFFICIENT_ALLOCATION = 4,
- SYSTEM_MAINTENANCE = 5,
- AIRAVATA_INTERNAL_ERROR = 6,
- CANNOT_BE_DETERMINED = 7
- };
-};
-
-extern const std::map<int, const char*> _ErrorCategory_VALUES_TO_NAMES;
-
-struct CorrectiveAction {
- enum type {
- RETRY_SUBMISSION = 0,
- CONTACT_SUPPORT = 1,
- CANNOT_BE_DETERMINED = 2
- };
-};
-
-extern const std::map<int, const char*> _CorrectiveAction_VALUES_TO_NAMES;
-
-struct DataType {
- enum type {
- STRING = 0,
- INTEGER = 1,
- URI = 2,
- STDOUT = 3,
- STDERR = 4
- };
-};
-
-extern const std::map<int, const char*> _DataType_VALUES_TO_NAMES;
-
-struct ExecutionUnit {
- enum type {
- INPUT = 0,
- APPLICATION = 1,
- OUTPUT = 2
- };
-};
-
-extern const std::map<int, const char*> _ExecutionUnit_VALUES_TO_NAMES;
-
-typedef struct _ExperimentStatus__isset {
- _ExperimentStatus__isset() : timeOfStateChange(false) {}
- bool timeOfStateChange;
-} _ExperimentStatus__isset;
-
-class ExperimentStatus {
- public:
-
- static const char* ascii_fingerprint; // = "1662AAADFABAB647546029B578B3B69B";
- static const uint8_t binary_fingerprint[16]; // = {0x16,0x62,0xAA,0xAD,0xFA,0xBA,0xB6,0x47,0x54,0x60,0x29,0xB5,0x78,0xB3,0xB6,0x9B};
-
- ExperimentStatus() : experimentState((ExperimentState::type)0), timeOfStateChange(0) {
- }
-
- virtual ~ExperimentStatus() throw() {}
-
- ExperimentState::type experimentState;
- int64_t timeOfStateChange;
-
- _ExperimentStatus__isset __isset;
-
- void __set_experimentState(const ExperimentState::type val) {
- experimentState = val;
- }
-
- void __set_timeOfStateChange(const int64_t val) {
- timeOfStateChange = val;
- __isset.timeOfStateChange = true;
- }
-
- bool operator == (const ExperimentStatus & rhs) const
- {
- if (!(experimentState == rhs.experimentState))
- return false;
- if (__isset.timeOfStateChange != rhs.__isset.timeOfStateChange)
- return false;
- else if (__isset.timeOfStateChange && !(timeOfStateChange == rhs.timeOfStateChange))
- return false;
- return true;
- }
- bool operator != (const ExperimentStatus &rhs) const {
- return !(*this == rhs);
- }
-
- bool operator < (const ExperimentStatus & ) const;
-
- uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
- uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-};
-
-void swap(ExperimentStatus &a, ExperimentStatus &b);
-
-typedef struct _WorkflowNodeStatus__isset {
- _WorkflowNodeStatus__isset() : timeOfStateChange(false) {}
- bool timeOfStateChange;
-} _WorkflowNodeStatus__isset;
-
-class WorkflowNodeStatus {
- public:
-
- static const char* ascii_fingerprint; // = "1662AAADFABAB647546029B578B3B69B";
- static const uint8_t binary_fingerprint[16]; // = {0x16,0x62,0xAA,0xAD,0xFA,0xBA,0xB6,0x47,0x54,0x60,0x29,0xB5,0x78,0xB3,0xB6,0x9B};
-
- WorkflowNodeStatus() : workflowNodeState((WorkflowNodeState::type)0), timeOfStateChange(0) {
- }
-
- virtual ~WorkflowNodeStatus() throw() {}
-
- WorkflowNodeState::type workflowNodeState;
- int64_t timeOfStateChange;
-
- _WorkflowNodeStatus__isset __isset;
-
- void __set_workflowNodeState(const WorkflowNodeState::type val) {
- workflowNodeState = val;
- }
-
- void __set_timeOfStateChange(const int64_t val) {
- timeOfStateChange = val;
- __isset.timeOfStateChange = true;
- }
-
- bool operator == (const WorkflowNodeStatus & rhs) const
- {
- if (!(workflowNodeState == rhs.workflowNodeState))
- return false;
- if (__isset.timeOfStateChange != rhs.__isset.timeOfStateChange)
- return false;
- else if (__isset.timeOfStateChange && !(timeOfStateChange == rhs.timeOfStateChange))
- return false;
- return true;
- }
- bool operator != (const WorkflowNodeStatus &rhs) const {
- return !(*this == rhs);
- }
-
- bool operator < (const WorkflowNodeStatus & ) const;
-
- uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
- uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-};
-
-void swap(WorkflowNodeStatus &a, WorkflowNodeStatus &b);
-
-typedef struct _TaskStatus__isset {
- _TaskStatus__isset() : timeOfStateChange(false) {}
- bool timeOfStateChange;
-} _TaskStatus__isset;
-
-class TaskStatus {
- public:
-
- static const char* ascii_fingerprint; // = "1662AAADFABAB647546029B578B3B69B";
- static const uint8_t binary_fingerprint[16]; // = {0x16,0x62,0xAA,0xAD,0xFA,0xBA,0xB6,0x47,0x54,0x60,0x29,0xB5,0x78,0xB3,0xB6,0x9B};
-
- TaskStatus() : executionState((TaskState::type)0), timeOfStateChange(0) {
- }
-
- virtual ~TaskStatus() throw() {}
-
- TaskState::type executionState;
- int64_t timeOfStateChange;
-
- _TaskStatus__isset __isset;
-
- void __set_executionState(const TaskState::type val) {
- executionState = val;
- }
-
- void __set_timeOfStateChange(const int64_t val) {
- timeOfStateChange = val;
- __isset.timeOfStateChange = true;
- }
-
- bool operator == (const TaskStatus & rhs) const
- {
- if (!(executionState == rhs.executionState))
- return false;
- if (__isset.timeOfStateChange != rhs.__isset.timeOfStateChange)
- return false;
- else if (__isset.timeOfStateChange && !(timeOfStateChange == rhs.timeOfStateChange))
- return false;
- return true;
- }
- bool operator != (const TaskStatus &rhs) const {
- return !(*this == rhs);
- }
-
- bool operator < (const TaskStatus & ) const;
-
- uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
- uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-};
-
-void swap(TaskStatus &a, TaskStatus &b);
-
-typedef struct _JobStatus__isset {
- _JobStatus__isset() : timeOfStateChange(false) {}
- bool timeOfStateChange;
-} _JobStatus__isset;
-
-class JobStatus {
- public:
-
- static const char* ascii_fingerprint; // = "1662AAADFABAB647546029B578B3B69B";
- static const uint8_t binary_fingerprint[16]; // = {0x16,0x62,0xAA,0xAD,0xFA,0xBA,0xB6,0x47,0x54,0x60,0x29,0xB5,0x78,0xB3,0xB6,0x9B};
-
- JobStatus() : jobState((JobState::type)0), timeOfStateChange(0) {
- }
-
- virtual ~JobStatus() throw() {}
-
- JobState::type jobState;
- int64_t timeOfStateChange;
-
- _JobStatus__isset __isset;
-
- void __set_jobState(const JobState::type val) {
- jobState = val;
- }
-
- void __set_timeOfStateChange(const int64_t val) {
- timeOfStateChange = val;
- __isset.timeOfStateChange = true;
- }
-
- bool operator == (const JobStatus & rhs) const
- {
- if (!(jobState == rhs.jobState))
- return false;
- if (__isset.timeOfStateChange != rhs.__isset.timeOfStateChange)
- return false;
- else if (__isset.timeOfStateChange && !(timeOfStateChange == rhs.timeOfStateChange))
- return false;
- return true;
- }
- bool operator != (const JobStatus &rhs) const {
- return !(*this == rhs);
- }
-
- bool operator < (const JobStatus & ) const;
-
- uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
- uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-};
-
-void swap(JobStatus &a, JobStatus &b);
-
-typedef struct _TransferStatus__isset {
- _TransferStatus__isset() : timeOfStateChange(false) {}
- bool timeOfStateChange;
-} _TransferStatus__isset;
-
-class TransferStatus {
- public:
-
- static const char* ascii_fingerprint; // = "1662AAADFABAB647546029B578B3B69B";
- static const uint8_t binary_fingerprint[16]; // = {0x16,0x62,0xAA,0xAD,0xFA,0xBA,0xB6,0x47,0x54,0x60,0x29,0xB5,0x78,0xB3,0xB6,0x9B};
-
- TransferStatus() : transferState((TransferState::type)0), timeOfStateChange(0) {
- }
-
- virtual ~TransferStatus() throw() {}
-
- TransferState::type transferState;
- int64_t timeOfStateChange;
-
- _TransferStatus__isset __isset;
-
- void __set_transferState(const TransferState::type val) {
- transferState = val;
- }
-
- void __set_timeOfStateChange(const int64_t val) {
- timeOfStateChange = val;
- __isset.timeOfStateChange = true;
- }
-
- bool operator == (const TransferStatus & rhs) const
- {
- if (!(transferState == rhs.transferState))
- return false;
- if (__isset.timeOfStateChange != rhs.__isset.timeOfStateChange)
- return false;
- else if (__isset.timeOfStateChange && !(timeOfStateChange == rhs.timeOfStateChange))
- return false;
- return true;
- }
- bool operator != (const TransferStatus &rhs) const {
- return !(*this == rhs);
- }
-
- bool operator < (const TransferStatus & ) const;
-
- uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
- uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-};
-
-void swap(TransferStatus &a, TransferStatus &b);
-
-typedef struct _ApplicationStatus__isset {
- _ApplicationStatus__isset() : timeOfStateChange(false) {}
- bool timeOfStateChange;
-} _ApplicationStatus__isset;
-
-class ApplicationStatus {
- public:
-
- static const char* ascii_fingerprint; // = "E17E126D15049701494262EE3246F603";
- static const uint8_t binary_fingerprint[16]; // = {0xE1,0x7E,0x12,0x6D,0x15,0x04,0x97,0x01,0x49,0x42,0x62,0xEE,0x32,0x46,0xF6,0x03};
-
- ApplicationStatus() : applicationState(), timeOfStateChange(0) {
- }
-
- virtual ~ApplicationStatus() throw() {}
-
- std::string applicationState;
- int64_t timeOfStateChange;
-
- _ApplicationStatus__isset __isset;
-
- void __set_applicationState(const std::string& val) {
- applicationState = val;
- }
-
- void __set_timeOfStateChange(const int64_t val) {
- timeOfStateChange = val;
- __isset.timeOfStateChange = true;
- }
-
- bool operator == (const ApplicationStatus & rhs) const
- {
- if (!(applicationState == rhs.applicationState))
- return false;
- if (__isset.timeOfStateChange != rhs.__isset.timeOfStateChange)
- return false;
- else if (__isset.timeOfStateChange && !(timeOfStateChange == rhs.timeOfStateChange))
- return false;
- return true;
- }
- bool operator != (const ApplicationStatus &rhs) const {
- return !(*this == rhs);
- }
-
- bool operator < (const ApplicationStatus & ) const;
-
- uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
- uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-};
-
-void swap(ApplicationStatus &a, ApplicationStatus &b);
-
-typedef struct _DataObjectType__isset {
- _DataObjectType__isset() : value(false), type(false), metaData(false) {}
- bool value;
- bool type;
- bool metaData;
-} _DataObjectType__isset;
-
-class DataObjectType {
- public:
-
- static const char* ascii_fingerprint; // = "544FBB8031AE070AEEB7AC0E4A90E43C";
- static const uint8_t binary_fingerprint[16]; // = {0x54,0x4F,0xBB,0x80,0x31,0xAE,0x07,0x0A,0xEE,0xB7,0xAC,0x0E,0x4A,0x90,0xE4,0x3C};
-
- DataObjectType() : key(), value(), type((DataType::type)0), metaData() {
- }
-
- virtual ~DataObjectType() throw() {}
-
- std::string key;
- std::string value;
- DataType::type type;
- std::string metaData;
-
- _DataObjectType__isset __isset;
-
- void __set_key(const std::string& val) {
- key = val;
- }
-
- void __set_value(const std::string& val) {
- value = val;
- __isset.value = true;
- }
-
- void __set_type(const DataType::type val) {
- type = val;
- __isset.type = true;
- }
-
- void __set_metaData(const std::string& val) {
- metaData = val;
- __isset.metaData = true;
- }
-
- bool operator == (const DataObjectType & rhs) const
- {
- if (!(key == rhs.key))
- return false;
- if (__isset.value != rhs.__isset.value)
- return false;
- else if (__isset.value && !(value == rhs.value))
- return false;
- if (__isset.type != rhs.__isset.type)
- return false;
- else if (__isset.type && !(type == rhs.type))
- return false;
- if (__isset.metaData != rhs.__isset.metaData)
- return false;
- else if (__isset.metaData && !(metaData == rhs.metaData))
- return false;
- return true;
- }
- bool operator != (const DataObjectType &rhs) const {
- return !(*this == rhs);
- }
-
- bool operator < (const DataObjectType & ) const;
-
- uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
- uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-};
-
-void swap(DataObjectType &a, DataObjectType &b);
-
-typedef struct _ComputationalResourceScheduling__isset {
- _ComputationalResourceScheduling__isset() : resourceHostId(false), totalCPUCount(false), nodeCount(false), numberOfThreads(false), queueName(false), wallTimeLimit(false), jobStartTime(false), totalPhysicalMemory(false), computationalProjectAccount(false) {}
- bool resourceHostId;
- bool totalCPUCount;
- bool nodeCount;
- bool numberOfThreads;
- bool queueName;
- bool wallTimeLimit;
- bool jobStartTime;
- bool totalPhysicalMemory;
- bool computationalProjectAccount;
-} _ComputationalResourceScheduling__isset;
-
-class ComputationalResourceScheduling {
- public:
-
- static const char* ascii_fingerprint; // = "32AC7AC41AD3753A7224A32FD6EB4B5D";
- static const uint8_t binary_fingerprint[16]; // = {0x32,0xAC,0x7A,0xC4,0x1A,0xD3,0x75,0x3A,0x72,0x24,0xA3,0x2F,0xD6,0xEB,0x4B,0x5D};
-
- ComputationalResourceScheduling() : resourceHostId(), totalCPUCount(0), nodeCount(0), numberOfThreads(0), queueName(), wallTimeLimit(0), jobStartTime(0), totalPhysicalMemory(0), computationalProjectAccount() {
- }
-
- virtual ~ComputationalResourceScheduling() throw() {}
-
- std::string resourceHostId;
- int32_t totalCPUCount;
- int32_t nodeCount;
- int32_t numberOfThreads;
- std::string queueName;
- int32_t wallTimeLimit;
- int32_t jobStartTime;
- int32_t totalPhysicalMemory;
- std::string computationalProjectAccount;
-
- _ComputationalResourceScheduling__isset __isset;
-
- void __set_resourceHostId(const std::string& val) {
- resourceHostId = val;
- __isset.resourceHostId = true;
- }
-
- void __set_totalCPUCount(const int32_t val) {
- totalCPUCount = val;
- __isset.totalCPUCount = true;
- }
-
- void __set_nodeCount(const int32_t val) {
- nodeCount = val;
- __isset.nodeCount = true;
- }
-
- void __set_numberOfThreads(const int32_t val) {
- numberOfThreads = val;
- __isset.numberOfThreads = true;
- }
-
- void __set_queueName(const std::string& val) {
- queueName = val;
- __isset.queueName = true;
- }
-
- void __set_wallTimeLimit(const int32_t val) {
- wallTimeLimit = val;
- __isset.wallTimeLimit = true;
- }
-
- void __set_jobStartTime(const int32_t val) {
- jobStartTime = val;
- __isset.jobStartTime = true;
- }
-
- void __set_totalPhysicalMemory(const int32_t val) {
- totalPhysicalMemory = val;
- __isset.totalPhysicalMemory = true;
- }
-
- void __set_computationalProjectAccount(const std::string& val) {
- computationalProjectAccount = val;
- __isset.computationalProjectAccount = true;
- }
-
- bool operator == (const ComputationalResourceScheduling & rhs) const
- {
- if (__isset.resourceHostId != rhs.__isset.resourceHostId)
- return false;
- else if (__isset.resourceHostId && !(resourceHostId == rhs.resourceHostId))
- return false;
- if (__isset.totalCPUCount != rhs.__isset.totalCPUCount)
- return false;
- else if (__isset.totalCPUCount && !(totalCPUCount == rhs.totalCPUCount))
- return false;
- if (__isset.nodeCount != rhs.__isset.nodeCount)
- return false;
- else if (__isset.nodeCount && !(nodeCount == rhs.nodeCount))
- return false;
- if (__isset.numberOfThreads != rhs.__isset.numberOfThreads)
- return false;
- else if (__isset.numberOfThreads && !(numberOfThreads == rhs.numberOfThreads))
- return false;
- if (__isset.queueName != rhs.__isset.queueName)
- return false;
- else if (__isset.queueName && !(queueName == rhs.queueName))
- return false;
- if (__isset.wallTimeLimit != rhs.__isset.wallTimeLimit)
- return false;
- else if (__isset.wallTimeLimit && !(wallTimeLimit == rhs.wallTimeLimit))
- return false;
- if (__isset.jobStartTime != rhs.__isset.jobStartTime)
- return false;
- else if (__isset.jobStartTime && !(jobStartTime == rhs.jobStartTime))
- return false;
- if (__isset.totalPhysicalMemory != rhs.__isset.totalPhysicalMemory)
- return false;
- else if (__isset.totalPhysicalMemory && !(totalPhysicalMemory == rhs.totalPhysicalMemory))
- return false;
- if (__isset.computationalProjectAccount != rhs.__isset.computationalProjectAccount)
- return false;
- else if (__isset.computationalProjectAccount && !(computationalProjectAccount == rhs.computationalProjectAccount))
- return false;
- return true;
- }
- bool operator != (const ComputationalResourceScheduling &rhs) const {
- return !(*this == rhs);
- }
-
- bool operator < (const ComputationalResourceScheduling & ) const;
-
- uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
- uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-};
-
-void swap(ComputationalResourceScheduling &a, ComputationalResourceScheduling &b);
-
-typedef struct _AdvancedInputDataHandling__isset {
- _AdvancedInputDataHandling__isset() : stageInputFilesToWorkingDir(true), parentWorkingDirectory(false), uniqueWorkingDirectory(false), cleanUpWorkingDirAfterJob(true) {}
- bool stageInputFilesToWorkingDir;
- bool parentWorkingDirectory;
- bool uniqueWorkingDirectory;
- bool cleanUpWorkingDirAfterJob;
-} _AdvancedInputDataHandling__isset;
-
-class AdvancedInputDataHandling {
- public:
-
- static const char* ascii_fingerprint; // = "6139039875942E8B25C483838DD664B7";
- static const uint8_t binary_fingerprint[16]; // = {0x61,0x39,0x03,0x98,0x75,0x94,0x2E,0x8B,0x25,0xC4,0x83,0x83,0x8D,0xD6,0x64,0xB7};
-
- AdvancedInputDataHandling() : stageInputFilesToWorkingDir(false), parentWorkingDirectory(), uniqueWorkingDirectory(), cleanUpWorkingDirAfterJob(false) {
- }
-
- virtual ~AdvancedInputDataHandling() throw() {}
-
- bool stageInputFilesToWorkingDir;
- std::string parentWorkingDirectory;
- std::string uniqueWorkingDirectory;
- bool cleanUpWorkingDirAfterJob;
-
- _AdvancedInputDataHandling__isset __isset;
-
- void __set_stageInputFilesToWorkingDir(const bool val) {
- stageInputFilesToWorkingDir = val;
- __isset.stageInputFilesToWorkingDir = true;
- }
-
- void __set_parentWorkingDirectory(const std::string& val) {
- parentWorkingDirectory = val;
- __isset.parentWorkingDirectory = true;
- }
-
- void __set_uniqueWorkingDirectory(const std::string& val) {
- uniqueWorkingDirectory = val;
- __isset.uniqueWorkingDirectory = true;
- }
-
- void __set_cleanUpWorkingDirAfterJob(const bool val) {
- cleanUpWorkingDirAfterJob = val;
- __isset.cleanUpWorkingDirAfterJob = true;
- }
-
- bool operator == (const AdvancedInputDataHandling & rhs) const
- {
- if (__isset.stageInputFilesToWorkingDir != rhs.__isset.stageInputFilesToWorkingDir)
- return false;
- else if (__isset.stageInputFilesToWorkingDir && !(stageInputFilesToWorkingDir == rhs.stageInputFilesToWorkingDir))
- return false;
- if (__isset.parentWorkingDirectory != rhs.__isset.parentWorkingDirectory)
- return false;
- else if (__isset.parentWorkingDirectory && !(parentWorkingDirectory == rhs.parentWorkingDirectory))
- return false;
- if (__isset.uniqueWorkingDirectory != rhs.__isset.uniqueWorkingDirectory)
- return false;
- else if (__isset.uniqueWorkingDirectory && !(uniqueWorkingDirectory == rhs.uniqueWorkingDirectory))
- return false;
- if (__isset.cleanUpWorkingDirAfterJob != rhs.__isset.cleanUpWorkingDirAfterJob)
- return false;
- else if (__isset.cleanUpWorkingDirAfterJob && !(cleanUpWorkingDirAfterJob == rhs.cleanUpWorkingDirAfterJob))
- return false;
- return true;
- }
- bool operator != (const AdvancedInputDataHandling &rhs) const {
- return !(*this == rhs);
- }
-
- bool operator < (const AdvancedInputDataHandling & ) const;
-
- uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
- uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-};
-
-void swap(AdvancedInputDataHandling &a, AdvancedInputDataHandling &b);
-
-typedef struct _AdvancedOutputDataHandling__isset {
- _AdvancedOutputDataHandling__isset() : outputDataDir(false), dataRegistryURL(false), persistOutputData(true) {}
- bool outputDataDir;
- bool dataRegistryURL;
- bool persistOutputData;
-} _AdvancedOutputDataHandling__isset;
-
-class AdvancedOutputDataHandling {
- public:
-
- static const char* ascii_fingerprint; // = "6EC898D3B5ECFF21200795BD22F73CD2";
- static const uint8_t binary_fingerprint[16]; // = {0x6E,0xC8,0x98,0xD3,0xB5,0xEC,0xFF,0x21,0x20,0x07,0x95,0xBD,0x22,0xF7,0x3C,0xD2};
-
- AdvancedOutputDataHandling() : outputDataDir(), dataRegistryURL(), persistOutputData(true) {
- }
-
- virtual ~AdvancedOutputDataHandling() throw() {}
-
- std::string outputDataDir;
- std::string dataRegistryURL;
- bool persistOutputData;
-
- _AdvancedOutputDataHandling__isset __isset;
-
- void __set_outputDataDir(const std::string& val) {
- outputDataDir = val;
- __isset.outputDataDir = true;
- }
-
- void __set_dataRegistryURL(const std::string& val) {
- dataRegistryURL = val;
- __isset.dataRegistryURL = true;
- }
-
- void __set_persistOutputData(const bool val) {
- persistOutputData = val;
- __isset.persistOutputData = true;
- }
-
- bool operator == (const AdvancedOutputDataHandling & rhs) const
- {
- if (__isset.outputDataDir != rhs.__isset.outputDataDir)
- return false;
- else if (__isset.outputDataDir && !(outputDataDir == rhs.outputDataDir))
- return false;
- if (__isset.dataRegistryURL != rhs.__isset.dataRegistryURL)
- return false;
- else if (__isset.dataRegistryURL && !(dataRegistryURL == rhs.dataRegistryURL))
- return false;
- if (__isset.persistOutputData != rhs.__isset.persistOutputData)
- return false;
- else if (__isset.persistOutputData && !(persistOutputData == rhs.persistOutputData))
- return false;
- return true;
- }
- bool operator != (const AdvancedOutputDataHandling &rhs) const {
- return !(*this == rhs);
- }
-
- bool operator < (const AdvancedOutputDataHandling & ) const;
-
- uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
- uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-};
-
-void swap(AdvancedOutputDataHandling &a, AdvancedOutputDataHandling &b);
-
-typedef struct _QualityOfServiceParams__isset {
- _QualityOfServiceParams__isset() : startExecutionAt(false), executeBefore(false), numberofRetries(false) {}
- bool startExecutionAt;
- bool executeBefore;
- bool numberofRetries;
-} _QualityOfServiceParams__isset;
-
-class QualityOfServiceParams {
- public:
-
- static const char* ascii_fingerprint; // = "35985D966603A273E8D7132543B44873";
- static const uint8_t binary_fingerprint[16]; // = {0x35,0x98,0x5D,0x96,0x66,0x03,0xA2,0x73,0xE8,0xD7,0x13,0x25,0x43,0xB4,0x48,0x73};
-
- QualityOfServiceParams() : startExecutionAt(), executeBefore(), numberofRetries(0) {
- }
-
- virtual ~QualityOfServiceParams() throw() {}
-
- std::string startExecutionAt;
- std::string executeBefore;
- int32_t numberofRetries;
-
- _QualityOfServiceParams__isset __isset;
-
- void __set_startExecutionAt(const std::string& val) {
- startExecutionAt = val;
- __isset.startExecutionAt = true;
- }
-
- void __set_executeBefore(const std::string& val) {
- executeBefore = val;
- __isset.executeBefore = true;
- }
-
- void __set_numberofRetries(const int32_t val) {
- numberofRetries = val;
- __isset.numberofRetries = true;
- }
-
- bool operator == (const QualityOfServiceParams & rhs) const
- {
- if (__isset.startExecutionAt != rhs.__isset.startExecutionAt)
- return false;
- else if (__isset.startExecutionAt && !(startExecutionAt == rhs.startExecutionAt))
- return false;
- if (__isset.executeBefore != rhs.__isset.executeBefore)
- return false;
- else if (__isset.executeBefore && !(executeBefore == rhs.executeBefore))
- return false;
- if (__isset.numberofRetries != rhs.__isset.numberofRetries)
- return false;
- else if (__isset.numberofRetries && !(numberofRetries == rhs.numberofRetries))
- return false;
- return true;
- }
- bool operator != (const QualityOfServiceParams &rhs) const {
- return !(*this == rhs);
- }
-
- bool operator < (const QualityOfServiceParams & ) const;
-
- uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
- uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-};
-
-void swap(QualityOfServiceParams &a, QualityOfServiceParams &b);
-
-typedef struct _UserConfigurationData__isset {
- _UserConfigurationData__isset() : shareExperimentPublicly(true), computationalResourceScheduling(false), advanceInputDataHandling(false), advanceOutputDataHandling(false), qosParams(false) {}
- bool shareExperimentPublicly;
- bool computationalResourceScheduling;
- bool advanceInputDataHandling;
- bool advanceOutputDataHandling;
- bool qosParams;
-} _UserConfigurationData__isset;
-
-class UserConfigurationData {
- public:
-
- static const char* ascii_fingerprint; // = "889486266D7ADC041ED1C586A2468611";
- static const uint8_t binary_fingerprint[16]; // = {0x88,0x94,0x86,0x26,0x6D,0x7A,0xDC,0x04,0x1E,0xD1,0xC5,0x86,0xA2,0x46,0x86,0x11};
-
- UserConfigurationData() : airavataAutoSchedule(false), overrideManualScheduledParams(false), shareExperimentPublicly(false) {
- }
-
- virtual ~UserConfigurationData() throw() {}
-
- bool airavataAutoSchedule;
- bool overrideManualScheduledParams;
- bool shareExperimentPublicly;
- ComputationalResourceScheduling computationalResourceScheduling;
- AdvancedInputDataHandling advanceInputDataHandling;
- AdvancedOutputDataHandling advanceOutputDataHandling;
- QualityOfServiceParams qosParams;
-
- _UserConfigurationData__isset __isset;
-
- void __set_airavataAutoSchedule(const bool val) {
- airavataAutoSchedule = val;
- }
-
- void __set_overrideManualScheduledParams(const bool val) {
- overrideManualScheduledParams = val;
- }
-
- void __set_shareExperimentPublicly(const bool val) {
- shareExperimentPublicly = val;
- __isset.shareExperimentPublicly = true;
- }
-
- void __set_computationalResourceScheduling(const ComputationalResourceScheduling& val) {
- computationalResourceScheduling = val;
- __isset.computationalResourceScheduling = true;
- }
-
- void __set_advanceInputDataHandling(const AdvancedInputDataHandling& val) {
- advanceInputDataHandling = val;
- __isset.advanceInputDataHandling = true;
- }
-
- void __set_advanceOutputDataHandling(const AdvancedOutputDataHandling& val) {
- advanceOutputDataHandling = val;
- __isset.advanceOutputDataHandling = true;
- }
-
- void __set_qosParams(const QualityOfServiceParams& val) {
- qosParams = val;
- __isset.qosParams = true;
- }
-
- bool operator == (const UserConfigurationData & rhs) const
- {
- if (!(airavataAutoSchedule == rhs.airavataAutoSchedule))
- return false;
- if (!(overrideManualScheduledParams == rhs.overrideManualScheduledParams))
- return false;
- if (__isset.shareExperimentPublicly != rhs.__isset.shareExperimentPublicly)
- return false;
- else if (__isset.shareExperimentPublicly && !(shareExperimentPublicly == rhs.shareExperimentPublicly))
- return false;
- if (__isset.computationalResourceScheduling != rhs.__isset.computationalResourceScheduling)
- return false;
- else if (__isset.computationalResourceScheduling && !(computationalResourceScheduling == rhs.computationalResourceScheduling))
- return false;
- if (__isset.advanceInputDataHandling != rhs.__isset.advanceInputDataHandling)
- return false;
- else if (__isset.advanceInputDataHandling && !(advanceInputDataHandling == rhs.advanceInputDataHandling))
- return false;
- if (__isset.advanceOutputDataHandling != rhs.__isset.advanceOutputDataHandling)
- return false;
- else if (__isset.advanceOutputDataHandling && !(advanceOutputDataHandling == rhs.advanceOutputDataHandling))
- return false;
- if (__isset.qosParams != rhs.__isset.qosParams)
- return false;
- else if (__isset.qosParams && !(qosParams == rhs.qosParams))
- return false;
- return true;
- }
- bool operator != (const UserConfigurationData &rhs) const {
- return !(*this == rhs);
- }
-
- bool operator < (const UserConfigurationData & ) const;
-
- uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
- uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-};
-
-void swap(UserConfigurationData &a, UserConfigurationData &b);
-
-typedef struct _ErrorDetails__isset {
- _ErrorDetails__isset() : creationTime(false), actualErrorMessage(false), userFriendlyMessage(false), errorCategory(false), transientOrPersistent(true), correctiveAction(false), actionableGroup(false), rootCauseErrorIdList(false) {}
- bool creationTime;
- bool actualErrorMessage;
- bool userFriendlyMessage;
- bool errorCategory;
- bool transientOrPersistent;
- bool correctiveAction;
- bool actionableGroup;
- bool rootCauseErrorIdList;
-} _ErrorDetails__isset;
-
-class ErrorDetails {
- public:
-
- static const char* ascii_fingerprint; // = "170CA6E79EB283F31417B9D68071DA33";
- static const uint8_t binary_fingerprint[16]; // = {0x17,0x0C,0xA6,0xE7,0x9E,0xB2,0x83,0xF3,0x14,0x17,0xB9,0xD6,0x80,0x71,0xDA,0x33};
-
- ErrorDetails() : errorID("DO_NOT_SET_AT_CLIENTS"), creationTime(0), actualErrorMessage(), userFriendlyMessage(), errorCategory((ErrorCategory::type)0), transientOrPersistent(false), correctiveAction((CorrectiveAction::type)0), actionableGroup((ActionableGroup::type)0) {
- }
-
- virtual ~ErrorDetails() throw() {}
-
- std::string errorID;
- int64_t creationTime;
- std::string actualErrorMessage;
- std::string userFriendlyMessage;
- ErrorCategory::type errorCategory;
- bool transientOrPersistent;
- CorrectiveAction::type correctiveAction;
- ActionableGroup::type actionableGroup;
- std::vector<std::string> rootCauseErrorIdList;
-
- _ErrorDetails__isset __isset;
-
- void __set_errorID(const std::string& val) {
- errorID = val;
- }
-
- void __set_creationTime(const int64_t val) {
- creationTime = val;
- __isset.creationTime = true;
- }
-
- void __set_actualErrorMessage(const std::string& val) {
- actualErrorMessage = val;
- __isset.actualErrorMessage = true;
- }
-
- void __set_userFriendlyMessage(const std::string& val) {
- userFriendlyMessage = val;
- __isset.userFriendlyMessage = true;
- }
-
- void __set_errorCategory(const ErrorCategory::type val) {
- errorCategory = val;
- __isset.errorCategory = true;
- }
-
- void __set_transientOrPersistent(const bool val) {
- transientOrPersistent = val;
- __isset.transientOrPersistent = true;
- }
-
- void __set_correctiveAction(const CorrectiveAction::type val) {
- correctiveAction = val;
- __isset.correctiveAction = true;
- }
-
- void __set_actionableGroup(const ActionableGroup::type val) {
- actionableGroup = val;
- __isset.actionableGroup = true;
- }
-
- void __set_rootCauseErrorIdList(const std::vector<std::string> & val) {
- rootCauseErrorIdList = val;
- __isset.rootCauseErrorIdList = true;
- }
-
- bool operator == (const ErrorDetails & rhs) const
- {
- if (!(errorID == rhs.errorID))
- return false;
- if (__isset.creationTime != rhs.__isset.creationTime)
- return false;
- else if (__isset.creationTime && !(creationTime == rhs.creationTime))
- return false;
- if (__isset.actualErrorMessage != rhs.__isset.actualErrorMessage)
- return false;
- else if (__isset.actualErrorMessage && !(actualErrorMessage == rhs.actualErrorMessage))
- return false;
- if (__isset.userFriendlyMessage != rhs.__isset.userFriendlyMessage)
- return false;
- else if (__isset.userFriendlyMessage && !(userFriendlyMessage == rhs.userFriendlyMessage))
- return false;
- if (__isset.errorCategory != rhs.__isset.errorCategory)
- return false;
- else if (__isset.errorCategory && !(errorCategory == rhs.errorCategory))
- return false;
- if (__isset.transientOrPersistent != rhs.__isset.transientOrPersistent)
- return false;
- else if (__isset.transientOrPersistent && !(transientOrPersistent == rhs.transientOrPersistent))
- return false;
- if (__isset.correctiveAction != rhs.__isset.correctiveAction)
- return false;
- else if (__isset.correctiveAction && !(correctiveAction == rhs.correctiveAction))
- return false;
- if (__isset.actionableGroup != rhs.__isset.actionableGroup)
- return false;
- else if (__isset.actionableGroup && !(actionableGroup == rhs.actionableGroup))
- return false;
- if (__isset.rootCauseErrorIdList != rhs.__isset.rootCauseErrorIdList)
- return false;
- else if (__isset.rootCauseErrorIdList && !(rootCauseErrorIdList == rhs.rootCauseErrorIdList))
- return false;
- return true;
- }
- bool operator != (const ErrorDetails &rhs) const {
- return !(*this == rhs);
- }
-
- bool operator < (const ErrorDetails & ) const;
-
- uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
- uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-};
-
-void swap(ErrorDetails &a, ErrorDetails &b);
-
-typedef struct _JobDetails__isset {
- _JobDetails__isset() : creationTime(false), jobStatus(false), applicationStatus(false), errors(false), computeResourceConsumed(false) {}
- bool creationTime;
- bool jobStatus;
- bool applicationStatus;
- bool errors;
- bool computeResourceConsumed;
-} _JobDetails__isset;
-
-class JobDetails {
- public:
-
- static const char* ascii_fingerprint; // = "5946807521C11BC65075D497F8568057";
- static const uint8_t binary_fingerprint[16]; // = {0x59,0x46,0x80,0x75,0x21,0xC1,0x1B,0xC6,0x50,0x75,0xD4,0x97,0xF8,0x56,0x80,0x57};
-
- JobDetails() : jobID("DO_NOT_SET_AT_CLIENTS"), jobDescription(), creationTime(0), computeResourceConsumed() {
- }
-
- virtual ~JobDetails() throw() {}
-
- std::string jobID;
- std::string jobDescription;
- int64_t creationTime;
- JobStatus jobStatus;
- ApplicationStatus applicationStatus;
- std::vector<ErrorDetails> errors;
- std::string computeResourceConsumed;
-
- _JobDetails__isset __isset;
-
- void __set_jobID(const std::string& val) {
- jobID = val;
- }
-
- void __set_jobDescription(const std::string& val) {
- jobDescription = val;
- }
-
- void __set_creationTime(const int64_t val) {
- creationTime = val;
- __isset.creationTime = true;
- }
-
- void __set_jobStatus(const JobStatus& val) {
- jobStatus = val;
- __isset.jobStatus = true;
- }
-
- void __set_applicationStatus(const ApplicationStatus& val) {
- applicationStatus = val;
- __isset.applicationStatus = true;
- }
-
- void __set_errors(const std::vector<ErrorDetails> & val) {
- errors = val;
- __isset.errors = true;
- }
-
- void __set_computeResourceConsumed(const std::string& val) {
- computeResourceConsumed = val;
- __isset.computeResourceConsumed = true;
- }
-
- bool operator == (const JobDetails & rhs) const
- {
- if (!(jobID == rhs.jobID))
- return false;
- if (!(jobDescription == rhs.jobDescription))
- return false;
- if (__isset.creationTime != rhs.__isset.creationTime)
- return false;
- else if (__isset.creationTime && !(creationTime == rhs.creationTime))
- return false;
- if (__isset.jobStatus != rhs.__isset.jobStatus)
- return false;
- else if (__isset.jobStatus && !(jobStatus == rhs.jobStatus))
- return false;
- if (__isset.applicationStatus != rhs.__isset.applicationStatus)
- return false;
- else if (__isset.applicationStatus && !(applicationStatus == rhs.applicationStatus))
- return false;
- if (__isset.errors != rhs.__isset.errors)
- return false;
- else if (__isset.errors && !(errors == rhs.errors))
- return false;
- if (__isset.computeResourceConsumed != rhs.__isset.computeResourceConsumed)
- return false;
- else if (__isset.computeResourceConsumed && !(computeResourceConsumed == rhs.computeResourceConsumed))
- return false;
- return true;
- }
- bool operator != (const JobDetails &rhs) const {
- return !(*this == rhs);
- }
-
- bool operator < (const JobDetails & ) const;
-
- uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
- uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-};
-
-void swap(JobDetails &a, JobDetails &b);
-
-typedef struct _DataTransferDetails__isset {
- _DataTransferDetails__isset() : creationTime(false), transferStatus(false) {}
- bool creationTime;
- bool transferStatus;
-} _DataTransferDetails__isset;
-
-class DataTransferDetails {
- public:
-
- static const char* ascii_fingerprint; // = "40D4FEC20E3B334AEEBA92DA2AB9E91E";
- static const uint8_t binary_fingerprint[16]; // = {0x40,0xD4,0xFE,0xC2,0x0E,0x3B,0x33,0x4A,0xEE,0xBA,0x92,0xDA,0x2A,0xB9,0xE9,0x1E};
-
- DataTransferDetails() : transferID("DO_NOT_SET_AT_CLIENTS"), creationTime(0), transferDescription() {
- }
-
- virtual ~DataTransferDetails() throw() {}
-
- std::string transferID;
- int64_t creationTime;
- std::string transferDescription;
- TransferStatus transferStatus;
-
- _DataTransferDetails__isset __isset;
-
- void __set_transferID(const std::string& val) {
- transferID = val;
- }
-
- void __set_creationTime(const int64_t val) {
- creationTime = val;
- __isset.creationTime = true;
- }
-
- void __set_transferDescription(const std::string& val) {
- transferDescription = val;
- }
-
- void __set_transferStatus(const TransferStatus& val) {
- transferStatus = val;
- __isset.transferStatus = true;
- }
-
- bool operator == (const DataTransferDetails & rhs) const
- {
- if (!(transferID == rhs.transferID))
- return false;
- if (__isset.creationTime != rhs.__isset.creationTime)
- return false;
- else if (__isset.creationTime && !(creationTime == rhs.creationTime))
- return false;
- if (!(transferDescription == rhs.transferDescription))
- return false;
- if (__isset.transferStatus != rhs.__isset.transferStatus)
- return false;
- else if (__isset.transferStatus && !(transferStatus == rhs.transferStatus))
- return false;
- return true;
- }
- bool operator != (const DataTransferDetails &rhs) const {
- return !(*this == rhs);
- }
-
- bool operator < (const DataTransferDetails & ) const;
-
- uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
- uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-};
-
-void swap(DataTransferDetails &a, DataTransferDetails &b);
-
-typedef struct _TaskDetails__isset {
- _TaskDetails__isset() : creationTime(false), applicationId(false), applicationVersion(false), applicationDeploymentId(false), applicationInputs(false), applicationOutputs(false), taskScheduling(false), advancedInputDataHandling(false), advancedOutputDataHandling(false), taskStatus(false), jobDetailsList(false), dataTransferDetailsList(false), errors(false) {}
- bool creationTime;
- bool applicationId;
- bool applicationVersion;
- bool applicationDeploymentId;
- bool applicationInputs;
- bool applicationOutputs;
- bool taskScheduling;
- bool advancedInputDataHandling;
- bool advancedOutputDataHandling;
- bool taskStatus;
- bool jobDetailsList;
- bool dataTransferDetailsList;
- bool errors;
-} _TaskDetails__isset;
-
-class TaskDetails {
- public:
-
- static const char* ascii_fingerprint; // = "482C560A67EC84E3BEB13AFC5FEDA02C";
- static const uint8_t binary_fingerprint[16]; // = {0x48,0x2C,0x56,0x0A,0x67,0xEC,0x84,0xE3,0xBE,0xB1,0x3A,0xFC,0x5F,0xED,0xA0,0x2C};
-
- TaskDetails() : taskID("DO_NOT_SET_AT_CLIENTS"), creationTime(0), applicationId(), applicationVersion(), applicationDeploymentId() {
- }
-
- virtual ~TaskDetails() throw() {}
-
- std::string taskID;
- int64_t creationTime;
- std::string applicationId;
- std::string applicationVersion;
- std::string applicationDeploymentId;
- std::vector<DataObjectType> applicationInputs;
- std::vector<DataObjectType> applicationOutputs;
- ComputationalResourceScheduling taskScheduling;
- AdvancedInputDataHandling advancedInputDataHandling;
- AdvancedOutputDataHandling advancedOutputDataHandling;
- TaskStatus taskStatus;
- std::vector<JobDetails> jobDetailsList;
- std::vector<DataTransferDetails> dataTransferDetailsList;
- std::vector<ErrorDetails> errors;
-
- _TaskDetails__isset __isset;
-
- void __set_taskID(const std::string& val) {
- taskID = val;
- }
-
- void __set_creationTime(const int64_t val) {
- creationTime = val;
- __isset.creationTime = true;
- }
-
- void __set_applicationId(const std::string& val) {
- applicationId = val;
- __isset.applicationId = true;
- }
-
- void __set_applicationVersion(const std::string& val) {
- applicationVersion = val;
- __isset.applicationVersion = true;
- }
-
- void __set_applicationDeploymentId(const std::string& val) {
- applicationDeploymentId = val;
- __isset.applicationDeploymentId = true;
- }
-
- void __set_applicationInputs(const std::vector<DataObjectType> & val) {
- applicationInputs = val;
- __isset.applicationInputs = true;
- }
-
- void __set_applicationOutputs(const std::vector<DataObjectType> & val) {
- applicationOutputs = val;
- __isset.applicationOutputs = true;
- }
-
- void __set_taskScheduling(const ComputationalResourceScheduling& val) {
- taskScheduling = val;
- __isset.taskScheduling = true;
- }
-
- void __set_advancedInputDataHandling(const AdvancedInputDataHandling& val) {
- advancedInputDataHandling = val;
- __isset.advancedInputDataHandling = true;
- }
-
- void __set_advancedOutputDataHandling(const AdvancedOutputDataHandling& val) {
- advancedOutputDataHandling = val;
- __isset.advancedOutputDataHandling = true;
- }
-
- void __set_taskStatus(const TaskStatus& val) {
- taskStatus = val;
- __isset.taskStatus = true;
- }
-
- void __set_jobDetailsList(const std::vector<JobDetails> & val) {
- jobDetailsList = val;
- __isset.jobDetailsList = true;
- }
-
- void __set_dataTransferDetailsList(const std::vector<DataTransferDetails> & val) {
- dataTransferDetailsList = val;
- __isset.dataTransferDetailsList = true;
- }
-
- void __set_errors(const std::vector<ErrorDetails> & val) {
- errors = val;
- __isset.errors = true;
- }
-
- bool operator == (const TaskDetails & rhs) const
- {
- if (!(taskID == rhs.taskID))
- return false;
- if (__isset.creationTime != rhs.__isset.creationTime)
- return false;
- else if (__isset.creationTime && !(creationTime == rhs.creationTime))
- return false;
- if (__isset.applicationId != rhs.__isset.applicationId)
- return false;
- else if (__isset.applicationId && !(applicationId == rhs.applicationId))
- return false;
- if (__isset.applicationVersion != rhs.__isset.applicationVersion)
- return false;
- else if (__isset.applicationVersion && !(applicationVersion == rhs.applicationVersion))
- return false;
- if (__isset.applicationDeploymentId != rhs.__isset.applicationDeploymentId)
- return false;
- else if (__isset.applicationDeploymentId && !(applicationDeploymentId == rhs.applicationDeploymentId))
- return false;
- if (__isset.applicationInputs != rhs.__isset.applicationInputs)
- return false;
- else if (__isset.applicationInputs && !(applicationInputs == rhs.applicationInputs))
- return false;
- if (__isset.applicationOutputs != rhs.__isset.applicationOutputs)
- return false;
- else if (__isset.applicationOutputs && !(applicationOutputs == rhs.applicationOutputs))
- return false;
- if (__isset.taskScheduling != rhs.__isset.taskScheduling)
- return false;
- else if (__isset.taskScheduling && !(taskScheduling == rhs.taskScheduling))
- return false;
- if (__isset.advancedInputDataHandling != rhs.__isset.advancedInputDataHandling)
- return false;
- else if (__isset.advancedInputDataHandling && !(advancedInputDataHandling == rhs.advancedInputDataHandling))
- return false;
- if (__isset.advancedOutputDataHandling != rhs.__isset.advancedOutputDataHandling)
- return false;
- else if (__isset.advancedOutputDataHandling && !(advancedOutputDataHandling == rhs.advancedOutputDataHandling))
- return false;
- if (__isset.taskStatus != rhs.__isset.taskStatus)
- return false;
- else if (__isset.taskStatus && !(taskStatus == rhs.taskStatus))
- return false;
- if (__isset.jobDetailsList != rhs.__isset.jobDetailsList)
- return false;
- else if (__isset.jobDetailsList && !(jobDetailsList == rhs.jobDetailsList))
- return false;
- if (__isset.dataTransferDetailsList != rhs.__isset.dataTransferDetailsList)
- return false;
- else if (__isset.dataTransferDetailsList && !(dataTransferDetailsList == rhs.dataTransferDetailsList))
- return false;
- if (__isset.errors != rhs.__isset.errors)
- return false;
- else if (__isset.errors && !(errors == rhs.errors))
- return false;
- return true;
- }
- bool operator != (const TaskDetails &rhs) const {
- return !(*this == rhs);
- }
-
- bool operator < (const TaskDetails & ) const;
-
- uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
- uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-};
-
-void swap(TaskDetails &a, TaskDetails &b);
-
-typedef struct _WorkflowNodeDetails__isset {
- _WorkflowNodeDetails__isset() : creationTime(false), executionUnitData(false), nodeInputs(false), nodeOutputs(false), workflowNodeStatus(false), taskDetailsList(false), errors(false) {}
- bool creationTime;
- bool executionUnitData;
- bool nodeInputs;
- bool nodeOutputs;
- bool workflowNodeStatus;
- bool taskDetailsList;
- bool errors;
-} _WorkflowNodeDetails__isset;
-
-class WorkflowNodeDetails {
- public:
-
- static const char* ascii_fingerprint; // = "95130A9D83D5C73D70BAEBDF11F2FFE7";
- static const uint8_t binary_fingerprint[16]; // = {0x95,0x13,0x0A,0x9D,0x83,0xD5,0xC7,0x3D,0x70,0xBA,0xEB,0xDF,0x11,0xF2,0xFF,0xE7};
-
- WorkflowNodeDetails() : nodeInstanceId("DO_NOT_SET_AT_CLIENTS"), creationTime(0), nodeName("SINGLE_APP_NODE"), executionUnit((ExecutionUnit::type)1), executionUnitData() {
- executionUnit = (ExecutionUnit::type)1;
-
- }
-
- virtual ~WorkflowNodeDetails() throw() {}
-
- std::string nodeInstanceId;
- int64_t creationTime;
- std::string nodeName;
- ExecutionUnit::type executionUnit;
- std::string executionUnitData;
- std::vector<DataObjectType> nodeInputs;
- std::vector<DataObjectType> nodeOutputs;
- WorkflowNodeStatus workflowNodeStatus;
- std::vector<TaskDetails> taskDetailsList;
- std::vector<ErrorDetails> errors;
-
- _WorkflowNodeDetails__isset __isset;
-
- void __set_nodeInstanceId(const std::string& val) {
- nodeInstanceId = val;
- }
-
- void __set_creationTime(const int64_t val) {
- creationTime = val;
- __isset.creationTime = true;
- }
-
- void __set_nodeName(const std::string& val) {
- nodeName = val;
- }
-
- void __set_executionUnit(const ExecutionUnit::type val) {
- executionUnit = val;
- }
-
- void __set_executionUnitData(const std::string& val) {
- executionUnitData = val;
- __isset.executionUnitData = true;
- }
-
- void __set_nodeInputs(const std::vector<DataObjectType> & val) {
- nodeInputs = val;
- __isset.nodeInputs = true;
- }
-
- void __set_nodeOutputs(const std::vector<DataObjectType> & val) {
- nodeOutputs = val;
- __isset.nodeOutputs = true;
- }
-
- void __set_workflowNodeStatus(const WorkflowNodeStatus& val) {
- workflowNodeStatus = val;
- __isset.workflowNodeStatus = true;
- }
-
- void __set_taskDetailsList(const std::vector<TaskDetails> & val) {
- taskDetailsList = val;
- __isset.taskDetailsList = true;
- }
-
- void __set_errors(const std::vector<ErrorDetails> & val) {
- errors = val;
- __isset.errors = true;
- }
-
- bool operator == (const WorkflowNodeDetails & rhs) const
- {
- if (!(nodeInstanceId == rhs.nodeInstanceId))
- return false;
- if (__isset.creationTime != rhs.__isset.creationTime)
- return false;
- else if (__isset.creationTime && !(creationTime == rhs.creationTime))
- return false;
- if (!(nodeName == rhs.nodeName))
- return false;
- if (!(executionUnit == rhs.executionUnit))
- return false;
- if (__isset.executionUnitData != rhs.__isset.executionUnitData)
- return false;
- else if (__isset.executionUnitData && !(executionUnitData == rhs.executionUnitData))
- return false;
- if (__isset.nodeInputs != rhs.__isset.nodeInputs)
- return false;
- else if (__isset.nodeInputs && !(nodeInputs == rhs.nodeInputs))
- return false;
- if (__isset.nodeOutputs != rhs.__isset.nodeOutputs)
- return false;
- else if (__isset.nodeOutputs && !(nodeOutputs == rhs.nodeOutputs))
- return false;
- if (__isset.workflowNodeStatus != rhs.__isset.workflowNodeStatus)
- return false;
- else if (__isset.workflowNodeStatus && !(workflowNodeStatus == rhs.workflowNodeStatus))
- return false;
- if (__isset.taskDetailsList != rhs.__isset.taskDetailsList)
- return false;
- else if (__isset.taskDetailsList && !(taskDetailsList == rhs.taskDetailsList))
- return false;
- if (__isset.errors != rhs.__isset.errors)
- return false;
- else if (__isset.errors && !(errors == rhs.errors))
- return false;
- return true;
- }
- bool operator != (const WorkflowNodeDetails &rhs) const {
- return !(*this == rhs);
- }
-
- bool operator < (const WorkflowNodeDetails & ) const;
-
- uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
- uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-};
-
-void swap(WorkflowNodeDetails &a, WorkflowNodeDetails &b);
-
-typedef struct _ValidatorResult__isset {
- _ValidatorResult__isset() : errorDetails(false) {}
- bool errorDetails;
-} _ValidatorResult__isset;
-
-class ValidatorResult {
- public:
-
- static const char* ascii_fingerprint; // = "EB04A806CFFC9025AEE48CFFDC378A86";
- static const uint8_t binary_fingerprint[16]; // = {0xEB,0x04,0xA8,0x06,0xCF,0xFC,0x90,0x25,0xAE,0xE4,0x8C,0xFF,0xDC,0x37,0x8A,0x86};
-
- ValidatorResult() : result(0), errorDetails() {
- }
-
- virtual ~ValidatorResult() throw() {}
-
- bool result;
- std::string errorDetails;
-
- _ValidatorResult__isset __isset;
-
- void __set_result(const bool val) {
- result = val;
- }
-
- void __set_errorDetails(const std::string& val) {
- errorDetails = val;
- __isset.errorDetails = true;
- }
-
- bool operator == (const ValidatorResult & rhs) const
- {
- if (!(result == rhs.result))
- return false;
- if (__isset.errorDetails != rhs.__isset.errorDetails)
- return false;
- else if (__isset.errorDetails && !(errorDetails == rhs.errorDetails))
- return false;
- return true;
- }
- bool operator != (const ValidatorResult &rhs) const {
- return !(*this == rhs);
- }
-
- bool operator < (const ValidatorResult & ) const;
-
- uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
- uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-};
-
-void swap(ValidatorResult &a, ValidatorResult &b);
-
-
-class ValidationResults {
- public:
-
- static const char* ascii_fingerprint; // = "E73BC8630EE405DA5FB801ED852143D2";
- static const uint8_t binary_fingerprint[16]; // = {0xE7,0x3B,0xC8,0x63,0x0E,0xE4,0x05,0xDA,0x5F,0xB8,0x01,0xED,0x85,0x21,0x43,0xD2};
-
- ValidationResults() : validationState(0) {
- }
-
- virtual ~ValidationResults() throw() {}
-
- bool validationState;
- std::vector<ValidatorResult> validationResultList;
-
- void __set_validationState(const bool val) {
- validationState = val;
- }
-
- void __set_validationResultList(const std::vector<ValidatorResult> & val) {
- validationResultList = val;
- }
-
- bool operator == (const ValidationResults & rhs) const
- {
- if (!(validationState == rhs.validationState))
- return false;
- if (!(validationResultList == rhs.validationResultList))
- return false;
- return true;
- }
- bool operator != (const ValidationResults &rhs) const {
- return !(*this == rhs);
- }
-
- bool operator < (const ValidationResults & ) const;
-
- uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
- uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-};
-
-void swap(ValidationResults &a, ValidationResults &b);
-
-typedef struct _Experiment__isset {
- _Experiment__isset() : creationTime(false), description(false), applicationId(false), applicationVersion(false), workflowTemplateId(false), workflowTemplateVersion(false), userConfigurationData(false), workflowExecutionInstanceId(false), experimentInputs(false), experimentOutputs(false), experimentStatus(false), stateChangeList(false), workflowNodeDetailsList(false), errors(false) {}
- bool creationTime;
- bool description;
- bool applicationId;
- bool applicationVersion;
- bool workflowTemplateId;
- bool workflowTemplateVersion;
- bool userConfigurationData;
- bool workflowExecutionInstanceId;
- bool experimentInputs;
- bool experimentOutputs;
- bool experimentStatus;
- bool stateChangeList;
- bool workflowNodeDetailsList;
- bool errors;
-} _Experiment__isset;
-
-class Experiment {
- public:
-
- static const char* ascii_fingerprint; // = "6B1FF2298EF5AE2B9EA8F76C2DFA9E8C";
- static const uint8_t binary_fingerprint[16]; // = {0x6B,0x1F,0xF2,0x29,0x8E,0xF5,0xAE,0x2B,0x9E,0xA8,0xF7,0x6C,0x2D,0xFA,0x9E,0x8C};
-
- Experiment() : experimentID("DO_NOT_SET_AT_CLIENTS"), projectID("DEFAULT"), creationTime(0), userName(), name(), description(), applicationId(), applicationVersion(), workflowTemplateId(), workflowTemplateVersion(), workflowExecutionInstanceId() {
- }
-
- virtual ~Experiment() throw() {}
-
- std::string experimentID;
- std::string projectID;
- int64_t creationTime;
- std::string userName;
- std::string name;
- std::string description;
- std::string applicationId;
- std::string applicationVersion;
- std::string workflowTemplateId;
- std::string workflowTemplateVersion;
- UserConfigurationData userConfigurationData;
- std::string workflowExecutionInstanceId;
- std::vector<DataObjectType> experimentInputs;
- std::vector<DataObjectType> experimentOutputs;
- ExperimentStatus experimentStatus;
- std::vector<WorkflowNodeStatus> stateChangeList;
- std::vector<WorkflowNodeDetails> workflowNodeDetailsList;
- std::vector<ErrorDetails> errors;
-
- _Experiment__isset __isset;
-
- void __set_experimentID(const std::string& val) {
- experimentID = val;
- }
-
- void __set_projectID(const std::string& val) {
- projectID = val;
- }
-
- void __set_creationTime(const int64_t val) {
- creationTime = val;
- __isset.creationTime = true;
- }
-
- void __set_userName(const std::string& val) {
- userName = val;
- }
-
- void __set_name(const std::string& val) {
- name = val;
- }
-
- void __set_description(const std::string& val) {
- description = val;
- __isset.description = true;
- }
-
- void __set_applicationId(const std::string& val) {
- applicationId = val;
- __isset.applicationId = true;
- }
-
- void __set_applicationVersion(const std::string& val) {
- applicationVersion = val;
- __isset.applicationVersion = true;
- }
-
- void __set_workflowTemplateId(const std::string& val) {
- workflowTemplateId = val;
- __isset.workflowTemplateId = true;
- }
-
- void __set_workflowTemplateVersion(const std::string& val) {
- workflowTemplateVersion = val;
- __isset.workflowTemplateVersion = true;
- }
-
- void __set_userConfigurationData(const UserConfigurationData& val) {
- userConfigurationData = val;
- __isset.userConfigurationData = true;
- }
-
- void __set_workflowExecutionInstanceId(const std::string& val) {
- workflowExecutionInstanceId = val;
- __isset.workflowExecutionInstanceId = true;
- }
-
- void __set_experimentInputs(const std::vector<DataObjectType> & val) {
- experimentInputs = val;
- __isset.experimentInputs = true;
- }
-
- void __set_experimentOutputs(const std::vector<DataObjectType> & val) {
- experimentOutputs = val;
- __isset.experimentOutputs = true;
- }
-
- void __set_experimentStatus(const ExperimentStatus& val) {
- experimentStatus = val;
- __isset.experimentStatus = true;
- }
-
- void __set_stateChangeList(const std::vector<WorkflowNodeStatus> & val) {
- stateChangeList = val;
- __isset.stateChangeList = true;
- }
-
- void __set_workflowNodeDetailsList(const std::vector<WorkflowNodeDetails> & val) {
- workflowNodeDetailsList = val;
- __isset.workflowNodeDetailsList = true;
- }
-
- void __set_errors(const std::vector<ErrorDetails> & val) {
- errors = val;
- __isset.errors = true;
- }
-
- bool operator == (const Experiment & rhs) const
- {
- if (!(experimentID == rhs.experimentID))
- return false;
- if (!(projectID == rhs.projectID))
- return false;
- if (__isset.creationTime != rhs.__isset.creationTime)
- return false;
- else if (__isset.creationTime && !(creationTime == rhs.creationTime))
- return false;
- if (!(userName == rhs.userName))
- return false;
- if (!(name == rhs.name))
- return false;
- if (__isset.description != rhs.__isset.description)
- return false;
- else if (__isset.description && !(description == rhs.description))
- return false;
- if (__isset.applicationId != rhs.__isset.applicationId)
- return false;
- else if (__isset.applicationId && !(applicationId == rhs.applicationId))
- return false;
- if (__isset.applicationVersion != rhs.__isset.applicationVersion)
- return false;
- else if (__isset.applicationVersion && !(applicationVersion == rhs.applicationVersion))
- return false;
- if (__isset.workflowTemplateId != rhs.__isset.workflowTemplateId)
- return false;
- else if (__isset.workflowTemplateId && !(workflowTemplateId == rhs.workflowTemplateId))
- return false;
- if (__isset.workflowTemplateVersion != rhs.__isset.workflowTemplateVersion)
- return false;
- else if (__isset.workflowTemplateVersion && !(workflowTemplateVersion == rhs.workflowTemplateVersion))
- return false;
- if (__isset.userConfigurationData != rhs.__isset.userConfigurationData)
- return false;
- else if (__isset.userConfigurationData && !(userConfigurationData == rhs.userConfigurationData))
- return false;
- if (__isset.workflowExecutionInstanceId != rhs.__isset.workflowExecutionInstanceId)
- return false;
- else if (__isset.workflowExecutionInstanceId && !(workflowExecutionInstanceId == rhs.workflowExecutionInstanceId))
- return false;
- if (__isset.experimentInputs != rhs.__isset.experimentInputs)
- return false;
- else if (__isset.experimentInputs && !(experimentInputs == rhs.experimentInputs))
- return false;
- if (__isset.experimentOutputs != rhs.__isset.experimentOutputs)
- return false;
- else if (__isset.experimentOutputs && !(experimentOutputs == rhs.experimentOutputs))
- return false;
- if (__isset.experimentStatus != rhs.__isset.experimentStatus)
- return false;
- else if (__isset.experimentStatus && !(experimentStatus == rhs.experimentStatus))
- return false;
- if (__isset.stateChangeList != rhs.__isset.stateChangeList)
- return false;
- else if (__isset.stateChangeList && !(stateChangeList == rhs.stateChangeList))
- return false;
- if (__isset.workflowNodeDetailsList != rhs.__isset.workflowNodeDetailsList)
- return false;
- else if (__isset.workflowNodeDetailsList && !(workflowNodeDetailsList == rhs.workflowNodeDetailsList))
- return false;
- if (__isset.errors != rhs.__isset.errors)
- return false;
- else if (__isset.errors && !(errors == rhs.errors))
- return false;
- return true;
- }
- bool operator != (const Experiment &rhs) const {
- return !(*this == rhs);
- }
-
- bool operator < (const Experiment & ) const;
-
- uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
- uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-};
-
-void swap(Experiment &a, Experiment &b);
-
-typedef struct _ExperimentSummary__isset {
- _ExperimentSummary__isset() : creationTime(false), description(false), applicationId(false), experimentStatus(false), errors(false) {}
- bool creationTime;
- bool description;
- bool applicationId;
- bool experimentStatus;
- bool errors;
-} _ExperimentSummary__isset;
-
-class ExperimentSummary {
- public:
-
- static const char* ascii_fingerprint; // = "44FD485ABF32F5EB94D6F393F51241B6";
- static const uint8_t binary_fingerprint[16]; // = {0x44,0xFD,0x48,0x5A,0xBF,0x32,0xF5,0xEB,0x94,0xD6,0xF3,0x93,0xF5,0x12,0x41,0xB6};
-
- ExperimentSummary() : experimentID(), projectID(), creationTime(0), userName(), name(), description(), applicationId() {
- }
-
- virtual ~ExperimentSummary() throw() {}
-
- std::string experimentID;
- std::string projectID;
- int64_t creationTime;
- std::string userName;
- std::string name;
- std::string description;
- std::string applicationId;
- ExperimentStatus experimentStatus;
- std::vector<ErrorDetails> errors;
-
- _ExperimentSummary__isset __isset;
-
- void __set_experimentID(const std::string& val) {
- experimentID = val;
- }
-
- void __set_projectID(const std::string& val) {
- projectID = val;
- }
-
- void __set_creationTime(const int64_t val) {
- creationTime = val;
- __isset.creationTime = true;
- }
-
- void __set_userName(const std::string& val) {
- userName = val;
- }
-
- void __set_name(const std::string& val) {
- name = val;
- }
-
- void __set_description(const std::string& val) {
- description = val;
- __isset.description = true;
- }
-
- void __set_applicationId(const std::string& val) {
- applicationId = val;
- __isset.applicationId = true;
- }
-
- void __set_experimentStatus(const ExperimentStatus& val) {
- experimentStatus = val;
- __isset.experimentStatus = true;
- }
-
- void __set_errors(const std::vector<ErrorDetails> & val) {
- errors = val;
- __isset.errors = true;
- }
-
- bool operator == (const ExperimentSummary & rhs) const
- {
- if (!(experimentID == rhs.experimentID))
- return false;
- if (!(projectID == rhs.projectID))
- return false;
- if (__isset.creationTime != rhs.__isset.creationTime)
- return false;
- else if (__isset.creationTime && !(creationTime == rhs.creationTime))
- return false;
- if (!(userName == rhs.userName))
- return false;
- if (!(name == rhs.name))
- return false;
- if (__isset.description != rhs.__isset.description)
- return false;
- else if (__isset.description && !(description == rhs.description))
- return false;
- if (__isset.applicationId != rhs.__isset.applicationId)
- return false;
- else if (__isset.applicationId && !(applicationId == rhs.applicationId))
- return false;
- if (__isset.experimentStatus != rhs.__isset.experimentStatus)
- return false;
- else if (__isset.experimentStatus && !(experimentStatus == rhs.experimentStatus))
- return false;
- if (__isset.errors != rhs.__isset.errors)
- return false;
- else if (__isset.errors && !(errors == rhs.errors))
- return false;
- return true;
- }
- bool operator != (const ExperimentSummary &rhs) const {
- return !(*this == rhs);
- }
-
- bool operator < (const ExperimentSummary & ) const;
-
- uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
- uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-};
-
-void swap(ExperimentSummary &a, ExperimentSummary &b);
-
-}}}}} // namespace
-
-#endif
http://git-wip-us.apache.org/repos/asf/airavata/blob/00b8aaf0/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/gatewayProfileModel_constants.cpp
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/gatewayProfileModel_constants.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/gatewayProfileModel_constants.cpp
deleted file mode 100644
index 8627ee3..0000000
--- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/gatewayProfileModel_constants.cpp
+++ /dev/null
@@ -1,19 +0,0 @@
-/**
- * Autogenerated by Thrift Compiler (0.9.1)
- *
- * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
- * @generated
- */
-#include "gatewayProfileModel_constants.h"
-
-
-
-const gatewayProfileModelConstants g_gatewayProfileModel_constants;
-
-gatewayProfileModelConstants::gatewayProfileModelConstants() {
- DEFAULT_ID = "DO_NOT_SET_AT_CLIENTS";
-
-}
-
-
-
http://git-wip-us.apache.org/repos/asf/airavata/blob/00b8aaf0/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/gatewayProfileModel_constants.h
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/gatewayProfileModel_constants.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/gatewayProfileModel_constants.h
deleted file mode 100644
index 4061d03..0000000
--- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/gatewayProfileModel_constants.h
+++ /dev/null
@@ -1,25 +0,0 @@
-/**
- * Autogenerated by Thrift Compiler (0.9.1)
- *
- * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
- * @generated
- */
-#ifndef gatewayProfileModel_CONSTANTS_H
-#define gatewayProfileModel_CONSTANTS_H
-
-#include "gatewayProfileModel_types.h"
-
-
-
-class gatewayProfileModelConstants {
- public:
- gatewayProfileModelConstants();
-
- std::string DEFAULT_ID;
-};
-
-extern const gatewayProfileModelConstants g_gatewayProfileModel_constants;
-
-
-
-#endif
http://git-wip-us.apache.org/repos/asf/airavata/blob/00b8aaf0/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/gatewayProfileModel_types.cpp
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/gatewayProfileModel_types.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/gatewayProfileModel_types.cpp
deleted file mode 100644
index 896a770..0000000
--- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/gatewayProfileModel_types.cpp
+++ /dev/null
@@ -1,293 +0,0 @@
-/**
- * Autogenerated by Thrift Compiler (0.9.1)
- *
- * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
- * @generated
- */
-#include "gatewayProfileModel_types.h"
-
-#include <algorithm>
-
-
-
-const char* ComputeResourcePreference::ascii_fingerprint = "9C98338B7E052CD4DEECB22F243D6DAE";
-const uint8_t ComputeResourcePreference::binary_fingerprint[16] = {0x9C,0x98,0x33,0x8B,0x7E,0x05,0x2C,0xD4,0xDE,0xEC,0xB2,0x2F,0x24,0x3D,0x6D,0xAE};
-
-uint32_t ComputeResourcePreference::read(::apache::thrift::protocol::TProtocol* iprot) {
-
- uint32_t xfer = 0;
- std::string fname;
- ::apache::thrift::protocol::TType ftype;
- int16_t fid;
-
- xfer += iprot->readStructBegin(fname);
-
- using ::apache::thrift::protocol::TProtocolException;
-
- bool isset_computeResourceId = false;
- bool isset_overridebyAiravata = false;
-
- while (true)
- {
- xfer += iprot->readFieldBegin(fname, ftype, fid);
- if (ftype == ::apache::thrift::protocol::T_STOP) {
- break;
- }
- switch (fid)
- {
- case 1:
- if (ftype == ::apache::thrift::protocol::T_STRING) {
- xfer += iprot->readString(this->computeResourceId);
- isset_computeResourceId = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 2:
- if (ftype == ::apache::thrift::protocol::T_BOOL) {
- xfer += iprot->readBool(this->overridebyAiravata);
- isset_overridebyAiravata = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 3:
- if (ftype == ::apache::thrift::protocol::T_STRING) {
- xfer += iprot->readString(this->preferredJobSubmissionProtocol);
- this->__isset.preferredJobSubmissionProtocol = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 4:
- if (ftype == ::apache::thrift::protocol::T_STRING) {
- xfer += iprot->readString(this->preferredDataMovementProtocol);
- this->__isset.preferredDataMovementProtocol = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 5:
- if (ftype == ::apache::thrift::protocol::T_STRING) {
- xfer += iprot->readString(this->preferredBatchQueue);
- this->__isset.preferredBatchQueue = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 6:
- if (ftype == ::apache::thrift::protocol::T_STRING) {
- xfer += iprot->readString(this->scratchLocation);
- this->__isset.scratchLocation = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 7:
- if (ftype == ::apache::thrift::protocol::T_STRING) {
- xfer += iprot->readString(this->allocationProjectNumber);
- this->__isset.allocationProjectNumber = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- default:
- xfer += iprot->skip(ftype);
- break;
- }
- xfer += iprot->readFieldEnd();
- }
-
- xfer += iprot->readStructEnd();
-
- if (!isset_computeResourceId)
- throw TProtocolException(TProtocolException::INVALID_DATA);
- if (!isset_overridebyAiravata)
- throw TProtocolException(TProtocolException::INVALID_DATA);
- return xfer;
-}
-
-uint32_t ComputeResourcePreference::write(::apache::thrift::protocol::TProtocol* oprot) const {
- uint32_t xfer = 0;
- xfer += oprot->writeStructBegin("ComputeResourcePreference");
-
- xfer += oprot->writeFieldBegin("computeResourceId", ::apache::thrift::protocol::T_STRING, 1);
- xfer += oprot->writeString(this->computeResourceId);
- xfer += oprot->writeFieldEnd();
-
- xfer += oprot->writeFieldBegin("overridebyAiravata", ::apache::thrift::protocol::T_BOOL, 2);
- xfer += oprot->writeBool(this->overridebyAiravata);
- xfer += oprot->writeFieldEnd();
-
- if (this->__isset.preferredJobSubmissionProtocol) {
- xfer += oprot->writeFieldBegin("preferredJobSubmissionProtocol", ::apache::thrift::protocol::T_STRING, 3);
- xfer += oprot->writeString(this->preferredJobSubmissionProtocol);
- xfer += oprot->writeFieldEnd();
- }
- if (this->__isset.preferredDataMovementProtocol) {
- xfer += oprot->writeFieldBegin("preferredDataMovementProtocol", ::apache::thrift::protocol::T_STRING, 4);
- xfer += oprot->writeString(this->preferredDataMovementProtocol);
- xfer += oprot->writeFieldEnd();
- }
- if (this->__isset.preferredBatchQueue) {
- xfer += oprot->writeFieldBegin("preferredBatchQueue", ::apache::thrift::protocol::T_STRING, 5);
- xfer += oprot->writeString(this->preferredBatchQueue);
- xfer += oprot->writeFieldEnd();
- }
- if (this->__isset.scratchLocation) {
- xfer += oprot->writeFieldBegin("scratchLocation", ::apache::thrift::protocol::T_STRING, 6);
- xfer += oprot->writeString(this->scratchLocation);
- xfer += oprot->writeFieldEnd();
- }
- if (this->__isset.allocationProjectNumber) {
- xfer += oprot->writeFieldBegin("allocationProjectNumber", ::apache::thrift::protocol::T_STRING, 7);
- xfer += oprot->writeString(this->allocationProjectNumber);
- xfer += oprot->writeFieldEnd();
- }
- xfer += oprot->writeFieldStop();
- xfer += oprot->writeStructEnd();
- return xfer;
-}
-
-void swap(ComputeResourcePreference &a, ComputeResourcePreference &b) {
- using ::std::swap;
- swap(a.computeResourceId, b.computeResourceId);
- swap(a.overridebyAiravata, b.overridebyAiravata);
- swap(a.preferredJobSubmissionProtocol, b.preferredJobSubmissionProtocol);
- swap(a.preferredDataMovementProtocol, b.preferredDataMovementProtocol);
- swap(a.preferredBatchQueue, b.preferredBatchQueue);
- swap(a.scratchLocation, b.scratchLocation);
- swap(a.allocationProjectNumber, b.allocationProjectNumber);
- swap(a.__isset, b.__isset);
-}
-
-const char* GatewayProfile::ascii_fingerprint = "D6477904C48AAB4DC8F09369D670B400";
-const uint8_t GatewayProfile::binary_fingerprint[16] = {0xD6,0x47,0x79,0x04,0xC4,0x8A,0xAB,0x4D,0xC8,0xF0,0x93,0x69,0xD6,0x70,0xB4,0x00};
-
-uint32_t GatewayProfile::read(::apache::thrift::protocol::TProtocol* iprot) {
-
- uint32_t xfer = 0;
- std::string fname;
- ::apache::thrift::protocol::TType ftype;
- int16_t fid;
-
- xfer += iprot->readStructBegin(fname);
-
- using ::apache::thrift::protocol::TProtocolException;
-
- bool isset_gatewayID = false;
- bool isset_gatewayName = false;
-
- while (true)
- {
- xfer += iprot->readFieldBegin(fname, ftype, fid);
- if (ftype == ::apache::thrift::protocol::T_STOP) {
- break;
- }
- switch (fid)
- {
- case 1:
- if (ftype == ::apache::thrift::protocol::T_STRING) {
- xfer += iprot->readString(this->gatewayID);
- isset_gatewayID = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 2:
- if (ftype == ::apache::thrift::protocol::T_STRING) {
- xfer += iprot->readString(this->gatewayName);
- isset_gatewayName = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 3:
- if (ftype == ::apache::thrift::protocol::T_STRING) {
- xfer += iprot->readString(this->gatewayDescription);
- this->__isset.gatewayDescription = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- case 4:
- if (ftype == ::apache::thrift::protocol::T_LIST) {
- {
- this->computeResourcePreferences.clear();
- uint32_t _size0;
- ::apache::thrift::protocol::TType _etype3;
- xfer += iprot->readListBegin(_etype3, _size0);
- this->computeResourcePreferences.resize(_size0);
- uint32_t _i4;
- for (_i4 = 0; _i4 < _size0; ++_i4)
- {
- xfer += this->computeResourcePreferences[_i4].read(iprot);
- }
- xfer += iprot->readListEnd();
- }
- this->__isset.computeResourcePreferences = true;
- } else {
- xfer += iprot->skip(ftype);
- }
- break;
- default:
- xfer += iprot->skip(ftype);
- break;
- }
- xfer += iprot->readFieldEnd();
- }
-
- xfer += iprot->readStructEnd();
-
- if (!isset_gatewayID)
- throw TProtocolException(TProtocolException::INVALID_DATA);
- if (!isset_gatewayName)
- throw TProtocolException(TProtocolException::INVALID_DATA);
- return xfer;
-}
-
-uint32_t GatewayProfile::write(::apache::thrift::protocol::TProtocol* oprot) const {
- uint32_t xfer = 0;
- xfer += oprot->writeStructBegin("GatewayProfile");
-
- xfer += oprot->writeFieldBegin("gatewayID", ::apache::thrift::protocol::T_STRING, 1);
- xfer += oprot->writeString(this->gatewayID);
- xfer += oprot->writeFieldEnd();
-
- xfer += oprot->writeFieldBegin("gatewayName", ::apache::thrift::protocol::T_STRING, 2);
- xfer += oprot->writeString(this->gatewayName);
- xfer += oprot->writeFieldEnd();
-
- if (this->__isset.gatewayDescription) {
- xfer += oprot->writeFieldBegin("gatewayDescription", ::apache::thrift::protocol::T_STRING, 3);
- xfer += oprot->writeString(this->gatewayDescription);
- xfer += oprot->writeFieldEnd();
- }
- if (this->__isset.computeResourcePreferences) {
- xfer += oprot->writeFieldBegin("computeResourcePreferences", ::apache::thrift::protocol::T_LIST, 4);
- {
- xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>(this->computeResourcePreferences.size()));
- std::vector<ComputeResourcePreference> ::const_iterator _iter5;
- for (_iter5 = this->computeResourcePreferences.begin(); _iter5 != this->computeResourcePreferences.end(); ++_iter5)
- {
- xfer += (*_iter5).write(oprot);
- }
- xfer += oprot->writeListEnd();
- }
- xfer += oprot->writeFieldEnd();
- }
- xfer += oprot->writeFieldStop();
- xfer += oprot->writeStructEnd();
- return xfer;
-}
-
-void swap(GatewayProfile &a, GatewayProfile &b) {
- using ::std::swap;
- swap(a.gatewayID, b.gatewayID);
- swap(a.gatewayName, b.gatewayName);
- swap(a.gatewayDescription, b.gatewayDescription);
- swap(a.computeResourcePreferences, b.computeResourcePreferences);
- swap(a.__isset, b.__isset);
-}
-
-
http://git-wip-us.apache.org/repos/asf/airavata/blob/00b8aaf0/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/gatewayProfileModel_types.h
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/gatewayProfileModel_types.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/gatewayProfileModel_types.h
deleted file mode 100644
index 6bab76c..0000000
--- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/gatewayProfileModel_types.h
+++ /dev/null
@@ -1,197 +0,0 @@
-/**
- * Autogenerated by Thrift Compiler (0.9.1)
- *
- * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
- * @generated
- */
-#ifndef gatewayProfileModel_TYPES_H
-#define gatewayProfileModel_TYPES_H
-
-#include <thrift/Thrift.h>
-#include <thrift/TApplicationException.h>
-#include <thrift/protocol/TProtocol.h>
-#include <thrift/transport/TTransport.h>
-
-#include <thrift/cxxfunctional.h>
-
-
-
-
-typedef struct _ComputeResourcePreference__isset {
- _ComputeResourcePreference__isset() : preferredJobSubmissionProtocol(false), preferredDataMovementProtocol(false), preferredBatchQueue(false), scratchLocation(false), allocationProjectNumber(false) {}
- bool preferredJobSubmissionProtocol;
- bool preferredDataMovementProtocol;
- bool preferredBatchQueue;
- bool scratchLocation;
- bool allocationProjectNumber;
-} _ComputeResourcePreference__isset;
-
-class ComputeResourcePreference {
- public:
-
- static const char* ascii_fingerprint; // = "9C98338B7E052CD4DEECB22F243D6DAE";
- static const uint8_t binary_fingerprint[16]; // = {0x9C,0x98,0x33,0x8B,0x7E,0x05,0x2C,0xD4,0xDE,0xEC,0xB2,0x2F,0x24,0x3D,0x6D,0xAE};
-
- ComputeResourcePreference() : computeResourceId(), overridebyAiravata(true), preferredJobSubmissionProtocol(), preferredDataMovementProtocol(), preferredBatchQueue(), scratchLocation(), allocationProjectNumber() {
- }
-
- virtual ~ComputeResourcePreference() throw() {}
-
- std::string computeResourceId;
- bool overridebyAiravata;
- std::string preferredJobSubmissionProtocol;
- std::string preferredDataMovementProtocol;
- std::string preferredBatchQueue;
- std::string scratchLocation;
- std::string allocationProjectNumber;
-
- _ComputeResourcePreference__isset __isset;
-
- void __set_computeResourceId(const std::string& val) {
- computeResourceId = val;
- }
-
- void __set_overridebyAiravata(const bool val) {
- overridebyAiravata = val;
- }
-
- void __set_preferredJobSubmissionProtocol(const std::string& val) {
- preferredJobSubmissionProtocol = val;
- __isset.preferredJobSubmissionProtocol = true;
- }
-
- void __set_preferredDataMovementProtocol(const std::string& val) {
- preferredDataMovementProtocol = val;
- __isset.preferredDataMovementProtocol = true;
- }
-
- void __set_preferredBatchQueue(const std::string& val) {
- preferredBatchQueue = val;
- __isset.preferredBatchQueue = true;
- }
-
- void __set_scratchLocation(const std::string& val) {
- scratchLocation = val;
- __isset.scratchLocation = true;
- }
-
- void __set_allocationProjectNumber(const std::string& val) {
- allocationProjectNumber = val;
- __isset.allocationProjectNumber = true;
- }
-
- bool operator == (const ComputeResourcePreference & rhs) const
- {
- if (!(computeResourceId == rhs.computeResourceId))
- return false;
- if (!(overridebyAiravata == rhs.overridebyAiravata))
- return false;
- if (__isset.preferredJobSubmissionProtocol != rhs.__isset.preferredJobSubmissionProtocol)
- return false;
- else if (__isset.preferredJobSubmissionProtocol && !(preferredJobSubmissionProtocol == rhs.preferredJobSubmissionProtocol))
- return false;
- if (__isset.preferredDataMovementProtocol != rhs.__isset.preferredDataMovementProtocol)
- return false;
- else if (__isset.preferredDataMovementProtocol && !(preferredDataMovementProtocol == rhs.preferredDataMovementProtocol))
- return false;
- if (__isset.preferredBatchQueue != rhs.__isset.preferredBatchQueue)
- return false;
- else if (__isset.preferredBatchQueue && !(preferredBatchQueue == rhs.preferredBatchQueue))
- return false;
- if (__isset.scratchLocation != rhs.__isset.scratchLocation)
- return false;
- else if (__isset.scratchLocation && !(scratchLocation == rhs.scratchLocation))
- return false;
- if (__isset.allocationProjectNumber != rhs.__isset.allocationProjectNumber)
- return false;
- else if (__isset.allocationProjectNumber && !(allocationProjectNumber == rhs.allocationProjectNumber))
- return false;
- return true;
- }
- bool operator != (const ComputeResourcePreference &rhs) const {
- return !(*this == rhs);
- }
-
- bool operator < (const ComputeResourcePreference & ) const;
-
- uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
- uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-};
-
-void swap(ComputeResourcePreference &a, ComputeResourcePreference &b);
-
-typedef struct _GatewayProfile__isset {
- _GatewayProfile__isset() : gatewayDescription(false), computeResourcePreferences(false) {}
- bool gatewayDescription;
- bool computeResourcePreferences;
-} _GatewayProfile__isset;
-
-class GatewayProfile {
- public:
-
- static const char* ascii_fingerprint; // = "D6477904C48AAB4DC8F09369D670B400";
- static const uint8_t binary_fingerprint[16]; // = {0xD6,0x47,0x79,0x04,0xC4,0x8A,0xAB,0x4D,0xC8,0xF0,0x93,0x69,0xD6,0x70,0xB4,0x00};
-
- GatewayProfile() : gatewayID("DO_NOT_SET_AT_CLIENTS"), gatewayName(), gatewayDescription() {
- }
-
- virtual ~GatewayProfile() throw() {}
-
- std::string gatewayID;
- std::string gatewayName;
- std::string gatewayDescription;
- std::vector<ComputeResourcePreference> computeResourcePreferences;
-
- _GatewayProfile__isset __isset;
-
- void __set_gatewayID(const std::string& val) {
- gatewayID = val;
- }
-
- void __set_gatewayName(const std::string& val) {
- gatewayName = val;
- }
-
- void __set_gatewayDescription(const std::string& val) {
- gatewayDescription = val;
- __isset.gatewayDescription = true;
- }
-
- void __set_computeResourcePreferences(const std::vector<ComputeResourcePreference> & val) {
- computeResourcePreferences = val;
- __isset.computeResourcePreferences = true;
- }
-
- bool operator == (const GatewayProfile & rhs) const
- {
- if (!(gatewayID == rhs.gatewayID))
- return false;
- if (!(gatewayName == rhs.gatewayName))
- return false;
- if (__isset.gatewayDescription != rhs.__isset.gatewayDescription)
- return false;
- else if (__isset.gatewayDescription && !(gatewayDescription == rhs.gatewayDescription))
- return false;
- if (__isset.computeResourcePreferences != rhs.__isset.computeResourcePreferences)
- return false;
- else if (__isset.computeResourcePreferences && !(computeResourcePreferences == rhs.computeResourcePreferences))
- return false;
- return true;
- }
- bool operator != (const GatewayProfile &rhs) const {
- return !(*this == rhs);
- }
-
- bool operator < (const GatewayProfile & ) const;
-
- uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
- uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-};
-
-void swap(GatewayProfile &a, GatewayProfile &b);
-
-
-
-#endif
http://git-wip-us.apache.org/repos/asf/airavata/blob/00b8aaf0/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/gatewayResourceProfileModel_constants.cpp
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/gatewayResourceProfileModel_constants.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/gatewayResourceProfileModel_constants.cpp
deleted file mode 100644
index 1b7a9c1..0000000
--- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/gatewayResourceProfileModel_constants.cpp
+++ /dev/null
@@ -1,19 +0,0 @@
-/**
- * Autogenerated by Thrift Compiler (0.9.1)
- *
- * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
- * @generated
- */
-#include "gatewayResourceProfileModel_constants.h"
-
-namespace apache { namespace airavata { namespace model { namespace appcatalog { namespace gatewayprofile {
-
-const gatewayResourceProfileModelConstants g_gatewayResourceProfileModel_constants;
-
-gatewayResourceProfileModelConstants::gatewayResourceProfileModelConstants() {
- DEFAULT_ID = "DO_NOT_SET_AT_CLIENTS";
-
-}
-
-}}}}} // namespace
-
[43/47] git commit: Changed port in ini file to 9930
Posted by sm...@apache.org.
Changed port in ini file to 9930
Project: http://git-wip-us.apache.org/repos/asf/airavata/repo
Commit: http://git-wip-us.apache.org/repos/asf/airavata/commit/ff8f14c2
Tree: http://git-wip-us.apache.org/repos/asf/airavata/tree/ff8f14c2
Diff: http://git-wip-us.apache.org/repos/asf/airavata/diff/ff8f14c2
Branch: refs/heads/master
Commit: ff8f14c27c646dd64fd323ac47498d0bba28d7f2
Parents: 81ad6ea
Author: ixxi-2013 <na...@gmail.com>
Authored: Fri Jul 11 12:08:36 2014 +0200
Committer: ixxi-2013 <na...@gmail.com>
Committed: Fri Jul 11 12:08:36 2014 +0200
----------------------------------------------------------------------
.../main/resources/client samples/airavata-client-properties.ini | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/airavata/blob/ff8f14c2/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client samples/airavata-client-properties.ini
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client samples/airavata-client-properties.ini b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client samples/airavata-client-properties.ini
index b2e2095..b0335fd 100644
--- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client samples/airavata-client-properties.ini
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/client samples/airavata-client-properties.ini
@@ -1,4 +1,4 @@
[airavata]
AIRAVATA_SERVER = "localhost"
-AIRAVATA_PORT = 8930
+AIRAVATA_PORT = 9930
AIRAVATA_TIMEOUT = 5000
[22/47] Added c++ client samples for integrattion of airavata with
any other application's c++ interface
Posted by sm...@apache.org.
http://git-wip-us.apache.org/repos/asf/airavata/blob/f891b7dc/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/ApplicationCatalogAPI.h
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/ApplicationCatalogAPI.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/ApplicationCatalogAPI.h
new file mode 100644
index 0000000..b3ce2e9
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/ApplicationCatalogAPI.h
@@ -0,0 +1,4069 @@
+/**
+ * Autogenerated by Thrift Compiler (0.9.1)
+ *
+ * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+ * @generated
+ */
+#ifndef ApplicationCatalogAPI_H
+#define ApplicationCatalogAPI_H
+
+#include <thrift/TDispatchProcessor.h>
+#include "applicationCatalogAPI_types.h"
+
+namespace airavata { namespace api { namespace appcatalog {
+
+class ApplicationCatalogAPIIf {
+ public:
+ virtual ~ApplicationCatalogAPIIf() {}
+ virtual void GetAPIVersion(std::string& _return) = 0;
+ virtual void addComputeResourceDescription(std::string& _return, const ::ComputeResourceDescription& computeResourceDescription) = 0;
+ virtual void addSSHJobSubmissionProtocol(std::string& _return, const std::string& computeResourceId, const ::SSHJobSubmission& jobSubmission) = 0;
+ virtual void addGSISSHJobSubmissionProtocol(std::string& _return, const std::string& computeResourceId, const ::GSISSHJobSubmission& jobSubmission) = 0;
+ virtual void addGlobusJobSubmissionProtocol(std::string& _return, const std::string& computeResourceId, const ::GlobusJobSubmission& jobSubmission) = 0;
+ virtual void addSCPDataMovementProtocol(std::string& _return, const std::string& computeResourceId, const ::SCPDataMovement& dataMovement) = 0;
+ virtual void addGridFTPDataMovementProtocol(std::string& _return, const std::string& computeResourceId, const ::GridFTPDataMovement& dataMovement) = 0;
+ virtual void listComputeResourceDescriptions(std::vector<std::string> & _return) = 0;
+ virtual void getComputeResourceDescription( ::ComputeResourceDescription& _return, const std::string& computeResourceId) = 0;
+ virtual void getSSHJobSubmissionProtocol( ::SSHJobSubmission& _return, const std::string& sshJobSubmissionProtocolResourceId) = 0;
+ virtual void getGSISSHJobSubmissionProtocol( ::GSISSHJobSubmission& _return, const std::string& gsisshJobSubmissionProtocolResourceId) = 0;
+ virtual void getGlobusJobSubmissionProtocol( ::GlobusJobSubmission& _return, const std::string& globusJobSubmissionProtocolResourceId) = 0;
+ virtual void getSCPDataMovementProtocol( ::SCPDataMovement& _return, const std::string& scpDataMovementResourceId) = 0;
+ virtual void getGridFTPDataMovementProtocol( ::GridFTPDataMovement& _return, const std::string& gridFTPDataMovementResourceId) = 0;
+ virtual bool isComputeResourceDescriptionRegistered(const std::string& hostName) = 0;
+ virtual void getComputeResourceDescriptionFromHostName( ::ComputeResourceDescription& _return, const std::string& hostName) = 0;
+ virtual void addApplicationInterface(std::string& _return, const ::ApplicationInterfaceDescription& applicationInterface) = 0;
+ virtual void listApplicationInterfaceIds(std::vector<std::string> & _return) = 0;
+ virtual void getApplicationInterface( ::ApplicationInterfaceDescription& _return, const std::string& applicationInterfaceId) = 0;
+ virtual void registerAppicationModule(std::string& _return, const ::ApplicationModule& applicationModule, const bool publish) = 0;
+ virtual void getAppicationModule( ::ApplicationModule& _return, const std::string& appModuleId) = 0;
+ virtual bool updateAppicationModule(const std::string& appModuleId, const ::ApplicationModule& applicationModule) = 0;
+ virtual bool deleteAppicationModule(const std::string& appModuleId) = 0;
+ virtual void addApplicationDeployment(std::string& _return, const std::string& applicationInterfaceId, const ::ApplicationDeploymentDescription& applicationDeployment) = 0;
+ virtual void listApplicationDeploymentIds(std::vector<std::string> & _return, const std::string& applicationInterfaceId) = 0;
+ virtual void getApplicationDeployment( ::ApplicationDeploymentDescription& _return, const std::string& applicationInterfaceId, const std::string& applicationDeploymentId) = 0;
+};
+
+class ApplicationCatalogAPIIfFactory {
+ public:
+ typedef ApplicationCatalogAPIIf Handler;
+
+ virtual ~ApplicationCatalogAPIIfFactory() {}
+
+ virtual ApplicationCatalogAPIIf* getHandler(const ::apache::thrift::TConnectionInfo& connInfo) = 0;
+ virtual void releaseHandler(ApplicationCatalogAPIIf* /* handler */) = 0;
+};
+
+class ApplicationCatalogAPIIfSingletonFactory : virtual public ApplicationCatalogAPIIfFactory {
+ public:
+ ApplicationCatalogAPIIfSingletonFactory(const boost::shared_ptr<ApplicationCatalogAPIIf>& iface) : iface_(iface) {}
+ virtual ~ApplicationCatalogAPIIfSingletonFactory() {}
+
+ virtual ApplicationCatalogAPIIf* getHandler(const ::apache::thrift::TConnectionInfo&) {
+ return iface_.get();
+ }
+ virtual void releaseHandler(ApplicationCatalogAPIIf* /* handler */) {}
+
+ protected:
+ boost::shared_ptr<ApplicationCatalogAPIIf> iface_;
+};
+
+class ApplicationCatalogAPINull : virtual public ApplicationCatalogAPIIf {
+ public:
+ virtual ~ApplicationCatalogAPINull() {}
+ void GetAPIVersion(std::string& /* _return */) {
+ return;
+ }
+ void addComputeResourceDescription(std::string& /* _return */, const ::ComputeResourceDescription& /* computeResourceDescription */) {
+ return;
+ }
+ void addSSHJobSubmissionProtocol(std::string& /* _return */, const std::string& /* computeResourceId */, const ::SSHJobSubmission& /* jobSubmission */) {
+ return;
+ }
+ void addGSISSHJobSubmissionProtocol(std::string& /* _return */, const std::string& /* computeResourceId */, const ::GSISSHJobSubmission& /* jobSubmission */) {
+ return;
+ }
+ void addGlobusJobSubmissionProtocol(std::string& /* _return */, const std::string& /* computeResourceId */, const ::GlobusJobSubmission& /* jobSubmission */) {
+ return;
+ }
+ void addSCPDataMovementProtocol(std::string& /* _return */, const std::string& /* computeResourceId */, const ::SCPDataMovement& /* dataMovement */) {
+ return;
+ }
+ void addGridFTPDataMovementProtocol(std::string& /* _return */, const std::string& /* computeResourceId */, const ::GridFTPDataMovement& /* dataMovement */) {
+ return;
+ }
+ void listComputeResourceDescriptions(std::vector<std::string> & /* _return */) {
+ return;
+ }
+ void getComputeResourceDescription( ::ComputeResourceDescription& /* _return */, const std::string& /* computeResourceId */) {
+ return;
+ }
+ void getSSHJobSubmissionProtocol( ::SSHJobSubmission& /* _return */, const std::string& /* sshJobSubmissionProtocolResourceId */) {
+ return;
+ }
+ void getGSISSHJobSubmissionProtocol( ::GSISSHJobSubmission& /* _return */, const std::string& /* gsisshJobSubmissionProtocolResourceId */) {
+ return;
+ }
+ void getGlobusJobSubmissionProtocol( ::GlobusJobSubmission& /* _return */, const std::string& /* globusJobSubmissionProtocolResourceId */) {
+ return;
+ }
+ void getSCPDataMovementProtocol( ::SCPDataMovement& /* _return */, const std::string& /* scpDataMovementResourceId */) {
+ return;
+ }
+ void getGridFTPDataMovementProtocol( ::GridFTPDataMovement& /* _return */, const std::string& /* gridFTPDataMovementResourceId */) {
+ return;
+ }
+ bool isComputeResourceDescriptionRegistered(const std::string& /* hostName */) {
+ bool _return = false;
+ return _return;
+ }
+ void getComputeResourceDescriptionFromHostName( ::ComputeResourceDescription& /* _return */, const std::string& /* hostName */) {
+ return;
+ }
+ void addApplicationInterface(std::string& /* _return */, const ::ApplicationInterfaceDescription& /* applicationInterface */) {
+ return;
+ }
+ void listApplicationInterfaceIds(std::vector<std::string> & /* _return */) {
+ return;
+ }
+ void getApplicationInterface( ::ApplicationInterfaceDescription& /* _return */, const std::string& /* applicationInterfaceId */) {
+ return;
+ }
+ void registerAppicationModule(std::string& /* _return */, const ::ApplicationModule& /* applicationModule */, const bool /* publish */) {
+ return;
+ }
+ void getAppicationModule( ::ApplicationModule& /* _return */, const std::string& /* appModuleId */) {
+ return;
+ }
+ bool updateAppicationModule(const std::string& /* appModuleId */, const ::ApplicationModule& /* applicationModule */) {
+ bool _return = false;
+ return _return;
+ }
+ bool deleteAppicationModule(const std::string& /* appModuleId */) {
+ bool _return = false;
+ return _return;
+ }
+ void addApplicationDeployment(std::string& /* _return */, const std::string& /* applicationInterfaceId */, const ::ApplicationDeploymentDescription& /* applicationDeployment */) {
+ return;
+ }
+ void listApplicationDeploymentIds(std::vector<std::string> & /* _return */, const std::string& /* applicationInterfaceId */) {
+ return;
+ }
+ void getApplicationDeployment( ::ApplicationDeploymentDescription& /* _return */, const std::string& /* applicationInterfaceId */, const std::string& /* applicationDeploymentId */) {
+ return;
+ }
+};
+
+
+class ApplicationCatalogAPI_GetAPIVersion_args {
+ public:
+
+ ApplicationCatalogAPI_GetAPIVersion_args() {
+ }
+
+ virtual ~ApplicationCatalogAPI_GetAPIVersion_args() throw() {}
+
+
+ bool operator == (const ApplicationCatalogAPI_GetAPIVersion_args & /* rhs */) const
+ {
+ return true;
+ }
+ bool operator != (const ApplicationCatalogAPI_GetAPIVersion_args &rhs) const {
+ return !(*this == rhs);
+ }
+
+ bool operator < (const ApplicationCatalogAPI_GetAPIVersion_args & ) const;
+
+ uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+ uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+
+class ApplicationCatalogAPI_GetAPIVersion_pargs {
+ public:
+
+
+ virtual ~ApplicationCatalogAPI_GetAPIVersion_pargs() throw() {}
+
+
+ uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+typedef struct _ApplicationCatalogAPI_GetAPIVersion_result__isset {
+ _ApplicationCatalogAPI_GetAPIVersion_result__isset() : success(false) {}
+ bool success;
+} _ApplicationCatalogAPI_GetAPIVersion_result__isset;
+
+class ApplicationCatalogAPI_GetAPIVersion_result {
+ public:
+
+ ApplicationCatalogAPI_GetAPIVersion_result() : success() {
+ }
+
+ virtual ~ApplicationCatalogAPI_GetAPIVersion_result() throw() {}
+
+ std::string success;
+
+ _ApplicationCatalogAPI_GetAPIVersion_result__isset __isset;
+
+ void __set_success(const std::string& val) {
+ success = val;
+ }
+
+ bool operator == (const ApplicationCatalogAPI_GetAPIVersion_result & rhs) const
+ {
+ if (!(success == rhs.success))
+ return false;
+ return true;
+ }
+ bool operator != (const ApplicationCatalogAPI_GetAPIVersion_result &rhs) const {
+ return !(*this == rhs);
+ }
+
+ bool operator < (const ApplicationCatalogAPI_GetAPIVersion_result & ) const;
+
+ uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+ uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+typedef struct _ApplicationCatalogAPI_GetAPIVersion_presult__isset {
+ _ApplicationCatalogAPI_GetAPIVersion_presult__isset() : success(false) {}
+ bool success;
+} _ApplicationCatalogAPI_GetAPIVersion_presult__isset;
+
+class ApplicationCatalogAPI_GetAPIVersion_presult {
+ public:
+
+
+ virtual ~ApplicationCatalogAPI_GetAPIVersion_presult() throw() {}
+
+ std::string* success;
+
+ _ApplicationCatalogAPI_GetAPIVersion_presult__isset __isset;
+
+ uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+
+};
+
+
+class ApplicationCatalogAPI_addComputeResourceDescription_args {
+ public:
+
+ ApplicationCatalogAPI_addComputeResourceDescription_args() {
+ }
+
+ virtual ~ApplicationCatalogAPI_addComputeResourceDescription_args() throw() {}
+
+ ::ComputeResourceDescription computeResourceDescription;
+
+ void __set_computeResourceDescription(const ::ComputeResourceDescription& val) {
+ computeResourceDescription = val;
+ }
+
+ bool operator == (const ApplicationCatalogAPI_addComputeResourceDescription_args & rhs) const
+ {
+ if (!(computeResourceDescription == rhs.computeResourceDescription))
+ return false;
+ return true;
+ }
+ bool operator != (const ApplicationCatalogAPI_addComputeResourceDescription_args &rhs) const {
+ return !(*this == rhs);
+ }
+
+ bool operator < (const ApplicationCatalogAPI_addComputeResourceDescription_args & ) const;
+
+ uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+ uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+
+class ApplicationCatalogAPI_addComputeResourceDescription_pargs {
+ public:
+
+
+ virtual ~ApplicationCatalogAPI_addComputeResourceDescription_pargs() throw() {}
+
+ const ::ComputeResourceDescription* computeResourceDescription;
+
+ uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+typedef struct _ApplicationCatalogAPI_addComputeResourceDescription_result__isset {
+ _ApplicationCatalogAPI_addComputeResourceDescription_result__isset() : success(false), ire(false), ace(false), ase(false) {}
+ bool success;
+ bool ire;
+ bool ace;
+ bool ase;
+} _ApplicationCatalogAPI_addComputeResourceDescription_result__isset;
+
+class ApplicationCatalogAPI_addComputeResourceDescription_result {
+ public:
+
+ ApplicationCatalogAPI_addComputeResourceDescription_result() : success() {
+ }
+
+ virtual ~ApplicationCatalogAPI_addComputeResourceDescription_result() throw() {}
+
+ std::string success;
+ ::airavata::api::error::InvalidRequestException ire;
+ ::airavata::api::error::AiravataClientException ace;
+ ::airavata::api::error::AiravataSystemException ase;
+
+ _ApplicationCatalogAPI_addComputeResourceDescription_result__isset __isset;
+
+ void __set_success(const std::string& val) {
+ success = val;
+ }
+
+ void __set_ire(const ::airavata::api::error::InvalidRequestException& val) {
+ ire = val;
+ }
+
+ void __set_ace(const ::airavata::api::error::AiravataClientException& val) {
+ ace = val;
+ }
+
+ void __set_ase(const ::airavata::api::error::AiravataSystemException& val) {
+ ase = val;
+ }
+
+ bool operator == (const ApplicationCatalogAPI_addComputeResourceDescription_result & rhs) const
+ {
+ if (!(success == rhs.success))
+ return false;
+ if (!(ire == rhs.ire))
+ return false;
+ if (!(ace == rhs.ace))
+ return false;
+ if (!(ase == rhs.ase))
+ return false;
+ return true;
+ }
+ bool operator != (const ApplicationCatalogAPI_addComputeResourceDescription_result &rhs) const {
+ return !(*this == rhs);
+ }
+
+ bool operator < (const ApplicationCatalogAPI_addComputeResourceDescription_result & ) const;
+
+ uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+ uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+typedef struct _ApplicationCatalogAPI_addComputeResourceDescription_presult__isset {
+ _ApplicationCatalogAPI_addComputeResourceDescription_presult__isset() : success(false), ire(false), ace(false), ase(false) {}
+ bool success;
+ bool ire;
+ bool ace;
+ bool ase;
+} _ApplicationCatalogAPI_addComputeResourceDescription_presult__isset;
+
+class ApplicationCatalogAPI_addComputeResourceDescription_presult {
+ public:
+
+
+ virtual ~ApplicationCatalogAPI_addComputeResourceDescription_presult() throw() {}
+
+ std::string* success;
+ ::airavata::api::error::InvalidRequestException ire;
+ ::airavata::api::error::AiravataClientException ace;
+ ::airavata::api::error::AiravataSystemException ase;
+
+ _ApplicationCatalogAPI_addComputeResourceDescription_presult__isset __isset;
+
+ uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+
+};
+
+
+class ApplicationCatalogAPI_addSSHJobSubmissionProtocol_args {
+ public:
+
+ ApplicationCatalogAPI_addSSHJobSubmissionProtocol_args() : computeResourceId() {
+ }
+
+ virtual ~ApplicationCatalogAPI_addSSHJobSubmissionProtocol_args() throw() {}
+
+ std::string computeResourceId;
+ ::SSHJobSubmission jobSubmission;
+
+ void __set_computeResourceId(const std::string& val) {
+ computeResourceId = val;
+ }
+
+ void __set_jobSubmission(const ::SSHJobSubmission& val) {
+ jobSubmission = val;
+ }
+
+ bool operator == (const ApplicationCatalogAPI_addSSHJobSubmissionProtocol_args & rhs) const
+ {
+ if (!(computeResourceId == rhs.computeResourceId))
+ return false;
+ if (!(jobSubmission == rhs.jobSubmission))
+ return false;
+ return true;
+ }
+ bool operator != (const ApplicationCatalogAPI_addSSHJobSubmissionProtocol_args &rhs) const {
+ return !(*this == rhs);
+ }
+
+ bool operator < (const ApplicationCatalogAPI_addSSHJobSubmissionProtocol_args & ) const;
+
+ uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+ uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+
+class ApplicationCatalogAPI_addSSHJobSubmissionProtocol_pargs {
+ public:
+
+
+ virtual ~ApplicationCatalogAPI_addSSHJobSubmissionProtocol_pargs() throw() {}
+
+ const std::string* computeResourceId;
+ const ::SSHJobSubmission* jobSubmission;
+
+ uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+typedef struct _ApplicationCatalogAPI_addSSHJobSubmissionProtocol_result__isset {
+ _ApplicationCatalogAPI_addSSHJobSubmissionProtocol_result__isset() : success(false), ire(false), ace(false), ase(false) {}
+ bool success;
+ bool ire;
+ bool ace;
+ bool ase;
+} _ApplicationCatalogAPI_addSSHJobSubmissionProtocol_result__isset;
+
+class ApplicationCatalogAPI_addSSHJobSubmissionProtocol_result {
+ public:
+
+ ApplicationCatalogAPI_addSSHJobSubmissionProtocol_result() : success() {
+ }
+
+ virtual ~ApplicationCatalogAPI_addSSHJobSubmissionProtocol_result() throw() {}
+
+ std::string success;
+ ::airavata::api::error::InvalidRequestException ire;
+ ::airavata::api::error::AiravataClientException ace;
+ ::airavata::api::error::AiravataSystemException ase;
+
+ _ApplicationCatalogAPI_addSSHJobSubmissionProtocol_result__isset __isset;
+
+ void __set_success(const std::string& val) {
+ success = val;
+ }
+
+ void __set_ire(const ::airavata::api::error::InvalidRequestException& val) {
+ ire = val;
+ }
+
+ void __set_ace(const ::airavata::api::error::AiravataClientException& val) {
+ ace = val;
+ }
+
+ void __set_ase(const ::airavata::api::error::AiravataSystemException& val) {
+ ase = val;
+ }
+
+ bool operator == (const ApplicationCatalogAPI_addSSHJobSubmissionProtocol_result & rhs) const
+ {
+ if (!(success == rhs.success))
+ return false;
+ if (!(ire == rhs.ire))
+ return false;
+ if (!(ace == rhs.ace))
+ return false;
+ if (!(ase == rhs.ase))
+ return false;
+ return true;
+ }
+ bool operator != (const ApplicationCatalogAPI_addSSHJobSubmissionProtocol_result &rhs) const {
+ return !(*this == rhs);
+ }
+
+ bool operator < (const ApplicationCatalogAPI_addSSHJobSubmissionProtocol_result & ) const;
+
+ uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+ uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+typedef struct _ApplicationCatalogAPI_addSSHJobSubmissionProtocol_presult__isset {
+ _ApplicationCatalogAPI_addSSHJobSubmissionProtocol_presult__isset() : success(false), ire(false), ace(false), ase(false) {}
+ bool success;
+ bool ire;
+ bool ace;
+ bool ase;
+} _ApplicationCatalogAPI_addSSHJobSubmissionProtocol_presult__isset;
+
+class ApplicationCatalogAPI_addSSHJobSubmissionProtocol_presult {
+ public:
+
+
+ virtual ~ApplicationCatalogAPI_addSSHJobSubmissionProtocol_presult() throw() {}
+
+ std::string* success;
+ ::airavata::api::error::InvalidRequestException ire;
+ ::airavata::api::error::AiravataClientException ace;
+ ::airavata::api::error::AiravataSystemException ase;
+
+ _ApplicationCatalogAPI_addSSHJobSubmissionProtocol_presult__isset __isset;
+
+ uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+
+};
+
+
+class ApplicationCatalogAPI_addGSISSHJobSubmissionProtocol_args {
+ public:
+
+ ApplicationCatalogAPI_addGSISSHJobSubmissionProtocol_args() : computeResourceId() {
+ }
+
+ virtual ~ApplicationCatalogAPI_addGSISSHJobSubmissionProtocol_args() throw() {}
+
+ std::string computeResourceId;
+ ::GSISSHJobSubmission jobSubmission;
+
+ void __set_computeResourceId(const std::string& val) {
+ computeResourceId = val;
+ }
+
+ void __set_jobSubmission(const ::GSISSHJobSubmission& val) {
+ jobSubmission = val;
+ }
+
+ bool operator == (const ApplicationCatalogAPI_addGSISSHJobSubmissionProtocol_args & rhs) const
+ {
+ if (!(computeResourceId == rhs.computeResourceId))
+ return false;
+ if (!(jobSubmission == rhs.jobSubmission))
+ return false;
+ return true;
+ }
+ bool operator != (const ApplicationCatalogAPI_addGSISSHJobSubmissionProtocol_args &rhs) const {
+ return !(*this == rhs);
+ }
+
+ bool operator < (const ApplicationCatalogAPI_addGSISSHJobSubmissionProtocol_args & ) const;
+
+ uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+ uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+
+class ApplicationCatalogAPI_addGSISSHJobSubmissionProtocol_pargs {
+ public:
+
+
+ virtual ~ApplicationCatalogAPI_addGSISSHJobSubmissionProtocol_pargs() throw() {}
+
+ const std::string* computeResourceId;
+ const ::GSISSHJobSubmission* jobSubmission;
+
+ uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+typedef struct _ApplicationCatalogAPI_addGSISSHJobSubmissionProtocol_result__isset {
+ _ApplicationCatalogAPI_addGSISSHJobSubmissionProtocol_result__isset() : success(false), ire(false), ace(false), ase(false) {}
+ bool success;
+ bool ire;
+ bool ace;
+ bool ase;
+} _ApplicationCatalogAPI_addGSISSHJobSubmissionProtocol_result__isset;
+
+class ApplicationCatalogAPI_addGSISSHJobSubmissionProtocol_result {
+ public:
+
+ ApplicationCatalogAPI_addGSISSHJobSubmissionProtocol_result() : success() {
+ }
+
+ virtual ~ApplicationCatalogAPI_addGSISSHJobSubmissionProtocol_result() throw() {}
+
+ std::string success;
+ ::airavata::api::error::InvalidRequestException ire;
+ ::airavata::api::error::AiravataClientException ace;
+ ::airavata::api::error::AiravataSystemException ase;
+
+ _ApplicationCatalogAPI_addGSISSHJobSubmissionProtocol_result__isset __isset;
+
+ void __set_success(const std::string& val) {
+ success = val;
+ }
+
+ void __set_ire(const ::airavata::api::error::InvalidRequestException& val) {
+ ire = val;
+ }
+
+ void __set_ace(const ::airavata::api::error::AiravataClientException& val) {
+ ace = val;
+ }
+
+ void __set_ase(const ::airavata::api::error::AiravataSystemException& val) {
+ ase = val;
+ }
+
+ bool operator == (const ApplicationCatalogAPI_addGSISSHJobSubmissionProtocol_result & rhs) const
+ {
+ if (!(success == rhs.success))
+ return false;
+ if (!(ire == rhs.ire))
+ return false;
+ if (!(ace == rhs.ace))
+ return false;
+ if (!(ase == rhs.ase))
+ return false;
+ return true;
+ }
+ bool operator != (const ApplicationCatalogAPI_addGSISSHJobSubmissionProtocol_result &rhs) const {
+ return !(*this == rhs);
+ }
+
+ bool operator < (const ApplicationCatalogAPI_addGSISSHJobSubmissionProtocol_result & ) const;
+
+ uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+ uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+typedef struct _ApplicationCatalogAPI_addGSISSHJobSubmissionProtocol_presult__isset {
+ _ApplicationCatalogAPI_addGSISSHJobSubmissionProtocol_presult__isset() : success(false), ire(false), ace(false), ase(false) {}
+ bool success;
+ bool ire;
+ bool ace;
+ bool ase;
+} _ApplicationCatalogAPI_addGSISSHJobSubmissionProtocol_presult__isset;
+
+class ApplicationCatalogAPI_addGSISSHJobSubmissionProtocol_presult {
+ public:
+
+
+ virtual ~ApplicationCatalogAPI_addGSISSHJobSubmissionProtocol_presult() throw() {}
+
+ std::string* success;
+ ::airavata::api::error::InvalidRequestException ire;
+ ::airavata::api::error::AiravataClientException ace;
+ ::airavata::api::error::AiravataSystemException ase;
+
+ _ApplicationCatalogAPI_addGSISSHJobSubmissionProtocol_presult__isset __isset;
+
+ uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+
+};
+
+
+class ApplicationCatalogAPI_addGlobusJobSubmissionProtocol_args {
+ public:
+
+ ApplicationCatalogAPI_addGlobusJobSubmissionProtocol_args() : computeResourceId() {
+ }
+
+ virtual ~ApplicationCatalogAPI_addGlobusJobSubmissionProtocol_args() throw() {}
+
+ std::string computeResourceId;
+ ::GlobusJobSubmission jobSubmission;
+
+ void __set_computeResourceId(const std::string& val) {
+ computeResourceId = val;
+ }
+
+ void __set_jobSubmission(const ::GlobusJobSubmission& val) {
+ jobSubmission = val;
+ }
+
+ bool operator == (const ApplicationCatalogAPI_addGlobusJobSubmissionProtocol_args & rhs) const
+ {
+ if (!(computeResourceId == rhs.computeResourceId))
+ return false;
+ if (!(jobSubmission == rhs.jobSubmission))
+ return false;
+ return true;
+ }
+ bool operator != (const ApplicationCatalogAPI_addGlobusJobSubmissionProtocol_args &rhs) const {
+ return !(*this == rhs);
+ }
+
+ bool operator < (const ApplicationCatalogAPI_addGlobusJobSubmissionProtocol_args & ) const;
+
+ uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+ uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+
+class ApplicationCatalogAPI_addGlobusJobSubmissionProtocol_pargs {
+ public:
+
+
+ virtual ~ApplicationCatalogAPI_addGlobusJobSubmissionProtocol_pargs() throw() {}
+
+ const std::string* computeResourceId;
+ const ::GlobusJobSubmission* jobSubmission;
+
+ uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+typedef struct _ApplicationCatalogAPI_addGlobusJobSubmissionProtocol_result__isset {
+ _ApplicationCatalogAPI_addGlobusJobSubmissionProtocol_result__isset() : success(false), ire(false), ace(false), ase(false) {}
+ bool success;
+ bool ire;
+ bool ace;
+ bool ase;
+} _ApplicationCatalogAPI_addGlobusJobSubmissionProtocol_result__isset;
+
+class ApplicationCatalogAPI_addGlobusJobSubmissionProtocol_result {
+ public:
+
+ ApplicationCatalogAPI_addGlobusJobSubmissionProtocol_result() : success() {
+ }
+
+ virtual ~ApplicationCatalogAPI_addGlobusJobSubmissionProtocol_result() throw() {}
+
+ std::string success;
+ ::airavata::api::error::InvalidRequestException ire;
+ ::airavata::api::error::AiravataClientException ace;
+ ::airavata::api::error::AiravataSystemException ase;
+
+ _ApplicationCatalogAPI_addGlobusJobSubmissionProtocol_result__isset __isset;
+
+ void __set_success(const std::string& val) {
+ success = val;
+ }
+
+ void __set_ire(const ::airavata::api::error::InvalidRequestException& val) {
+ ire = val;
+ }
+
+ void __set_ace(const ::airavata::api::error::AiravataClientException& val) {
+ ace = val;
+ }
+
+ void __set_ase(const ::airavata::api::error::AiravataSystemException& val) {
+ ase = val;
+ }
+
+ bool operator == (const ApplicationCatalogAPI_addGlobusJobSubmissionProtocol_result & rhs) const
+ {
+ if (!(success == rhs.success))
+ return false;
+ if (!(ire == rhs.ire))
+ return false;
+ if (!(ace == rhs.ace))
+ return false;
+ if (!(ase == rhs.ase))
+ return false;
+ return true;
+ }
+ bool operator != (const ApplicationCatalogAPI_addGlobusJobSubmissionProtocol_result &rhs) const {
+ return !(*this == rhs);
+ }
+
+ bool operator < (const ApplicationCatalogAPI_addGlobusJobSubmissionProtocol_result & ) const;
+
+ uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+ uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+typedef struct _ApplicationCatalogAPI_addGlobusJobSubmissionProtocol_presult__isset {
+ _ApplicationCatalogAPI_addGlobusJobSubmissionProtocol_presult__isset() : success(false), ire(false), ace(false), ase(false) {}
+ bool success;
+ bool ire;
+ bool ace;
+ bool ase;
+} _ApplicationCatalogAPI_addGlobusJobSubmissionProtocol_presult__isset;
+
+class ApplicationCatalogAPI_addGlobusJobSubmissionProtocol_presult {
+ public:
+
+
+ virtual ~ApplicationCatalogAPI_addGlobusJobSubmissionProtocol_presult() throw() {}
+
+ std::string* success;
+ ::airavata::api::error::InvalidRequestException ire;
+ ::airavata::api::error::AiravataClientException ace;
+ ::airavata::api::error::AiravataSystemException ase;
+
+ _ApplicationCatalogAPI_addGlobusJobSubmissionProtocol_presult__isset __isset;
+
+ uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+
+};
+
+
+class ApplicationCatalogAPI_addSCPDataMovementProtocol_args {
+ public:
+
+ ApplicationCatalogAPI_addSCPDataMovementProtocol_args() : computeResourceId() {
+ }
+
+ virtual ~ApplicationCatalogAPI_addSCPDataMovementProtocol_args() throw() {}
+
+ std::string computeResourceId;
+ ::SCPDataMovement dataMovement;
+
+ void __set_computeResourceId(const std::string& val) {
+ computeResourceId = val;
+ }
+
+ void __set_dataMovement(const ::SCPDataMovement& val) {
+ dataMovement = val;
+ }
+
+ bool operator == (const ApplicationCatalogAPI_addSCPDataMovementProtocol_args & rhs) const
+ {
+ if (!(computeResourceId == rhs.computeResourceId))
+ return false;
+ if (!(dataMovement == rhs.dataMovement))
+ return false;
+ return true;
+ }
+ bool operator != (const ApplicationCatalogAPI_addSCPDataMovementProtocol_args &rhs) const {
+ return !(*this == rhs);
+ }
+
+ bool operator < (const ApplicationCatalogAPI_addSCPDataMovementProtocol_args & ) const;
+
+ uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+ uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+
+class ApplicationCatalogAPI_addSCPDataMovementProtocol_pargs {
+ public:
+
+
+ virtual ~ApplicationCatalogAPI_addSCPDataMovementProtocol_pargs() throw() {}
+
+ const std::string* computeResourceId;
+ const ::SCPDataMovement* dataMovement;
+
+ uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+typedef struct _ApplicationCatalogAPI_addSCPDataMovementProtocol_result__isset {
+ _ApplicationCatalogAPI_addSCPDataMovementProtocol_result__isset() : success(false), ire(false), ace(false), ase(false) {}
+ bool success;
+ bool ire;
+ bool ace;
+ bool ase;
+} _ApplicationCatalogAPI_addSCPDataMovementProtocol_result__isset;
+
+class ApplicationCatalogAPI_addSCPDataMovementProtocol_result {
+ public:
+
+ ApplicationCatalogAPI_addSCPDataMovementProtocol_result() : success() {
+ }
+
+ virtual ~ApplicationCatalogAPI_addSCPDataMovementProtocol_result() throw() {}
+
+ std::string success;
+ ::airavata::api::error::InvalidRequestException ire;
+ ::airavata::api::error::AiravataClientException ace;
+ ::airavata::api::error::AiravataSystemException ase;
+
+ _ApplicationCatalogAPI_addSCPDataMovementProtocol_result__isset __isset;
+
+ void __set_success(const std::string& val) {
+ success = val;
+ }
+
+ void __set_ire(const ::airavata::api::error::InvalidRequestException& val) {
+ ire = val;
+ }
+
+ void __set_ace(const ::airavata::api::error::AiravataClientException& val) {
+ ace = val;
+ }
+
+ void __set_ase(const ::airavata::api::error::AiravataSystemException& val) {
+ ase = val;
+ }
+
+ bool operator == (const ApplicationCatalogAPI_addSCPDataMovementProtocol_result & rhs) const
+ {
+ if (!(success == rhs.success))
+ return false;
+ if (!(ire == rhs.ire))
+ return false;
+ if (!(ace == rhs.ace))
+ return false;
+ if (!(ase == rhs.ase))
+ return false;
+ return true;
+ }
+ bool operator != (const ApplicationCatalogAPI_addSCPDataMovementProtocol_result &rhs) const {
+ return !(*this == rhs);
+ }
+
+ bool operator < (const ApplicationCatalogAPI_addSCPDataMovementProtocol_result & ) const;
+
+ uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+ uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+typedef struct _ApplicationCatalogAPI_addSCPDataMovementProtocol_presult__isset {
+ _ApplicationCatalogAPI_addSCPDataMovementProtocol_presult__isset() : success(false), ire(false), ace(false), ase(false) {}
+ bool success;
+ bool ire;
+ bool ace;
+ bool ase;
+} _ApplicationCatalogAPI_addSCPDataMovementProtocol_presult__isset;
+
+class ApplicationCatalogAPI_addSCPDataMovementProtocol_presult {
+ public:
+
+
+ virtual ~ApplicationCatalogAPI_addSCPDataMovementProtocol_presult() throw() {}
+
+ std::string* success;
+ ::airavata::api::error::InvalidRequestException ire;
+ ::airavata::api::error::AiravataClientException ace;
+ ::airavata::api::error::AiravataSystemException ase;
+
+ _ApplicationCatalogAPI_addSCPDataMovementProtocol_presult__isset __isset;
+
+ uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+
+};
+
+
+class ApplicationCatalogAPI_addGridFTPDataMovementProtocol_args {
+ public:
+
+ ApplicationCatalogAPI_addGridFTPDataMovementProtocol_args() : computeResourceId() {
+ }
+
+ virtual ~ApplicationCatalogAPI_addGridFTPDataMovementProtocol_args() throw() {}
+
+ std::string computeResourceId;
+ ::GridFTPDataMovement dataMovement;
+
+ void __set_computeResourceId(const std::string& val) {
+ computeResourceId = val;
+ }
+
+ void __set_dataMovement(const ::GridFTPDataMovement& val) {
+ dataMovement = val;
+ }
+
+ bool operator == (const ApplicationCatalogAPI_addGridFTPDataMovementProtocol_args & rhs) const
+ {
+ if (!(computeResourceId == rhs.computeResourceId))
+ return false;
+ if (!(dataMovement == rhs.dataMovement))
+ return false;
+ return true;
+ }
+ bool operator != (const ApplicationCatalogAPI_addGridFTPDataMovementProtocol_args &rhs) const {
+ return !(*this == rhs);
+ }
+
+ bool operator < (const ApplicationCatalogAPI_addGridFTPDataMovementProtocol_args & ) const;
+
+ uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+ uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+
+class ApplicationCatalogAPI_addGridFTPDataMovementProtocol_pargs {
+ public:
+
+
+ virtual ~ApplicationCatalogAPI_addGridFTPDataMovementProtocol_pargs() throw() {}
+
+ const std::string* computeResourceId;
+ const ::GridFTPDataMovement* dataMovement;
+
+ uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+typedef struct _ApplicationCatalogAPI_addGridFTPDataMovementProtocol_result__isset {
+ _ApplicationCatalogAPI_addGridFTPDataMovementProtocol_result__isset() : success(false), ire(false), ace(false), ase(false) {}
+ bool success;
+ bool ire;
+ bool ace;
+ bool ase;
+} _ApplicationCatalogAPI_addGridFTPDataMovementProtocol_result__isset;
+
+class ApplicationCatalogAPI_addGridFTPDataMovementProtocol_result {
+ public:
+
+ ApplicationCatalogAPI_addGridFTPDataMovementProtocol_result() : success() {
+ }
+
+ virtual ~ApplicationCatalogAPI_addGridFTPDataMovementProtocol_result() throw() {}
+
+ std::string success;
+ ::airavata::api::error::InvalidRequestException ire;
+ ::airavata::api::error::AiravataClientException ace;
+ ::airavata::api::error::AiravataSystemException ase;
+
+ _ApplicationCatalogAPI_addGridFTPDataMovementProtocol_result__isset __isset;
+
+ void __set_success(const std::string& val) {
+ success = val;
+ }
+
+ void __set_ire(const ::airavata::api::error::InvalidRequestException& val) {
+ ire = val;
+ }
+
+ void __set_ace(const ::airavata::api::error::AiravataClientException& val) {
+ ace = val;
+ }
+
+ void __set_ase(const ::airavata::api::error::AiravataSystemException& val) {
+ ase = val;
+ }
+
+ bool operator == (const ApplicationCatalogAPI_addGridFTPDataMovementProtocol_result & rhs) const
+ {
+ if (!(success == rhs.success))
+ return false;
+ if (!(ire == rhs.ire))
+ return false;
+ if (!(ace == rhs.ace))
+ return false;
+ if (!(ase == rhs.ase))
+ return false;
+ return true;
+ }
+ bool operator != (const ApplicationCatalogAPI_addGridFTPDataMovementProtocol_result &rhs) const {
+ return !(*this == rhs);
+ }
+
+ bool operator < (const ApplicationCatalogAPI_addGridFTPDataMovementProtocol_result & ) const;
+
+ uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+ uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+typedef struct _ApplicationCatalogAPI_addGridFTPDataMovementProtocol_presult__isset {
+ _ApplicationCatalogAPI_addGridFTPDataMovementProtocol_presult__isset() : success(false), ire(false), ace(false), ase(false) {}
+ bool success;
+ bool ire;
+ bool ace;
+ bool ase;
+} _ApplicationCatalogAPI_addGridFTPDataMovementProtocol_presult__isset;
+
+class ApplicationCatalogAPI_addGridFTPDataMovementProtocol_presult {
+ public:
+
+
+ virtual ~ApplicationCatalogAPI_addGridFTPDataMovementProtocol_presult() throw() {}
+
+ std::string* success;
+ ::airavata::api::error::InvalidRequestException ire;
+ ::airavata::api::error::AiravataClientException ace;
+ ::airavata::api::error::AiravataSystemException ase;
+
+ _ApplicationCatalogAPI_addGridFTPDataMovementProtocol_presult__isset __isset;
+
+ uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+
+};
+
+
+class ApplicationCatalogAPI_listComputeResourceDescriptions_args {
+ public:
+
+ ApplicationCatalogAPI_listComputeResourceDescriptions_args() {
+ }
+
+ virtual ~ApplicationCatalogAPI_listComputeResourceDescriptions_args() throw() {}
+
+
+ bool operator == (const ApplicationCatalogAPI_listComputeResourceDescriptions_args & /* rhs */) const
+ {
+ return true;
+ }
+ bool operator != (const ApplicationCatalogAPI_listComputeResourceDescriptions_args &rhs) const {
+ return !(*this == rhs);
+ }
+
+ bool operator < (const ApplicationCatalogAPI_listComputeResourceDescriptions_args & ) const;
+
+ uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+ uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+
+class ApplicationCatalogAPI_listComputeResourceDescriptions_pargs {
+ public:
+
+
+ virtual ~ApplicationCatalogAPI_listComputeResourceDescriptions_pargs() throw() {}
+
+
+ uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+typedef struct _ApplicationCatalogAPI_listComputeResourceDescriptions_result__isset {
+ _ApplicationCatalogAPI_listComputeResourceDescriptions_result__isset() : success(false), ire(false), ace(false), ase(false) {}
+ bool success;
+ bool ire;
+ bool ace;
+ bool ase;
+} _ApplicationCatalogAPI_listComputeResourceDescriptions_result__isset;
+
+class ApplicationCatalogAPI_listComputeResourceDescriptions_result {
+ public:
+
+ ApplicationCatalogAPI_listComputeResourceDescriptions_result() {
+ }
+
+ virtual ~ApplicationCatalogAPI_listComputeResourceDescriptions_result() throw() {}
+
+ std::vector<std::string> success;
+ ::airavata::api::error::InvalidRequestException ire;
+ ::airavata::api::error::AiravataClientException ace;
+ ::airavata::api::error::AiravataSystemException ase;
+
+ _ApplicationCatalogAPI_listComputeResourceDescriptions_result__isset __isset;
+
+ void __set_success(const std::vector<std::string> & val) {
+ success = val;
+ }
+
+ void __set_ire(const ::airavata::api::error::InvalidRequestException& val) {
+ ire = val;
+ }
+
+ void __set_ace(const ::airavata::api::error::AiravataClientException& val) {
+ ace = val;
+ }
+
+ void __set_ase(const ::airavata::api::error::AiravataSystemException& val) {
+ ase = val;
+ }
+
+ bool operator == (const ApplicationCatalogAPI_listComputeResourceDescriptions_result & rhs) const
+ {
+ if (!(success == rhs.success))
+ return false;
+ if (!(ire == rhs.ire))
+ return false;
+ if (!(ace == rhs.ace))
+ return false;
+ if (!(ase == rhs.ase))
+ return false;
+ return true;
+ }
+ bool operator != (const ApplicationCatalogAPI_listComputeResourceDescriptions_result &rhs) const {
+ return !(*this == rhs);
+ }
+
+ bool operator < (const ApplicationCatalogAPI_listComputeResourceDescriptions_result & ) const;
+
+ uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+ uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+typedef struct _ApplicationCatalogAPI_listComputeResourceDescriptions_presult__isset {
+ _ApplicationCatalogAPI_listComputeResourceDescriptions_presult__isset() : success(false), ire(false), ace(false), ase(false) {}
+ bool success;
+ bool ire;
+ bool ace;
+ bool ase;
+} _ApplicationCatalogAPI_listComputeResourceDescriptions_presult__isset;
+
+class ApplicationCatalogAPI_listComputeResourceDescriptions_presult {
+ public:
+
+
+ virtual ~ApplicationCatalogAPI_listComputeResourceDescriptions_presult() throw() {}
+
+ std::vector<std::string> * success;
+ ::airavata::api::error::InvalidRequestException ire;
+ ::airavata::api::error::AiravataClientException ace;
+ ::airavata::api::error::AiravataSystemException ase;
+
+ _ApplicationCatalogAPI_listComputeResourceDescriptions_presult__isset __isset;
+
+ uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+
+};
+
+
+class ApplicationCatalogAPI_getComputeResourceDescription_args {
+ public:
+
+ ApplicationCatalogAPI_getComputeResourceDescription_args() : computeResourceId() {
+ }
+
+ virtual ~ApplicationCatalogAPI_getComputeResourceDescription_args() throw() {}
+
+ std::string computeResourceId;
+
+ void __set_computeResourceId(const std::string& val) {
+ computeResourceId = val;
+ }
+
+ bool operator == (const ApplicationCatalogAPI_getComputeResourceDescription_args & rhs) const
+ {
+ if (!(computeResourceId == rhs.computeResourceId))
+ return false;
+ return true;
+ }
+ bool operator != (const ApplicationCatalogAPI_getComputeResourceDescription_args &rhs) const {
+ return !(*this == rhs);
+ }
+
+ bool operator < (const ApplicationCatalogAPI_getComputeResourceDescription_args & ) const;
+
+ uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+ uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+
+class ApplicationCatalogAPI_getComputeResourceDescription_pargs {
+ public:
+
+
+ virtual ~ApplicationCatalogAPI_getComputeResourceDescription_pargs() throw() {}
+
+ const std::string* computeResourceId;
+
+ uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+typedef struct _ApplicationCatalogAPI_getComputeResourceDescription_result__isset {
+ _ApplicationCatalogAPI_getComputeResourceDescription_result__isset() : success(false), ire(false), ace(false), ase(false) {}
+ bool success;
+ bool ire;
+ bool ace;
+ bool ase;
+} _ApplicationCatalogAPI_getComputeResourceDescription_result__isset;
+
+class ApplicationCatalogAPI_getComputeResourceDescription_result {
+ public:
+
+ ApplicationCatalogAPI_getComputeResourceDescription_result() {
+ }
+
+ virtual ~ApplicationCatalogAPI_getComputeResourceDescription_result() throw() {}
+
+ ::ComputeResourceDescription success;
+ ::airavata::api::error::InvalidRequestException ire;
+ ::airavata::api::error::AiravataClientException ace;
+ ::airavata::api::error::AiravataSystemException ase;
+
+ _ApplicationCatalogAPI_getComputeResourceDescription_result__isset __isset;
+
+ void __set_success(const ::ComputeResourceDescription& val) {
+ success = val;
+ }
+
+ void __set_ire(const ::airavata::api::error::InvalidRequestException& val) {
+ ire = val;
+ }
+
+ void __set_ace(const ::airavata::api::error::AiravataClientException& val) {
+ ace = val;
+ }
+
+ void __set_ase(const ::airavata::api::error::AiravataSystemException& val) {
+ ase = val;
+ }
+
+ bool operator == (const ApplicationCatalogAPI_getComputeResourceDescription_result & rhs) const
+ {
+ if (!(success == rhs.success))
+ return false;
+ if (!(ire == rhs.ire))
+ return false;
+ if (!(ace == rhs.ace))
+ return false;
+ if (!(ase == rhs.ase))
+ return false;
+ return true;
+ }
+ bool operator != (const ApplicationCatalogAPI_getComputeResourceDescription_result &rhs) const {
+ return !(*this == rhs);
+ }
+
+ bool operator < (const ApplicationCatalogAPI_getComputeResourceDescription_result & ) const;
+
+ uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+ uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+typedef struct _ApplicationCatalogAPI_getComputeResourceDescription_presult__isset {
+ _ApplicationCatalogAPI_getComputeResourceDescription_presult__isset() : success(false), ire(false), ace(false), ase(false) {}
+ bool success;
+ bool ire;
+ bool ace;
+ bool ase;
+} _ApplicationCatalogAPI_getComputeResourceDescription_presult__isset;
+
+class ApplicationCatalogAPI_getComputeResourceDescription_presult {
+ public:
+
+
+ virtual ~ApplicationCatalogAPI_getComputeResourceDescription_presult() throw() {}
+
+ ::ComputeResourceDescription* success;
+ ::airavata::api::error::InvalidRequestException ire;
+ ::airavata::api::error::AiravataClientException ace;
+ ::airavata::api::error::AiravataSystemException ase;
+
+ _ApplicationCatalogAPI_getComputeResourceDescription_presult__isset __isset;
+
+ uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+
+};
+
+
+class ApplicationCatalogAPI_getSSHJobSubmissionProtocol_args {
+ public:
+
+ ApplicationCatalogAPI_getSSHJobSubmissionProtocol_args() : sshJobSubmissionProtocolResourceId() {
+ }
+
+ virtual ~ApplicationCatalogAPI_getSSHJobSubmissionProtocol_args() throw() {}
+
+ std::string sshJobSubmissionProtocolResourceId;
+
+ void __set_sshJobSubmissionProtocolResourceId(const std::string& val) {
+ sshJobSubmissionProtocolResourceId = val;
+ }
+
+ bool operator == (const ApplicationCatalogAPI_getSSHJobSubmissionProtocol_args & rhs) const
+ {
+ if (!(sshJobSubmissionProtocolResourceId == rhs.sshJobSubmissionProtocolResourceId))
+ return false;
+ return true;
+ }
+ bool operator != (const ApplicationCatalogAPI_getSSHJobSubmissionProtocol_args &rhs) const {
+ return !(*this == rhs);
+ }
+
+ bool operator < (const ApplicationCatalogAPI_getSSHJobSubmissionProtocol_args & ) const;
+
+ uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+ uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+
+class ApplicationCatalogAPI_getSSHJobSubmissionProtocol_pargs {
+ public:
+
+
+ virtual ~ApplicationCatalogAPI_getSSHJobSubmissionProtocol_pargs() throw() {}
+
+ const std::string* sshJobSubmissionProtocolResourceId;
+
+ uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+typedef struct _ApplicationCatalogAPI_getSSHJobSubmissionProtocol_result__isset {
+ _ApplicationCatalogAPI_getSSHJobSubmissionProtocol_result__isset() : success(false), ire(false), ace(false), ase(false) {}
+ bool success;
+ bool ire;
+ bool ace;
+ bool ase;
+} _ApplicationCatalogAPI_getSSHJobSubmissionProtocol_result__isset;
+
+class ApplicationCatalogAPI_getSSHJobSubmissionProtocol_result {
+ public:
+
+ ApplicationCatalogAPI_getSSHJobSubmissionProtocol_result() {
+ }
+
+ virtual ~ApplicationCatalogAPI_getSSHJobSubmissionProtocol_result() throw() {}
+
+ ::SSHJobSubmission success;
+ ::airavata::api::error::InvalidRequestException ire;
+ ::airavata::api::error::AiravataClientException ace;
+ ::airavata::api::error::AiravataSystemException ase;
+
+ _ApplicationCatalogAPI_getSSHJobSubmissionProtocol_result__isset __isset;
+
+ void __set_success(const ::SSHJobSubmission& val) {
+ success = val;
+ }
+
+ void __set_ire(const ::airavata::api::error::InvalidRequestException& val) {
+ ire = val;
+ }
+
+ void __set_ace(const ::airavata::api::error::AiravataClientException& val) {
+ ace = val;
+ }
+
+ void __set_ase(const ::airavata::api::error::AiravataSystemException& val) {
+ ase = val;
+ }
+
+ bool operator == (const ApplicationCatalogAPI_getSSHJobSubmissionProtocol_result & rhs) const
+ {
+ if (!(success == rhs.success))
+ return false;
+ if (!(ire == rhs.ire))
+ return false;
+ if (!(ace == rhs.ace))
+ return false;
+ if (!(ase == rhs.ase))
+ return false;
+ return true;
+ }
+ bool operator != (const ApplicationCatalogAPI_getSSHJobSubmissionProtocol_result &rhs) const {
+ return !(*this == rhs);
+ }
+
+ bool operator < (const ApplicationCatalogAPI_getSSHJobSubmissionProtocol_result & ) const;
+
+ uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+ uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+typedef struct _ApplicationCatalogAPI_getSSHJobSubmissionProtocol_presult__isset {
+ _ApplicationCatalogAPI_getSSHJobSubmissionProtocol_presult__isset() : success(false), ire(false), ace(false), ase(false) {}
+ bool success;
+ bool ire;
+ bool ace;
+ bool ase;
+} _ApplicationCatalogAPI_getSSHJobSubmissionProtocol_presult__isset;
+
+class ApplicationCatalogAPI_getSSHJobSubmissionProtocol_presult {
+ public:
+
+
+ virtual ~ApplicationCatalogAPI_getSSHJobSubmissionProtocol_presult() throw() {}
+
+ ::SSHJobSubmission* success;
+ ::airavata::api::error::InvalidRequestException ire;
+ ::airavata::api::error::AiravataClientException ace;
+ ::airavata::api::error::AiravataSystemException ase;
+
+ _ApplicationCatalogAPI_getSSHJobSubmissionProtocol_presult__isset __isset;
+
+ uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+
+};
+
+
+class ApplicationCatalogAPI_getGSISSHJobSubmissionProtocol_args {
+ public:
+
+ ApplicationCatalogAPI_getGSISSHJobSubmissionProtocol_args() : gsisshJobSubmissionProtocolResourceId() {
+ }
+
+ virtual ~ApplicationCatalogAPI_getGSISSHJobSubmissionProtocol_args() throw() {}
+
+ std::string gsisshJobSubmissionProtocolResourceId;
+
+ void __set_gsisshJobSubmissionProtocolResourceId(const std::string& val) {
+ gsisshJobSubmissionProtocolResourceId = val;
+ }
+
+ bool operator == (const ApplicationCatalogAPI_getGSISSHJobSubmissionProtocol_args & rhs) const
+ {
+ if (!(gsisshJobSubmissionProtocolResourceId == rhs.gsisshJobSubmissionProtocolResourceId))
+ return false;
+ return true;
+ }
+ bool operator != (const ApplicationCatalogAPI_getGSISSHJobSubmissionProtocol_args &rhs) const {
+ return !(*this == rhs);
+ }
+
+ bool operator < (const ApplicationCatalogAPI_getGSISSHJobSubmissionProtocol_args & ) const;
+
+ uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+ uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+
+class ApplicationCatalogAPI_getGSISSHJobSubmissionProtocol_pargs {
+ public:
+
+
+ virtual ~ApplicationCatalogAPI_getGSISSHJobSubmissionProtocol_pargs() throw() {}
+
+ const std::string* gsisshJobSubmissionProtocolResourceId;
+
+ uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+typedef struct _ApplicationCatalogAPI_getGSISSHJobSubmissionProtocol_result__isset {
+ _ApplicationCatalogAPI_getGSISSHJobSubmissionProtocol_result__isset() : success(false), ire(false), ace(false), ase(false) {}
+ bool success;
+ bool ire;
+ bool ace;
+ bool ase;
+} _ApplicationCatalogAPI_getGSISSHJobSubmissionProtocol_result__isset;
+
+class ApplicationCatalogAPI_getGSISSHJobSubmissionProtocol_result {
+ public:
+
+ ApplicationCatalogAPI_getGSISSHJobSubmissionProtocol_result() {
+ }
+
+ virtual ~ApplicationCatalogAPI_getGSISSHJobSubmissionProtocol_result() throw() {}
+
+ ::GSISSHJobSubmission success;
+ ::airavata::api::error::InvalidRequestException ire;
+ ::airavata::api::error::AiravataClientException ace;
+ ::airavata::api::error::AiravataSystemException ase;
+
+ _ApplicationCatalogAPI_getGSISSHJobSubmissionProtocol_result__isset __isset;
+
+ void __set_success(const ::GSISSHJobSubmission& val) {
+ success = val;
+ }
+
+ void __set_ire(const ::airavata::api::error::InvalidRequestException& val) {
+ ire = val;
+ }
+
+ void __set_ace(const ::airavata::api::error::AiravataClientException& val) {
+ ace = val;
+ }
+
+ void __set_ase(const ::airavata::api::error::AiravataSystemException& val) {
+ ase = val;
+ }
+
+ bool operator == (const ApplicationCatalogAPI_getGSISSHJobSubmissionProtocol_result & rhs) const
+ {
+ if (!(success == rhs.success))
+ return false;
+ if (!(ire == rhs.ire))
+ return false;
+ if (!(ace == rhs.ace))
+ return false;
+ if (!(ase == rhs.ase))
+ return false;
+ return true;
+ }
+ bool operator != (const ApplicationCatalogAPI_getGSISSHJobSubmissionProtocol_result &rhs) const {
+ return !(*this == rhs);
+ }
+
+ bool operator < (const ApplicationCatalogAPI_getGSISSHJobSubmissionProtocol_result & ) const;
+
+ uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+ uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+typedef struct _ApplicationCatalogAPI_getGSISSHJobSubmissionProtocol_presult__isset {
+ _ApplicationCatalogAPI_getGSISSHJobSubmissionProtocol_presult__isset() : success(false), ire(false), ace(false), ase(false) {}
+ bool success;
+ bool ire;
+ bool ace;
+ bool ase;
+} _ApplicationCatalogAPI_getGSISSHJobSubmissionProtocol_presult__isset;
+
+class ApplicationCatalogAPI_getGSISSHJobSubmissionProtocol_presult {
+ public:
+
+
+ virtual ~ApplicationCatalogAPI_getGSISSHJobSubmissionProtocol_presult() throw() {}
+
+ ::GSISSHJobSubmission* success;
+ ::airavata::api::error::InvalidRequestException ire;
+ ::airavata::api::error::AiravataClientException ace;
+ ::airavata::api::error::AiravataSystemException ase;
+
+ _ApplicationCatalogAPI_getGSISSHJobSubmissionProtocol_presult__isset __isset;
+
+ uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+
+};
+
+
+class ApplicationCatalogAPI_getGlobusJobSubmissionProtocol_args {
+ public:
+
+ ApplicationCatalogAPI_getGlobusJobSubmissionProtocol_args() : globusJobSubmissionProtocolResourceId() {
+ }
+
+ virtual ~ApplicationCatalogAPI_getGlobusJobSubmissionProtocol_args() throw() {}
+
+ std::string globusJobSubmissionProtocolResourceId;
+
+ void __set_globusJobSubmissionProtocolResourceId(const std::string& val) {
+ globusJobSubmissionProtocolResourceId = val;
+ }
+
+ bool operator == (const ApplicationCatalogAPI_getGlobusJobSubmissionProtocol_args & rhs) const
+ {
+ if (!(globusJobSubmissionProtocolResourceId == rhs.globusJobSubmissionProtocolResourceId))
+ return false;
+ return true;
+ }
+ bool operator != (const ApplicationCatalogAPI_getGlobusJobSubmissionProtocol_args &rhs) const {
+ return !(*this == rhs);
+ }
+
+ bool operator < (const ApplicationCatalogAPI_getGlobusJobSubmissionProtocol_args & ) const;
+
+ uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+ uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+
+class ApplicationCatalogAPI_getGlobusJobSubmissionProtocol_pargs {
+ public:
+
+
+ virtual ~ApplicationCatalogAPI_getGlobusJobSubmissionProtocol_pargs() throw() {}
+
+ const std::string* globusJobSubmissionProtocolResourceId;
+
+ uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+typedef struct _ApplicationCatalogAPI_getGlobusJobSubmissionProtocol_result__isset {
+ _ApplicationCatalogAPI_getGlobusJobSubmissionProtocol_result__isset() : success(false), ire(false), ace(false), ase(false) {}
+ bool success;
+ bool ire;
+ bool ace;
+ bool ase;
+} _ApplicationCatalogAPI_getGlobusJobSubmissionProtocol_result__isset;
+
+class ApplicationCatalogAPI_getGlobusJobSubmissionProtocol_result {
+ public:
+
+ ApplicationCatalogAPI_getGlobusJobSubmissionProtocol_result() {
+ }
+
+ virtual ~ApplicationCatalogAPI_getGlobusJobSubmissionProtocol_result() throw() {}
+
+ ::GlobusJobSubmission success;
+ ::airavata::api::error::InvalidRequestException ire;
+ ::airavata::api::error::AiravataClientException ace;
+ ::airavata::api::error::AiravataSystemException ase;
+
+ _ApplicationCatalogAPI_getGlobusJobSubmissionProtocol_result__isset __isset;
+
+ void __set_success(const ::GlobusJobSubmission& val) {
+ success = val;
+ }
+
+ void __set_ire(const ::airavata::api::error::InvalidRequestException& val) {
+ ire = val;
+ }
+
+ void __set_ace(const ::airavata::api::error::AiravataClientException& val) {
+ ace = val;
+ }
+
+ void __set_ase(const ::airavata::api::error::AiravataSystemException& val) {
+ ase = val;
+ }
+
+ bool operator == (const ApplicationCatalogAPI_getGlobusJobSubmissionProtocol_result & rhs) const
+ {
+ if (!(success == rhs.success))
+ return false;
+ if (!(ire == rhs.ire))
+ return false;
+ if (!(ace == rhs.ace))
+ return false;
+ if (!(ase == rhs.ase))
+ return false;
+ return true;
+ }
+ bool operator != (const ApplicationCatalogAPI_getGlobusJobSubmissionProtocol_result &rhs) const {
+ return !(*this == rhs);
+ }
+
+ bool operator < (const ApplicationCatalogAPI_getGlobusJobSubmissionProtocol_result & ) const;
+
+ uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+ uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+typedef struct _ApplicationCatalogAPI_getGlobusJobSubmissionProtocol_presult__isset {
+ _ApplicationCatalogAPI_getGlobusJobSubmissionProtocol_presult__isset() : success(false), ire(false), ace(false), ase(false) {}
+ bool success;
+ bool ire;
+ bool ace;
+ bool ase;
+} _ApplicationCatalogAPI_getGlobusJobSubmissionProtocol_presult__isset;
+
+class ApplicationCatalogAPI_getGlobusJobSubmissionProtocol_presult {
+ public:
+
+
+ virtual ~ApplicationCatalogAPI_getGlobusJobSubmissionProtocol_presult() throw() {}
+
+ ::GlobusJobSubmission* success;
+ ::airavata::api::error::InvalidRequestException ire;
+ ::airavata::api::error::AiravataClientException ace;
+ ::airavata::api::error::AiravataSystemException ase;
+
+ _ApplicationCatalogAPI_getGlobusJobSubmissionProtocol_presult__isset __isset;
+
+ uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+
+};
+
+
+class ApplicationCatalogAPI_getSCPDataMovementProtocol_args {
+ public:
+
+ ApplicationCatalogAPI_getSCPDataMovementProtocol_args() : scpDataMovementResourceId() {
+ }
+
+ virtual ~ApplicationCatalogAPI_getSCPDataMovementProtocol_args() throw() {}
+
+ std::string scpDataMovementResourceId;
+
+ void __set_scpDataMovementResourceId(const std::string& val) {
+ scpDataMovementResourceId = val;
+ }
+
+ bool operator == (const ApplicationCatalogAPI_getSCPDataMovementProtocol_args & rhs) const
+ {
+ if (!(scpDataMovementResourceId == rhs.scpDataMovementResourceId))
+ return false;
+ return true;
+ }
+ bool operator != (const ApplicationCatalogAPI_getSCPDataMovementProtocol_args &rhs) const {
+ return !(*this == rhs);
+ }
+
+ bool operator < (const ApplicationCatalogAPI_getSCPDataMovementProtocol_args & ) const;
+
+ uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+ uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+
+class ApplicationCatalogAPI_getSCPDataMovementProtocol_pargs {
+ public:
+
+
+ virtual ~ApplicationCatalogAPI_getSCPDataMovementProtocol_pargs() throw() {}
+
+ const std::string* scpDataMovementResourceId;
+
+ uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+typedef struct _ApplicationCatalogAPI_getSCPDataMovementProtocol_result__isset {
+ _ApplicationCatalogAPI_getSCPDataMovementProtocol_result__isset() : success(false), ire(false), ace(false), ase(false) {}
+ bool success;
+ bool ire;
+ bool ace;
+ bool ase;
+} _ApplicationCatalogAPI_getSCPDataMovementProtocol_result__isset;
+
+class ApplicationCatalogAPI_getSCPDataMovementProtocol_result {
+ public:
+
+ ApplicationCatalogAPI_getSCPDataMovementProtocol_result() {
+ }
+
+ virtual ~ApplicationCatalogAPI_getSCPDataMovementProtocol_result() throw() {}
+
+ ::SCPDataMovement success;
+ ::airavata::api::error::InvalidRequestException ire;
+ ::airavata::api::error::AiravataClientException ace;
+ ::airavata::api::error::AiravataSystemException ase;
+
+ _ApplicationCatalogAPI_getSCPDataMovementProtocol_result__isset __isset;
+
+ void __set_success(const ::SCPDataMovement& val) {
+ success = val;
+ }
+
+ void __set_ire(const ::airavata::api::error::InvalidRequestException& val) {
+ ire = val;
+ }
+
+ void __set_ace(const ::airavata::api::error::AiravataClientException& val) {
+ ace = val;
+ }
+
+ void __set_ase(const ::airavata::api::error::AiravataSystemException& val) {
+ ase = val;
+ }
+
+ bool operator == (const ApplicationCatalogAPI_getSCPDataMovementProtocol_result & rhs) const
+ {
+ if (!(success == rhs.success))
+ return false;
+ if (!(ire == rhs.ire))
+ return false;
+ if (!(ace == rhs.ace))
+ return false;
+ if (!(ase == rhs.ase))
+ return false;
+ return true;
+ }
+ bool operator != (const ApplicationCatalogAPI_getSCPDataMovementProtocol_result &rhs) const {
+ return !(*this == rhs);
+ }
+
+ bool operator < (const ApplicationCatalogAPI_getSCPDataMovementProtocol_result & ) const;
+
+ uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+ uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+typedef struct _ApplicationCatalogAPI_getSCPDataMovementProtocol_presult__isset {
+ _ApplicationCatalogAPI_getSCPDataMovementProtocol_presult__isset() : success(false), ire(false), ace(false), ase(false) {}
+ bool success;
+ bool ire;
+ bool ace;
+ bool ase;
+} _ApplicationCatalogAPI_getSCPDataMovementProtocol_presult__isset;
+
+class ApplicationCatalogAPI_getSCPDataMovementProtocol_presult {
+ public:
+
+
+ virtual ~ApplicationCatalogAPI_getSCPDataMovementProtocol_presult() throw() {}
+
+ ::SCPDataMovement* success;
+ ::airavata::api::error::InvalidRequestException ire;
+ ::airavata::api::error::AiravataClientException ace;
+ ::airavata::api::error::AiravataSystemException ase;
+
+ _ApplicationCatalogAPI_getSCPDataMovementProtocol_presult__isset __isset;
+
+ uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+
+};
+
+
+class ApplicationCatalogAPI_getGridFTPDataMovementProtocol_args {
+ public:
+
+ ApplicationCatalogAPI_getGridFTPDataMovementProtocol_args() : gridFTPDataMovementResourceId() {
+ }
+
+ virtual ~ApplicationCatalogAPI_getGridFTPDataMovementProtocol_args() throw() {}
+
+ std::string gridFTPDataMovementResourceId;
+
+ void __set_gridFTPDataMovementResourceId(const std::string& val) {
+ gridFTPDataMovementResourceId = val;
+ }
+
+ bool operator == (const ApplicationCatalogAPI_getGridFTPDataMovementProtocol_args & rhs) const
+ {
+ if (!(gridFTPDataMovementResourceId == rhs.gridFTPDataMovementResourceId))
+ return false;
+ return true;
+ }
+ bool operator != (const ApplicationCatalogAPI_getGridFTPDataMovementProtocol_args &rhs) const {
+ return !(*this == rhs);
+ }
+
+ bool operator < (const ApplicationCatalogAPI_getGridFTPDataMovementProtocol_args & ) const;
+
+ uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+ uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+
+class ApplicationCatalogAPI_getGridFTPDataMovementProtocol_pargs {
+ public:
+
+
+ virtual ~ApplicationCatalogAPI_getGridFTPDataMovementProtocol_pargs() throw() {}
+
+ const std::string* gridFTPDataMovementResourceId;
+
+ uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+typedef struct _ApplicationCatalogAPI_getGridFTPDataMovementProtocol_result__isset {
+ _ApplicationCatalogAPI_getGridFTPDataMovementProtocol_result__isset() : success(false), ire(false), ace(false), ase(false) {}
+ bool success;
+ bool ire;
+ bool ace;
+ bool ase;
+} _ApplicationCatalogAPI_getGridFTPDataMovementProtocol_result__isset;
+
+class ApplicationCatalogAPI_getGridFTPDataMovementProtocol_result {
+ public:
+
+ ApplicationCatalogAPI_getGridFTPDataMovementProtocol_result() {
+ }
+
+ virtual ~ApplicationCatalogAPI_getGridFTPDataMovementProtocol_result() throw() {}
+
+ ::GridFTPDataMovement success;
+ ::airavata::api::error::InvalidRequestException ire;
+ ::airavata::api::error::AiravataClientException ace;
+ ::airavata::api::error::AiravataSystemException ase;
+
+ _ApplicationCatalogAPI_getGridFTPDataMovementProtocol_result__isset __isset;
+
+ void __set_success(const ::GridFTPDataMovement& val) {
+ success = val;
+ }
+
+ void __set_ire(const ::airavata::api::error::InvalidRequestException& val) {
+ ire = val;
+ }
+
+ void __set_ace(const ::airavata::api::error::AiravataClientException& val) {
+ ace = val;
+ }
+
+ void __set_ase(const ::airavata::api::error::AiravataSystemException& val) {
+ ase = val;
+ }
+
+ bool operator == (const ApplicationCatalogAPI_getGridFTPDataMovementProtocol_result & rhs) const
+ {
+ if (!(success == rhs.success))
+ return false;
+ if (!(ire == rhs.ire))
+ return false;
+ if (!(ace == rhs.ace))
+ return false;
+ if (!(ase == rhs.ase))
+ return false;
+ return true;
+ }
+ bool operator != (const ApplicationCatalogAPI_getGridFTPDataMovementProtocol_result &rhs) const {
+ return !(*this == rhs);
+ }
+
+ bool operator < (const ApplicationCatalogAPI_getGridFTPDataMovementProtocol_result & ) const;
+
+ uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+ uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+typedef struct _ApplicationCatalogAPI_getGridFTPDataMovementProtocol_presult__isset {
+ _ApplicationCatalogAPI_getGridFTPDataMovementProtocol_presult__isset() : success(false), ire(false), ace(false), ase(false) {}
+ bool success;
+ bool ire;
+ bool ace;
+ bool ase;
+} _ApplicationCatalogAPI_getGridFTPDataMovementProtocol_presult__isset;
+
+class ApplicationCatalogAPI_getGridFTPDataMovementProtocol_presult {
+ public:
+
+
+ virtual ~ApplicationCatalogAPI_getGridFTPDataMovementProtocol_presult() throw() {}
+
+ ::GridFTPDataMovement* success;
+ ::airavata::api::error::InvalidRequestException ire;
+ ::airavata::api::error::AiravataClientException ace;
+ ::airavata::api::error::AiravataSystemException ase;
+
+ _ApplicationCatalogAPI_getGridFTPDataMovementProtocol_presult__isset __isset;
+
+ uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+
+};
+
+
+class ApplicationCatalogAPI_isComputeResourceDescriptionRegistered_args {
+ public:
+
+ ApplicationCatalogAPI_isComputeResourceDescriptionRegistered_args() : hostName() {
+ }
+
+ virtual ~ApplicationCatalogAPI_isComputeResourceDescriptionRegistered_args() throw() {}
+
+ std::string hostName;
+
+ void __set_hostName(const std::string& val) {
+ hostName = val;
+ }
+
+ bool operator == (const ApplicationCatalogAPI_isComputeResourceDescriptionRegistered_args & rhs) const
+ {
+ if (!(hostName == rhs.hostName))
+ return false;
+ return true;
+ }
+ bool operator != (const ApplicationCatalogAPI_isComputeResourceDescriptionRegistered_args &rhs) const {
+ return !(*this == rhs);
+ }
+
+ bool operator < (const ApplicationCatalogAPI_isComputeResourceDescriptionRegistered_args & ) const;
+
+ uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+ uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+
+class ApplicationCatalogAPI_isComputeResourceDescriptionRegistered_pargs {
+ public:
+
+
+ virtual ~ApplicationCatalogAPI_isComputeResourceDescriptionRegistered_pargs() throw() {}
+
+ const std::string* hostName;
+
+ uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+typedef struct _ApplicationCatalogAPI_isComputeResourceDescriptionRegistered_result__isset {
+ _ApplicationCatalogAPI_isComputeResourceDescriptionRegistered_result__isset() : success(false), ire(false), ace(false), ase(false) {}
+ bool success;
+ bool ire;
+ bool ace;
+ bool ase;
+} _ApplicationCatalogAPI_isComputeResourceDescriptionRegistered_result__isset;
+
+class ApplicationCatalogAPI_isComputeResourceDescriptionRegistered_result {
+ public:
+
+ ApplicationCatalogAPI_isComputeResourceDescriptionRegistered_result() : success(0) {
+ }
+
+ virtual ~ApplicationCatalogAPI_isComputeResourceDescriptionRegistered_result() throw() {}
+
+ bool success;
+ ::airavata::api::error::InvalidRequestException ire;
+ ::airavata::api::error::AiravataClientException ace;
+ ::airavata::api::error::AiravataSystemException ase;
+
+ _ApplicationCatalogAPI_isComputeResourceDescriptionRegistered_result__isset __isset;
+
+ void __set_success(const bool val) {
+ success = val;
+ }
+
+ void __set_ire(const ::airavata::api::error::InvalidRequestException& val) {
+ ire = val;
+ }
+
+ void __set_ace(const ::airavata::api::error::AiravataClientException& val) {
+ ace = val;
+ }
+
+ void __set_ase(const ::airavata::api::error::AiravataSystemException& val) {
+ ase = val;
+ }
+
+ bool operator == (const ApplicationCatalogAPI_isComputeResourceDescriptionRegistered_result & rhs) const
+ {
+ if (!(success == rhs.success))
+ return false;
+ if (!(ire == rhs.ire))
+ return false;
+ if (!(ace == rhs.ace))
+ return false;
+ if (!(ase == rhs.ase))
+ return false;
+ return true;
+ }
+ bool operator != (const ApplicationCatalogAPI_isComputeResourceDescriptionRegistered_result &rhs) const {
+ return !(*this == rhs);
+ }
+
+ bool operator < (const ApplicationCatalogAPI_isComputeResourceDescriptionRegistered_result & ) const;
+
+ uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+ uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+typedef struct _ApplicationCatalogAPI_isComputeResourceDescriptionRegistered_presult__isset {
+ _ApplicationCatalogAPI_isComputeResourceDescriptionRegistered_presult__isset() : success(false), ire(false), ace(false), ase(false) {}
+ bool success;
+ bool ire;
+ bool ace;
+ bool ase;
+} _ApplicationCatalogAPI_isComputeResourceDescriptionRegistered_presult__isset;
+
+class ApplicationCatalogAPI_isComputeResourceDescriptionRegistered_presult {
+ public:
+
+
+ virtual ~ApplicationCatalogAPI_isComputeResourceDescriptionRegistered_presult() throw() {}
+
+ bool* success;
+ ::airavata::api::error::InvalidRequestException ire;
+ ::airavata::api::error::AiravataClientException ace;
+ ::airavata::api::error::AiravataSystemException ase;
+
+ _ApplicationCatalogAPI_isComputeResourceDescriptionRegistered_presult__isset __isset;
+
+ uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+
+};
+
+
+class ApplicationCatalogAPI_getComputeResourceDescriptionFromHostName_args {
+ public:
+
+ ApplicationCatalogAPI_getComputeResourceDescriptionFromHostName_args() : hostName() {
+ }
+
+ virtual ~ApplicationCatalogAPI_getComputeResourceDescriptionFromHostName_args() throw() {}
+
+ std::string hostName;
+
+ void __set_hostName(const std::string& val) {
+ hostName = val;
+ }
+
+ bool operator == (const ApplicationCatalogAPI_getComputeResourceDescriptionFromHostName_args & rhs) const
+ {
+ if (!(hostName == rhs.hostName))
+ return false;
+ return true;
+ }
+ bool operator != (const ApplicationCatalogAPI_getComputeResourceDescriptionFromHostName_args &rhs) const {
+ return !(*this == rhs);
+ }
+
+ bool operator < (const ApplicationCatalogAPI_getComputeResourceDescriptionFromHostName_args & ) const;
+
+ uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+ uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+
+class ApplicationCatalogAPI_getComputeResourceDescriptionFromHostName_pargs {
+ public:
+
+
+ virtual ~ApplicationCatalogAPI_getComputeResourceDescriptionFromHostName_pargs() throw() {}
+
+ const std::string* hostName;
+
+ uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+typedef struct _ApplicationCatalogAPI_getComputeResourceDescriptionFromHostName_result__isset {
+ _ApplicationCatalogAPI_getComputeResourceDescriptionFromHostName_result__isset() : success(false), ire(false), ace(false), ase(false) {}
+ bool success;
+ bool ire;
+ bool ace;
+ bool ase;
+} _ApplicationCatalogAPI_getComputeResourceDescriptionFromHostName_result__isset;
+
+class ApplicationCatalogAPI_getComputeResourceDescriptionFromHostName_result {
+ public:
+
+ ApplicationCatalogAPI_getComputeResourceDescriptionFromHostName_result() {
+ }
+
+ virtual ~ApplicationCatalogAPI_getComputeResourceDescriptionFromHostName_result() throw() {}
+
+ ::ComputeResourceDescription success;
+ ::airavata::api::error::InvalidRequestException ire;
+ ::airavata::api::error::AiravataClientException ace;
+ ::airavata::api::error::AiravataSystemException ase;
+
+ _ApplicationCatalogAPI_getComputeResourceDescriptionFromHostName_result__isset __isset;
+
+ void __set_success(const ::ComputeResourceDescription& val) {
+ success = val;
+ }
+
+ void __set_ire(const ::airavata::api::error::InvalidRequestException& val) {
+ ire = val;
+ }
+
+ void __set_ace(const ::airavata::api::error::AiravataClientException& val) {
+ ace = val;
+ }
+
+ void __set_ase(const ::airavata::api::error::AiravataSystemException& val) {
+ ase = val;
+ }
+
+ bool operator == (const ApplicationCatalogAPI_getComputeResourceDescriptionFromHostName_result & rhs) const
+ {
+ if (!(success == rhs.success))
+ return false;
+ if (!(ire == rhs.ire))
+ return false;
+ if (!(ace == rhs.ace))
+ return false;
+ if (!(ase == rhs.ase))
+ return false;
+ return true;
+ }
+ bool operator != (const ApplicationCatalogAPI_getComputeResourceDescriptionFromHostName_result &rhs) const {
+ return !(*this == rhs);
+ }
+
+ bool operator < (const ApplicationCatalogAPI_getComputeResourceDescriptionFromHostName_result & ) const;
+
+ uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+ uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+typedef struct _ApplicationCatalogAPI_getComputeResourceDescriptionFromHostName_presult__isset {
+ _ApplicationCatalogAPI_getComputeResourceDescriptionFromHostName_presult__isset() : success(false), ire(false), ace(false), ase(false) {}
+ bool success;
+ bool ire;
+ bool ace;
+ bool ase;
+} _ApplicationCatalogAPI_getComputeResourceDescriptionFromHostName_presult__isset;
+
+class ApplicationCatalogAPI_getComputeResourceDescriptionFromHostName_presult {
+ public:
+
+
+ virtual ~ApplicationCatalogAPI_getComputeResourceDescriptionFromHostName_presult() throw() {}
+
+ ::ComputeResourceDescription* success;
+ ::airavata::api::error::InvalidRequestException ire;
+ ::airavata::api::error::AiravataClientException ace;
+ ::airavata::api::error::AiravataSystemException ase;
+
+ _ApplicationCatalogAPI_getComputeResourceDescriptionFromHostName_presult__isset __isset;
+
+ uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+
+};
+
+
+class ApplicationCatalogAPI_addApplicationInterface_args {
+ public:
+
+ ApplicationCatalogAPI_addApplicationInterface_args() {
+ }
+
+ virtual ~ApplicationCatalogAPI_addApplicationInterface_args() throw() {}
+
+ ::ApplicationInterfaceDescription applicationInterface;
+
+ void __set_applicationInterface(const ::ApplicationInterfaceDescription& val) {
+ applicationInterface = val;
+ }
+
+ bool operator == (const ApplicationCatalogAPI_addApplicationInterface_args & rhs) const
+ {
+ if (!(applicationInterface == rhs.applicationInterface))
+ return false;
+ return true;
+ }
+ bool operator != (const ApplicationCatalogAPI_addApplicationInterface_args &rhs) const {
+ return !(*this == rhs);
+ }
+
+ bool operator < (const ApplicationCatalogAPI_addApplicationInterface_args & ) const;
+
+ uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+ uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+
+class ApplicationCatalogAPI_addApplicationInterface_pargs {
+ public:
+
+
+ virtual ~ApplicationCatalogAPI_addApplicationInterface_pargs() throw() {}
+
+ const ::ApplicationInterfaceDescription* applicationInterface;
+
+ uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+typedef struct _ApplicationCatalogAPI_addApplicationInterface_result__isset {
+ _ApplicationCatalogAPI_addApplicationInterface_result__isset() : success(false), ire(false), ace(false), ase(false) {}
+ bool success;
+ bool ire;
+ bool ace;
+ bool ase;
+} _ApplicationCatalogAPI_addApplicationInterface_result__isset;
+
+class ApplicationCatalogAPI_addApplicationInterface_result {
+ public:
+
+ ApplicationCatalogAPI_addApplicationInterface_result() : success() {
+ }
+
+ virtual ~ApplicationCatalogAPI_addApplicationInterface_result() throw() {}
+
+ std::string success;
+ ::airavata::api::error::InvalidRequestException ire;
+ ::airavata::api::error::AiravataClientException ace;
+ ::airavata::api::error::AiravataSystemException ase;
+
+ _ApplicationCatalogAPI_addApplicationInterface_result__isset __isset;
+
+ void __set_success(const std::string& val) {
+ success = val;
+ }
+
+ void __set_ire(const ::airavata::api::error::InvalidRequestException& val) {
+ ire = val;
+ }
+
+ void __set_ace(const ::airavata::api::error::AiravataClientException& val) {
+ ace = val;
+ }
+
+ void __set_ase(const ::airavata::api::error::AiravataSystemException& val) {
+ ase = val;
+ }
+
+ bool operator == (const ApplicationCatalogAPI_addApplicationInterface_result & rhs) const
+ {
+ if (!(success == rhs.success))
+ return false;
+ if (!(ire == rhs.ire))
+ return false;
+ if (!(ace == rhs.ace))
+ return false;
+ if (!(ase == rhs.ase))
+ return false;
+ return true;
+ }
+ bool operator != (const ApplicationCatalogAPI_addApplicationInterface_result &rhs) const {
+ return !(*this == rhs);
+ }
+
+ bool operator < (const ApplicationCatalogAPI_addApplicationInterface_result & ) const;
+
+ uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+ uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+typedef struct _ApplicationCatalogAPI_addApplicationInterface_presult__isset {
+ _ApplicationCatalogAPI_addApplicationInterface_presult__isset() : success(false), ire(false), ace(false), ase(false) {}
+ bool success;
+ bool ire;
+ bool ace;
+ bool ase;
+} _ApplicationCatalogAPI_addApplicationInterface_presult__isset;
+
+class ApplicationCatalogAPI_addApplicationInterface_presult {
+ public:
+
+
+ virtual ~ApplicationCatalogAPI_addApplicationInterface_presult() throw() {}
+
+ std::string* success;
+ ::airavata::api::error::InvalidRequestException ire;
+ ::airavata::api::error::AiravataClientException ace;
+ ::airavata::api::error::AiravataSystemException ase;
+
+ _ApplicationCatalogAPI_addApplicationInterface_presult__isset __isset;
+
+ uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+
+};
+
+
+class ApplicationCatalogAPI_listApplicationInterfaceIds_args {
+ public:
+
+ ApplicationCatalogAPI_listApplicationInterfaceIds_args() {
+ }
+
+ virtual ~ApplicationCatalogAPI_listApplicationInterfaceIds_args() throw() {}
+
+
+ bool operator == (const ApplicationCatalogAPI_listApplicationInterfaceIds_args & /* rhs */) const
+ {
+ return true;
+ }
+ bool operator != (const ApplicationCatalogAPI_listApplicationInterfaceIds_args &rhs) const {
+ return !(*this == rhs);
+ }
+
+ bool operator < (const ApplicationCatalogAPI_listApplicationInterfaceIds_args & ) const;
+
+ uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+ uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+
+class ApplicationCatalogAPI_listApplicationInterfaceIds_pargs {
+ public:
+
+
+ virtual ~ApplicationCatalogAPI_listApplicationInterfaceIds_pargs() throw() {}
+
+
+ uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+typedef struct _ApplicationCatalogAPI_listApplicationInterfaceIds_result__isset {
+ _ApplicationCatalogAPI_listApplicationInterfaceIds_result__isset() : success(false), ire(false), ace(false), ase(false) {}
+ bool success;
+ bool ire;
+ bool ace;
+ bool ase;
+} _ApplicationCatalogAPI_listApplicationInterfaceIds_result__isset;
+
+class ApplicationCatalogAPI_listApplicationInterfaceIds_result {
+ public:
+
+ ApplicationCatalogAPI_listApplicationInterfaceIds_result() {
+ }
+
+ virtual ~ApplicationCatalogAPI_listApplicationInterfaceIds_result() throw() {}
+
+ std::vector<std::string> success;
+ ::airavata::api::error::InvalidRequestException ire;
+ ::airavata::api::error::AiravataClientException ace;
+ ::airavata::api::error::AiravataSystemException ase;
+
+ _ApplicationCatalogAPI_listApplicationInterfaceIds_result__isset __isset;
+
+ void __set_success(const std::vector<std::string> & val) {
+ success = val;
+ }
+
+ void __set_ire(const ::airavata::api::error::InvalidRequestException& val) {
+ ire = val;
+ }
+
+ void __set_ace(const ::airavata::api::error::AiravataClientException& val) {
+ ace = val;
+ }
+
+ void __set_ase(const ::airavata::api::error::AiravataSystemException& val) {
+ ase = val;
+ }
+
+ bool operator == (const ApplicationCatalogAPI_listApplicationInterfaceIds_result & rhs) const
+ {
+ if (!(success == rhs.success))
+ return false;
+ if (!(ire == rhs.ire))
+ return false;
+ if (!(ace == rhs.ace))
+ return false;
+ if (!(ase == rhs.ase))
+ return false;
+ return true;
+ }
+ bool operator != (const ApplicationCatalogAPI_listApplicationInterfaceIds_result &rhs) const {
+ return !(*this == rhs);
+ }
+
+ bool operator < (const ApplicationCatalogAPI_listApplicationInterfaceIds_result & ) const;
+
+ uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+ uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+typedef struct _ApplicationCatalogAPI_listApplicationInterfaceIds_presult__isset {
+ _ApplicationCatalogAPI_listApplicationInterfaceIds_presult__isset() : success(false), ire(false), ace(false), ase(false) {}
+ bool success;
+ bool ire;
+ bool ace;
+ bool ase;
+} _ApplicationCatalogAPI_listApplicationInterfaceIds_presult__isset;
+
+class ApplicationCatalogAPI_listApplicationInterfaceIds_presult {
+ public:
+
+
+ virtual ~ApplicationCatalogAPI_listApplicationInterfaceIds_presult() throw() {}
+
+ std::vector<std::string> * success;
+ ::airavata::api::error::InvalidRequestException ire;
+ ::airavata::api::error::AiravataClientException ace;
+ ::airavata::api::error::AiravataSystemException ase;
+
+ _ApplicationCatalogAPI_listApplicationInterfaceIds_presult__isset __isset;
+
+ uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+
+};
+
+
+class ApplicationCatalogAPI_getApplicationInterface_args {
+ public:
+
+ ApplicationCatalogAPI_getApplicationInterface_args() : applicationInterfaceId() {
+ }
+
+ virtual ~ApplicationCatalogAPI_getApplicationInterface_args() throw() {}
+
+ std::string applicationInterfaceId;
+
+ void __set_applicationInterfaceId(const std::string& val) {
+ applicationInterfaceId = val;
+ }
+
+ bool operator == (const ApplicationCatalogAPI_getApplicationInterface_args & rhs) const
+ {
+ if (!(applicationInterfaceId == rhs.applicationInterfaceId))
+ return false;
+ return true;
+ }
+ bool operator != (const ApplicationCatalogAPI_getApplicationInterface_args &rhs) const {
+ return !(*this == rhs);
+ }
+
+ bool operator < (const ApplicationCatalogAPI_getApplicationInterface_args & ) const;
+
+ uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+ uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+
+class ApplicationCatalogAPI_getApplicationInterface_pargs {
+ public:
+
+
+ virtual ~ApplicationCatalogAPI_getApplicationInterface_pargs() throw() {}
+
+ const std::string* applicationInterfaceId;
+
+ uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+typedef struct _ApplicationCatalogAPI_getApplicationInterface_result__isset {
+ _ApplicationCatalogAPI_getApplicationInterface_result__isset() : success(false), ire(false), ace(false), ase(false) {}
+ bool success;
+ bool ire;
+ bool ace;
+ bool ase;
+} _ApplicationCatalogAPI_getApplicationInterface_result__isset;
+
+class ApplicationCatalogAPI_getApplicationInterface_result {
+ public:
+
+ ApplicationCatalogAPI_getApplicationInterface_result() {
+ }
+
+ virtual ~ApplicationCatalogAPI_getApplicationInterface_result() throw() {}
+
+ ::ApplicationInterfaceDescription success;
+ ::airavata::api::error::InvalidRequestException ire;
+ ::airavata::api::error::AiravataClientException ace;
+ ::airavata::api::error::AiravataSystemException ase;
+
+ _ApplicationCatalogAPI_getApplicationInterface_result__isset __isset;
+
+ void __set_success(const ::ApplicationInterfaceDescription& val) {
+ success = val;
+ }
+
+ void __set_ire(const ::airavata::api::error::InvalidRequestException& val) {
+ ire = val;
+ }
+
+ void __set_ace(const ::airavata::api::error::AiravataClientException& val) {
+ ace = val;
+ }
+
+ void __set_ase(const ::airavata::api::error::AiravataSystemException& val) {
+ ase = val;
+ }
+
+ bool operator == (const ApplicationCatalogAPI_getApplicationInterface_result & rhs) const
+ {
+ if (!(success == rhs.success))
+ return false;
+ if (!(ire == rhs.ire))
+ return false;
+ if (!(ace == rhs.ace))
+ return false;
+ if (!(ase == rhs.ase))
+ return false;
+ return true;
+ }
+ bool operator != (const ApplicationCatalogAPI_getApplicationInterface_result &rhs) const {
+ return !(*this == rhs);
+ }
+
+ bool operator < (const ApplicationCatalogAPI_getApplicationInterface_result & ) const;
+
+ uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+ uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+typedef struct _ApplicationCatalogAPI_getApplicationInterface_presult__isset {
+ _ApplicationCatalogAPI_getApplicationInterface_presult__isset() : success(false), ire(false), ace(false), ase(false) {}
+ bool success;
+ bool ire;
+ bool ace;
+ bool ase;
+} _ApplicationCatalogAPI_getApplicationInterface_presult__isset;
+
+class ApplicationCatalogAPI_getApplicationInterface_presult {
+ public:
+
+
+ virtual ~ApplicationCatalogAPI_getApplicationInterface_presult() throw() {}
+
+ ::ApplicationInterfaceDescription* success;
+ ::airavata::api::error::InvalidRequestException ire;
+ ::airavata::api::error::AiravataClientException ace;
+ ::airavata::api::error::AiravataSystemException ase;
+
+ _ApplicationCatalogAPI_getApplicationInterface_presult__isset __isset;
+
+ uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+
+};
+
+typedef struct _ApplicationCatalogAPI_registerAppicationModule_args__isset {
+ _ApplicationCatalogAPI_registerAppicationModule_args__isset() : publish(false) {}
+ bool publish;
+} _ApplicationCatalogAPI_registerAppicationModule_args__isset;
+
+class ApplicationCatalogAPI_registerAppicationModule_args {
+ public:
+
+ ApplicationCatalogAPI_registerAppicationModule_args() : publish(0) {
+ }
+
+ virtual ~ApplicationCatalogAPI_registerAppicationModule_args() throw() {}
+
+ ::ApplicationModule applicationModule;
+ bool publish;
+
+ _ApplicationCatalogAPI_registerAppicationModule_args__isset __isset;
+
+ void __set_applicationModule(const ::ApplicationModule& val) {
+ applicationModule = val;
+ }
+
+ void __set_publish(const bool val) {
+ publish = val;
+ }
+
+ bool operator == (const ApplicationCatalogAPI_registerAppicationModule_args & rhs) const
+ {
+ if (!(applicationModule == rhs.applicationModule))
+ return false;
+ if (!(publish == rhs.publish))
+ return false;
+ return true;
+ }
+ bool operator != (const ApplicationCatalogAPI_registerAppicationModule_args &rhs) const {
+ return !(*this == rhs);
+ }
+
+ bool operator < (const ApplicationCatalogAPI_registerAppicationModule_args & ) const;
+
+ uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+ uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+
+class ApplicationCatalogAPI_registerAppicationModule_pargs {
+ public:
+
+
+ virtual ~ApplicationCatalogAPI_registerAppicationModule_pargs() throw() {}
+
+ const ::ApplicationModule* applicationModule;
+ const bool* publish;
+
+ uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+typedef struct _ApplicationCatalogAPI_registerAppicationModule_result__isset {
+ _ApplicationCatalogAPI_registerAppicationModule_result__isset() : success(false), ire(false), ace(false), ase(false) {}
+ bool success;
+ bool ire;
+ bool ace;
+ bool ase;
+} _ApplicationCatalogAPI_registerAppicationModule_result__isset;
+
+class ApplicationCatalogAPI_registerAppicationModule_result {
+ public:
+
+ ApplicationCatalogAPI_registerAppicationModule_result() : success() {
+ }
+
+ virtual ~ApplicationCatalogAPI_registerAppicationModule_result() throw() {}
+
+ std::string suc
<TRUNCATED>
[09/47] Added c++ client samples for integrattion of airavata with
any other application's c++ interface
Posted by sm...@apache.org.
http://git-wip-us.apache.org/repos/asf/airavata/blob/f891b7dc/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/protocol/TBinaryProtocol.tcc
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/protocol/TBinaryProtocol.tcc b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/protocol/TBinaryProtocol.tcc
new file mode 100644
index 0000000..54d79b7
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/protocol/TBinaryProtocol.tcc
@@ -0,0 +1,465 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you 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 _THRIFT_PROTOCOL_TBINARYPROTOCOL_TCC_
+#define _THRIFT_PROTOCOL_TBINARYPROTOCOL_TCC_ 1
+
+#include <thrift/protocol/TBinaryProtocol.h>
+
+#include <limits>
+
+
+namespace apache { namespace thrift { namespace protocol {
+
+template <class Transport_>
+uint32_t TBinaryProtocolT<Transport_>::writeMessageBegin(const std::string& name,
+ const TMessageType messageType,
+ const int32_t seqid) {
+ if (this->strict_write_) {
+ int32_t version = (VERSION_1) | ((int32_t)messageType);
+ uint32_t wsize = 0;
+ wsize += writeI32(version);
+ wsize += writeString(name);
+ wsize += writeI32(seqid);
+ return wsize;
+ } else {
+ uint32_t wsize = 0;
+ wsize += writeString(name);
+ wsize += writeByte((int8_t)messageType);
+ wsize += writeI32(seqid);
+ return wsize;
+ }
+}
+
+template <class Transport_>
+uint32_t TBinaryProtocolT<Transport_>::writeMessageEnd() {
+ return 0;
+}
+
+template <class Transport_>
+uint32_t TBinaryProtocolT<Transport_>::writeStructBegin(const char* name) {
+ (void) name;
+ return 0;
+}
+
+template <class Transport_>
+uint32_t TBinaryProtocolT<Transport_>::writeStructEnd() {
+ return 0;
+}
+
+template <class Transport_>
+uint32_t TBinaryProtocolT<Transport_>::writeFieldBegin(const char* name,
+ const TType fieldType,
+ const int16_t fieldId) {
+ (void) name;
+ uint32_t wsize = 0;
+ wsize += writeByte((int8_t)fieldType);
+ wsize += writeI16(fieldId);
+ return wsize;
+}
+
+template <class Transport_>
+uint32_t TBinaryProtocolT<Transport_>::writeFieldEnd() {
+ return 0;
+}
+
+template <class Transport_>
+uint32_t TBinaryProtocolT<Transport_>::writeFieldStop() {
+ return
+ writeByte((int8_t)T_STOP);
+}
+
+template <class Transport_>
+uint32_t TBinaryProtocolT<Transport_>::writeMapBegin(const TType keyType,
+ const TType valType,
+ const uint32_t size) {
+ uint32_t wsize = 0;
+ wsize += writeByte((int8_t)keyType);
+ wsize += writeByte((int8_t)valType);
+ wsize += writeI32((int32_t)size);
+ return wsize;
+}
+
+template <class Transport_>
+uint32_t TBinaryProtocolT<Transport_>::writeMapEnd() {
+ return 0;
+}
+
+template <class Transport_>
+uint32_t TBinaryProtocolT<Transport_>::writeListBegin(const TType elemType,
+ const uint32_t size) {
+ uint32_t wsize = 0;
+ wsize += writeByte((int8_t) elemType);
+ wsize += writeI32((int32_t)size);
+ return wsize;
+}
+
+template <class Transport_>
+uint32_t TBinaryProtocolT<Transport_>::writeListEnd() {
+ return 0;
+}
+
+template <class Transport_>
+uint32_t TBinaryProtocolT<Transport_>::writeSetBegin(const TType elemType,
+ const uint32_t size) {
+ uint32_t wsize = 0;
+ wsize += writeByte((int8_t)elemType);
+ wsize += writeI32((int32_t)size);
+ return wsize;
+}
+
+template <class Transport_>
+uint32_t TBinaryProtocolT<Transport_>::writeSetEnd() {
+ return 0;
+}
+
+template <class Transport_>
+uint32_t TBinaryProtocolT<Transport_>::writeBool(const bool value) {
+ uint8_t tmp = value ? 1 : 0;
+ this->trans_->write(&tmp, 1);
+ return 1;
+}
+
+template <class Transport_>
+uint32_t TBinaryProtocolT<Transport_>::writeByte(const int8_t byte) {
+ this->trans_->write((uint8_t*)&byte, 1);
+ return 1;
+}
+
+template <class Transport_>
+uint32_t TBinaryProtocolT<Transport_>::writeI16(const int16_t i16) {
+ int16_t net = (int16_t)htons(i16);
+ this->trans_->write((uint8_t*)&net, 2);
+ return 2;
+}
+
+template <class Transport_>
+uint32_t TBinaryProtocolT<Transport_>::writeI32(const int32_t i32) {
+ int32_t net = (int32_t)htonl(i32);
+ this->trans_->write((uint8_t*)&net, 4);
+ return 4;
+}
+
+template <class Transport_>
+uint32_t TBinaryProtocolT<Transport_>::writeI64(const int64_t i64) {
+ int64_t net = (int64_t)htonll(i64);
+ this->trans_->write((uint8_t*)&net, 8);
+ return 8;
+}
+
+template <class Transport_>
+uint32_t TBinaryProtocolT<Transport_>::writeDouble(const double dub) {
+ BOOST_STATIC_ASSERT(sizeof(double) == sizeof(uint64_t));
+ BOOST_STATIC_ASSERT(std::numeric_limits<double>::is_iec559);
+
+ uint64_t bits = bitwise_cast<uint64_t>(dub);
+ bits = htonll(bits);
+ this->trans_->write((uint8_t*)&bits, 8);
+ return 8;
+}
+
+
+template <class Transport_>
+template<typename StrType>
+uint32_t TBinaryProtocolT<Transport_>::writeString(const StrType& str) {
+ if(str.size() > static_cast<size_t>((std::numeric_limits<int32_t>::max)()))
+ throw TProtocolException(TProtocolException::SIZE_LIMIT);
+ uint32_t size = static_cast<uint32_t>(str.size());
+ uint32_t result = writeI32((int32_t)size);
+ if (size > 0) {
+ this->trans_->write((uint8_t*)str.data(), size);
+ }
+ return result + size;
+}
+
+template <class Transport_>
+uint32_t TBinaryProtocolT<Transport_>::writeBinary(const std::string& str) {
+ return TBinaryProtocolT<Transport_>::writeString(str);
+}
+
+/**
+ * Reading functions
+ */
+
+template <class Transport_>
+uint32_t TBinaryProtocolT<Transport_>::readMessageBegin(std::string& name,
+ TMessageType& messageType,
+ int32_t& seqid) {
+ uint32_t result = 0;
+ int32_t sz;
+ result += readI32(sz);
+
+ if (sz < 0) {
+ // Check for correct version number
+ int32_t version = sz & VERSION_MASK;
+ if (version != VERSION_1) {
+ throw TProtocolException(TProtocolException::BAD_VERSION, "Bad version identifier");
+ }
+ messageType = (TMessageType)(sz & 0x000000ff);
+ result += readString(name);
+ result += readI32(seqid);
+ } else {
+ if (this->strict_read_) {
+ throw TProtocolException(TProtocolException::BAD_VERSION, "No version identifier... old protocol client in strict mode?");
+ } else {
+ // Handle pre-versioned input
+ int8_t type;
+ result += readStringBody(name, sz);
+ result += readByte(type);
+ messageType = (TMessageType)type;
+ result += readI32(seqid);
+ }
+ }
+ return result;
+}
+
+template <class Transport_>
+uint32_t TBinaryProtocolT<Transport_>::readMessageEnd() {
+ return 0;
+}
+
+template <class Transport_>
+uint32_t TBinaryProtocolT<Transport_>::readStructBegin(std::string& name) {
+ name = "";
+ return 0;
+}
+
+template <class Transport_>
+uint32_t TBinaryProtocolT<Transport_>::readStructEnd() {
+ return 0;
+}
+
+template <class Transport_>
+uint32_t TBinaryProtocolT<Transport_>::readFieldBegin(std::string& name,
+ TType& fieldType,
+ int16_t& fieldId) {
+ (void) name;
+ uint32_t result = 0;
+ int8_t type;
+ result += readByte(type);
+ fieldType = (TType)type;
+ if (fieldType == T_STOP) {
+ fieldId = 0;
+ return result;
+ }
+ result += readI16(fieldId);
+ return result;
+}
+
+template <class Transport_>
+uint32_t TBinaryProtocolT<Transport_>::readFieldEnd() {
+ return 0;
+}
+
+template <class Transport_>
+uint32_t TBinaryProtocolT<Transport_>::readMapBegin(TType& keyType,
+ TType& valType,
+ uint32_t& size) {
+ int8_t k, v;
+ uint32_t result = 0;
+ int32_t sizei;
+ result += readByte(k);
+ keyType = (TType)k;
+ result += readByte(v);
+ valType = (TType)v;
+ result += readI32(sizei);
+ if (sizei < 0) {
+ throw TProtocolException(TProtocolException::NEGATIVE_SIZE);
+ } else if (this->container_limit_ && sizei > this->container_limit_) {
+ throw TProtocolException(TProtocolException::SIZE_LIMIT);
+ }
+ size = (uint32_t)sizei;
+ return result;
+}
+
+template <class Transport_>
+uint32_t TBinaryProtocolT<Transport_>::readMapEnd() {
+ return 0;
+}
+
+template <class Transport_>
+uint32_t TBinaryProtocolT<Transport_>::readListBegin(TType& elemType,
+ uint32_t& size) {
+ int8_t e;
+ uint32_t result = 0;
+ int32_t sizei;
+ result += readByte(e);
+ elemType = (TType)e;
+ result += readI32(sizei);
+ if (sizei < 0) {
+ throw TProtocolException(TProtocolException::NEGATIVE_SIZE);
+ } else if (this->container_limit_ && sizei > this->container_limit_) {
+ throw TProtocolException(TProtocolException::SIZE_LIMIT);
+ }
+ size = (uint32_t)sizei;
+ return result;
+}
+
+template <class Transport_>
+uint32_t TBinaryProtocolT<Transport_>::readListEnd() {
+ return 0;
+}
+
+template <class Transport_>
+uint32_t TBinaryProtocolT<Transport_>::readSetBegin(TType& elemType,
+ uint32_t& size) {
+ int8_t e;
+ uint32_t result = 0;
+ int32_t sizei;
+ result += readByte(e);
+ elemType = (TType)e;
+ result += readI32(sizei);
+ if (sizei < 0) {
+ throw TProtocolException(TProtocolException::NEGATIVE_SIZE);
+ } else if (this->container_limit_ && sizei > this->container_limit_) {
+ throw TProtocolException(TProtocolException::SIZE_LIMIT);
+ }
+ size = (uint32_t)sizei;
+ return result;
+}
+
+template <class Transport_>
+uint32_t TBinaryProtocolT<Transport_>::readSetEnd() {
+ return 0;
+}
+
+template <class Transport_>
+uint32_t TBinaryProtocolT<Transport_>::readBool(bool& value) {
+ uint8_t b[1];
+ this->trans_->readAll(b, 1);
+ value = *(int8_t*)b != 0;
+ return 1;
+}
+
+template <class Transport_>
+uint32_t TBinaryProtocolT<Transport_>::readByte(int8_t& byte) {
+ uint8_t b[1];
+ this->trans_->readAll(b, 1);
+ byte = *(int8_t*)b;
+ return 1;
+}
+
+template <class Transport_>
+uint32_t TBinaryProtocolT<Transport_>::readI16(int16_t& i16) {
+ union bytes {
+ uint8_t b[2];
+ int16_t all;
+ } theBytes;
+ this->trans_->readAll(theBytes.b, 2);
+ i16 = (int16_t)ntohs(theBytes.all);
+ return 2;
+}
+
+template <class Transport_>
+uint32_t TBinaryProtocolT<Transport_>::readI32(int32_t& i32) {
+ union bytes {
+ uint8_t b[4];
+ int32_t all;
+ } theBytes;
+ this->trans_->readAll(theBytes.b, 4);
+ i32 = (int32_t)ntohl(theBytes.all);
+ return 4;
+}
+
+template <class Transport_>
+uint32_t TBinaryProtocolT<Transport_>::readI64(int64_t& i64) {
+ union bytes {
+ uint8_t b[8];
+ int64_t all;
+ } theBytes;
+ this->trans_->readAll(theBytes.b, 8);
+ i64 = (int64_t)ntohll(theBytes.all);
+ return 8;
+}
+
+template <class Transport_>
+uint32_t TBinaryProtocolT<Transport_>::readDouble(double& dub) {
+ BOOST_STATIC_ASSERT(sizeof(double) == sizeof(uint64_t));
+ BOOST_STATIC_ASSERT(std::numeric_limits<double>::is_iec559);
+
+ union bytes {
+ uint8_t b[8];
+ uint64_t all;
+ } theBytes;
+ this->trans_->readAll(theBytes.b, 8);
+ theBytes.all = ntohll(theBytes.all);
+ dub = bitwise_cast<double>(theBytes.all);
+ return 8;
+}
+
+template <class Transport_>
+template<typename StrType>
+uint32_t TBinaryProtocolT<Transport_>::readString(StrType& str) {
+ uint32_t result;
+ int32_t size;
+ result = readI32(size);
+ return result + readStringBody(str, size);
+}
+
+template <class Transport_>
+uint32_t TBinaryProtocolT<Transport_>::readBinary(std::string& str) {
+ return TBinaryProtocolT<Transport_>::readString(str);
+}
+
+template <class Transport_>
+template<typename StrType>
+uint32_t TBinaryProtocolT<Transport_>::readStringBody(StrType& str,
+ int32_t size) {
+ uint32_t result = 0;
+
+ // Catch error cases
+ if (size < 0) {
+ throw TProtocolException(TProtocolException::NEGATIVE_SIZE);
+ }
+ if (this->string_limit_ > 0 && size > this->string_limit_) {
+ throw TProtocolException(TProtocolException::SIZE_LIMIT);
+ }
+
+ // Catch empty string case
+ if (size == 0) {
+ str.clear();
+ return result;
+ }
+
+ // Try to borrow first
+ const uint8_t* borrow_buf;
+ uint32_t got = size;
+ if ((borrow_buf = this->trans_->borrow(NULL, &got))) {
+ str.assign((const char*)borrow_buf, size);
+ this->trans_->consume(size);
+ return size;
+ }
+
+ // Use the heap here to prevent stack overflow for v. large strings
+ if (size > this->string_buf_size_ || this->string_buf_ == NULL) {
+ void* new_string_buf = std::realloc(this->string_buf_, (uint32_t)size);
+ if (new_string_buf == NULL) {
+ throw std::bad_alloc();
+ }
+ this->string_buf_ = (uint8_t*)new_string_buf;
+ this->string_buf_size_ = size;
+ }
+ this->trans_->readAll(this->string_buf_, size);
+ str.assign((char*)this->string_buf_, size);
+ return (uint32_t)size;
+}
+
+}}} // apache::thrift::protocol
+
+#endif // #ifndef _THRIFT_PROTOCOL_TBINARYPROTOCOL_TCC_
http://git-wip-us.apache.org/repos/asf/airavata/blob/f891b7dc/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/protocol/TCompactProtocol.h
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/protocol/TCompactProtocol.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/protocol/TCompactProtocol.h
new file mode 100644
index 0000000..d6da745
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/protocol/TCompactProtocol.h
@@ -0,0 +1,289 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you 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 _THRIFT_PROTOCOL_TCOMPACTPROTOCOL_H_
+#define _THRIFT_PROTOCOL_TCOMPACTPROTOCOL_H_ 1
+
+#include <thrift/protocol/TVirtualProtocol.h>
+
+#include <stack>
+#include <boost/shared_ptr.hpp>
+
+namespace apache { namespace thrift { namespace protocol {
+
+/**
+ * C++ Implementation of the Compact Protocol as described in THRIFT-110
+ */
+template <class Transport_>
+class TCompactProtocolT
+ : public TVirtualProtocol< TCompactProtocolT<Transport_> > {
+
+ protected:
+ static const int8_t PROTOCOL_ID = (int8_t)0x82u;
+ static const int8_t VERSION_N = 1;
+ static const int8_t VERSION_MASK = 0x1f; // 0001 1111
+ static const int8_t TYPE_MASK = (int8_t)0xE0u; // 1110 0000
+ static const int32_t TYPE_SHIFT_AMOUNT = 5;
+
+ Transport_* trans_;
+
+ /**
+ * (Writing) If we encounter a boolean field begin, save the TField here
+ * so it can have the value incorporated.
+ */
+ struct {
+ const char* name;
+ TType fieldType;
+ int16_t fieldId;
+ } booleanField_;
+
+ /**
+ * (Reading) If we read a field header, and it's a boolean field, save
+ * the boolean value here so that readBool can use it.
+ */
+ struct {
+ bool hasBoolValue;
+ bool boolValue;
+ } boolValue_;
+
+ /**
+ * Used to keep track of the last field for the current and previous structs,
+ * so we can do the delta stuff.
+ */
+
+ std::stack<int16_t> lastField_;
+ int16_t lastFieldId_;
+
+ public:
+ TCompactProtocolT(boost::shared_ptr<Transport_> trans) :
+ TVirtualProtocol< TCompactProtocolT<Transport_> >(trans),
+ trans_(trans.get()),
+ lastFieldId_(0),
+ string_limit_(0),
+ string_buf_(NULL),
+ string_buf_size_(0),
+ container_limit_(0) {
+ booleanField_.name = NULL;
+ boolValue_.hasBoolValue = false;
+ }
+
+ TCompactProtocolT(boost::shared_ptr<Transport_> trans,
+ int32_t string_limit,
+ int32_t container_limit) :
+ TVirtualProtocol< TCompactProtocolT<Transport_> >(trans),
+ trans_(trans.get()),
+ lastFieldId_(0),
+ string_limit_(string_limit),
+ string_buf_(NULL),
+ string_buf_size_(0),
+ container_limit_(container_limit) {
+ booleanField_.name = NULL;
+ boolValue_.hasBoolValue = false;
+ }
+
+ ~TCompactProtocolT() {
+ free(string_buf_);
+ }
+
+
+ /**
+ * Writing functions
+ */
+
+ virtual uint32_t writeMessageBegin(const std::string& name,
+ const TMessageType messageType,
+ const int32_t seqid);
+
+ uint32_t writeStructBegin(const char* name);
+
+ uint32_t writeStructEnd();
+
+ uint32_t writeFieldBegin(const char* name,
+ const TType fieldType,
+ const int16_t fieldId);
+
+ uint32_t writeFieldStop();
+
+ uint32_t writeListBegin(const TType elemType,
+ const uint32_t size);
+
+ uint32_t writeSetBegin(const TType elemType,
+ const uint32_t size);
+
+ virtual uint32_t writeMapBegin(const TType keyType,
+ const TType valType,
+ const uint32_t size);
+
+ uint32_t writeBool(const bool value);
+
+ uint32_t writeByte(const int8_t byte);
+
+ uint32_t writeI16(const int16_t i16);
+
+ uint32_t writeI32(const int32_t i32);
+
+ uint32_t writeI64(const int64_t i64);
+
+ uint32_t writeDouble(const double dub);
+
+ uint32_t writeString(const std::string& str);
+
+ uint32_t writeBinary(const std::string& str);
+
+ /**
+ * These methods are called by structs, but don't actually have any wired
+ * output or purpose
+ */
+ virtual uint32_t writeMessageEnd() { return 0; }
+ uint32_t writeMapEnd() { return 0; }
+ uint32_t writeListEnd() { return 0; }
+ uint32_t writeSetEnd() { return 0; }
+ uint32_t writeFieldEnd() { return 0; }
+
+ protected:
+ int32_t writeFieldBeginInternal(const char* name,
+ const TType fieldType,
+ const int16_t fieldId,
+ int8_t typeOverride);
+ uint32_t writeCollectionBegin(const TType elemType, int32_t size);
+ uint32_t writeVarint32(uint32_t n);
+ uint32_t writeVarint64(uint64_t n);
+ uint64_t i64ToZigzag(const int64_t l);
+ uint32_t i32ToZigzag(const int32_t n);
+ inline int8_t getCompactType(const TType ttype);
+
+ public:
+ uint32_t readMessageBegin(std::string& name,
+ TMessageType& messageType,
+ int32_t& seqid);
+
+ uint32_t readStructBegin(std::string& name);
+
+ uint32_t readStructEnd();
+
+ uint32_t readFieldBegin(std::string& name,
+ TType& fieldType,
+ int16_t& fieldId);
+
+ uint32_t readMapBegin(TType& keyType,
+ TType& valType,
+ uint32_t& size);
+
+ uint32_t readListBegin(TType& elemType,
+ uint32_t& size);
+
+ uint32_t readSetBegin(TType& elemType,
+ uint32_t& size);
+
+ uint32_t readBool(bool& value);
+ // Provide the default readBool() implementation for std::vector<bool>
+ using TVirtualProtocol< TCompactProtocolT<Transport_> >::readBool;
+
+ uint32_t readByte(int8_t& byte);
+
+ uint32_t readI16(int16_t& i16);
+
+ uint32_t readI32(int32_t& i32);
+
+ uint32_t readI64(int64_t& i64);
+
+ uint32_t readDouble(double& dub);
+
+ uint32_t readString(std::string& str);
+
+ uint32_t readBinary(std::string& str);
+
+ /*
+ *These methods are here for the struct to call, but don't have any wire
+ * encoding.
+ */
+ uint32_t readMessageEnd() { return 0; }
+ uint32_t readFieldEnd() { return 0; }
+ uint32_t readMapEnd() { return 0; }
+ uint32_t readListEnd() { return 0; }
+ uint32_t readSetEnd() { return 0; }
+
+ protected:
+ uint32_t readVarint32(int32_t& i32);
+ uint32_t readVarint64(int64_t& i64);
+ int32_t zigzagToI32(uint32_t n);
+ int64_t zigzagToI64(uint64_t n);
+ TType getTType(int8_t type);
+
+ // Buffer for reading strings, save for the lifetime of the protocol to
+ // avoid memory churn allocating memory on every string read
+ int32_t string_limit_;
+ uint8_t* string_buf_;
+ int32_t string_buf_size_;
+ int32_t container_limit_;
+};
+
+typedef TCompactProtocolT<TTransport> TCompactProtocol;
+
+/**
+ * Constructs compact protocol handlers
+ */
+template <class Transport_>
+class TCompactProtocolFactoryT : public TProtocolFactory {
+ public:
+ TCompactProtocolFactoryT() :
+ string_limit_(0),
+ container_limit_(0) {}
+
+ TCompactProtocolFactoryT(int32_t string_limit, int32_t container_limit) :
+ string_limit_(string_limit),
+ container_limit_(container_limit) {}
+
+ virtual ~TCompactProtocolFactoryT() {}
+
+ void setStringSizeLimit(int32_t string_limit) {
+ string_limit_ = string_limit;
+ }
+
+ void setContainerSizeLimit(int32_t container_limit) {
+ container_limit_ = container_limit;
+ }
+
+ boost::shared_ptr<TProtocol> getProtocol(boost::shared_ptr<TTransport> trans) {
+ boost::shared_ptr<Transport_> specific_trans =
+ boost::dynamic_pointer_cast<Transport_>(trans);
+ TProtocol* prot;
+ if (specific_trans) {
+ prot = new TCompactProtocolT<Transport_>(specific_trans, string_limit_,
+ container_limit_);
+ } else {
+ prot = new TCompactProtocol(trans, string_limit_, container_limit_);
+ }
+
+ return boost::shared_ptr<TProtocol>(prot);
+ }
+
+ private:
+ int32_t string_limit_;
+ int32_t container_limit_;
+
+};
+
+typedef TCompactProtocolFactoryT<TTransport> TCompactProtocolFactory;
+
+}}} // apache::thrift::protocol
+
+#include <thrift/protocol/TCompactProtocol.tcc>
+
+#endif
http://git-wip-us.apache.org/repos/asf/airavata/blob/f891b7dc/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/protocol/TCompactProtocol.tcc
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/protocol/TCompactProtocol.tcc b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/protocol/TCompactProtocol.tcc
new file mode 100644
index 0000000..62d6485
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/protocol/TCompactProtocol.tcc
@@ -0,0 +1,818 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you 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 _THRIFT_PROTOCOL_TCOMPACTPROTOCOL_TCC_
+#define _THRIFT_PROTOCOL_TCOMPACTPROTOCOL_TCC_ 1
+
+#include <limits>
+
+/*
+ * TCompactProtocol::i*ToZigzag depend on the fact that the right shift
+ * operator on a signed integer is an arithmetic (sign-extending) shift.
+ * If this is not the case, the current implementation will not work.
+ * If anyone encounters this error, we can try to figure out the best
+ * way to implement an arithmetic right shift on their platform.
+ */
+#if !defined(SIGNED_RIGHT_SHIFT_IS) || !defined(ARITHMETIC_RIGHT_SHIFT)
+# error "Unable to determine the behavior of a signed right shift"
+#endif
+#if SIGNED_RIGHT_SHIFT_IS != ARITHMETIC_RIGHT_SHIFT
+# error "TCompactProtocol currently only works if a signed right shift is arithmetic"
+#endif
+
+#ifdef __GNUC__
+#define UNLIKELY(val) (__builtin_expect((val), 0))
+#else
+#define UNLIKELY(val) (val)
+#endif
+
+namespace apache { namespace thrift { namespace protocol {
+
+namespace detail { namespace compact {
+
+enum Types {
+ CT_STOP = 0x00,
+ CT_BOOLEAN_TRUE = 0x01,
+ CT_BOOLEAN_FALSE = 0x02,
+ CT_BYTE = 0x03,
+ CT_I16 = 0x04,
+ CT_I32 = 0x05,
+ CT_I64 = 0x06,
+ CT_DOUBLE = 0x07,
+ CT_BINARY = 0x08,
+ CT_LIST = 0x09,
+ CT_SET = 0x0A,
+ CT_MAP = 0x0B,
+ CT_STRUCT = 0x0C
+};
+
+const int8_t TTypeToCType[16] = {
+ CT_STOP, // T_STOP
+ 0, // unused
+ CT_BOOLEAN_TRUE, // T_BOOL
+ CT_BYTE, // T_BYTE
+ CT_DOUBLE, // T_DOUBLE
+ 0, // unused
+ CT_I16, // T_I16
+ 0, // unused
+ CT_I32, // T_I32
+ 0, // unused
+ CT_I64, // T_I64
+ CT_BINARY, // T_STRING
+ CT_STRUCT, // T_STRUCT
+ CT_MAP, // T_MAP
+ CT_SET, // T_SET
+ CT_LIST, // T_LIST
+};
+
+}} // end detail::compact namespace
+
+
+template <class Transport_>
+uint32_t TCompactProtocolT<Transport_>::writeMessageBegin(
+ const std::string& name,
+ const TMessageType messageType,
+ const int32_t seqid) {
+ uint32_t wsize = 0;
+ wsize += writeByte(PROTOCOL_ID);
+ wsize += writeByte((VERSION_N & VERSION_MASK) | (((int32_t)messageType << TYPE_SHIFT_AMOUNT) & TYPE_MASK));
+ wsize += writeVarint32(seqid);
+ wsize += writeString(name);
+ return wsize;
+}
+
+/**
+ * Write a field header containing the field id and field type. If the
+ * difference between the current field id and the last one is small (< 15),
+ * then the field id will be encoded in the 4 MSB as a delta. Otherwise, the
+ * field id will follow the type header as a zigzag varint.
+ */
+template <class Transport_>
+uint32_t TCompactProtocolT<Transport_>::writeFieldBegin(const char* name,
+ const TType fieldType,
+ const int16_t fieldId) {
+ if (fieldType == T_BOOL) {
+ booleanField_.name = name;
+ booleanField_.fieldType = fieldType;
+ booleanField_.fieldId = fieldId;
+ } else {
+ return writeFieldBeginInternal(name, fieldType, fieldId, -1);
+ }
+ return 0;
+}
+
+/**
+ * Write the STOP symbol so we know there are no more fields in this struct.
+ */
+template <class Transport_>
+uint32_t TCompactProtocolT<Transport_>::writeFieldStop() {
+ return writeByte(T_STOP);
+}
+
+/**
+ * Write a struct begin. This doesn't actually put anything on the wire. We
+ * use it as an opportunity to put special placeholder markers on the field
+ * stack so we can get the field id deltas correct.
+ */
+template <class Transport_>
+uint32_t TCompactProtocolT<Transport_>::writeStructBegin(const char* name) {
+ (void) name;
+ lastField_.push(lastFieldId_);
+ lastFieldId_ = 0;
+ return 0;
+}
+
+/**
+ * Write a struct end. This doesn't actually put anything on the wire. We use
+ * this as an opportunity to pop the last field from the current struct off
+ * of the field stack.
+ */
+template <class Transport_>
+uint32_t TCompactProtocolT<Transport_>::writeStructEnd() {
+ lastFieldId_ = lastField_.top();
+ lastField_.pop();
+ return 0;
+}
+
+/**
+ * Write a List header.
+ */
+template <class Transport_>
+uint32_t TCompactProtocolT<Transport_>::writeListBegin(const TType elemType,
+ const uint32_t size) {
+ return writeCollectionBegin(elemType, size);
+}
+
+/**
+ * Write a set header.
+ */
+template <class Transport_>
+uint32_t TCompactProtocolT<Transport_>::writeSetBegin(const TType elemType,
+ const uint32_t size) {
+ return writeCollectionBegin(elemType, size);
+}
+
+/**
+ * Write a map header. If the map is empty, omit the key and value type
+ * headers, as we don't need any additional information to skip it.
+ */
+template <class Transport_>
+uint32_t TCompactProtocolT<Transport_>::writeMapBegin(const TType keyType,
+ const TType valType,
+ const uint32_t size) {
+ uint32_t wsize = 0;
+
+ if (size == 0) {
+ wsize += writeByte(0);
+ } else {
+ wsize += writeVarint32(size);
+ wsize += writeByte(getCompactType(keyType) << 4 | getCompactType(valType));
+ }
+ return wsize;
+}
+
+/**
+ * Write a boolean value. Potentially, this could be a boolean field, in
+ * which case the field header info isn't written yet. If so, decide what the
+ * right type header is for the value and then write the field header.
+ * Otherwise, write a single byte.
+ */
+template <class Transport_>
+uint32_t TCompactProtocolT<Transport_>::writeBool(const bool value) {
+ uint32_t wsize = 0;
+
+ if (booleanField_.name != NULL) {
+ // we haven't written the field header yet
+ wsize
+ += writeFieldBeginInternal(booleanField_.name,
+ booleanField_.fieldType,
+ booleanField_.fieldId,
+ static_cast<int8_t>(value
+ ? detail::compact::CT_BOOLEAN_TRUE
+ : detail::compact::CT_BOOLEAN_FALSE));
+ booleanField_.name = NULL;
+ } else {
+ // we're not part of a field, so just write the value
+ wsize
+ += writeByte(static_cast<int8_t>(value
+ ? detail::compact::CT_BOOLEAN_TRUE
+ : detail::compact::CT_BOOLEAN_FALSE));
+ }
+ return wsize;
+}
+
+template <class Transport_>
+uint32_t TCompactProtocolT<Transport_>::writeByte(const int8_t byte) {
+ trans_->write((uint8_t*)&byte, 1);
+ return 1;
+}
+
+/**
+ * Write an i16 as a zigzag varint.
+ */
+template <class Transport_>
+uint32_t TCompactProtocolT<Transport_>::writeI16(const int16_t i16) {
+ return writeVarint32(i32ToZigzag(i16));
+}
+
+/**
+ * Write an i32 as a zigzag varint.
+ */
+template <class Transport_>
+uint32_t TCompactProtocolT<Transport_>::writeI32(const int32_t i32) {
+ return writeVarint32(i32ToZigzag(i32));
+}
+
+/**
+ * Write an i64 as a zigzag varint.
+ */
+template <class Transport_>
+uint32_t TCompactProtocolT<Transport_>::writeI64(const int64_t i64) {
+ return writeVarint64(i64ToZigzag(i64));
+}
+
+/**
+ * Write a double to the wire as 8 bytes.
+ */
+template <class Transport_>
+uint32_t TCompactProtocolT<Transport_>::writeDouble(const double dub) {
+ BOOST_STATIC_ASSERT(sizeof(double) == sizeof(uint64_t));
+ BOOST_STATIC_ASSERT(std::numeric_limits<double>::is_iec559);
+
+ uint64_t bits = bitwise_cast<uint64_t>(dub);
+ bits = htolell(bits);
+ trans_->write((uint8_t*)&bits, 8);
+ return 8;
+}
+
+/**
+ * Write a string to the wire with a varint size preceeding.
+ */
+template <class Transport_>
+uint32_t TCompactProtocolT<Transport_>::writeString(const std::string& str) {
+ return writeBinary(str);
+}
+
+template <class Transport_>
+uint32_t TCompactProtocolT<Transport_>::writeBinary(const std::string& str) {
+ uint32_t ssize = str.size();
+ uint32_t wsize = writeVarint32(ssize) + ssize;
+ trans_->write((uint8_t*)str.data(), ssize);
+ return wsize;
+}
+
+//
+// Internal Writing methods
+//
+
+/**
+ * The workhorse of writeFieldBegin. It has the option of doing a
+ * 'type override' of the type header. This is used specifically in the
+ * boolean field case.
+ */
+template <class Transport_>
+int32_t TCompactProtocolT<Transport_>::writeFieldBeginInternal(
+ const char* name,
+ const TType fieldType,
+ const int16_t fieldId,
+ int8_t typeOverride) {
+ (void) name;
+ uint32_t wsize = 0;
+
+ // if there's a type override, use that.
+ int8_t typeToWrite = (typeOverride == -1 ? getCompactType(fieldType) : typeOverride);
+
+ // check if we can use delta encoding for the field id
+ if (fieldId > lastFieldId_ && fieldId - lastFieldId_ <= 15) {
+ // write them together
+ wsize += writeByte(static_cast<int8_t>((fieldId - lastFieldId_)
+ << 4 | typeToWrite));
+ } else {
+ // write them separate
+ wsize += writeByte(typeToWrite);
+ wsize += writeI16(fieldId);
+ }
+
+ lastFieldId_ = fieldId;
+ return wsize;
+}
+
+/**
+ * Abstract method for writing the start of lists and sets. List and sets on
+ * the wire differ only by the type indicator.
+ */
+template <class Transport_>
+uint32_t TCompactProtocolT<Transport_>::writeCollectionBegin(const TType elemType,
+ int32_t size) {
+ uint32_t wsize = 0;
+ if (size <= 14) {
+ wsize += writeByte(static_cast<int8_t>(size
+ << 4 | getCompactType(elemType)));
+ } else {
+ wsize += writeByte(0xf0 | getCompactType(elemType));
+ wsize += writeVarint32(size);
+ }
+ return wsize;
+}
+
+/**
+ * Write an i32 as a varint. Results in 1-5 bytes on the wire.
+ */
+template <class Transport_>
+uint32_t TCompactProtocolT<Transport_>::writeVarint32(uint32_t n) {
+ uint8_t buf[5];
+ uint32_t wsize = 0;
+
+ while (true) {
+ if ((n & ~0x7F) == 0) {
+ buf[wsize++] = (int8_t)n;
+ break;
+ } else {
+ buf[wsize++] = (int8_t)((n & 0x7F) | 0x80);
+ n >>= 7;
+ }
+ }
+ trans_->write(buf, wsize);
+ return wsize;
+}
+
+/**
+ * Write an i64 as a varint. Results in 1-10 bytes on the wire.
+ */
+template <class Transport_>
+uint32_t TCompactProtocolT<Transport_>::writeVarint64(uint64_t n) {
+ uint8_t buf[10];
+ uint32_t wsize = 0;
+
+ while (true) {
+ if ((n & ~0x7FL) == 0) {
+ buf[wsize++] = (int8_t)n;
+ break;
+ } else {
+ buf[wsize++] = (int8_t)((n & 0x7F) | 0x80);
+ n >>= 7;
+ }
+ }
+ trans_->write(buf, wsize);
+ return wsize;
+}
+
+/**
+ * Convert l into a zigzag long. This allows negative numbers to be
+ * represented compactly as a varint.
+ */
+template <class Transport_>
+uint64_t TCompactProtocolT<Transport_>::i64ToZigzag(const int64_t l) {
+ return (l << 1) ^ (l >> 63);
+}
+
+/**
+ * Convert n into a zigzag int. This allows negative numbers to be
+ * represented compactly as a varint.
+ */
+template <class Transport_>
+uint32_t TCompactProtocolT<Transport_>::i32ToZigzag(const int32_t n) {
+ return (n << 1) ^ (n >> 31);
+}
+
+/**
+ * Given a TType value, find the appropriate detail::compact::Types value
+ */
+template <class Transport_>
+int8_t TCompactProtocolT<Transport_>::getCompactType(const TType ttype) {
+ return detail::compact::TTypeToCType[ttype];
+}
+
+//
+// Reading Methods
+//
+
+/**
+ * Read a message header.
+ */
+template <class Transport_>
+uint32_t TCompactProtocolT<Transport_>::readMessageBegin(
+ std::string& name,
+ TMessageType& messageType,
+ int32_t& seqid) {
+ uint32_t rsize = 0;
+ int8_t protocolId;
+ int8_t versionAndType;
+ int8_t version;
+
+ rsize += readByte(protocolId);
+ if (protocolId != PROTOCOL_ID) {
+ throw TProtocolException(TProtocolException::BAD_VERSION, "Bad protocol identifier");
+ }
+
+ rsize += readByte(versionAndType);
+ version = (int8_t)(versionAndType & VERSION_MASK);
+ if (version != VERSION_N) {
+ throw TProtocolException(TProtocolException::BAD_VERSION, "Bad protocol version");
+ }
+
+ messageType = (TMessageType)((versionAndType >> TYPE_SHIFT_AMOUNT) & 0x03);
+ rsize += readVarint32(seqid);
+ rsize += readString(name);
+
+ return rsize;
+}
+
+/**
+ * Read a struct begin. There's nothing on the wire for this, but it is our
+ * opportunity to push a new struct begin marker on the field stack.
+ */
+template <class Transport_>
+uint32_t TCompactProtocolT<Transport_>::readStructBegin(std::string& name) {
+ name = "";
+ lastField_.push(lastFieldId_);
+ lastFieldId_ = 0;
+ return 0;
+}
+
+/**
+ * Doesn't actually consume any wire data, just removes the last field for
+ * this struct from the field stack.
+ */
+template <class Transport_>
+uint32_t TCompactProtocolT<Transport_>::readStructEnd() {
+ lastFieldId_ = lastField_.top();
+ lastField_.pop();
+ return 0;
+}
+
+/**
+ * Read a field header off the wire.
+ */
+template <class Transport_>
+uint32_t TCompactProtocolT<Transport_>::readFieldBegin(std::string& name,
+ TType& fieldType,
+ int16_t& fieldId) {
+ (void) name;
+ uint32_t rsize = 0;
+ int8_t byte;
+ int8_t type;
+
+ rsize += readByte(byte);
+ type = (byte & 0x0f);
+
+ // if it's a stop, then we can return immediately, as the struct is over.
+ if (type == T_STOP) {
+ fieldType = T_STOP;
+ fieldId = 0;
+ return rsize;
+ }
+
+ // mask off the 4 MSB of the type header. it could contain a field id delta.
+ int16_t modifier = (int16_t)(((uint8_t)byte & 0xf0) >> 4);
+ if (modifier == 0) {
+ // not a delta, look ahead for the zigzag varint field id.
+ rsize += readI16(fieldId);
+ } else {
+ fieldId = (int16_t)(lastFieldId_ + modifier);
+ }
+ fieldType = getTType(type);
+
+ // if this happens to be a boolean field, the value is encoded in the type
+ if (type == detail::compact::CT_BOOLEAN_TRUE ||
+ type == detail::compact::CT_BOOLEAN_FALSE) {
+ // save the boolean value in a special instance variable.
+ boolValue_.hasBoolValue = true;
+ boolValue_.boolValue =
+ (type == detail::compact::CT_BOOLEAN_TRUE ? true : false);
+ }
+
+ // push the new field onto the field stack so we can keep the deltas going.
+ lastFieldId_ = fieldId;
+ return rsize;
+}
+
+/**
+ * Read a map header off the wire. If the size is zero, skip reading the key
+ * and value type. This means that 0-length maps will yield TMaps without the
+ * "correct" types.
+ */
+template <class Transport_>
+uint32_t TCompactProtocolT<Transport_>::readMapBegin(TType& keyType,
+ TType& valType,
+ uint32_t& size) {
+ uint32_t rsize = 0;
+ int8_t kvType = 0;
+ int32_t msize = 0;
+
+ rsize += readVarint32(msize);
+ if (msize != 0)
+ rsize += readByte(kvType);
+
+ if (msize < 0) {
+ throw TProtocolException(TProtocolException::NEGATIVE_SIZE);
+ } else if (container_limit_ && msize > container_limit_) {
+ throw TProtocolException(TProtocolException::SIZE_LIMIT);
+ }
+
+ keyType = getTType((int8_t)((uint8_t)kvType >> 4));
+ valType = getTType((int8_t)((uint8_t)kvType & 0xf));
+ size = (uint32_t)msize;
+
+ return rsize;
+}
+
+/**
+ * Read a list header off the wire. If the list size is 0-14, the size will
+ * be packed into the element type header. If it's a longer list, the 4 MSB
+ * of the element type header will be 0xF, and a varint will follow with the
+ * true size.
+ */
+template <class Transport_>
+uint32_t TCompactProtocolT<Transport_>::readListBegin(TType& elemType,
+ uint32_t& size) {
+ int8_t size_and_type;
+ uint32_t rsize = 0;
+ int32_t lsize;
+
+ rsize += readByte(size_and_type);
+
+ lsize = ((uint8_t)size_and_type >> 4) & 0x0f;
+ if (lsize == 15) {
+ rsize += readVarint32(lsize);
+ }
+
+ if (lsize < 0) {
+ throw TProtocolException(TProtocolException::NEGATIVE_SIZE);
+ } else if (container_limit_ && lsize > container_limit_) {
+ throw TProtocolException(TProtocolException::SIZE_LIMIT);
+ }
+
+ elemType = getTType((int8_t)(size_and_type & 0x0f));
+ size = (uint32_t)lsize;
+
+ return rsize;
+}
+
+/**
+ * Read a set header off the wire. If the set size is 0-14, the size will
+ * be packed into the element type header. If it's a longer set, the 4 MSB
+ * of the element type header will be 0xF, and a varint will follow with the
+ * true size.
+ */
+template <class Transport_>
+uint32_t TCompactProtocolT<Transport_>::readSetBegin(TType& elemType,
+ uint32_t& size) {
+ return readListBegin(elemType, size);
+}
+
+/**
+ * Read a boolean off the wire. If this is a boolean field, the value should
+ * already have been read during readFieldBegin, so we'll just consume the
+ * pre-stored value. Otherwise, read a byte.
+ */
+template <class Transport_>
+uint32_t TCompactProtocolT<Transport_>::readBool(bool& value) {
+ if (boolValue_.hasBoolValue == true) {
+ value = boolValue_.boolValue;
+ boolValue_.hasBoolValue = false;
+ return 0;
+ } else {
+ int8_t val;
+ readByte(val);
+ value = (val == detail::compact::CT_BOOLEAN_TRUE);
+ return 1;
+ }
+}
+
+/**
+ * Read a single byte off the wire. Nothing interesting here.
+ */
+template <class Transport_>
+uint32_t TCompactProtocolT<Transport_>::readByte(int8_t& byte) {
+ uint8_t b[1];
+ trans_->readAll(b, 1);
+ byte = *(int8_t*)b;
+ return 1;
+}
+
+/**
+ * Read an i16 from the wire as a zigzag varint.
+ */
+template <class Transport_>
+uint32_t TCompactProtocolT<Transport_>::readI16(int16_t& i16) {
+ int32_t value;
+ uint32_t rsize = readVarint32(value);
+ i16 = (int16_t)zigzagToI32(value);
+ return rsize;
+}
+
+/**
+ * Read an i32 from the wire as a zigzag varint.
+ */
+template <class Transport_>
+uint32_t TCompactProtocolT<Transport_>::readI32(int32_t& i32) {
+ int32_t value;
+ uint32_t rsize = readVarint32(value);
+ i32 = zigzagToI32(value);
+ return rsize;
+}
+
+/**
+ * Read an i64 from the wire as a zigzag varint.
+ */
+template <class Transport_>
+uint32_t TCompactProtocolT<Transport_>::readI64(int64_t& i64) {
+ int64_t value;
+ uint32_t rsize = readVarint64(value);
+ i64 = zigzagToI64(value);
+ return rsize;
+}
+
+/**
+ * No magic here - just read a double off the wire.
+ */
+template <class Transport_>
+uint32_t TCompactProtocolT<Transport_>::readDouble(double& dub) {
+ BOOST_STATIC_ASSERT(sizeof(double) == sizeof(uint64_t));
+ BOOST_STATIC_ASSERT(std::numeric_limits<double>::is_iec559);
+
+ union {
+ uint64_t bits;
+ uint8_t b[8];
+ } u;
+ trans_->readAll(u.b, 8);
+ u.bits = letohll(u.bits);
+ dub = bitwise_cast<double>(u.bits);
+ return 8;
+}
+
+template <class Transport_>
+uint32_t TCompactProtocolT<Transport_>::readString(std::string& str) {
+ return readBinary(str);
+}
+
+/**
+ * Read a byte[] from the wire.
+ */
+template <class Transport_>
+uint32_t TCompactProtocolT<Transport_>::readBinary(std::string& str) {
+ int32_t rsize = 0;
+ int32_t size;
+
+ rsize += readVarint32(size);
+ // Catch empty string case
+ if (size == 0) {
+ str = "";
+ return rsize;
+ }
+
+ // Catch error cases
+ if (size < 0) {
+ throw TProtocolException(TProtocolException::NEGATIVE_SIZE);
+ }
+ if (string_limit_ > 0 && size > string_limit_) {
+ throw TProtocolException(TProtocolException::SIZE_LIMIT);
+ }
+
+ // Use the heap here to prevent stack overflow for v. large strings
+ if (size > string_buf_size_ || string_buf_ == NULL) {
+ void* new_string_buf = std::realloc(string_buf_, (uint32_t)size);
+ if (new_string_buf == NULL) {
+ throw std::bad_alloc();
+ }
+ string_buf_ = (uint8_t*)new_string_buf;
+ string_buf_size_ = size;
+ }
+ trans_->readAll(string_buf_, size);
+ str.assign((char*)string_buf_, size);
+
+ return rsize + (uint32_t)size;
+}
+
+/**
+ * Read an i32 from the wire as a varint. The MSB of each byte is set
+ * if there is another byte to follow. This can read up to 5 bytes.
+ */
+template <class Transport_>
+uint32_t TCompactProtocolT<Transport_>::readVarint32(int32_t& i32) {
+ int64_t val;
+ uint32_t rsize = readVarint64(val);
+ i32 = (int32_t)val;
+ return rsize;
+}
+
+/**
+ * Read an i64 from the wire as a proper varint. The MSB of each byte is set
+ * if there is another byte to follow. This can read up to 10 bytes.
+ */
+template <class Transport_>
+uint32_t TCompactProtocolT<Transport_>::readVarint64(int64_t& i64) {
+ uint32_t rsize = 0;
+ uint64_t val = 0;
+ int shift = 0;
+ uint8_t buf[10]; // 64 bits / (7 bits/byte) = 10 bytes.
+ uint32_t buf_size = sizeof(buf);
+ const uint8_t* borrowed = trans_->borrow(buf, &buf_size);
+
+ // Fast path.
+ if (borrowed != NULL) {
+ while (true) {
+ uint8_t byte = borrowed[rsize];
+ rsize++;
+ val |= (uint64_t)(byte & 0x7f) << shift;
+ shift += 7;
+ if (!(byte & 0x80)) {
+ i64 = val;
+ trans_->consume(rsize);
+ return rsize;
+ }
+ // Have to check for invalid data so we don't crash.
+ if (UNLIKELY(rsize == sizeof(buf))) {
+ throw TProtocolException(TProtocolException::INVALID_DATA, "Variable-length int over 10 bytes.");
+ }
+ }
+ }
+
+ // Slow path.
+ else {
+ while (true) {
+ uint8_t byte;
+ rsize += trans_->readAll(&byte, 1);
+ val |= (uint64_t)(byte & 0x7f) << shift;
+ shift += 7;
+ if (!(byte & 0x80)) {
+ i64 = val;
+ return rsize;
+ }
+ // Might as well check for invalid data on the slow path too.
+ if (UNLIKELY(rsize >= sizeof(buf))) {
+ throw TProtocolException(TProtocolException::INVALID_DATA, "Variable-length int over 10 bytes.");
+ }
+ }
+ }
+}
+
+/**
+ * Convert from zigzag int to int.
+ */
+template <class Transport_>
+int32_t TCompactProtocolT<Transport_>::zigzagToI32(uint32_t n) {
+ return (n >> 1) ^ -static_cast<int32_t>(n & 1);
+}
+
+/**
+ * Convert from zigzag long to long.
+ */
+template <class Transport_>
+int64_t TCompactProtocolT<Transport_>::zigzagToI64(uint64_t n) {
+ return (n >> 1) ^ -static_cast<int32_t>(n & 1);
+}
+
+template <class Transport_>
+TType TCompactProtocolT<Transport_>::getTType(int8_t type) {
+ switch (type) {
+ case T_STOP:
+ return T_STOP;
+ case detail::compact::CT_BOOLEAN_FALSE:
+ case detail::compact::CT_BOOLEAN_TRUE:
+ return T_BOOL;
+ case detail::compact::CT_BYTE:
+ return T_BYTE;
+ case detail::compact::CT_I16:
+ return T_I16;
+ case detail::compact::CT_I32:
+ return T_I32;
+ case detail::compact::CT_I64:
+ return T_I64;
+ case detail::compact::CT_DOUBLE:
+ return T_DOUBLE;
+ case detail::compact::CT_BINARY:
+ return T_STRING;
+ case detail::compact::CT_LIST:
+ return T_LIST;
+ case detail::compact::CT_SET:
+ return T_SET;
+ case detail::compact::CT_MAP:
+ return T_MAP;
+ case detail::compact::CT_STRUCT:
+ return T_STRUCT;
+ default:
+ throw TException(std::string("don't know what type: ") + (char)type);
+ }
+ return T_STOP;
+}
+
+}}} // apache::thrift::protocol
+
+#endif // _THRIFT_PROTOCOL_TCOMPACTPROTOCOL_TCC_
http://git-wip-us.apache.org/repos/asf/airavata/blob/f891b7dc/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/protocol/TDebugProtocol.cpp
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/protocol/TDebugProtocol.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/protocol/TDebugProtocol.cpp
new file mode 100644
index 0000000..63ea14d
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/protocol/TDebugProtocol.cpp
@@ -0,0 +1,358 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you 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 <thrift/protocol/TDebugProtocol.h>
+
+#include <cassert>
+#include <cctype>
+#include <cstdio>
+#include <stdexcept>
+#include <boost/static_assert.hpp>
+#include <boost/lexical_cast.hpp>
+
+using std::string;
+
+
+static string byte_to_hex(const uint8_t byte) {
+ char buf[3];
+ int ret = std::sprintf(buf, "%02x", (int)byte);
+ THRIFT_UNUSED_VARIABLE(ret);
+ assert(ret == 2);
+ assert(buf[2] == '\0');
+ return buf;
+}
+
+
+namespace apache { namespace thrift { namespace protocol {
+
+string TDebugProtocol::fieldTypeName(TType type) {
+ switch (type) {
+ case T_STOP : return "stop" ;
+ case T_VOID : return "void" ;
+ case T_BOOL : return "bool" ;
+ case T_BYTE : return "byte" ;
+ case T_I16 : return "i16" ;
+ case T_I32 : return "i32" ;
+ case T_U64 : return "u64" ;
+ case T_I64 : return "i64" ;
+ case T_DOUBLE : return "double" ;
+ case T_STRING : return "string" ;
+ case T_STRUCT : return "struct" ;
+ case T_MAP : return "map" ;
+ case T_SET : return "set" ;
+ case T_LIST : return "list" ;
+ case T_UTF8 : return "utf8" ;
+ case T_UTF16 : return "utf16" ;
+ default: return "unknown";
+ }
+}
+
+void TDebugProtocol::indentUp() {
+ indent_str_ += string(indent_inc, ' ');
+}
+
+void TDebugProtocol::indentDown() {
+ if (indent_str_.length() < (string::size_type)indent_inc) {
+ throw TProtocolException(TProtocolException::INVALID_DATA);
+ }
+ indent_str_.erase(indent_str_.length() - indent_inc);
+}
+
+uint32_t TDebugProtocol::writePlain(const string& str) {
+ if(str.length() > (std::numeric_limits<uint32_t>::max)())
+ throw TProtocolException(TProtocolException::SIZE_LIMIT);
+ trans_->write((uint8_t*)str.data(), static_cast<uint32_t>(str.length()));
+ return static_cast<uint32_t>(str.length());
+}
+
+uint32_t TDebugProtocol::writeIndented(const string& str) {
+ if(str.length() > (std::numeric_limits<uint32_t>::max)())
+ throw TProtocolException(TProtocolException::SIZE_LIMIT);
+ if(indent_str_.length() > (std::numeric_limits<uint32_t>::max)())
+ throw TProtocolException(TProtocolException::SIZE_LIMIT);
+ uint64_t total_len = indent_str_.length() + str.length();
+ if(total_len > (std::numeric_limits<uint32_t>::max)())
+ throw TProtocolException(TProtocolException::SIZE_LIMIT);
+ trans_->write((uint8_t*)indent_str_.data(), static_cast<uint32_t>(indent_str_.length()));
+ trans_->write((uint8_t*)str.data(), static_cast<uint32_t>(str.length()));
+ return static_cast<uint32_t>(indent_str_.length() + str.length());
+}
+
+uint32_t TDebugProtocol::startItem() {
+ uint32_t size;
+
+ switch (write_state_.back()) {
+ case UNINIT:
+ // XXX figure out what to do here.
+ //throw TProtocolException(TProtocolException::INVALID_DATA);
+ //return writeIndented(str);
+ return 0;
+ case STRUCT:
+ return 0;
+ case SET:
+ return writeIndented("");
+ case MAP_KEY:
+ return writeIndented("");
+ case MAP_VALUE:
+ return writePlain(" -> ");
+ case LIST:
+ size = writeIndented(
+ "[" + boost::lexical_cast<string>(list_idx_.back()) + "] = ");
+ list_idx_.back()++;
+ return size;
+ default:
+ throw std::logic_error("Invalid enum value.");
+ }
+}
+
+uint32_t TDebugProtocol::endItem() {
+ //uint32_t size;
+
+ switch (write_state_.back()) {
+ case UNINIT:
+ // XXX figure out what to do here.
+ //throw TProtocolException(TProtocolException::INVALID_DATA);
+ //return writeIndented(str);
+ return 0;
+ case STRUCT:
+ return writePlain(",\n");
+ case SET:
+ return writePlain(",\n");
+ case MAP_KEY:
+ write_state_.back() = MAP_VALUE;
+ return 0;
+ case MAP_VALUE:
+ write_state_.back() = MAP_KEY;
+ return writePlain(",\n");
+ case LIST:
+ return writePlain(",\n");
+ default:
+ throw std::logic_error("Invalid enum value.");
+ }
+}
+
+uint32_t TDebugProtocol::writeItem(const std::string& str) {
+ uint32_t size = 0;
+ size += startItem();
+ size += writePlain(str);
+ size += endItem();
+ return size;
+}
+
+uint32_t TDebugProtocol::writeMessageBegin(const std::string& name,
+ const TMessageType messageType,
+ const int32_t seqid) {
+ (void) seqid;
+ string mtype;
+ switch (messageType) {
+ case T_CALL : mtype = "call" ; break;
+ case T_REPLY : mtype = "reply" ; break;
+ case T_EXCEPTION : mtype = "exn" ; break;
+ case T_ONEWAY : mtype = "oneway" ; break;
+ }
+
+ uint32_t size = writeIndented("(" + mtype + ") " + name + "(");
+ indentUp();
+ return size;
+}
+
+uint32_t TDebugProtocol::writeMessageEnd() {
+ indentDown();
+ return writeIndented(")\n");
+}
+
+uint32_t TDebugProtocol::writeStructBegin(const char* name) {
+ uint32_t size = 0;
+ size += startItem();
+ size += writePlain(string(name) + " {\n");
+ indentUp();
+ write_state_.push_back(STRUCT);
+ return size;
+}
+
+uint32_t TDebugProtocol::writeStructEnd() {
+ indentDown();
+ write_state_.pop_back();
+ uint32_t size = 0;
+ size += writeIndented("}");
+ size += endItem();
+ return size;
+}
+
+uint32_t TDebugProtocol::writeFieldBegin(const char* name,
+ const TType fieldType,
+ const int16_t fieldId) {
+ // sprintf(id_str, "%02d", fieldId);
+ string id_str = boost::lexical_cast<string>(fieldId);
+ if (id_str.length() == 1) id_str = '0' + id_str;
+
+ return writeIndented(
+ id_str + ": " +
+ name + " (" +
+ fieldTypeName(fieldType) + ") = ");
+}
+
+uint32_t TDebugProtocol::writeFieldEnd() {
+ assert(write_state_.back() == STRUCT);
+ return 0;
+}
+
+uint32_t TDebugProtocol::writeFieldStop() {
+ return 0;
+ //writeIndented("***STOP***\n");
+}
+
+uint32_t TDebugProtocol::writeMapBegin(const TType keyType,
+ const TType valType,
+ const uint32_t size) {
+ // TODO(dreiss): Optimize short maps?
+ uint32_t bsize = 0;
+ bsize += startItem();
+ bsize += writePlain(
+ "map<" + fieldTypeName(keyType) + "," + fieldTypeName(valType) + ">"
+ "[" + boost::lexical_cast<string>(size) + "] {\n");
+ indentUp();
+ write_state_.push_back(MAP_KEY);
+ return bsize;
+}
+
+uint32_t TDebugProtocol::writeMapEnd() {
+ indentDown();
+ write_state_.pop_back();
+ uint32_t size = 0;
+ size += writeIndented("}");
+ size += endItem();
+ return size;
+}
+
+uint32_t TDebugProtocol::writeListBegin(const TType elemType,
+ const uint32_t size) {
+ // TODO(dreiss): Optimize short arrays.
+ uint32_t bsize = 0;
+ bsize += startItem();
+ bsize += writePlain(
+ "list<" + fieldTypeName(elemType) + ">"
+ "[" + boost::lexical_cast<string>(size) + "] {\n");
+ indentUp();
+ write_state_.push_back(LIST);
+ list_idx_.push_back(0);
+ return bsize;
+}
+
+uint32_t TDebugProtocol::writeListEnd() {
+ indentDown();
+ write_state_.pop_back();
+ list_idx_.pop_back();
+ uint32_t size = 0;
+ size += writeIndented("}");
+ size += endItem();
+ return size;
+}
+
+uint32_t TDebugProtocol::writeSetBegin(const TType elemType,
+ const uint32_t size) {
+ // TODO(dreiss): Optimize short sets.
+ uint32_t bsize = 0;
+ bsize += startItem();
+ bsize += writePlain(
+ "set<" + fieldTypeName(elemType) + ">"
+ "[" + boost::lexical_cast<string>(size) + "] {\n");
+ indentUp();
+ write_state_.push_back(SET);
+ return bsize;
+}
+
+uint32_t TDebugProtocol::writeSetEnd() {
+ indentDown();
+ write_state_.pop_back();
+ uint32_t size = 0;
+ size += writeIndented("}");
+ size += endItem();
+ return size;
+}
+
+uint32_t TDebugProtocol::writeBool(const bool value) {
+ return writeItem(value ? "true" : "false");
+}
+
+uint32_t TDebugProtocol::writeByte(const int8_t byte) {
+ return writeItem("0x" + byte_to_hex(byte));
+}
+
+uint32_t TDebugProtocol::writeI16(const int16_t i16) {
+ return writeItem(boost::lexical_cast<string>(i16));
+}
+
+uint32_t TDebugProtocol::writeI32(const int32_t i32) {
+ return writeItem(boost::lexical_cast<string>(i32));
+}
+
+uint32_t TDebugProtocol::writeI64(const int64_t i64) {
+ return writeItem(boost::lexical_cast<string>(i64));
+}
+
+uint32_t TDebugProtocol::writeDouble(const double dub) {
+ return writeItem(boost::lexical_cast<string>(dub));
+}
+
+
+uint32_t TDebugProtocol::writeString(const string& str) {
+ // XXX Raw/UTF-8?
+
+ string to_show = str;
+ if (to_show.length() > (string::size_type)string_limit_) {
+ to_show = str.substr(0, string_prefix_size_);
+ to_show += "[...](" + boost::lexical_cast<string>(str.length()) + ")";
+ }
+
+ string output = "\"";
+
+ for (string::const_iterator it = to_show.begin(); it != to_show.end(); ++it) {
+ if (*it == '\\') {
+ output += "\\\\";
+ } else if (*it == '"') {
+ output += "\\\"";
+ } else if (std::isprint(*it)) {
+ output += *it;
+ } else {
+ switch (*it) {
+ case '\a': output += "\\a"; break;
+ case '\b': output += "\\b"; break;
+ case '\f': output += "\\f"; break;
+ case '\n': output += "\\n"; break;
+ case '\r': output += "\\r"; break;
+ case '\t': output += "\\t"; break;
+ case '\v': output += "\\v"; break;
+ default:
+ output += "\\x";
+ output += byte_to_hex(*it);
+ }
+ }
+ }
+
+ output += '\"';
+ return writeItem(output);
+}
+
+uint32_t TDebugProtocol::writeBinary(const string& str) {
+ // XXX Hex?
+ return TDebugProtocol::writeString(str);
+}
+
+}}} // apache::thrift::protocol
http://git-wip-us.apache.org/repos/asf/airavata/blob/f891b7dc/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/protocol/TDebugProtocol.h
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/protocol/TDebugProtocol.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/protocol/TDebugProtocol.h
new file mode 100644
index 0000000..f85e691
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/protocol/TDebugProtocol.h
@@ -0,0 +1,227 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you 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 _THRIFT_PROTOCOL_TDEBUGPROTOCOL_H_
+#define _THRIFT_PROTOCOL_TDEBUGPROTOCOL_H_ 1
+
+#include <thrift/protocol/TVirtualProtocol.h>
+
+#include <boost/shared_ptr.hpp>
+
+namespace apache { namespace thrift { namespace protocol {
+
+/*
+
+!!! EXPERIMENTAL CODE !!!
+
+This protocol is very much a work in progress.
+It doesn't handle many cases properly.
+It throws exceptions in many cases.
+It probably segfaults in many cases.
+Bug reports and feature requests are welcome.
+Complaints are not. :R
+
+*/
+
+
+/**
+ * Protocol that prints the payload in a nice human-readable format.
+ * Reading from this protocol is not supported.
+ *
+ */
+class TDebugProtocol : public TVirtualProtocol<TDebugProtocol> {
+ private:
+ enum write_state_t
+ { UNINIT
+ , STRUCT
+ , LIST
+ , SET
+ , MAP_KEY
+ , MAP_VALUE
+ };
+
+ public:
+ TDebugProtocol(boost::shared_ptr<TTransport> trans)
+ : TVirtualProtocol<TDebugProtocol>(trans)
+ , trans_(trans.get())
+ , string_limit_(DEFAULT_STRING_LIMIT)
+ , string_prefix_size_(DEFAULT_STRING_PREFIX_SIZE)
+ {
+ write_state_.push_back(UNINIT);
+ }
+
+ static const int32_t DEFAULT_STRING_LIMIT = 256;
+ static const int32_t DEFAULT_STRING_PREFIX_SIZE = 16;
+
+ void setStringSizeLimit(int32_t string_limit) {
+ string_limit_ = string_limit;
+ }
+
+ void setStringPrefixSize(int32_t string_prefix_size) {
+ string_prefix_size_ = string_prefix_size;
+ }
+
+
+ uint32_t writeMessageBegin(const std::string& name,
+ const TMessageType messageType,
+ const int32_t seqid);
+
+ uint32_t writeMessageEnd();
+
+
+ uint32_t writeStructBegin(const char* name);
+
+ uint32_t writeStructEnd();
+
+ uint32_t writeFieldBegin(const char* name,
+ const TType fieldType,
+ const int16_t fieldId);
+
+ uint32_t writeFieldEnd();
+
+ uint32_t writeFieldStop();
+
+ uint32_t writeMapBegin(const TType keyType,
+ const TType valType,
+ const uint32_t size);
+
+ uint32_t writeMapEnd();
+
+ uint32_t writeListBegin(const TType elemType,
+ const uint32_t size);
+
+ uint32_t writeListEnd();
+
+ uint32_t writeSetBegin(const TType elemType,
+ const uint32_t size);
+
+ uint32_t writeSetEnd();
+
+ uint32_t writeBool(const bool value);
+
+ uint32_t writeByte(const int8_t byte);
+
+ uint32_t writeI16(const int16_t i16);
+
+ uint32_t writeI32(const int32_t i32);
+
+ uint32_t writeI64(const int64_t i64);
+
+ uint32_t writeDouble(const double dub);
+
+ uint32_t writeString(const std::string& str);
+
+ uint32_t writeBinary(const std::string& str);
+
+
+ private:
+ void indentUp();
+ void indentDown();
+ uint32_t writePlain(const std::string& str);
+ uint32_t writeIndented(const std::string& str);
+ uint32_t startItem();
+ uint32_t endItem();
+ uint32_t writeItem(const std::string& str);
+
+ static std::string fieldTypeName(TType type);
+
+ TTransport* trans_;
+
+ int32_t string_limit_;
+ int32_t string_prefix_size_;
+
+ std::string indent_str_;
+ static const int indent_inc = 2;
+
+ std::vector<write_state_t> write_state_;
+ std::vector<int> list_idx_;
+};
+
+/**
+ * Constructs debug protocol handlers
+ */
+class TDebugProtocolFactory : public TProtocolFactory {
+ public:
+ TDebugProtocolFactory() {}
+ virtual ~TDebugProtocolFactory() {}
+
+ boost::shared_ptr<TProtocol> getProtocol(boost::shared_ptr<TTransport> trans) {
+ return boost::shared_ptr<TProtocol>(new TDebugProtocol(trans));
+ }
+
+};
+
+}}} // apache::thrift::protocol
+
+
+// TODO(dreiss): Move (part of) ThriftDebugString into a .cpp file and remove this.
+#include <thrift/transport/TBufferTransports.h>
+
+namespace apache { namespace thrift {
+
+template<typename ThriftStruct>
+std::string ThriftDebugString(const ThriftStruct& ts) {
+ using namespace apache::thrift::transport;
+ using namespace apache::thrift::protocol;
+ TMemoryBuffer* buffer = new TMemoryBuffer;
+ boost::shared_ptr<TTransport> trans(buffer);
+ TDebugProtocol protocol(trans);
+
+ ts.write(&protocol);
+
+ uint8_t* buf;
+ uint32_t size;
+ buffer->getBuffer(&buf, &size);
+ return std::string((char*)buf, (unsigned int)size);
+}
+
+// TODO(dreiss): This is badly broken. Don't use it unless you are me.
+#if 0
+template<typename Object>
+std::string DebugString(const std::vector<Object>& vec) {
+ using namespace apache::thrift::transport;
+ using namespace apache::thrift::protocol;
+ TMemoryBuffer* buffer = new TMemoryBuffer;
+ boost::shared_ptr<TTransport> trans(buffer);
+ TDebugProtocol protocol(trans);
+
+ // I am gross!
+ protocol.writeStructBegin("SomeRandomVector");
+
+ // TODO: Fix this with a trait.
+ protocol.writeListBegin((TType)99, vec.size());
+ typename std::vector<Object>::const_iterator it;
+ for (it = vec.begin(); it != vec.end(); ++it) {
+ it->write(&protocol);
+ }
+ protocol.writeListEnd();
+
+ uint8_t* buf;
+ uint32_t size;
+ buffer->getBuffer(&buf, &size);
+ return std::string((char*)buf, (unsigned int)size);
+}
+#endif // 0
+
+}} // apache::thrift
+
+
+#endif // #ifndef _THRIFT_PROTOCOL_TDEBUGPROTOCOL_H_
+
+
[08/47] Added c++ client samples for integrattion of airavata with
any other application's c++ interface
Posted by sm...@apache.org.
http://git-wip-us.apache.org/repos/asf/airavata/blob/f891b7dc/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/protocol/TDenseProtocol.cpp
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/protocol/TDenseProtocol.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/protocol/TDenseProtocol.cpp
new file mode 100644
index 0000000..4fbfc13
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/protocol/TDenseProtocol.cpp
@@ -0,0 +1,768 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you 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.
+ */
+
+/*
+
+IMPLEMENTATION DETAILS
+
+TDenseProtocol was designed to have a smaller serialized form than
+TBinaryProtocol. This is accomplished using two techniques. The first is
+variable-length integer encoding. We use the same technique that the Standard
+MIDI File format uses for "variable-length quantities"
+(http://en.wikipedia.org/wiki/Variable-length_quantity).
+All integers (including i16, but not byte) are first cast to uint64_t,
+then written out as variable-length quantities. This has the unfortunate side
+effect that all negative numbers require 10 bytes, but negative numbers tend
+to be far less common than positive ones.
+
+The second technique eliminating the field ids used by TBinaryProtocol. This
+decision required support from the Thrift compiler and also sacrifices some of
+the backward and forward compatibility of TBinaryProtocol.
+
+We considered implementing this technique by generating separate readers and
+writers for the dense protocol (this is how Pillar, Thrift's predecessor,
+worked), but this idea had a few problems:
+- Our abstractions go out the window.
+- We would have to maintain a second code generator.
+- Preserving compatibility with old versions of the structures would be a
+ nightmare.
+
+Therefore, we chose an alternate implementation that stored the description of
+the data neither in the data itself (like TBinaryProtocol) nor in the
+serialization code (like Pillar), but instead in a separate data structure,
+called a TypeSpec. TypeSpecs are generated by the Thrift compiler
+(specifically in the t_cpp_generator), and their structure should be
+documented there (TODO(dreiss): s/should be/is/).
+
+We maintain a stack of TypeSpecs within the protocol so it knows where the
+generated code is in the reading/writing process. For example, if we are
+writing an i32 contained in a struct bar, contained in a struct foo, then the
+stack would look like: TOP , i32 , struct bar , struct foo , BOTTOM.
+The following invariant: whenever we are about to read/write an object
+(structBegin, containerBegin, or a scalar), the TypeSpec on the top of the
+stack must match the type being read/written. The main reasons that this
+invariant must be maintained is that if we ever start reading a structure, we
+must have its exact TypeSpec in order to pass the right tags to the
+deserializer.
+
+We use the following strategies for maintaining this invariant:
+
+- For structures, we have a separate stack of indexes, one for each structure
+ on the TypeSpec stack. These are indexes into the list of fields in the
+ structure's TypeSpec. When we {read,write}FieldBegin, we push on the
+ TypeSpec for the field.
+- When we begin writing a list or set, we push on the TypeSpec for the
+ element type.
+- For maps, we have a separate stack of booleans, one for each map on the
+ TypeSpec stack. The boolean is true if we are writing the key for that
+ map, and false if we are writing the value. Maps are the trickiest case
+ because the generated code does not call any protocol method between
+ the key and the value. As a result, we potentially have to switch
+ between map key state and map value state after reading/writing any object.
+- This job is handled by the stateTransition method. It is called after
+ reading/writing every object. It pops the current TypeSpec off the stack,
+ then optionally pushes a new one on, depending on what the next TypeSpec is.
+ If it is a struct, the job is left to the next writeFieldBegin. If it is a
+ set or list, the just-popped typespec is pushed back on. If it is a map,
+ the top of the key/value stack is toggled, and the appropriate TypeSpec
+ is pushed.
+
+Optional fields are a little tricky also. We write a zero byte if they are
+absent and prefix them with an 0x01 byte if they are present
+*/
+
+#define __STDC_LIMIT_MACROS
+#include <stdint.h>
+#include <thrift/protocol/TDenseProtocol.h>
+#include <thrift/TReflectionLocal.h>
+
+// Leaving this on for now. Disabling it will turn off asserts, which should
+// give a performance boost. When we have *really* thorough test cases,
+// we should drop this.
+#define DEBUG_TDENSEPROTOCOL
+
+// NOTE: Assertions should *only* be used to detect bugs in code,
+// either in TDenseProtocol itself, or in code using it.
+// (For example, using the wrong TypeSpec.)
+// Invalid data should NEVER cause an assertion failure,
+// no matter how grossly corrupted, nor how ingeniously crafted.
+#ifdef DEBUG_TDENSEPROTOCOL
+#undef NDEBUG
+#else
+#define NDEBUG
+#endif
+#include <cassert>
+
+using std::string;
+
+#ifdef __GNUC__
+#define UNLIKELY(val) (__builtin_expect((val), 0))
+#else
+#define UNLIKELY(val) (val)
+#endif
+
+namespace apache { namespace thrift { namespace protocol {
+
+const int TDenseProtocol::FP_PREFIX_LEN =
+ apache::thrift::reflection::local::FP_PREFIX_LEN;
+
+// Top TypeSpec. TypeSpec of the structure being encoded.
+#define TTS (ts_stack_.back()) // type = TypeSpec*
+// InDeX. Index into TTS of the current/next field to encode.
+#define IDX (idx_stack_.back()) // type = int
+// Field TypeSpec. TypeSpec of the current/next field to encode.
+#define FTS (TTS->tstruct.specs[IDX]) // type = TypeSpec*
+// Field MeTa. Metadata of the current/next field to encode.
+#define FMT (TTS->tstruct.metas[IDX]) // type = FieldMeta
+// SubType 1/2. TypeSpec of the first/second subtype of this container.
+#define ST1 (TTS->tcontainer.subtype1)
+#define ST2 (TTS->tcontainer.subtype2)
+
+
+/**
+ * Checks that @c ttype is indeed the ttype that we should be writing,
+ * according to our typespec. Aborts if the test fails and debugging in on.
+ */
+inline void TDenseProtocol::checkTType(const TType ttype) {
+ assert(!ts_stack_.empty());
+ assert(TTS->ttype == ttype);
+}
+
+/**
+ * Makes sure that the TypeSpec stack is correct for the next object.
+ * See top-of-file comments.
+ */
+inline void TDenseProtocol::stateTransition() {
+ TypeSpec* old_tts = ts_stack_.back();
+ ts_stack_.pop_back();
+
+ // If this is the end of the top-level write, we should have just popped
+ // the TypeSpec passed to the constructor.
+ if (ts_stack_.empty()) {
+ assert(old_tts = type_spec_);
+ return;
+ }
+
+ switch (TTS->ttype) {
+
+ case T_STRUCT:
+ assert(old_tts == FTS);
+ break;
+
+ case T_LIST:
+ case T_SET:
+ assert(old_tts == ST1);
+ ts_stack_.push_back(old_tts);
+ break;
+
+ case T_MAP:
+ assert(old_tts == (mkv_stack_.back() ? ST1 : ST2));
+ mkv_stack_.back() = !mkv_stack_.back();
+ ts_stack_.push_back(mkv_stack_.back() ? ST1 : ST2);
+ break;
+
+ default:
+ assert(!"Invalid TType in stateTransition.");
+ break;
+
+ }
+}
+
+
+/*
+ * Variable-length quantity functions.
+ */
+
+inline uint32_t TDenseProtocol::vlqRead(uint64_t& vlq) {
+ uint32_t used = 0;
+ uint64_t val = 0;
+ uint8_t buf[10]; // 64 bits / (7 bits/byte) = 10 bytes.
+ uint32_t buf_size = sizeof(buf);
+ const uint8_t* borrowed = trans_->borrow(buf, &buf_size);
+
+ // Fast path. TODO(dreiss): Make it faster.
+ if (borrowed != NULL) {
+ while (true) {
+ uint8_t byte = borrowed[used];
+ used++;
+ val = (val << 7) | (byte & 0x7f);
+ if (!(byte & 0x80)) {
+ vlq = val;
+ trans_->consume(used);
+ return used;
+ }
+ // Have to check for invalid data so we don't crash.
+ if (UNLIKELY(used == sizeof(buf))) {
+ resetState();
+ throw TProtocolException(TProtocolException::INVALID_DATA, "Variable-length int over 10 bytes.");
+ }
+ }
+ }
+
+ // Slow path.
+ else {
+ while (true) {
+ uint8_t byte;
+ used += trans_->readAll(&byte, 1);
+ val = (val << 7) | (byte & 0x7f);
+ if (!(byte & 0x80)) {
+ vlq = val;
+ return used;
+ }
+ // Might as well check for invalid data on the slow path too.
+ if (UNLIKELY(used >= sizeof(buf))) {
+ resetState();
+ throw TProtocolException(TProtocolException::INVALID_DATA, "Variable-length int over 10 bytes.");
+ }
+ }
+ }
+}
+
+inline uint32_t TDenseProtocol::vlqWrite(uint64_t vlq) {
+ uint8_t buf[10]; // 64 bits / (7 bits/byte) = 10 bytes.
+ int32_t pos = sizeof(buf) - 1;
+
+ // Write the thing from back to front.
+ buf[pos] = vlq & 0x7f;
+ vlq >>= 7;
+ pos--;
+
+ while (vlq > 0) {
+ assert(pos >= 0);
+ buf[pos] = static_cast<uint8_t>(vlq | 0x80);
+ vlq >>= 7;
+ pos--;
+ }
+
+ // Back up one step before writing.
+ pos++;
+
+ trans_->write(buf+pos, static_cast<uint32_t>(sizeof(buf) - pos));
+ return static_cast<uint32_t>(sizeof(buf) - pos);
+}
+
+
+
+/*
+ * Writing functions.
+ */
+
+uint32_t TDenseProtocol::writeMessageBegin(const std::string& name,
+ const TMessageType messageType,
+ const int32_t seqid) {
+ throw TException("TDenseProtocol doesn't work with messages (yet).");
+
+ int32_t version = (VERSION_2) | ((int32_t)messageType);
+ uint32_t wsize = 0;
+ wsize += subWriteI32(version);
+ wsize += subWriteString(name);
+ wsize += subWriteI32(seqid);
+ return wsize;
+}
+
+uint32_t TDenseProtocol::writeMessageEnd() {
+ return 0;
+}
+
+uint32_t TDenseProtocol::writeStructBegin(const char* name) {
+ (void) name;
+ uint32_t xfer = 0;
+
+ // The TypeSpec stack should be empty if this is the top-level read/write.
+ // If it is, we push the TypeSpec passed to the constructor.
+ if (ts_stack_.empty()) {
+ assert(standalone_);
+
+ if (type_spec_ == NULL) {
+ resetState();
+ throw TException("TDenseProtocol: No type specified.");
+ } else {
+ assert(type_spec_->ttype == T_STRUCT);
+ ts_stack_.push_back(type_spec_);
+ // Write out a prefix of the structure fingerprint.
+ trans_->write(type_spec_->fp_prefix, FP_PREFIX_LEN);
+ xfer += FP_PREFIX_LEN;
+ }
+ }
+
+ // We need a new field index for this structure.
+ idx_stack_.push_back(0);
+ return 0;
+}
+
+uint32_t TDenseProtocol::writeStructEnd() {
+ idx_stack_.pop_back();
+ stateTransition();
+ return 0;
+}
+
+uint32_t TDenseProtocol::writeFieldBegin(const char* name,
+ const TType fieldType,
+ const int16_t fieldId) {
+ (void) name;
+ uint32_t xfer = 0;
+
+ // Skip over optional fields.
+ while (FMT.tag != fieldId) {
+ // TODO(dreiss): Old meta here.
+ assert(FTS->ttype != T_STOP);
+ assert(FMT.is_optional);
+ // Write a zero byte so the reader can skip it.
+ xfer += subWriteBool(false);
+ // And advance to the next field.
+ IDX++;
+ }
+
+ // TODO(dreiss): give a better exception.
+ assert(FTS->ttype == fieldType);
+
+ if (FMT.is_optional) {
+ subWriteBool(true);
+ xfer += 1;
+ }
+
+ // writeFieldStop shares all lot of logic up to this point.
+ // Instead of replicating it all, we just call this method from that one
+ // and use a gross special case here.
+ if (UNLIKELY(FTS->ttype != T_STOP)) {
+ // For normal fields, push the TypeSpec that we're about to use.
+ ts_stack_.push_back(FTS);
+ }
+ return xfer;
+}
+
+uint32_t TDenseProtocol::writeFieldEnd() {
+ // Just move on to the next field.
+ IDX++;
+ return 0;
+}
+
+uint32_t TDenseProtocol::writeFieldStop() {
+ return TDenseProtocol::writeFieldBegin("", T_STOP, 0);
+}
+
+uint32_t TDenseProtocol::writeMapBegin(const TType keyType,
+ const TType valType,
+ const uint32_t size) {
+ checkTType(T_MAP);
+
+ assert(keyType == ST1->ttype);
+ assert(valType == ST2->ttype);
+
+ ts_stack_.push_back(ST1);
+ mkv_stack_.push_back(true);
+
+ return subWriteI32((int32_t)size);
+}
+
+uint32_t TDenseProtocol::writeMapEnd() {
+ // Pop off the value type, as well as our entry in the map key/value stack.
+ // stateTransition takes care of popping off our TypeSpec.
+ ts_stack_.pop_back();
+ mkv_stack_.pop_back();
+ stateTransition();
+ return 0;
+}
+
+uint32_t TDenseProtocol::writeListBegin(const TType elemType,
+ const uint32_t size) {
+ checkTType(T_LIST);
+
+ assert(elemType == ST1->ttype);
+ ts_stack_.push_back(ST1);
+ return subWriteI32((int32_t)size);
+}
+
+uint32_t TDenseProtocol::writeListEnd() {
+ // Pop off the element type. stateTransition takes care of popping off ours.
+ ts_stack_.pop_back();
+ stateTransition();
+ return 0;
+}
+
+uint32_t TDenseProtocol::writeSetBegin(const TType elemType,
+ const uint32_t size) {
+ checkTType(T_SET);
+
+ assert(elemType == ST1->ttype);
+ ts_stack_.push_back(ST1);
+ return subWriteI32((int32_t)size);
+}
+
+uint32_t TDenseProtocol::writeSetEnd() {
+ // Pop off the element type. stateTransition takes care of popping off ours.
+ ts_stack_.pop_back();
+ stateTransition();
+ return 0;
+}
+
+uint32_t TDenseProtocol::writeBool(const bool value) {
+ checkTType(T_BOOL);
+ stateTransition();
+ return TBinaryProtocol::writeBool(value);
+}
+
+uint32_t TDenseProtocol::writeByte(const int8_t byte) {
+ checkTType(T_BYTE);
+ stateTransition();
+ return TBinaryProtocol::writeByte(byte);
+}
+
+uint32_t TDenseProtocol::writeI16(const int16_t i16) {
+ checkTType(T_I16);
+ stateTransition();
+ return vlqWrite(i16);
+}
+
+uint32_t TDenseProtocol::writeI32(const int32_t i32) {
+ checkTType(T_I32);
+ stateTransition();
+ return vlqWrite(i32);
+}
+
+uint32_t TDenseProtocol::writeI64(const int64_t i64) {
+ checkTType(T_I64);
+ stateTransition();
+ return vlqWrite(i64);
+}
+
+uint32_t TDenseProtocol::writeDouble(const double dub) {
+ checkTType(T_DOUBLE);
+ stateTransition();
+ return TBinaryProtocol::writeDouble(dub);
+}
+
+uint32_t TDenseProtocol::writeString(const std::string& str) {
+ checkTType(T_STRING);
+ stateTransition();
+ return subWriteString(str);
+}
+
+uint32_t TDenseProtocol::writeBinary(const std::string& str) {
+ return TDenseProtocol::writeString(str);
+}
+
+inline uint32_t TDenseProtocol::subWriteI32(const int32_t i32) {
+ return vlqWrite(i32);
+}
+
+uint32_t TDenseProtocol::subWriteString(const std::string& str) {
+ if(str.size() > static_cast<size_t>((std::numeric_limits<int32_t>::max)()))
+ throw TProtocolException(TProtocolException::SIZE_LIMIT);
+ uint32_t size = static_cast<uint32_t>(str.size());
+ uint32_t xfer = subWriteI32((int32_t)size);
+ if (size > 0) {
+ trans_->write((uint8_t*)str.data(), size);
+ }
+ return xfer + size;
+}
+
+
+
+/*
+ * Reading functions
+ *
+ * These have a lot of the same logic as the writing functions, so if
+ * something is confusing, look for comments in the corresponding writer.
+ */
+
+uint32_t TDenseProtocol::readMessageBegin(std::string& name,
+ TMessageType& messageType,
+ int32_t& seqid) {
+ throw TException("TDenseProtocol doesn't work with messages (yet).");
+
+ uint32_t xfer = 0;
+ int32_t sz;
+ xfer += subReadI32(sz);
+
+ if (sz < 0) {
+ // Check for correct version number
+ int32_t version = sz & VERSION_MASK;
+ if (version != VERSION_2) {
+ throw TProtocolException(TProtocolException::BAD_VERSION, "Bad version identifier");
+ }
+ messageType = (TMessageType)(sz & 0x000000ff);
+ xfer += subReadString(name);
+ xfer += subReadI32(seqid);
+ } else {
+ throw TProtocolException(TProtocolException::BAD_VERSION, "No version identifier... old protocol client in strict mode?");
+ }
+ return xfer;
+}
+
+uint32_t TDenseProtocol::readMessageEnd() {
+ return 0;
+}
+
+uint32_t TDenseProtocol::readStructBegin(string& name) {
+ (void) name;
+ uint32_t xfer = 0;
+
+ if (ts_stack_.empty()) {
+ assert(standalone_);
+
+ if (type_spec_ == NULL) {
+ resetState();
+ throw TException("TDenseProtocol: No type specified.");
+ } else {
+ assert(type_spec_->ttype == T_STRUCT);
+ ts_stack_.push_back(type_spec_);
+
+ // Check the fingerprint prefix.
+ uint8_t buf[FP_PREFIX_LEN];
+ xfer += trans_->read(buf, FP_PREFIX_LEN);
+ if (std::memcmp(buf, type_spec_->fp_prefix, FP_PREFIX_LEN) != 0) {
+ resetState();
+ throw TProtocolException(TProtocolException::INVALID_DATA,
+ "Fingerprint in data does not match type_spec.");
+ }
+ }
+ }
+
+ // We need a new field index for this structure.
+ idx_stack_.push_back(0);
+ return 0;
+}
+
+uint32_t TDenseProtocol::readStructEnd() {
+ idx_stack_.pop_back();
+ stateTransition();
+ return 0;
+}
+
+uint32_t TDenseProtocol::readFieldBegin(string& name,
+ TType& fieldType,
+ int16_t& fieldId) {
+ (void) name;
+ uint32_t xfer = 0;
+
+ // For optional fields, check to see if they are there.
+ while (FMT.is_optional) {
+ bool is_present;
+ xfer += subReadBool(is_present);
+ if (is_present) {
+ break;
+ }
+ IDX++;
+ }
+
+ // Once we hit a mandatory field, or an optional field that is present,
+ // we know that FMT and FTS point to the appropriate field.
+
+ fieldId = FMT.tag;
+ fieldType = FTS->ttype;
+
+ // Normally, we push the TypeSpec that we are about to read,
+ // but no reading is done for T_STOP.
+ if (FTS->ttype != T_STOP) {
+ ts_stack_.push_back(FTS);
+ }
+ return xfer;
+}
+
+uint32_t TDenseProtocol::readFieldEnd() {
+ IDX++;
+ return 0;
+}
+
+uint32_t TDenseProtocol::readMapBegin(TType& keyType,
+ TType& valType,
+ uint32_t& size) {
+ checkTType(T_MAP);
+
+ uint32_t xfer = 0;
+ int32_t sizei;
+ xfer += subReadI32(sizei);
+ if (sizei < 0) {
+ resetState();
+ throw TProtocolException(TProtocolException::NEGATIVE_SIZE);
+ } else if (container_limit_ && sizei > container_limit_) {
+ resetState();
+ throw TProtocolException(TProtocolException::SIZE_LIMIT);
+ }
+ size = (uint32_t)sizei;
+
+ keyType = ST1->ttype;
+ valType = ST2->ttype;
+
+ ts_stack_.push_back(ST1);
+ mkv_stack_.push_back(true);
+
+ return xfer;
+}
+
+uint32_t TDenseProtocol::readMapEnd() {
+ ts_stack_.pop_back();
+ mkv_stack_.pop_back();
+ stateTransition();
+ return 0;
+}
+
+uint32_t TDenseProtocol::readListBegin(TType& elemType,
+ uint32_t& size) {
+ checkTType(T_LIST);
+
+ uint32_t xfer = 0;
+ int32_t sizei;
+ xfer += subReadI32(sizei);
+ if (sizei < 0) {
+ resetState();
+ throw TProtocolException(TProtocolException::NEGATIVE_SIZE);
+ } else if (container_limit_ && sizei > container_limit_) {
+ resetState();
+ throw TProtocolException(TProtocolException::SIZE_LIMIT);
+ }
+ size = (uint32_t)sizei;
+
+ elemType = ST1->ttype;
+
+ ts_stack_.push_back(ST1);
+
+ return xfer;
+}
+
+uint32_t TDenseProtocol::readListEnd() {
+ ts_stack_.pop_back();
+ stateTransition();
+ return 0;
+}
+
+uint32_t TDenseProtocol::readSetBegin(TType& elemType,
+ uint32_t& size) {
+ checkTType(T_SET);
+
+ uint32_t xfer = 0;
+ int32_t sizei;
+ xfer += subReadI32(sizei);
+ if (sizei < 0) {
+ resetState();
+ throw TProtocolException(TProtocolException::NEGATIVE_SIZE);
+ } else if (container_limit_ && sizei > container_limit_) {
+ resetState();
+ throw TProtocolException(TProtocolException::SIZE_LIMIT);
+ }
+ size = (uint32_t)sizei;
+
+ elemType = ST1->ttype;
+
+ ts_stack_.push_back(ST1);
+
+ return xfer;
+}
+
+uint32_t TDenseProtocol::readSetEnd() {
+ ts_stack_.pop_back();
+ stateTransition();
+ return 0;
+}
+
+uint32_t TDenseProtocol::readBool(bool& value) {
+ checkTType(T_BOOL);
+ stateTransition();
+ return TBinaryProtocol::readBool(value);
+}
+
+uint32_t TDenseProtocol::readByte(int8_t& byte) {
+ checkTType(T_BYTE);
+ stateTransition();
+ return TBinaryProtocol::readByte(byte);
+}
+
+uint32_t TDenseProtocol::readI16(int16_t& i16) {
+ checkTType(T_I16);
+ stateTransition();
+ uint64_t u64;
+ uint32_t rv = vlqRead(u64);
+ int64_t val = (int64_t)u64;
+ if (UNLIKELY(val > INT16_MAX || val < INT16_MIN)) {
+ resetState();
+ throw TProtocolException(TProtocolException::INVALID_DATA,
+ "i16 out of range.");
+ }
+ i16 = (int16_t)val;
+ return rv;
+}
+
+uint32_t TDenseProtocol::readI32(int32_t& i32) {
+ checkTType(T_I32);
+ stateTransition();
+ uint64_t u64;
+ uint32_t rv = vlqRead(u64);
+ int64_t val = (int64_t)u64;
+ if (UNLIKELY(val > INT32_MAX || val < INT32_MIN)) {
+ resetState();
+ throw TProtocolException(TProtocolException::INVALID_DATA,
+ "i32 out of range.");
+ }
+ i32 = (int32_t)val;
+ return rv;
+}
+
+uint32_t TDenseProtocol::readI64(int64_t& i64) {
+ checkTType(T_I64);
+ stateTransition();
+ uint64_t u64;
+ uint32_t rv = vlqRead(u64);
+ int64_t val = (int64_t)u64;
+ if (UNLIKELY(val > INT64_MAX || val < INT64_MIN)) {
+ resetState();
+ throw TProtocolException(TProtocolException::INVALID_DATA,
+ "i64 out of range.");
+ }
+ i64 = (int64_t)val;
+ return rv;
+}
+
+uint32_t TDenseProtocol::readDouble(double& dub) {
+ checkTType(T_DOUBLE);
+ stateTransition();
+ return TBinaryProtocol::readDouble(dub);
+}
+
+uint32_t TDenseProtocol::readString(std::string& str) {
+ checkTType(T_STRING);
+ stateTransition();
+ return subReadString(str);
+}
+
+uint32_t TDenseProtocol::readBinary(std::string& str) {
+ return TDenseProtocol::readString(str);
+}
+
+uint32_t TDenseProtocol::subReadI32(int32_t& i32) {
+ uint64_t u64;
+ uint32_t rv = vlqRead(u64);
+ int64_t val = (int64_t)u64;
+ if (UNLIKELY(val > INT32_MAX || val < INT32_MIN)) {
+ resetState();
+ throw TProtocolException(TProtocolException::INVALID_DATA,
+ "i32 out of range.");
+ }
+ i32 = (int32_t)val;
+ return rv;
+}
+
+uint32_t TDenseProtocol::subReadString(std::string& str) {
+ uint32_t xfer;
+ int32_t size;
+ xfer = subReadI32(size);
+ return xfer + readStringBody(str, size);
+}
+
+}}} // apache::thrift::protocol
http://git-wip-us.apache.org/repos/asf/airavata/blob/f891b7dc/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/protocol/TDenseProtocol.h
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/protocol/TDenseProtocol.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/protocol/TDenseProtocol.h
new file mode 100644
index 0000000..4808d79
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/protocol/TDenseProtocol.h
@@ -0,0 +1,254 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you 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 _THRIFT_PROTOCOL_TDENSEPROTOCOL_H_
+#define _THRIFT_PROTOCOL_TDENSEPROTOCOL_H_ 1
+
+#include <thrift/protocol/TBinaryProtocol.h>
+
+namespace apache { namespace thrift { namespace protocol {
+
+/**
+ * !!!WARNING!!!
+ * This class is still highly experimental. Incompatible changes
+ * WILL be made to it without notice. DO NOT USE IT YET unless
+ * you are coordinating your testing with the author.
+ *
+ * The dense protocol is designed to use as little space as possible.
+ *
+ * There are two types of dense protocol instances. Standalone instances
+ * are not used for RPC and just encoded and decode structures of
+ * a predetermined type. Non-standalone instances are used for RPC.
+ * Currently, only standalone instances exist.
+ *
+ * To use a standalone dense protocol object, you must set the type_spec
+ * property (either in the constructor, or with setTypeSpec) to the local
+ * reflection TypeSpec of the structures you will write to (or read from) the
+ * protocol instance.
+ *
+ * BEST PRACTICES:
+ * - Never use optional for primitives or containers.
+ * - Only use optional for structures if they are very big and very rarely set.
+ * - All integers are variable-length, so you can use i64 without bloating.
+ * - NEVER EVER change the struct definitions IN ANY WAY without either
+ * changing your cache keys or talking to dreiss.
+ *
+ * TODO(dreiss): New class write with old meta.
+ *
+ * We override all of TBinaryProtocol's methods.
+ * We inherit so that we can can explicitly call TBPs's primitive-writing
+ * methods within our versions.
+ *
+ */
+class TDenseProtocol
+ : public TVirtualProtocol<TDenseProtocol, TBinaryProtocol> {
+ protected:
+ static const int32_t VERSION_MASK = ((int32_t)0xffff0000);
+ // VERSION_1 (0x80010000) is taken by TBinaryProtocol.
+ static const int32_t VERSION_2 = ((int32_t)0x80020000);
+
+ public:
+ typedef apache::thrift::reflection::local::TypeSpec TypeSpec;
+ static const int FP_PREFIX_LEN;
+
+ /**
+ * @param tran The transport to use.
+ * @param type_spec The TypeSpec of the structures using this protocol.
+ */
+ TDenseProtocol(boost::shared_ptr<TTransport> trans,
+ TypeSpec* type_spec = NULL) :
+ TVirtualProtocol<TDenseProtocol, TBinaryProtocol>(trans),
+ type_spec_(type_spec),
+ standalone_(true)
+ {}
+
+ void setTypeSpec(TypeSpec* type_spec) {
+ type_spec_ = type_spec;
+ }
+ TypeSpec* getTypeSpec() {
+ return type_spec_;
+ }
+
+
+ /*
+ * Writing functions.
+ */
+
+ uint32_t writeMessageBegin(const std::string& name,
+ const TMessageType messageType,
+ const int32_t seqid);
+
+ uint32_t writeMessageEnd();
+
+
+ uint32_t writeStructBegin(const char* name);
+
+ uint32_t writeStructEnd();
+
+ uint32_t writeFieldBegin(const char* name,
+ const TType fieldType,
+ const int16_t fieldId);
+
+ uint32_t writeFieldEnd();
+
+ uint32_t writeFieldStop();
+
+ uint32_t writeMapBegin(const TType keyType,
+ const TType valType,
+ const uint32_t size);
+
+ uint32_t writeMapEnd();
+
+ uint32_t writeListBegin(const TType elemType, const uint32_t size);
+
+ uint32_t writeListEnd();
+
+ uint32_t writeSetBegin(const TType elemType, const uint32_t size);
+
+ uint32_t writeSetEnd();
+
+ uint32_t writeBool(const bool value);
+
+ uint32_t writeByte(const int8_t byte);
+
+ uint32_t writeI16(const int16_t i16);
+
+ uint32_t writeI32(const int32_t i32);
+
+ uint32_t writeI64(const int64_t i64);
+
+ uint32_t writeDouble(const double dub);
+
+ uint32_t writeString(const std::string& str);
+
+ uint32_t writeBinary(const std::string& str);
+
+
+ /*
+ * Helper writing functions (don't do state transitions).
+ */
+ inline uint32_t subWriteI32(const int32_t i32);
+
+ inline uint32_t subWriteString(const std::string& str);
+
+ uint32_t subWriteBool(const bool value) {
+ return TBinaryProtocol::writeBool(value);
+ }
+
+
+ /*
+ * Reading functions
+ */
+
+ uint32_t readMessageBegin(std::string& name,
+ TMessageType& messageType,
+ int32_t& seqid);
+
+ uint32_t readMessageEnd();
+
+ uint32_t readStructBegin(std::string& name);
+
+ uint32_t readStructEnd();
+
+ uint32_t readFieldBegin(std::string& name,
+ TType& fieldType,
+ int16_t& fieldId);
+
+ uint32_t readFieldEnd();
+
+ uint32_t readMapBegin(TType& keyType,
+ TType& valType,
+ uint32_t& size);
+
+ uint32_t readMapEnd();
+
+ uint32_t readListBegin(TType& elemType,
+ uint32_t& size);
+
+ uint32_t readListEnd();
+
+ uint32_t readSetBegin(TType& elemType,
+ uint32_t& size);
+
+ uint32_t readSetEnd();
+
+ uint32_t readBool(bool& value);
+ // Provide the default readBool() implementation for std::vector<bool>
+ using TVirtualProtocol<TDenseProtocol, TBinaryProtocol>::readBool;
+
+ uint32_t readByte(int8_t& byte);
+
+ uint32_t readI16(int16_t& i16);
+
+ uint32_t readI32(int32_t& i32);
+
+ uint32_t readI64(int64_t& i64);
+
+ uint32_t readDouble(double& dub);
+
+ uint32_t readString(std::string& str);
+
+ uint32_t readBinary(std::string& str);
+
+ /*
+ * Helper reading functions (don't do state transitions).
+ */
+ inline uint32_t subReadI32(int32_t& i32);
+
+ inline uint32_t subReadString(std::string& str);
+
+ uint32_t subReadBool(bool& value) {
+ return TBinaryProtocol::readBool(value);
+ }
+
+
+ private:
+
+ // Implementation functions, documented in the .cpp.
+ inline void checkTType(const TType ttype);
+ inline void stateTransition();
+
+ // Read and write variable-length integers.
+ // Uses the same technique as the MIDI file format.
+ inline uint32_t vlqRead(uint64_t& vlq);
+ inline uint32_t vlqWrite(uint64_t vlq);
+
+ // Called before throwing an exception to make the object reusable.
+ void resetState() {
+ ts_stack_.clear();
+ idx_stack_.clear();
+ mkv_stack_.clear();
+ }
+
+ // TypeSpec of the top-level structure to write,
+ // for standalone protocol objects.
+ TypeSpec* type_spec_;
+
+ std::vector<TypeSpec*> ts_stack_; // TypeSpec stack.
+ std::vector<int> idx_stack_; // InDeX stack.
+ std::vector<bool> mkv_stack_; // Map Key/Vlue stack.
+ // True = key, False = value.
+
+ // True iff this is a standalone instance (no RPC).
+ bool standalone_;
+};
+
+}}} // apache::thrift::protocol
+
+#endif // #ifndef _THRIFT_PROTOCOL_TDENSEPROTOCOL_H_
http://git-wip-us.apache.org/repos/asf/airavata/blob/f891b7dc/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/protocol/TJSONProtocol.cpp
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/protocol/TJSONProtocol.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/protocol/TJSONProtocol.cpp
new file mode 100644
index 0000000..a0cc8e2
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/protocol/TJSONProtocol.cpp
@@ -0,0 +1,1023 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you 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 <thrift/protocol/TJSONProtocol.h>
+
+#include <math.h>
+#include <boost/lexical_cast.hpp>
+#include <thrift/protocol/TBase64Utils.h>
+#include <thrift/transport/TTransportException.h>
+
+using namespace apache::thrift::transport;
+
+namespace apache { namespace thrift { namespace protocol {
+
+
+// Static data
+
+static const uint8_t kJSONObjectStart = '{';
+static const uint8_t kJSONObjectEnd = '}';
+static const uint8_t kJSONArrayStart = '[';
+static const uint8_t kJSONArrayEnd = ']';
+static const uint8_t kJSONNewline = '\n';
+static const uint8_t kJSONPairSeparator = ':';
+static const uint8_t kJSONElemSeparator = ',';
+static const uint8_t kJSONBackslash = '\\';
+static const uint8_t kJSONStringDelimiter = '"';
+static const uint8_t kJSONZeroChar = '0';
+static const uint8_t kJSONEscapeChar = 'u';
+
+static const std::string kJSONEscapePrefix("\\u00");
+
+static const uint32_t kThriftVersion1 = 1;
+
+static const std::string kThriftNan("NaN");
+static const std::string kThriftInfinity("Infinity");
+static const std::string kThriftNegativeInfinity("-Infinity");
+
+static const std::string kTypeNameBool("tf");
+static const std::string kTypeNameByte("i8");
+static const std::string kTypeNameI16("i16");
+static const std::string kTypeNameI32("i32");
+static const std::string kTypeNameI64("i64");
+static const std::string kTypeNameDouble("dbl");
+static const std::string kTypeNameStruct("rec");
+static const std::string kTypeNameString("str");
+static const std::string kTypeNameMap("map");
+static const std::string kTypeNameList("lst");
+static const std::string kTypeNameSet("set");
+
+static const std::string &getTypeNameForTypeID(TType typeID) {
+ switch (typeID) {
+ case T_BOOL:
+ return kTypeNameBool;
+ case T_BYTE:
+ return kTypeNameByte;
+ case T_I16:
+ return kTypeNameI16;
+ case T_I32:
+ return kTypeNameI32;
+ case T_I64:
+ return kTypeNameI64;
+ case T_DOUBLE:
+ return kTypeNameDouble;
+ case T_STRING:
+ return kTypeNameString;
+ case T_STRUCT:
+ return kTypeNameStruct;
+ case T_MAP:
+ return kTypeNameMap;
+ case T_SET:
+ return kTypeNameSet;
+ case T_LIST:
+ return kTypeNameList;
+ default:
+ throw TProtocolException(TProtocolException::NOT_IMPLEMENTED,
+ "Unrecognized type");
+ }
+}
+
+static TType getTypeIDForTypeName(const std::string &name) {
+ TType result = T_STOP; // Sentinel value
+ if (name.length() > 1) {
+ switch (name[0]) {
+ case 'd':
+ result = T_DOUBLE;
+ break;
+ case 'i':
+ switch (name[1]) {
+ case '8':
+ result = T_BYTE;
+ break;
+ case '1':
+ result = T_I16;
+ break;
+ case '3':
+ result = T_I32;
+ break;
+ case '6':
+ result = T_I64;
+ break;
+ }
+ break;
+ case 'l':
+ result = T_LIST;
+ break;
+ case 'm':
+ result = T_MAP;
+ break;
+ case 'r':
+ result = T_STRUCT;
+ break;
+ case 's':
+ if (name[1] == 't') {
+ result = T_STRING;
+ }
+ else if (name[1] == 'e') {
+ result = T_SET;
+ }
+ break;
+ case 't':
+ result = T_BOOL;
+ break;
+ }
+ }
+ if (result == T_STOP) {
+ throw TProtocolException(TProtocolException::NOT_IMPLEMENTED,
+ "Unrecognized type");
+ }
+ return result;
+}
+
+
+// This table describes the handling for the first 0x30 characters
+// 0 : escape using "\u00xx" notation
+// 1 : just output index
+// <other> : escape using "\<other>" notation
+static const uint8_t kJSONCharTable[0x30] = {
+// 0 1 2 3 4 5 6 7 8 9 A B C D E F
+ 0, 0, 0, 0, 0, 0, 0, 0,'b','t','n', 0,'f','r', 0, 0, // 0
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 1
+ 1, 1,'"', 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 2
+};
+
+
+// This string's characters must match up with the elements in kEscapeCharVals.
+// I don't have '/' on this list even though it appears on www.json.org --
+// it is not in the RFC
+const static std::string kEscapeChars("\"\\bfnrt");
+
+// The elements of this array must match up with the sequence of characters in
+// kEscapeChars
+const static uint8_t kEscapeCharVals[7] = {
+ '"', '\\', '\b', '\f', '\n', '\r', '\t',
+};
+
+
+// Static helper functions
+
+// Read 1 character from the transport trans and verify that it is the
+// expected character ch.
+// Throw a protocol exception if it is not.
+static uint32_t readSyntaxChar(TJSONProtocol::LookaheadReader &reader,
+ uint8_t ch) {
+ uint8_t ch2 = reader.read();
+ if (ch2 != ch) {
+ throw TProtocolException(TProtocolException::INVALID_DATA,
+ "Expected \'" + std::string((char *)&ch, 1) +
+ "\'; got \'" + std::string((char *)&ch2, 1) +
+ "\'.");
+ }
+ return 1;
+}
+
+// Return the integer value of a hex character ch.
+// Throw a protocol exception if the character is not [0-9a-f].
+static uint8_t hexVal(uint8_t ch) {
+ if ((ch >= '0') && (ch <= '9')) {
+ return ch - '0';
+ }
+ else if ((ch >= 'a') && (ch <= 'f')) {
+ return ch - 'a' + 10;
+ }
+ else {
+ throw TProtocolException(TProtocolException::INVALID_DATA,
+ "Expected hex val ([0-9a-f]); got \'"
+ + std::string((char *)&ch, 1) + "\'.");
+ }
+}
+
+// Return the hex character representing the integer val. The value is masked
+// to make sure it is in the correct range.
+static uint8_t hexChar(uint8_t val) {
+ val &= 0x0F;
+ if (val < 10) {
+ return val + '0';
+ }
+ else {
+ return val - 10 + 'a';
+ }
+}
+
+// Return true if the character ch is in [-+0-9.Ee]; false otherwise
+static bool isJSONNumeric(uint8_t ch) {
+ switch (ch) {
+ case '+':
+ case '-':
+ case '.':
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'E':
+ case 'e':
+ return true;
+ }
+ return false;
+}
+
+
+/**
+ * Class to serve as base JSON context and as base class for other context
+ * implementations
+ */
+class TJSONContext {
+
+ public:
+
+ TJSONContext() {};
+
+ virtual ~TJSONContext() {};
+
+ /**
+ * Write context data to the transport. Default is to do nothing.
+ */
+ virtual uint32_t write(TTransport &trans) {
+ (void) trans;
+ return 0;
+ };
+
+ /**
+ * Read context data from the transport. Default is to do nothing.
+ */
+ virtual uint32_t read(TJSONProtocol::LookaheadReader &reader) {
+ (void) reader;
+ return 0;
+ };
+
+ /**
+ * Return true if numbers need to be escaped as strings in this context.
+ * Default behavior is to return false.
+ */
+ virtual bool escapeNum() {
+ return false;
+ }
+};
+
+// Context class for object member key-value pairs
+class JSONPairContext : public TJSONContext {
+
+public:
+
+ JSONPairContext() :
+ first_(true),
+ colon_(true) {
+ }
+
+ uint32_t write(TTransport &trans) {
+ if (first_) {
+ first_ = false;
+ colon_ = true;
+ return 0;
+ }
+ else {
+ trans.write(colon_ ? &kJSONPairSeparator : &kJSONElemSeparator, 1);
+ colon_ = !colon_;
+ return 1;
+ }
+ }
+
+ uint32_t read(TJSONProtocol::LookaheadReader &reader) {
+ if (first_) {
+ first_ = false;
+ colon_ = true;
+ return 0;
+ }
+ else {
+ uint8_t ch = (colon_ ? kJSONPairSeparator : kJSONElemSeparator);
+ colon_ = !colon_;
+ return readSyntaxChar(reader, ch);
+ }
+ }
+
+ // Numbers must be turned into strings if they are the key part of a pair
+ virtual bool escapeNum() {
+ return colon_;
+ }
+
+ private:
+
+ bool first_;
+ bool colon_;
+};
+
+// Context class for lists
+class JSONListContext : public TJSONContext {
+
+public:
+
+ JSONListContext() :
+ first_(true) {
+ }
+
+ uint32_t write(TTransport &trans) {
+ if (first_) {
+ first_ = false;
+ return 0;
+ }
+ else {
+ trans.write(&kJSONElemSeparator, 1);
+ return 1;
+ }
+ }
+
+ uint32_t read(TJSONProtocol::LookaheadReader &reader) {
+ if (first_) {
+ first_ = false;
+ return 0;
+ }
+ else {
+ return readSyntaxChar(reader, kJSONElemSeparator);
+ }
+ }
+
+ private:
+ bool first_;
+};
+
+
+TJSONProtocol::TJSONProtocol(boost::shared_ptr<TTransport> ptrans) :
+ TVirtualProtocol<TJSONProtocol>(ptrans),
+ trans_(ptrans.get()),
+ context_(new TJSONContext()),
+ reader_(*ptrans) {
+}
+
+TJSONProtocol::~TJSONProtocol() {}
+
+void TJSONProtocol::pushContext(boost::shared_ptr<TJSONContext> c) {
+ contexts_.push(context_);
+ context_ = c;
+}
+
+void TJSONProtocol::popContext() {
+ context_ = contexts_.top();
+ contexts_.pop();
+}
+
+// Write the character ch as a JSON escape sequence ("\u00xx")
+uint32_t TJSONProtocol::writeJSONEscapeChar(uint8_t ch) {
+ trans_->write((const uint8_t *)kJSONEscapePrefix.c_str(),
+ static_cast<uint32_t>(kJSONEscapePrefix.length()));
+ uint8_t outCh = hexChar(ch >> 4);
+ trans_->write(&outCh, 1);
+ outCh = hexChar(ch);
+ trans_->write(&outCh, 1);
+ return 6;
+}
+
+// Write the character ch as part of a JSON string, escaping as appropriate.
+uint32_t TJSONProtocol::writeJSONChar(uint8_t ch) {
+ if (ch >= 0x30) {
+ if (ch == kJSONBackslash) { // Only special character >= 0x30 is '\'
+ trans_->write(&kJSONBackslash, 1);
+ trans_->write(&kJSONBackslash, 1);
+ return 2;
+ }
+ else {
+ trans_->write(&ch, 1);
+ return 1;
+ }
+ }
+ else {
+ uint8_t outCh = kJSONCharTable[ch];
+ // Check if regular character, backslash escaped, or JSON escaped
+ if (outCh == 1) {
+ trans_->write(&ch, 1);
+ return 1;
+ }
+ else if (outCh > 1) {
+ trans_->write(&kJSONBackslash, 1);
+ trans_->write(&outCh, 1);
+ return 2;
+ }
+ else {
+ return writeJSONEscapeChar(ch);
+ }
+ }
+}
+
+// Write out the contents of the string str as a JSON string, escaping
+// characters as appropriate.
+uint32_t TJSONProtocol::writeJSONString(const std::string &str) {
+ uint32_t result = context_->write(*trans_);
+ result += 2; // For quotes
+ trans_->write(&kJSONStringDelimiter, 1);
+ std::string::const_iterator iter(str.begin());
+ std::string::const_iterator end(str.end());
+ while (iter != end) {
+ result += writeJSONChar(*iter++);
+ }
+ trans_->write(&kJSONStringDelimiter, 1);
+ return result;
+}
+
+// Write out the contents of the string as JSON string, base64-encoding
+// the string's contents, and escaping as appropriate
+uint32_t TJSONProtocol::writeJSONBase64(const std::string &str) {
+ uint32_t result = context_->write(*trans_);
+ result += 2; // For quotes
+ trans_->write(&kJSONStringDelimiter, 1);
+ uint8_t b[4];
+ const uint8_t *bytes = (const uint8_t *)str.c_str();
+ if(str.length() > (std::numeric_limits<uint32_t>::max)())
+ throw TProtocolException(TProtocolException::SIZE_LIMIT);
+ uint32_t len = static_cast<uint32_t>(str.length());
+ while (len >= 3) {
+ // Encode 3 bytes at a time
+ base64_encode(bytes, 3, b);
+ trans_->write(b, 4);
+ result += 4;
+ bytes += 3;
+ len -=3;
+ }
+ if (len) { // Handle remainder
+ base64_encode(bytes, len, b);
+ trans_->write(b, len + 1);
+ result += len + 1;
+ }
+ trans_->write(&kJSONStringDelimiter, 1);
+ return result;
+}
+
+// Convert the given integer type to a JSON number, or a string
+// if the context requires it (eg: key in a map pair).
+template <typename NumberType>
+uint32_t TJSONProtocol::writeJSONInteger(NumberType num) {
+ uint32_t result = context_->write(*trans_);
+ std::string val(boost::lexical_cast<std::string>(num));
+ bool escapeNum = context_->escapeNum();
+ if (escapeNum) {
+ trans_->write(&kJSONStringDelimiter, 1);
+ result += 1;
+ }
+ if(val.length() > (std::numeric_limits<uint32_t>::max)())
+ throw TProtocolException(TProtocolException::SIZE_LIMIT);
+ trans_->write((const uint8_t *)val.c_str(), static_cast<uint32_t>(val.length()));
+ result += static_cast<uint32_t>(val.length());
+ if (escapeNum) {
+ trans_->write(&kJSONStringDelimiter, 1);
+ result += 1;
+ }
+ return result;
+}
+
+// Convert the given double to a JSON string, which is either the number,
+// "NaN" or "Infinity" or "-Infinity".
+uint32_t TJSONProtocol::writeJSONDouble(double num) {
+ uint32_t result = context_->write(*trans_);
+ std::string val(boost::lexical_cast<std::string>(num));
+
+ // Normalize output of boost::lexical_cast for NaNs and Infinities
+ bool special = false;
+ switch (val[0]) {
+ case 'N':
+ case 'n':
+ val = kThriftNan;
+ special = true;
+ break;
+ case 'I':
+ case 'i':
+ val = kThriftInfinity;
+ special = true;
+ break;
+ case '-':
+ if ((val[1] == 'I') || (val[1] == 'i')) {
+ val = kThriftNegativeInfinity;
+ special = true;
+ }
+ break;
+ }
+
+ bool escapeNum = special || context_->escapeNum();
+ if (escapeNum) {
+ trans_->write(&kJSONStringDelimiter, 1);
+ result += 1;
+ }
+ if(val.length() > (std::numeric_limits<uint32_t>::max)())
+ throw TProtocolException(TProtocolException::SIZE_LIMIT);
+ trans_->write((const uint8_t *)val.c_str(), static_cast<uint32_t>(val.length()));
+ result += static_cast<uint32_t>(val.length());
+ if (escapeNum) {
+ trans_->write(&kJSONStringDelimiter, 1);
+ result += 1;
+ }
+ return result;
+}
+
+uint32_t TJSONProtocol::writeJSONObjectStart() {
+ uint32_t result = context_->write(*trans_);
+ trans_->write(&kJSONObjectStart, 1);
+ pushContext(boost::shared_ptr<TJSONContext>(new JSONPairContext()));
+ return result + 1;
+}
+
+uint32_t TJSONProtocol::writeJSONObjectEnd() {
+ popContext();
+ trans_->write(&kJSONObjectEnd, 1);
+ return 1;
+}
+
+uint32_t TJSONProtocol::writeJSONArrayStart() {
+ uint32_t result = context_->write(*trans_);
+ trans_->write(&kJSONArrayStart, 1);
+ pushContext(boost::shared_ptr<TJSONContext>(new JSONListContext()));
+ return result + 1;
+}
+
+uint32_t TJSONProtocol::writeJSONArrayEnd() {
+ popContext();
+ trans_->write(&kJSONArrayEnd, 1);
+ return 1;
+}
+
+uint32_t TJSONProtocol::writeMessageBegin(const std::string& name,
+ const TMessageType messageType,
+ const int32_t seqid) {
+ uint32_t result = writeJSONArrayStart();
+ result += writeJSONInteger(kThriftVersion1);
+ result += writeJSONString(name);
+ result += writeJSONInteger(messageType);
+ result += writeJSONInteger(seqid);
+ return result;
+}
+
+uint32_t TJSONProtocol::writeMessageEnd() {
+ return writeJSONArrayEnd();
+}
+
+uint32_t TJSONProtocol::writeStructBegin(const char* name) {
+ (void) name;
+ return writeJSONObjectStart();
+}
+
+uint32_t TJSONProtocol::writeStructEnd() {
+ return writeJSONObjectEnd();
+}
+
+uint32_t TJSONProtocol::writeFieldBegin(const char* name,
+ const TType fieldType,
+ const int16_t fieldId) {
+ (void) name;
+ uint32_t result = writeJSONInteger(fieldId);
+ result += writeJSONObjectStart();
+ result += writeJSONString(getTypeNameForTypeID(fieldType));
+ return result;
+}
+
+uint32_t TJSONProtocol::writeFieldEnd() {
+ return writeJSONObjectEnd();
+}
+
+uint32_t TJSONProtocol::writeFieldStop() {
+ return 0;
+}
+
+uint32_t TJSONProtocol::writeMapBegin(const TType keyType,
+ const TType valType,
+ const uint32_t size) {
+ uint32_t result = writeJSONArrayStart();
+ result += writeJSONString(getTypeNameForTypeID(keyType));
+ result += writeJSONString(getTypeNameForTypeID(valType));
+ result += writeJSONInteger((int64_t)size);
+ result += writeJSONObjectStart();
+ return result;
+}
+
+uint32_t TJSONProtocol::writeMapEnd() {
+ return writeJSONObjectEnd() + writeJSONArrayEnd();
+}
+
+uint32_t TJSONProtocol::writeListBegin(const TType elemType,
+ const uint32_t size) {
+ uint32_t result = writeJSONArrayStart();
+ result += writeJSONString(getTypeNameForTypeID(elemType));
+ result += writeJSONInteger((int64_t)size);
+ return result;
+}
+
+uint32_t TJSONProtocol::writeListEnd() {
+ return writeJSONArrayEnd();
+}
+
+uint32_t TJSONProtocol::writeSetBegin(const TType elemType,
+ const uint32_t size) {
+ uint32_t result = writeJSONArrayStart();
+ result += writeJSONString(getTypeNameForTypeID(elemType));
+ result += writeJSONInteger((int64_t)size);
+ return result;
+}
+
+uint32_t TJSONProtocol::writeSetEnd() {
+ return writeJSONArrayEnd();
+}
+
+uint32_t TJSONProtocol::writeBool(const bool value) {
+ return writeJSONInteger(value);
+}
+
+uint32_t TJSONProtocol::writeByte(const int8_t byte) {
+ // writeByte() must be handled specially becuase boost::lexical cast sees
+ // int8_t as a text type instead of an integer type
+ return writeJSONInteger((int16_t)byte);
+}
+
+uint32_t TJSONProtocol::writeI16(const int16_t i16) {
+ return writeJSONInteger(i16);
+}
+
+uint32_t TJSONProtocol::writeI32(const int32_t i32) {
+ return writeJSONInteger(i32);
+}
+
+uint32_t TJSONProtocol::writeI64(const int64_t i64) {
+ return writeJSONInteger(i64);
+}
+
+uint32_t TJSONProtocol::writeDouble(const double dub) {
+ return writeJSONDouble(dub);
+}
+
+uint32_t TJSONProtocol::writeString(const std::string& str) {
+ return writeJSONString(str);
+}
+
+uint32_t TJSONProtocol::writeBinary(const std::string& str) {
+ return writeJSONBase64(str);
+}
+
+ /**
+ * Reading functions
+ */
+
+// Reads 1 byte and verifies that it matches ch.
+uint32_t TJSONProtocol::readJSONSyntaxChar(uint8_t ch) {
+ return readSyntaxChar(reader_, ch);
+}
+
+// Decodes the four hex parts of a JSON escaped string character and returns
+// the character via out. The first two characters must be "00".
+uint32_t TJSONProtocol::readJSONEscapeChar(uint8_t *out) {
+ uint8_t b[2];
+ readJSONSyntaxChar(kJSONZeroChar);
+ readJSONSyntaxChar(kJSONZeroChar);
+ b[0] = reader_.read();
+ b[1] = reader_.read();
+ *out = (hexVal(b[0]) << 4) + hexVal(b[1]);
+ return 4;
+}
+
+// Decodes a JSON string, including unescaping, and returns the string via str
+uint32_t TJSONProtocol::readJSONString(std::string &str, bool skipContext) {
+ uint32_t result = (skipContext ? 0 : context_->read(reader_));
+ result += readJSONSyntaxChar(kJSONStringDelimiter);
+ uint8_t ch;
+ str.clear();
+ while (true) {
+ ch = reader_.read();
+ ++result;
+ if (ch == kJSONStringDelimiter) {
+ break;
+ }
+ if (ch == kJSONBackslash) {
+ ch = reader_.read();
+ ++result;
+ if (ch == kJSONEscapeChar) {
+ result += readJSONEscapeChar(&ch);
+ }
+ else {
+ size_t pos = kEscapeChars.find(ch);
+ if (pos == std::string::npos) {
+ throw TProtocolException(TProtocolException::INVALID_DATA,
+ "Expected control char, got '" +
+ std::string((const char *)&ch, 1) + "'.");
+ }
+ ch = kEscapeCharVals[pos];
+ }
+ }
+ str += ch;
+ }
+ return result;
+}
+
+// Reads a block of base64 characters, decoding it, and returns via str
+uint32_t TJSONProtocol::readJSONBase64(std::string &str) {
+ std::string tmp;
+ uint32_t result = readJSONString(tmp);
+ uint8_t *b = (uint8_t *)tmp.c_str();
+ if(tmp.length() > (std::numeric_limits<uint32_t>::max)())
+ throw TProtocolException(TProtocolException::SIZE_LIMIT);
+ uint32_t len = static_cast<uint32_t>(tmp.length());
+ str.clear();
+ while (len >= 4) {
+ base64_decode(b, 4);
+ str.append((const char *)b, 3);
+ b += 4;
+ len -= 4;
+ }
+ // Don't decode if we hit the end or got a single leftover byte (invalid
+ // base64 but legal for skip of regular string type)
+ if (len > 1) {
+ base64_decode(b, len);
+ str.append((const char *)b, len - 1);
+ }
+ return result;
+}
+
+// Reads a sequence of characters, stopping at the first one that is not
+// a valid JSON numeric character.
+uint32_t TJSONProtocol::readJSONNumericChars(std::string &str) {
+ uint32_t result = 0;
+ str.clear();
+ while (true) {
+ uint8_t ch = reader_.peek();
+ if (!isJSONNumeric(ch)) {
+ break;
+ }
+ reader_.read();
+ str += ch;
+ ++result;
+ }
+ return result;
+}
+
+// Reads a sequence of characters and assembles them into a number,
+// returning them via num
+template <typename NumberType>
+uint32_t TJSONProtocol::readJSONInteger(NumberType &num) {
+ uint32_t result = context_->read(reader_);
+ if (context_->escapeNum()) {
+ result += readJSONSyntaxChar(kJSONStringDelimiter);
+ }
+ std::string str;
+ result += readJSONNumericChars(str);
+ try {
+ num = boost::lexical_cast<NumberType>(str);
+ }
+ catch (boost::bad_lexical_cast e) {
+ throw new TProtocolException(TProtocolException::INVALID_DATA,
+ "Expected numeric value; got \"" + str +
+ "\"");
+ }
+ if (context_->escapeNum()) {
+ result += readJSONSyntaxChar(kJSONStringDelimiter);
+ }
+ return result;
+}
+
+// Reads a JSON number or string and interprets it as a double.
+uint32_t TJSONProtocol::readJSONDouble(double &num) {
+ uint32_t result = context_->read(reader_);
+ std::string str;
+ if (reader_.peek() == kJSONStringDelimiter) {
+ result += readJSONString(str, true);
+ // Check for NaN, Infinity and -Infinity
+ if (str == kThriftNan) {
+ num = HUGE_VAL/HUGE_VAL; // generates NaN
+ }
+ else if (str == kThriftInfinity) {
+ num = HUGE_VAL;
+ }
+ else if (str == kThriftNegativeInfinity) {
+ num = -HUGE_VAL;
+ }
+ else {
+ if (!context_->escapeNum()) {
+ // Throw exception -- we should not be in a string in this case
+ throw new TProtocolException(TProtocolException::INVALID_DATA,
+ "Numeric data unexpectedly quoted");
+ }
+ try {
+ num = boost::lexical_cast<double>(str);
+ }
+ catch (boost::bad_lexical_cast e) {
+ throw new TProtocolException(TProtocolException::INVALID_DATA,
+ "Expected numeric value; got \"" + str +
+ "\"");
+ }
+ }
+ }
+ else {
+ if (context_->escapeNum()) {
+ // This will throw - we should have had a quote if escapeNum == true
+ readJSONSyntaxChar(kJSONStringDelimiter);
+ }
+ result += readJSONNumericChars(str);
+ try {
+ num = boost::lexical_cast<double>(str);
+ }
+ catch (boost::bad_lexical_cast e) {
+ throw new TProtocolException(TProtocolException::INVALID_DATA,
+ "Expected numeric value; got \"" + str +
+ "\"");
+ }
+ }
+ return result;
+}
+
+uint32_t TJSONProtocol::readJSONObjectStart() {
+ uint32_t result = context_->read(reader_);
+ result += readJSONSyntaxChar(kJSONObjectStart);
+ pushContext(boost::shared_ptr<TJSONContext>(new JSONPairContext()));
+ return result;
+}
+
+uint32_t TJSONProtocol::readJSONObjectEnd() {
+ uint32_t result = readJSONSyntaxChar(kJSONObjectEnd);
+ popContext();
+ return result;
+}
+
+uint32_t TJSONProtocol::readJSONArrayStart() {
+ uint32_t result = context_->read(reader_);
+ result += readJSONSyntaxChar(kJSONArrayStart);
+ pushContext(boost::shared_ptr<TJSONContext>(new JSONListContext()));
+ return result;
+}
+
+uint32_t TJSONProtocol::readJSONArrayEnd() {
+ uint32_t result = readJSONSyntaxChar(kJSONArrayEnd);
+ popContext();
+ return result;
+}
+
+uint32_t TJSONProtocol::readMessageBegin(std::string& name,
+ TMessageType& messageType,
+ int32_t& seqid) {
+ uint32_t result = readJSONArrayStart();
+ uint64_t tmpVal = 0;
+ result += readJSONInteger(tmpVal);
+ if (tmpVal != kThriftVersion1) {
+ throw TProtocolException(TProtocolException::BAD_VERSION,
+ "Message contained bad version.");
+ }
+ result += readJSONString(name);
+ result += readJSONInteger(tmpVal);
+ messageType = (TMessageType)tmpVal;
+ result += readJSONInteger(tmpVal);
+ if(tmpVal > static_cast<uint64_t>((std::numeric_limits<int32_t>::max)()))
+ throw TProtocolException(TProtocolException::SIZE_LIMIT);
+ seqid = static_cast<int32_t>(tmpVal);
+ return result;
+}
+
+uint32_t TJSONProtocol::readMessageEnd() {
+ return readJSONArrayEnd();
+}
+
+uint32_t TJSONProtocol::readStructBegin(std::string& name) {
+ (void) name;
+ return readJSONObjectStart();
+}
+
+uint32_t TJSONProtocol::readStructEnd() {
+ return readJSONObjectEnd();
+}
+
+uint32_t TJSONProtocol::readFieldBegin(std::string& name,
+ TType& fieldType,
+ int16_t& fieldId) {
+ (void) name;
+ uint32_t result = 0;
+ // Check if we hit the end of the list
+ uint8_t ch = reader_.peek();
+ if (ch == kJSONObjectEnd) {
+ fieldType = apache::thrift::protocol::T_STOP;
+ }
+ else {
+ uint64_t tmpVal = 0;
+ std::string tmpStr;
+ result += readJSONInteger(tmpVal);
+ if(tmpVal > static_cast<uint32_t>((std::numeric_limits<int16_t>::max)()))
+ throw TProtocolException(TProtocolException::SIZE_LIMIT);
+ fieldId = static_cast<int16_t>(tmpVal);
+ result += readJSONObjectStart();
+ result += readJSONString(tmpStr);
+ fieldType = getTypeIDForTypeName(tmpStr);
+ }
+ return result;
+}
+
+uint32_t TJSONProtocol::readFieldEnd() {
+ return readJSONObjectEnd();
+}
+
+uint32_t TJSONProtocol::readMapBegin(TType& keyType,
+ TType& valType,
+ uint32_t& size) {
+ uint64_t tmpVal = 0;
+ std::string tmpStr;
+ uint32_t result = readJSONArrayStart();
+ result += readJSONString(tmpStr);
+ keyType = getTypeIDForTypeName(tmpStr);
+ result += readJSONString(tmpStr);
+ valType = getTypeIDForTypeName(tmpStr);
+ result += readJSONInteger(tmpVal);
+ if(tmpVal > (std::numeric_limits<uint32_t>::max)())
+ throw TProtocolException(TProtocolException::SIZE_LIMIT);
+ size = static_cast<uint32_t>(tmpVal);
+ result += readJSONObjectStart();
+ return result;
+}
+
+uint32_t TJSONProtocol::readMapEnd() {
+ return readJSONObjectEnd() + readJSONArrayEnd();
+}
+
+uint32_t TJSONProtocol::readListBegin(TType& elemType,
+ uint32_t& size) {
+ uint64_t tmpVal = 0;
+ std::string tmpStr;
+ uint32_t result = readJSONArrayStart();
+ result += readJSONString(tmpStr);
+ elemType = getTypeIDForTypeName(tmpStr);
+ result += readJSONInteger(tmpVal);
+ if(tmpVal > (std::numeric_limits<uint32_t>::max)())
+ throw TProtocolException(TProtocolException::SIZE_LIMIT);
+ size = static_cast<uint32_t>(tmpVal);
+ return result;
+}
+
+uint32_t TJSONProtocol::readListEnd() {
+ return readJSONArrayEnd();
+}
+
+uint32_t TJSONProtocol::readSetBegin(TType& elemType,
+ uint32_t& size) {
+ uint64_t tmpVal = 0;
+ std::string tmpStr;
+ uint32_t result = readJSONArrayStart();
+ result += readJSONString(tmpStr);
+ elemType = getTypeIDForTypeName(tmpStr);
+ result += readJSONInteger(tmpVal);
+ if(tmpVal > (std::numeric_limits<uint32_t>::max)())
+ throw TProtocolException(TProtocolException::SIZE_LIMIT);
+ size = static_cast<uint32_t>(tmpVal);
+ return result;
+}
+
+uint32_t TJSONProtocol::readSetEnd() {
+ return readJSONArrayEnd();
+}
+
+uint32_t TJSONProtocol::readBool(bool& value) {
+ return readJSONInteger(value);
+}
+
+// readByte() must be handled properly becuase boost::lexical cast sees int8_t
+// as a text type instead of an integer type
+uint32_t TJSONProtocol::readByte(int8_t& byte) {
+ int16_t tmp = (int16_t) byte;
+ uint32_t result = readJSONInteger(tmp);
+ assert(tmp < 256);
+ byte = (int8_t)tmp;
+ return result;
+}
+
+uint32_t TJSONProtocol::readI16(int16_t& i16) {
+ return readJSONInteger(i16);
+}
+
+uint32_t TJSONProtocol::readI32(int32_t& i32) {
+ return readJSONInteger(i32);
+}
+
+uint32_t TJSONProtocol::readI64(int64_t& i64) {
+ return readJSONInteger(i64);
+}
+
+uint32_t TJSONProtocol::readDouble(double& dub) {
+ return readJSONDouble(dub);
+}
+
+uint32_t TJSONProtocol::readString(std::string &str) {
+ return readJSONString(str);
+}
+
+uint32_t TJSONProtocol::readBinary(std::string &str) {
+ return readJSONBase64(str);
+}
+
+}}} // apache::thrift::protocol
http://git-wip-us.apache.org/repos/asf/airavata/blob/f891b7dc/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/protocol/TJSONProtocol.h
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/protocol/TJSONProtocol.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/protocol/TJSONProtocol.h
new file mode 100644
index 0000000..edfc744
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/protocol/TJSONProtocol.h
@@ -0,0 +1,339 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you 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 _THRIFT_PROTOCOL_TJSONPROTOCOL_H_
+#define _THRIFT_PROTOCOL_TJSONPROTOCOL_H_ 1
+
+#include <thrift/protocol/TVirtualProtocol.h>
+
+#include <stack>
+
+namespace apache { namespace thrift { namespace protocol {
+
+// Forward declaration
+class TJSONContext;
+
+/**
+ * JSON protocol for Thrift.
+ *
+ * Implements a protocol which uses JSON as the wire-format.
+ *
+ * Thrift types are represented as described below:
+ *
+ * 1. Every Thrift integer type is represented as a JSON number.
+ *
+ * 2. Thrift doubles are represented as JSON numbers. Some special values are
+ * represented as strings:
+ * a. "NaN" for not-a-number values
+ * b. "Infinity" for postive infinity
+ * c. "-Infinity" for negative infinity
+ *
+ * 3. Thrift string values are emitted as JSON strings, with appropriate
+ * escaping.
+ *
+ * 4. Thrift binary values are encoded into Base64 and emitted as JSON strings.
+ * The readBinary() method is written such that it will properly skip if
+ * called on a Thrift string (although it will decode garbage data).
+ *
+ * 5. Thrift structs are represented as JSON objects, with the field ID as the
+ * key, and the field value represented as a JSON object with a single
+ * key-value pair. The key is a short string identifier for that type,
+ * followed by the value. The valid type identifiers are: "tf" for bool,
+ * "i8" for byte, "i16" for 16-bit integer, "i32" for 32-bit integer, "i64"
+ * for 64-bit integer, "dbl" for double-precision loating point, "str" for
+ * string (including binary), "rec" for struct ("records"), "map" for map,
+ * "lst" for list, "set" for set.
+ *
+ * 6. Thrift lists and sets are represented as JSON arrays, with the first
+ * element of the JSON array being the string identifier for the Thrift
+ * element type and the second element of the JSON array being the count of
+ * the Thrift elements. The Thrift elements then follow.
+ *
+ * 7. Thrift maps are represented as JSON arrays, with the first two elements
+ * of the JSON array being the string identifiers for the Thrift key type
+ * and value type, followed by the count of the Thrift pairs, followed by a
+ * JSON object containing the key-value pairs. Note that JSON keys can only
+ * be strings, which means that the key type of the Thrift map should be
+ * restricted to numeric or string types -- in the case of numerics, they
+ * are serialized as strings.
+ *
+ * 8. Thrift messages are represented as JSON arrays, with the protocol
+ * version #, the message name, the message type, and the sequence ID as
+ * the first 4 elements.
+ *
+ * More discussion of the double handling is probably warranted. The aim of
+ * the current implementation is to match as closely as possible the behavior
+ * of Java's Double.toString(), which has no precision loss. Implementors in
+ * other languages should strive to achieve that where possible. I have not
+ * yet verified whether boost:lexical_cast, which is doing that work for me in
+ * C++, loses any precision, but I am leaving this as a future improvement. I
+ * may try to provide a C component for this, so that other languages could
+ * bind to the same underlying implementation for maximum consistency.
+ *
+ */
+class TJSONProtocol : public TVirtualProtocol<TJSONProtocol> {
+ public:
+
+ TJSONProtocol(boost::shared_ptr<TTransport> ptrans);
+
+ ~TJSONProtocol();
+
+ private:
+
+ void pushContext(boost::shared_ptr<TJSONContext> c);
+
+ void popContext();
+
+ uint32_t writeJSONEscapeChar(uint8_t ch);
+
+ uint32_t writeJSONChar(uint8_t ch);
+
+ uint32_t writeJSONString(const std::string &str);
+
+ uint32_t writeJSONBase64(const std::string &str);
+
+ template <typename NumberType>
+ uint32_t writeJSONInteger(NumberType num);
+
+ uint32_t writeJSONDouble(double num);
+
+ uint32_t writeJSONObjectStart() ;
+
+ uint32_t writeJSONObjectEnd();
+
+ uint32_t writeJSONArrayStart();
+
+ uint32_t writeJSONArrayEnd();
+
+ uint32_t readJSONSyntaxChar(uint8_t ch);
+
+ uint32_t readJSONEscapeChar(uint8_t *out);
+
+ uint32_t readJSONString(std::string &str, bool skipContext = false);
+
+ uint32_t readJSONBase64(std::string &str);
+
+ uint32_t readJSONNumericChars(std::string &str);
+
+ template <typename NumberType>
+ uint32_t readJSONInteger(NumberType &num);
+
+ uint32_t readJSONDouble(double &num);
+
+ uint32_t readJSONObjectStart();
+
+ uint32_t readJSONObjectEnd();
+
+ uint32_t readJSONArrayStart();
+
+ uint32_t readJSONArrayEnd();
+
+ public:
+
+ /**
+ * Writing functions.
+ */
+
+ uint32_t writeMessageBegin(const std::string& name,
+ const TMessageType messageType,
+ const int32_t seqid);
+
+ uint32_t writeMessageEnd();
+
+ uint32_t writeStructBegin(const char* name);
+
+ uint32_t writeStructEnd();
+
+ uint32_t writeFieldBegin(const char* name,
+ const TType fieldType,
+ const int16_t fieldId);
+
+ uint32_t writeFieldEnd();
+
+ uint32_t writeFieldStop();
+
+ uint32_t writeMapBegin(const TType keyType,
+ const TType valType,
+ const uint32_t size);
+
+ uint32_t writeMapEnd();
+
+ uint32_t writeListBegin(const TType elemType,
+ const uint32_t size);
+
+ uint32_t writeListEnd();
+
+ uint32_t writeSetBegin(const TType elemType,
+ const uint32_t size);
+
+ uint32_t writeSetEnd();
+
+ uint32_t writeBool(const bool value);
+
+ uint32_t writeByte(const int8_t byte);
+
+ uint32_t writeI16(const int16_t i16);
+
+ uint32_t writeI32(const int32_t i32);
+
+ uint32_t writeI64(const int64_t i64);
+
+ uint32_t writeDouble(const double dub);
+
+ uint32_t writeString(const std::string& str);
+
+ uint32_t writeBinary(const std::string& str);
+
+ /**
+ * Reading functions
+ */
+
+ uint32_t readMessageBegin(std::string& name,
+ TMessageType& messageType,
+ int32_t& seqid);
+
+ uint32_t readMessageEnd();
+
+ uint32_t readStructBegin(std::string& name);
+
+ uint32_t readStructEnd();
+
+ uint32_t readFieldBegin(std::string& name,
+ TType& fieldType,
+ int16_t& fieldId);
+
+ uint32_t readFieldEnd();
+
+ uint32_t readMapBegin(TType& keyType,
+ TType& valType,
+ uint32_t& size);
+
+ uint32_t readMapEnd();
+
+ uint32_t readListBegin(TType& elemType,
+ uint32_t& size);
+
+ uint32_t readListEnd();
+
+ uint32_t readSetBegin(TType& elemType,
+ uint32_t& size);
+
+ uint32_t readSetEnd();
+
+ uint32_t readBool(bool& value);
+
+ // Provide the default readBool() implementation for std::vector<bool>
+ using TVirtualProtocol<TJSONProtocol>::readBool;
+
+ uint32_t readByte(int8_t& byte);
+
+ uint32_t readI16(int16_t& i16);
+
+ uint32_t readI32(int32_t& i32);
+
+ uint32_t readI64(int64_t& i64);
+
+ uint32_t readDouble(double& dub);
+
+ uint32_t readString(std::string& str);
+
+ uint32_t readBinary(std::string& str);
+
+ class LookaheadReader {
+
+ public:
+
+ LookaheadReader(TTransport &trans) :
+ trans_(&trans),
+ hasData_(false) {
+ }
+
+ uint8_t read() {
+ if (hasData_) {
+ hasData_ = false;
+ }
+ else {
+ trans_->readAll(&data_, 1);
+ }
+ return data_;
+ }
+
+ uint8_t peek() {
+ if (!hasData_) {
+ trans_->readAll(&data_, 1);
+ }
+ hasData_ = true;
+ return data_;
+ }
+
+ private:
+ TTransport *trans_;
+ bool hasData_;
+ uint8_t data_;
+ };
+
+ private:
+ TTransport* trans_;
+
+ std::stack<boost::shared_ptr<TJSONContext> > contexts_;
+ boost::shared_ptr<TJSONContext> context_;
+ LookaheadReader reader_;
+};
+
+/**
+ * Constructs input and output protocol objects given transports.
+ */
+class TJSONProtocolFactory : public TProtocolFactory {
+ public:
+ TJSONProtocolFactory() {}
+
+ virtual ~TJSONProtocolFactory() {}
+
+ boost::shared_ptr<TProtocol> getProtocol(boost::shared_ptr<TTransport> trans) {
+ return boost::shared_ptr<TProtocol>(new TJSONProtocol(trans));
+ }
+};
+
+}}} // apache::thrift::protocol
+
+
+// TODO(dreiss): Move part of ThriftJSONString into a .cpp file and remove this.
+#include <thrift/transport/TBufferTransports.h>
+
+namespace apache { namespace thrift {
+
+template<typename ThriftStruct>
+ std::string ThriftJSONString(const ThriftStruct& ts) {
+ using namespace apache::thrift::transport;
+ using namespace apache::thrift::protocol;
+ TMemoryBuffer* buffer = new TMemoryBuffer;
+ boost::shared_ptr<TTransport> trans(buffer);
+ TJSONProtocol protocol(trans);
+
+ ts.write(&protocol);
+
+ uint8_t* buf;
+ uint32_t size;
+ buffer->getBuffer(&buf, &size);
+ return std::string((char*)buf, (unsigned int)size);
+}
+
+}} // apache::thrift
+
+#endif // #define _THRIFT_PROTOCOL_TJSONPROTOCOL_H_ 1
http://git-wip-us.apache.org/repos/asf/airavata/blob/f891b7dc/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/protocol/TMultiplexedProtocol.cpp
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/protocol/TMultiplexedProtocol.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/protocol/TMultiplexedProtocol.cpp
new file mode 100644
index 0000000..a17eacc
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/protocol/TMultiplexedProtocol.cpp
@@ -0,0 +1,47 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you 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 <thrift/protocol/TMultiplexedProtocol.h>
+#include <thrift/processor/TMultiplexedProcessor.h>
+#include <thrift/protocol/TProtocolDecorator.h>
+
+namespace apache
+{
+ namespace thrift
+ {
+ namespace protocol
+ {
+ uint32_t TMultiplexedProtocol::writeMessageBegin_virt(
+ const std::string& _name,
+ const TMessageType _type,
+ const int32_t _seqid)
+ {
+ if( _type == T_CALL || _type == T_ONEWAY )
+ {
+ return TProtocolDecorator::writeMessageBegin_virt( serviceName + separator + _name, _type, _seqid );
+ }
+ else
+ {
+ return TProtocolDecorator::writeMessageBegin_virt(_name, _type, _seqid);
+ }
+ }
+ }
+ }
+}
+
http://git-wip-us.apache.org/repos/asf/airavata/blob/f891b7dc/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/protocol/TMultiplexedProtocol.h
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/protocol/TMultiplexedProtocol.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/protocol/TMultiplexedProtocol.h
new file mode 100644
index 0000000..a59c7b4
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/protocol/TMultiplexedProtocol.h
@@ -0,0 +1,103 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you 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 THRIFT_TMULTIPLEXEDPROTOCOL_H_
+#define THRIFT_TMULTIPLEXEDPROTOCOL_H_ 1
+
+#include <thrift/protocol/TProtocolDecorator.h>
+
+namespace apache
+{
+ namespace thrift
+ {
+ namespace protocol
+ {
+ using boost::shared_ptr;
+
+ /**
+ * <code>TMultiplexedProtocol</code> is a protocol-independent concrete decorator
+ * that allows a Thrift client to communicate with a multiplexing Thrift server,
+ * by prepending the service name to the function name during function calls.
+ *
+ * \note THIS IS NOT USED BY SERVERS. On the server, use
+ * {@link apache::thrift::TMultiplexedProcessor TMultiplexedProcessor} to handle requests
+ * from a multiplexing client.
+ *
+ * This example uses a single socket transport to invoke two services:
+ *
+ * <blockquote><code>
+ * shared_ptr<TSocket> transport(new TSocket("localhost", 9090));
+ * transport->open();
+ *
+ * shared_ptr<TBinaryProtocol> protocol(new TBinaryProtocol(transport));
+ *
+ * shared_ptr<TMultiplexedProtocol> mp1(new TMultiplexedProtocol(protocol, "Calculator"));
+ * shared_ptr<CalculatorClient> service1(new CalculatorClient(mp1));
+ *
+ * shared_ptr<TMultiplexedProtocol> mp2(new TMultiplexedProtocol(protocol, "WeatherReport"));
+ * shared_ptr<WeatherReportClient> service2(new WeatherReportClient(mp2));
+ *
+ * service1->add(2,2);
+ * int temp = service2->getTemperature();
+ * </code></blockquote>
+ *
+ * @see apache::thrift::protocol::TProtocolDecorator
+ */
+ class TMultiplexedProtocol : public TProtocolDecorator
+ {
+ public:
+ /**
+ * Wrap the specified protocol, allowing it to be used to communicate with a
+ * multiplexing server. The <code>serviceName</code> is required as it is
+ * prepended to the message header so that the multiplexing server can broker
+ * the function call to the proper service.
+ *
+ * \param _protocol Your communication protocol of choice, e.g. <code>TBinaryProtocol</code>.
+ * \param _serviceName The service name of the service communicating via this protocol.
+ */
+ TMultiplexedProtocol( shared_ptr<TProtocol> _protocol, const std::string& _serviceName )
+ : TProtocolDecorator(_protocol),
+ serviceName(_serviceName),
+ separator(":")
+ { }
+ virtual ~TMultiplexedProtocol() {}
+
+ /**
+ * Prepends the service name to the function name, separated by TMultiplexedProtocol::SEPARATOR.
+ *
+ * \param [in] _name The name of the method to be called in the service.
+ * \param [in] _type The type of message
+ * \param [in] _name The sequential id of the message
+ *
+ * \throws TException Passed through from wrapped <code>TProtocol</code> instance.
+ */
+ uint32_t writeMessageBegin_virt(
+ const std::string& _name,
+ const TMessageType _type,
+ const int32_t _seqid);
+ private:
+ const std::string serviceName;
+ const std::string separator;
+ };
+
+ }
+ }
+}
+
+#endif // THRIFT_TMULTIPLEXEDPROTOCOL_H_
[12/47] Added c++ client samples for integrattion of airavata with
any other application's c++ interface
Posted by sm...@apache.org.
http://git-wip-us.apache.org/repos/asf/airavata/blob/f891b7dc/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/TReflectionLocal.h
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/TReflectionLocal.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/TReflectionLocal.h
new file mode 100644
index 0000000..2ef7511
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/TReflectionLocal.h
@@ -0,0 +1,96 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you 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 _THRIFT_TREFLECTIONLOCAL_H_
+#define _THRIFT_TREFLECTIONLOCAL_H_ 1
+
+#include <stdint.h>
+#include <cstring>
+#include <thrift/protocol/TProtocol.h>
+
+/**
+ * Local Reflection is a blanket term referring to the the structure
+ * and generation of this particular representation of Thrift types.
+ * (It is called local because it cannot be serialized by Thrift).
+ *
+ */
+
+namespace apache { namespace thrift { namespace reflection { namespace local {
+
+using apache::thrift::protocol::TType;
+
+// We include this many bytes of the structure's fingerprint when serializing
+// a top-level structure. Long enough to make collisions unlikely, short
+// enough to not significantly affect the amount of memory used.
+const int FP_PREFIX_LEN = 4;
+
+struct FieldMeta {
+ int16_t tag;
+ bool is_optional;
+};
+
+struct TypeSpec {
+ TType ttype;
+ uint8_t fp_prefix[FP_PREFIX_LEN];
+
+ // Use an anonymous union here so we can fit two TypeSpecs in one cache line.
+ union {
+ struct {
+ // Use parallel arrays here for denser packing (of the arrays).
+ FieldMeta* metas;
+ TypeSpec** specs;
+ } tstruct;
+ struct {
+ TypeSpec *subtype1;
+ TypeSpec *subtype2;
+ } tcontainer;
+ };
+
+ // Static initialization of unions isn't really possible,
+ // so take the plunge and use constructors.
+ // Hopefully they'll be evaluated at compile time.
+
+ TypeSpec(TType ttype) : ttype(ttype) {
+ std::memset(fp_prefix, 0, FP_PREFIX_LEN);
+ }
+
+ TypeSpec(TType ttype,
+ const uint8_t* fingerprint,
+ FieldMeta* metas,
+ TypeSpec** specs) :
+ ttype(ttype)
+ {
+ std::memcpy(fp_prefix, fingerprint, FP_PREFIX_LEN);
+ tstruct.metas = metas;
+ tstruct.specs = specs;
+ }
+
+ TypeSpec(TType ttype, TypeSpec* subtype1, TypeSpec* subtype2) :
+ ttype(ttype)
+ {
+ std::memset(fp_prefix, 0, FP_PREFIX_LEN);
+ tcontainer.subtype1 = subtype1;
+ tcontainer.subtype2 = subtype2;
+ }
+
+};
+
+}}}} // apache::thrift::reflection::local
+
+#endif // #ifndef _THRIFT_TREFLECTIONLOCAL_H_
http://git-wip-us.apache.org/repos/asf/airavata/blob/f891b7dc/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/Thrift.cpp
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/Thrift.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/Thrift.cpp
new file mode 100644
index 0000000..b1e1386
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/Thrift.cpp
@@ -0,0 +1,125 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you 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 <thrift/Thrift.h>
+#include <cstring>
+#include <cstdlib>
+#include <boost/lexical_cast.hpp>
+#include <stdarg.h>
+#include <stdio.h>
+
+namespace apache { namespace thrift {
+
+TOutput GlobalOutput;
+
+void TOutput::printf(const char *message, ...) {
+#ifndef THRIFT_SQUELCH_CONSOLE_OUTPUT
+ // Try to reduce heap usage, even if printf is called rarely.
+ static const int STACK_BUF_SIZE = 256;
+ char stack_buf[STACK_BUF_SIZE];
+ va_list ap;
+
+#ifdef _MSC_VER
+ va_start(ap, message);
+ int need = _vscprintf(message, ap);
+ va_end(ap);
+
+ if (need < STACK_BUF_SIZE) {
+ va_start(ap, message);
+ vsnprintf_s(stack_buf, STACK_BUF_SIZE, _TRUNCATE, message, ap);
+ va_end(ap);
+ f_(stack_buf);
+ return;
+ }
+#else
+ va_start(ap, message);
+ int need = vsnprintf(stack_buf, STACK_BUF_SIZE, message, ap);
+ va_end(ap);
+
+ if (need < STACK_BUF_SIZE) {
+ f_(stack_buf);
+ return;
+ }
+#endif
+
+ char *heap_buf = (char*)malloc((need+1) * sizeof(char));
+ if (heap_buf == NULL) {
+#ifdef _MSC_VER
+ va_start(ap, message);
+ vsnprintf_s(stack_buf, STACK_BUF_SIZE, _TRUNCATE, message, ap);
+ va_end(ap);
+#endif
+ // Malloc failed. We might as well print the stack buffer.
+ f_(stack_buf);
+ return;
+ }
+
+ va_start(ap, message);
+ int rval = vsnprintf(heap_buf, need+1, message, ap);
+ va_end(ap);
+ // TODO(shigin): inform user
+ if (rval != -1) {
+ f_(heap_buf);
+ }
+ free(heap_buf);
+#endif
+}
+
+void TOutput::errorTimeWrapper(const char* msg) {
+#ifndef THRIFT_SQUELCH_CONSOLE_OUTPUT
+ time_t now;
+ char dbgtime[26];
+ time(&now);
+ THRIFT_CTIME_R(&now, dbgtime);
+ dbgtime[24] = 0;
+ fprintf(stderr, "Thrift: %s %s\n", dbgtime, msg);
+#endif
+}
+
+void TOutput::perror(const char *message, int errno_copy) {
+ std::string out = message + strerror_s(errno_copy);
+ f_(out.c_str());
+}
+
+std::string TOutput::strerror_s(int errno_copy) {
+#ifndef HAVE_STRERROR_R
+ return "errno = " + boost::lexical_cast<std::string>(errno_copy);
+#else // HAVE_STRERROR_R
+
+ char b_errbuf[1024] = { '\0' };
+#ifdef STRERROR_R_CHAR_P
+ char *b_error = strerror_r(errno_copy, b_errbuf, sizeof(b_errbuf));
+#else
+ char *b_error = b_errbuf;
+ int rv = strerror_r(errno_copy, b_errbuf, sizeof(b_errbuf));
+ if (rv == -1) {
+ // strerror_r failed. omgwtfbbq.
+ return "XSI-compliant strerror_r() failed with errno = " +
+ boost::lexical_cast<std::string>(errno_copy);
+ }
+#endif
+ // Can anyone prove that explicit cast is probably not necessary
+ // to ensure that the string object is constructed before
+ // b_error becomes invalid?
+ return std::string(b_error);
+
+#endif // HAVE_STRERROR_R
+}
+
+}} // apache::thrift
http://git-wip-us.apache.org/repos/asf/airavata/blob/f891b7dc/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/Thrift.h
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/Thrift.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/Thrift.h
new file mode 100644
index 0000000..03caa9e
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/Thrift.h
@@ -0,0 +1,202 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you 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 _THRIFT_THRIFT_H_
+#define _THRIFT_THRIFT_H_ 1
+
+#include <thrift/transport/PlatformSocket.h>
+
+#include <thrift/thrift-config.h>
+
+#include <stdio.h>
+#include <assert.h>
+
+#include <sys/types.h>
+#ifdef HAVE_NETINET_IN_H
+#include <netinet/in.h>
+#endif
+#ifdef HAVE_INTTYPES_H
+#include <inttypes.h>
+#endif
+#include <string>
+#include <map>
+#include <list>
+#include <set>
+#include <vector>
+#include <exception>
+#include <typeinfo>
+
+#include <boost/utility/enable_if.hpp>
+#include <boost/type_traits/is_convertible.hpp>
+
+#include <thrift/TLogging.h>
+
+/**
+ * Helper macros to allow function overloading even when using
+ * boost::shared_ptr.
+ *
+ * shared_ptr makes overloading really annoying, since shared_ptr defines
+ * constructor methods to allow one shared_ptr type to be constructed from any
+ * other shared_ptr type. (Even if it would be a compile error to actually try
+ * to instantiate the constructor.) These macros add an extra argument to the
+ * function to cause it to only be instantiated if a pointer of type T is
+ * convertible to a pointer of type U.
+ *
+ * THRIFT_OVERLOAD_IF should be used in function declarations.
+ * THRIFT_OVERLOAD_IF_DEFN should be used in the function definition, if it is
+ * defined separately from where it is declared.
+ */
+#define THRIFT_OVERLOAD_IF_DEFN(T, Y) \
+ typename ::boost::enable_if<typename ::boost::is_convertible<T*, Y*>::type, \
+ void*>::type
+
+#define THRIFT_OVERLOAD_IF(T, Y) \
+ THRIFT_OVERLOAD_IF_DEFN(T, Y) = NULL
+
+#define THRIFT_UNUSED_VARIABLE(x) ((x)=(x))
+
+namespace apache { namespace thrift {
+
+class TEnumIterator : public std::iterator<std::forward_iterator_tag, std::pair<int, const char*> > {
+ public:
+ TEnumIterator(int n,
+ int* enums,
+ const char** names) :
+ ii_(0), n_(n), enums_(enums), names_(names) {
+ }
+
+ int operator ++() {
+ return ++ii_;
+ }
+
+ bool operator !=(const TEnumIterator& end) {
+ assert(end.n_ == -1);
+ return (ii_ != n_);
+ }
+
+ std::pair<int, const char*> operator*() const {
+ return std::make_pair(enums_[ii_], names_[ii_]);
+ }
+
+ private:
+ int ii_;
+ const int n_;
+ int* enums_;
+ const char** names_;
+};
+
+class TOutput {
+ public:
+ TOutput() : f_(&errorTimeWrapper) {}
+
+ inline void setOutputFunction(void (*function)(const char *)){
+ f_ = function;
+ }
+
+ inline void operator()(const char *message){
+ f_(message);
+ }
+
+ // It is important to have a const char* overload here instead of
+ // just the string version, otherwise errno could be corrupted
+ // if there is some problem allocating memory when constructing
+ // the string.
+ void perror(const char *message, int errno_copy);
+ inline void perror(const std::string &message, int errno_copy) {
+ perror(message.c_str(), errno_copy);
+ }
+
+ void printf(const char *message, ...);
+
+ static void errorTimeWrapper(const char* msg);
+
+ /** Just like strerror_r but returns a C++ string object. */
+ static std::string strerror_s(int errno_copy);
+
+ private:
+ void (*f_)(const char *);
+};
+
+extern TOutput GlobalOutput;
+
+class TException : public std::exception {
+ public:
+ TException():
+ message_() {}
+
+ TException(const std::string& message) :
+ message_(message) {}
+
+ virtual ~TException() throw() {}
+
+ virtual const char* what() const throw() {
+ if (message_.empty()) {
+ return "Default TException.";
+ } else {
+ return message_.c_str();
+ }
+ }
+
+ protected:
+ std::string message_;
+
+};
+
+
+// Forward declare this structure used by TDenseProtocol
+namespace reflection { namespace local {
+struct TypeSpec;
+}}
+
+class TDelayedException {
+ public:
+ template <class E> static TDelayedException* delayException(const E& e);
+ virtual void throw_it() = 0;
+ virtual ~TDelayedException() {};
+};
+
+template <class E> class TExceptionWrapper : public TDelayedException {
+ public:
+ TExceptionWrapper(const E& e) : e_(e) {}
+ virtual void throw_it() {
+ E temp(e_);
+ delete this;
+ throw temp;
+ }
+ private:
+ E e_;
+};
+
+template <class E>
+TDelayedException* TDelayedException::delayException(const E& e) {
+ return new TExceptionWrapper<E>(e);
+}
+
+#if T_GLOBAL_DEBUG_VIRTUAL > 1
+void profile_virtual_call(const std::type_info& info);
+void profile_generic_protocol(const std::type_info& template_type,
+ const std::type_info& prot_type);
+void profile_print_info(FILE *f);
+void profile_print_info();
+void profile_write_pprof(FILE* gen_calls_f, FILE* virtual_calls_f);
+#endif
+
+}} // apache::thrift
+
+#endif // #ifndef _THRIFT_THRIFT_H_
http://git-wip-us.apache.org/repos/asf/airavata/blob/f891b7dc/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/VirtualProfiling.cpp
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/VirtualProfiling.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/VirtualProfiling.cpp
new file mode 100644
index 0000000..180cfb7
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/VirtualProfiling.cpp
@@ -0,0 +1,455 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you 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 <thrift/Thrift.h>
+
+// Do nothing if virtual call profiling is not enabled
+#if T_GLOBAL_DEBUG_VIRTUAL > 1
+
+// TODO: This code only works with g++ (since we rely on the fact
+// that all std::type_info instances referring to a particular type
+// always return the exact same pointer value from name().)
+#ifndef __GNUG__
+#error "Thrift virtual function profiling currently only works with gcc"
+#endif // !__GNUG__
+
+// TODO: We also require glibc for the backtrace() and backtrace_symbols()
+// functions.
+#ifndef __GLIBC__
+#error "Thrift virtual function profiling currently requires glibc"
+#endif // !__GLIBC__
+
+
+#include <thrift/concurrency/Mutex.h>
+
+#include <ext/hash_map>
+#include <execinfo.h>
+#include <stdio.h>
+
+namespace apache { namespace thrift {
+
+using ::apache::thrift::concurrency::Mutex;
+using ::apache::thrift::concurrency::Guard;
+
+static const unsigned int MAX_STACK_DEPTH = 15;
+
+/**
+ * A stack trace
+ */
+class Backtrace {
+ public:
+ Backtrace(int skip = 0);
+ Backtrace(Backtrace const &bt);
+
+ void operator=(Backtrace const &bt) {
+ numCallers_ = bt.numCallers_;
+ if (numCallers_ >= 0) {
+ memcpy(callers_, bt.callers_, numCallers_ * sizeof(void*));
+ }
+ }
+
+ bool operator==(Backtrace const &bt) const {
+ return (cmp(bt) == 0);
+ }
+
+ size_t hash() const {
+ intptr_t ret = 0;
+ for (int n = 0; n < numCallers_; ++n) {
+ ret ^= reinterpret_cast<intptr_t>(callers_[n]);
+ }
+ return static_cast<size_t>(ret);
+ }
+
+ int cmp(Backtrace const& bt) const {
+ int depth_diff = (numCallers_ - bt.numCallers_);
+ if (depth_diff != 0) {
+ return depth_diff;
+ }
+
+ for (int n = 0; n < numCallers_; ++n) {
+ int diff = reinterpret_cast<intptr_t>(callers_[n]) -
+ reinterpret_cast<intptr_t>(bt.callers_[n]);
+ if (diff != 0) {
+ return diff;
+ }
+ }
+
+ return 0;
+ }
+
+ void print(FILE *f, int indent=0, int start=0) const {
+ char **strings = backtrace_symbols(callers_, numCallers_);
+ if (strings) {
+ start += skip_;
+ if (start < 0) {
+ start = 0;
+ }
+ for (int n = start; n < numCallers_; ++n) {
+ fprintf(f, "%*s#%-2d %s\n", indent, "", n, strings[n]);
+ }
+ free(strings);
+ } else {
+ fprintf(f, "%*s<failed to determine symbols>\n", indent, "");
+ }
+ }
+
+ int getDepth() const {
+ return numCallers_ - skip_;
+ }
+
+ void *getFrame(int index) const {
+ int adjusted_index = index + skip_;
+ if (adjusted_index < 0 || adjusted_index >= numCallers_) {
+ return NULL;
+ }
+ return callers_[adjusted_index];
+ }
+
+ private:
+ void *callers_[MAX_STACK_DEPTH];
+ int numCallers_;
+ int skip_;
+};
+
+// Define the constructors non-inline, so they consistently add a single
+// frame to the stack trace, regardless of whether optimization is enabled
+Backtrace::Backtrace(int skip)
+ : skip_(skip + 1) // ignore the constructor itself
+{
+ numCallers_ = backtrace(callers_, MAX_STACK_DEPTH);
+ if (skip_ > numCallers_) {
+ skip_ = numCallers_;
+ }
+}
+
+Backtrace::Backtrace(Backtrace const &bt)
+ : numCallers_(bt.numCallers_)
+ , skip_(bt.skip_) {
+ if (numCallers_ >= 0) {
+ memcpy(callers_, bt.callers_, numCallers_ * sizeof(void*));
+ }
+}
+
+/**
+ * A backtrace, plus one or two type names
+ */
+class Key {
+ public:
+ class Hash {
+ public:
+ size_t operator()(Key const& k) const {
+ return k.hash();
+ }
+ };
+
+ Key(const Backtrace* bt, const std::type_info& type_info)
+ : backtrace_(bt)
+ , typeName1_(type_info.name())
+ , typeName2_(NULL) {
+ }
+
+ Key(const Backtrace* bt, const std::type_info& type_info1,
+ const std::type_info& type_info2)
+ : backtrace_(bt)
+ , typeName1_(type_info1.name())
+ , typeName2_(type_info2.name()) {
+ }
+
+ Key(const Key& k)
+ : backtrace_(k.backtrace_)
+ , typeName1_(k.typeName1_)
+ , typeName2_(k.typeName2_) {
+ }
+
+ void operator=(const Key& k) {
+ backtrace_ = k.backtrace_;
+ typeName1_ = k.typeName1_;
+ typeName2_ = k.typeName2_;
+ }
+
+ const Backtrace* getBacktrace() const {
+ return backtrace_;
+ }
+
+ const char* getTypeName() const {
+ return typeName1_;
+ }
+
+ const char* getTypeName2() const {
+ return typeName2_;
+ }
+
+ void makePersistent() {
+ // Copy the Backtrace object
+ backtrace_ = new Backtrace(*backtrace_);
+
+ // NOTE: We don't copy the type name.
+ // The GNU libstdc++ implementation of type_info::name() returns a value
+ // that will be valid for the lifetime of the program. (Although the C++
+ // standard doesn't guarantee this will be true on all implementations.)
+ }
+
+ /**
+ * Clean up memory allocated by makePersistent()
+ *
+ * Should only be invoked if makePersistent() has previously been called.
+ * The Key should no longer be used after cleanup() is called.
+ */
+ void cleanup() {
+ delete backtrace_;
+ backtrace_ = NULL;
+ }
+
+ int cmp(const Key& k) const {
+ int ret = backtrace_->cmp(*k.backtrace_);
+ if (ret != 0) {
+ return ret;
+ }
+
+ // NOTE: We compare just the name pointers.
+ // With GNU libstdc++, every type_info object for the same type points to
+ // exactly the same name string. (Although this isn't guaranteed by the
+ // C++ standard.)
+ ret = k.typeName1_ - typeName1_;
+ if (ret != 0) {
+ return ret;
+ }
+ return k.typeName2_ - typeName2_;
+ }
+
+ bool operator==(const Key& k) const {
+ return cmp(k) == 0;
+ }
+
+ size_t hash() const {
+ // NOTE: As above, we just use the name pointer value.
+ // Works with GNU libstdc++, but not guaranteed to be correct on all
+ // implementations.
+ return backtrace_->hash() ^
+ reinterpret_cast<size_t>(typeName1_) ^
+ reinterpret_cast<size_t>(typeName2_);
+ }
+
+ private:
+ const Backtrace* backtrace_;
+ const char* typeName1_;
+ const char* typeName2_;
+};
+
+/**
+ * A functor that determines which of two BacktraceMap entries
+ * has a higher count.
+ */
+class CountGreater {
+ public:
+ bool operator()(std::pair<Key, size_t> bt1,
+ std::pair<Key, size_t> bt2) const {
+ return bt1.second > bt2.second;
+ }
+};
+
+typedef __gnu_cxx::hash_map<Key, size_t, Key::Hash> BacktraceMap;
+
+/**
+ * A map describing how many times T_VIRTUAL_CALL() has been invoked.
+ */
+BacktraceMap virtual_calls;
+Mutex virtual_calls_mutex;
+
+/**
+ * A map describing how many times T_GENERIC_PROTOCOL() has been invoked.
+ */
+BacktraceMap generic_calls;
+Mutex generic_calls_mutex;
+
+
+void _record_backtrace(BacktraceMap* map, const Mutex& mutex, Key *k) {
+ Guard guard(mutex);
+
+ BacktraceMap::iterator it = map->find(*k);
+ if (it == map->end()) {
+ k->makePersistent();
+ map->insert(std::make_pair(*k, 1));
+ } else {
+ // increment the count
+ // NOTE: we could assert if it->second is 0 afterwards, since that would
+ // mean we've wrapped.
+ ++(it->second);
+ }
+}
+
+/**
+ * Record an unnecessary virtual function call.
+ *
+ * This method is invoked by the T_VIRTUAL_CALL() macro.
+ */
+void profile_virtual_call(const std::type_info& type) {
+ int const skip = 1; // ignore this frame
+ Backtrace bt(skip);
+ Key k(&bt, type);
+ _record_backtrace(&virtual_calls, virtual_calls_mutex, &k);
+}
+
+/**
+ * Record a call to a template processor with a protocol that is not the one
+ * specified in the template parameter.
+ *
+ * This method is invoked by the T_GENERIC_PROTOCOL() macro.
+ */
+void profile_generic_protocol(const std::type_info& template_type,
+ const std::type_info& prot_type) {
+ int const skip = 1; // ignore this frame
+ Backtrace bt(skip);
+ Key k(&bt, template_type, prot_type);
+ _record_backtrace(&generic_calls, generic_calls_mutex, &k);
+}
+
+/**
+ * Print the recorded profiling information to the specified file.
+ */
+void profile_print_info(FILE* f) {
+ typedef std::vector< std::pair<Key, size_t> > BacktraceVector;
+
+ CountGreater is_greater;
+
+ // Grab both locks for the duration of the print operation,
+ // to ensure the output is a consistent snapshot of a single point in time
+ Guard generic_calls_guard(generic_calls_mutex);
+ Guard virtual_calls_guard(virtual_calls_mutex);
+
+ // print the info from generic_calls, sorted by frequency
+ //
+ // We print the generic_calls info ahead of virtual_calls, since it is more
+ // useful in some cases. All T_GENERIC_PROTOCOL calls can be eliminated
+ // from most programs. Not all T_VIRTUAL_CALLs will be eliminated by
+ // converting to templates.
+ BacktraceVector gp_sorted(generic_calls.begin(), generic_calls.end());
+ std::sort(gp_sorted.begin(), gp_sorted.end(), is_greater);
+
+ for (BacktraceVector::const_iterator it = gp_sorted.begin();
+ it != gp_sorted.end();
+ ++it) {
+ Key const &key = it->first;
+ size_t const count = it->second;
+ fprintf(f, "T_GENERIC_PROTOCOL: %zu calls to %s with a %s:\n",
+ count, key.getTypeName(), key.getTypeName2());
+ key.getBacktrace()->print(f, 2);
+ fprintf(f, "\n");
+ }
+
+ // print the info from virtual_calls, sorted by frequency
+ BacktraceVector vc_sorted(virtual_calls.begin(), virtual_calls.end());
+ std::sort(vc_sorted.begin(), vc_sorted.end(), is_greater);
+
+ for (BacktraceVector::const_iterator it = vc_sorted.begin();
+ it != vc_sorted.end();
+ ++it) {
+ Key const &key = it->first;
+ size_t const count = it->second;
+ fprintf(f, "T_VIRTUAL_CALL: %zu calls on %s:\n", count, key.getTypeName());
+ key.getBacktrace()->print(f, 2);
+ fprintf(f, "\n");
+ }
+}
+
+/**
+ * Print the recorded profiling information to stdout.
+ */
+void profile_print_info() {
+ profile_print_info(stdout);
+}
+
+/**
+ * Write a BacktraceMap as Google CPU profiler binary data.
+ */
+static void profile_write_pprof_file(FILE* f, BacktraceMap const& map) {
+ // Write the header
+ uintptr_t header[5] = { 0, 3, 0, 0, 0 };
+ fwrite(&header, sizeof(header), 1, f);
+
+ // Write the profile records
+ for (BacktraceMap::const_iterator it = map.begin(); it != map.end(); ++it) {
+ uintptr_t count = it->second;
+ fwrite(&count, sizeof(count), 1, f);
+
+ Backtrace const* bt = it->first.getBacktrace();
+ uintptr_t num_pcs = bt->getDepth();
+ fwrite(&num_pcs, sizeof(num_pcs), 1, f);
+
+ for (uintptr_t n = 0; n < num_pcs; ++n) {
+ void* pc = bt->getFrame(n);
+ fwrite(&pc, sizeof(pc), 1, f);
+ }
+ }
+
+ // Write the trailer
+ uintptr_t trailer[3] = { 0, 1, 0 };
+ fwrite(&trailer, sizeof(trailer), 1, f);
+
+ // Write /proc/self/maps
+ // TODO(simpkins): This only works on linux
+ FILE *proc_maps = fopen("/proc/self/maps", "r");
+ if (proc_maps) {
+ uint8_t buf[4096];
+ while (true) {
+ size_t bytes_read = fread(buf, 1, sizeof(buf), proc_maps);
+ if (bytes_read == 0) {
+ break;
+ }
+ fwrite(buf, 1, bytes_read, f);
+ }
+ fclose(proc_maps);
+ }
+}
+
+/**
+ * Write the recorded profiling information as pprof files.
+ *
+ * This writes the information using the Google CPU profiler binary data
+ * format, so it can be analyzed with pprof. Note that information about the
+ * protocol/transport data types cannot be stored in this file format.
+ *
+ * See http://code.google.com/p/google-perftools/ for more details.
+ *
+ * @param gen_calls_f The information about calls to
+ * profile_generic_protocol() will be written to this
+ * file.
+ * @param virtual_calls_f The information about calls to
+ * profile_virtual_call() will be written to this file.
+ */
+void profile_write_pprof(FILE* gen_calls_f, FILE* virtual_calls_f) {
+ typedef std::vector< std::pair<Key, size_t> > BacktraceVector;
+
+ CountGreater is_greater;
+
+ // Grab both locks for the duration of the print operation,
+ // to ensure the output is a consistent snapshot of a single point in time
+ Guard generic_calls_guard(generic_calls_mutex);
+ Guard virtual_calls_guard(virtual_calls_mutex);
+
+ // write the info from generic_calls
+ profile_write_pprof_file(gen_calls_f, generic_calls);
+
+ // write the info from virtual_calls
+ profile_write_pprof_file(virtual_calls_f, virtual_calls);
+}
+
+}} // apache::thrift
+
+#endif // T_GLOBAL_PROFILE_VIRTUAL > 0
http://git-wip-us.apache.org/repos/asf/airavata/blob/f891b7dc/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/async/TAsyncBufferProcessor.h
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/async/TAsyncBufferProcessor.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/async/TAsyncBufferProcessor.h
new file mode 100644
index 0000000..ad7c639
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/async/TAsyncBufferProcessor.h
@@ -0,0 +1,46 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you 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 _THRIFT_TASYNC_BUFFER_PROCESSOR_H_
+#define _THRIFT_TASYNC_BUFFER_PROCESSOR_H_ 1
+
+#include <thrift/cxxfunctional.h>
+#include <boost/shared_ptr.hpp>
+
+#include <thrift/transport/TBufferTransports.h>
+
+namespace apache { namespace thrift { namespace async {
+
+class TAsyncBufferProcessor {
+ public:
+ // Process data in "in", putting the result in "out".
+ // Call _return(true) when done, or _return(false) to
+ // forcefully close the connection (if applicable).
+ // "in" and "out" should be TMemoryBuffer or similar,
+ // not a wrapper around a socket.
+ virtual void process(
+ apache::thrift::stdcxx::function<void(bool healthy)> _return,
+ boost::shared_ptr<apache::thrift::transport::TBufferBase> ibuf,
+ boost::shared_ptr<apache::thrift::transport::TBufferBase> obuf) = 0;
+ virtual ~TAsyncBufferProcessor() {}
+};
+
+}}} // apache::thrift::async
+
+#endif // #ifndef _THRIFT_TASYNC_BUFFER_PROCESSOR_H_
http://git-wip-us.apache.org/repos/asf/airavata/blob/f891b7dc/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/async/TAsyncChannel.cpp
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/async/TAsyncChannel.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/async/TAsyncChannel.cpp
new file mode 100644
index 0000000..64dfe5f
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/async/TAsyncChannel.cpp
@@ -0,0 +1,34 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you 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 <thrift/async/TAsyncChannel.h>
+#include <thrift/cxxfunctional.h>
+
+namespace apache { namespace thrift { namespace async {
+
+void TAsyncChannel::sendAndRecvMessage(const VoidCallback& cob,
+ TMemoryBuffer* sendBuf,
+ TMemoryBuffer* recvBuf) {
+ apache::thrift::stdcxx::function<void()> send_done =
+ apache::thrift::stdcxx::bind(&TAsyncChannel::recvMessage, this, cob, recvBuf);
+
+ sendMessage(send_done, sendBuf);
+}
+
+}}} // apache::thrift::async
http://git-wip-us.apache.org/repos/asf/airavata/blob/f891b7dc/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/async/TAsyncChannel.h
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/async/TAsyncChannel.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/async/TAsyncChannel.h
new file mode 100644
index 0000000..0f202fd
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/async/TAsyncChannel.h
@@ -0,0 +1,66 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you 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 _THRIFT_ASYNC_TASYNCCHANNEL_H_
+#define _THRIFT_ASYNC_TASYNCCHANNEL_H_ 1
+
+#include <thrift/cxxfunctional.h>
+#include <thrift/Thrift.h>
+
+namespace apache { namespace thrift { namespace transport {
+class TMemoryBuffer;
+}}}
+
+namespace apache { namespace thrift { namespace async {
+using apache::thrift::transport::TMemoryBuffer;
+
+class TAsyncChannel {
+ public:
+ typedef apache::thrift::stdcxx::function<void()> VoidCallback;
+
+ virtual ~TAsyncChannel() {}
+
+ // is the channel in a good state?
+ virtual bool good() const = 0;
+ virtual bool error() const = 0;
+ virtual bool timedOut() const = 0;
+
+ /**
+ * Send a message over the channel.
+ */
+ virtual void sendMessage(const VoidCallback& cob,
+ apache::thrift::transport::TMemoryBuffer* message) = 0;
+
+ /**
+ * Receive a message from the channel.
+ */
+ virtual void recvMessage(const VoidCallback& cob,
+ apache::thrift::transport::TMemoryBuffer* message) = 0;
+
+ /**
+ * Send a message over the channel and receive a response.
+ */
+ virtual void sendAndRecvMessage(const VoidCallback& cob,
+ apache::thrift::transport::TMemoryBuffer* sendBuf,
+ apache::thrift::transport::TMemoryBuffer* recvBuf);
+};
+
+}}} // apache::thrift::async
+
+#endif // #ifndef _THRIFT_ASYNC_TASYNCCHANNEL_H_
http://git-wip-us.apache.org/repos/asf/airavata/blob/f891b7dc/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/async/TAsyncDispatchProcessor.h
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/async/TAsyncDispatchProcessor.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/async/TAsyncDispatchProcessor.h
new file mode 100644
index 0000000..15b5bce
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/async/TAsyncDispatchProcessor.h
@@ -0,0 +1,149 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you 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 _THRIFT_ASYNC_TASYNCDISPATCHPROCESSOR_H_
+#define _THRIFT_ASYNC_TASYNCDISPATCHPROCESSOR_H_ 1
+
+#include <thrift/async/TAsyncProcessor.h>
+
+namespace apache { namespace thrift { namespace async {
+
+/**
+ * TAsyncDispatchProcessor is a helper class to parse the message header then
+ * call another function to dispatch based on the function name.
+ *
+ * Subclasses must implement dispatchCall() to dispatch on the function name.
+ */
+template <class Protocol_>
+class TAsyncDispatchProcessorT : public TAsyncProcessor {
+ public:
+ virtual void process(apache::thrift::stdcxx::function<void(bool success)> _return,
+ boost::shared_ptr<protocol::TProtocol> in,
+ boost::shared_ptr<protocol::TProtocol> out) {
+ protocol::TProtocol* inRaw = in.get();
+ protocol::TProtocol* outRaw = out.get();
+
+ // Try to dynamic cast to the template protocol type
+ Protocol_* specificIn = dynamic_cast<Protocol_*>(inRaw);
+ Protocol_* specificOut = dynamic_cast<Protocol_*>(outRaw);
+ if (specificIn && specificOut) {
+ return processFast(_return, specificIn, specificOut);
+ }
+
+ // Log the fact that we have to use the slow path
+ T_GENERIC_PROTOCOL(this, inRaw, specificIn);
+ T_GENERIC_PROTOCOL(this, outRaw, specificOut);
+
+ std::string fname;
+ protocol::TMessageType mtype;
+ int32_t seqid;
+ inRaw->readMessageBegin(fname, mtype, seqid);
+
+ // If this doesn't look like a valid call, log an error and return false so
+ // that the server will close the connection.
+ //
+ // (The old generated processor code used to try to skip a T_STRUCT and
+ // continue. However, that seems unsafe.)
+ if (mtype != protocol::T_CALL && mtype != protocol::T_ONEWAY) {
+ GlobalOutput.printf("received invalid message type %d from client",
+ mtype);
+ _return(false);
+ return;
+ }
+
+ return this->dispatchCall(_return, inRaw, outRaw, fname, seqid);
+ }
+
+ void processFast(apache::thrift::stdcxx::function<void(bool success)> _return,
+ Protocol_* in, Protocol_* out) {
+ std::string fname;
+ protocol::TMessageType mtype;
+ int32_t seqid;
+ in->readMessageBegin(fname, mtype, seqid);
+
+ if (mtype != protocol::T_CALL && mtype != protocol::T_ONEWAY) {
+ GlobalOutput.printf("received invalid message type %d from client",
+ mtype);
+ _return(false);
+ return;
+ }
+
+ return this->dispatchCallTemplated(_return, in, out, fname, seqid);
+ }
+
+ virtual void dispatchCall(apache::thrift::stdcxx::function<void(bool ok)> _return,
+ apache::thrift::protocol::TProtocol* in,
+ apache::thrift::protocol::TProtocol* out,
+ const std::string& fname, int32_t seqid) = 0;
+
+ virtual void dispatchCallTemplated(apache::thrift::stdcxx::function<void(bool ok)> _return,
+ Protocol_* in, Protocol_* out,
+ const std::string& fname,
+ int32_t seqid) = 0;
+};
+
+/**
+ * Non-templatized version of TAsyncDispatchProcessor,
+ * that doesn't bother trying to perform a dynamic_cast.
+ */
+class TAsyncDispatchProcessor : public TAsyncProcessor {
+ public:
+ virtual void process(apache::thrift::stdcxx::function<void(bool success)> _return,
+ boost::shared_ptr<protocol::TProtocol> in,
+ boost::shared_ptr<protocol::TProtocol> out) {
+ protocol::TProtocol* inRaw = in.get();
+ protocol::TProtocol* outRaw = out.get();
+
+ std::string fname;
+ protocol::TMessageType mtype;
+ int32_t seqid;
+ inRaw->readMessageBegin(fname, mtype, seqid);
+
+ // If this doesn't look like a valid call, log an error and return false so
+ // that the server will close the connection.
+ //
+ // (The old generated processor code used to try to skip a T_STRUCT and
+ // continue. However, that seems unsafe.)
+ if (mtype != protocol::T_CALL && mtype != protocol::T_ONEWAY) {
+ GlobalOutput.printf("received invalid message type %d from client",
+ mtype);
+ _return(false);
+ return;
+ }
+
+ return dispatchCall(_return, inRaw, outRaw, fname, seqid);
+ }
+
+ virtual void dispatchCall(apache::thrift::stdcxx::function<void(bool ok)> _return,
+ apache::thrift::protocol::TProtocol* in,
+ apache::thrift::protocol::TProtocol* out,
+ const std::string& fname, int32_t seqid) = 0;
+};
+
+// Specialize TAsyncDispatchProcessorT for TProtocol and TDummyProtocol just to
+// use the generic TDispatchProcessor.
+template <>
+class TAsyncDispatchProcessorT<protocol::TDummyProtocol> :
+ public TAsyncDispatchProcessor {};
+template <>
+class TAsyncDispatchProcessorT<protocol::TProtocol> :
+ public TAsyncDispatchProcessor {};
+
+}}} // apache::thrift::async
+
+#endif // _THRIFT_ASYNC_TASYNCDISPATCHPROCESSOR_H_
http://git-wip-us.apache.org/repos/asf/airavata/blob/f891b7dc/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/async/TAsyncProcessor.h
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/async/TAsyncProcessor.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/async/TAsyncProcessor.h
new file mode 100644
index 0000000..a03d1dc
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/async/TAsyncProcessor.h
@@ -0,0 +1,97 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you 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 _THRIFT_TASYNCPROCESSOR_H_
+#define _THRIFT_TASYNCPROCESSOR_H_ 1
+
+#include <thrift/cxxfunctional.h>
+#include <boost/shared_ptr.hpp>
+#include <thrift/protocol/TProtocol.h>
+#include <thrift/TProcessor.h>
+
+namespace apache { namespace thrift { namespace async {
+
+/**
+ * Async version of a TProcessor. It is not expected to complete by the time
+ * the call to process returns. Instead, it calls a cob to signal completion.
+ */
+
+class TEventServer; // forward declaration
+
+class TAsyncProcessor {
+ public:
+ virtual ~TAsyncProcessor() {}
+
+ virtual void process(apache::thrift::stdcxx::function<void(bool success)> _return,
+ boost::shared_ptr<protocol::TProtocol> in,
+ boost::shared_ptr<protocol::TProtocol> out) = 0;
+
+ void process(apache::thrift::stdcxx::function<void(bool success)> _return,
+ boost::shared_ptr<apache::thrift::protocol::TProtocol> io) {
+ return process(_return, io, io);
+ }
+
+ boost::shared_ptr<TProcessorEventHandler> getEventHandler() {
+ return eventHandler_;
+ }
+
+ void setEventHandler(boost::shared_ptr<TProcessorEventHandler> eventHandler) {
+ eventHandler_ = eventHandler;
+ }
+
+ const TEventServer* getAsyncServer() {
+ return asyncServer_;
+ }
+ protected:
+ TAsyncProcessor() {}
+
+ boost::shared_ptr<TProcessorEventHandler> eventHandler_;
+ const TEventServer* asyncServer_;
+ private:
+ friend class TEventServer;
+ void setAsyncServer(const TEventServer* server) {
+ asyncServer_ = server;
+ }
+};
+
+class TAsyncProcessorFactory {
+ public:
+ virtual ~TAsyncProcessorFactory() {}
+
+ /**
+ * Get the TAsyncProcessor to use for a particular connection.
+ *
+ * This method is always invoked in the same thread that the connection was
+ * accepted on. This generally means that this call does not need to be
+ * thread safe, as it will always be invoked from a single thread.
+ */
+ virtual boost::shared_ptr<TAsyncProcessor> getProcessor(
+ const TConnectionInfo& connInfo) = 0;
+};
+
+
+
+}}} // apache::thrift::async
+
+// XXX I'm lazy for now
+namespace apache { namespace thrift {
+using apache::thrift::async::TAsyncProcessor;
+}}
+
+#endif // #ifndef _THRIFT_TASYNCPROCESSOR_H_
http://git-wip-us.apache.org/repos/asf/airavata/blob/f891b7dc/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/async/TAsyncProtocolProcessor.cpp
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/async/TAsyncProtocolProcessor.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/async/TAsyncProtocolProcessor.cpp
new file mode 100644
index 0000000..2096289
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/async/TAsyncProtocolProcessor.cpp
@@ -0,0 +1,51 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you 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 <thrift/async/TAsyncProtocolProcessor.h>
+
+using apache::thrift::transport::TBufferBase;
+using apache::thrift::protocol::TProtocol;
+
+namespace apache { namespace thrift { namespace async {
+
+void TAsyncProtocolProcessor::process(
+ apache::thrift::stdcxx::function<void(bool healthy)> _return,
+ boost::shared_ptr<TBufferBase> ibuf,
+ boost::shared_ptr<TBufferBase> obuf) {
+ boost::shared_ptr<TProtocol> iprot(pfact_->getProtocol(ibuf));
+ boost::shared_ptr<TProtocol> oprot(pfact_->getProtocol(obuf));
+ return underlying_->process(
+ apache::thrift::stdcxx::bind(
+ &TAsyncProtocolProcessor::finish,
+ _return,
+ oprot,
+ apache::thrift::stdcxx::placeholders::_1),
+ iprot, oprot);
+}
+
+/* static */ void TAsyncProtocolProcessor::finish(
+ apache::thrift::stdcxx::function<void(bool healthy)> _return,
+ boost::shared_ptr<TProtocol> oprot,
+ bool healthy) {
+ (void) oprot;
+ // This is a stub function to hold a reference to oprot.
+ return _return(healthy);
+}
+
+}}} // apache::thrift::async
http://git-wip-us.apache.org/repos/asf/airavata/blob/f891b7dc/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/async/TAsyncProtocolProcessor.h
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/async/TAsyncProtocolProcessor.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/async/TAsyncProtocolProcessor.h
new file mode 100644
index 0000000..840b4dd
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/async/TAsyncProtocolProcessor.h
@@ -0,0 +1,57 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you 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 _THRIFT_TNAME_ME_H_
+#define _THRIFT_TNAME_ME_H_ 1
+
+#include <thrift/async/TAsyncProcessor.h>
+#include <thrift/async/TAsyncBufferProcessor.h>
+#include <thrift/protocol/TProtocol.h>
+
+namespace apache { namespace thrift { namespace async {
+
+class TAsyncProtocolProcessor : public TAsyncBufferProcessor {
+ public:
+ TAsyncProtocolProcessor(
+ boost::shared_ptr<TAsyncProcessor> underlying,
+ boost::shared_ptr<apache::thrift::protocol::TProtocolFactory> pfact)
+ : underlying_(underlying)
+ , pfact_(pfact)
+ {}
+
+ virtual void process(
+ apache::thrift::stdcxx::function<void(bool healthy)> _return,
+ boost::shared_ptr<apache::thrift::transport::TBufferBase> ibuf,
+ boost::shared_ptr<apache::thrift::transport::TBufferBase> obuf);
+
+ virtual ~TAsyncProtocolProcessor() {}
+
+ private:
+ static void finish(
+ apache::thrift::stdcxx::function<void(bool healthy)> _return,
+ boost::shared_ptr<apache::thrift::protocol::TProtocol> oprot,
+ bool healthy);
+
+ boost::shared_ptr<TAsyncProcessor> underlying_;
+ boost::shared_ptr<apache::thrift::protocol::TProtocolFactory> pfact_;
+};
+
+}}} // apache::thrift::async
+
+#endif // #ifndef _THRIFT_TNAME_ME_H_
http://git-wip-us.apache.org/repos/asf/airavata/blob/f891b7dc/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/async/TEvhttpClientChannel.cpp
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/async/TEvhttpClientChannel.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/async/TEvhttpClientChannel.cpp
new file mode 100644
index 0000000..7ad7537
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/async/TEvhttpClientChannel.cpp
@@ -0,0 +1,162 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you 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 <thrift/async/TEvhttpClientChannel.h>
+#include <evhttp.h>
+#include <thrift/transport/TBufferTransports.h>
+#include <thrift/protocol/TProtocolException.h>
+
+#include <iostream>
+#include <sstream>
+
+using namespace apache::thrift::protocol;
+using apache::thrift::transport::TTransportException;
+
+namespace apache { namespace thrift { namespace async {
+
+
+TEvhttpClientChannel::TEvhttpClientChannel(
+ const std::string& host,
+ const std::string& path,
+ const char* address,
+ int port,
+ struct event_base* eb)
+ : host_(host)
+ , path_(path)
+ , recvBuf_(NULL)
+ , conn_(NULL)
+{
+ conn_ = evhttp_connection_new(address, port);
+ if (conn_ == NULL) {
+ throw TException("evhttp_connection_new failed");
+ }
+ evhttp_connection_set_base(conn_, eb);
+}
+
+
+TEvhttpClientChannel::~TEvhttpClientChannel() {
+ if (conn_ != NULL) {
+ evhttp_connection_free(conn_);
+ }
+}
+
+
+void TEvhttpClientChannel::sendAndRecvMessage(
+ const VoidCallback& cob,
+ apache::thrift::transport::TMemoryBuffer* sendBuf,
+ apache::thrift::transport::TMemoryBuffer* recvBuf) {
+ cob_ = cob;
+ recvBuf_ = recvBuf;
+
+ struct evhttp_request* req = evhttp_request_new(response, this);
+ if (req == NULL) {
+ throw TException("evhttp_request_new failed");
+ }
+
+ int rv;
+
+ rv = evhttp_add_header(req->output_headers, "Host", host_.c_str());
+ if (rv != 0) {
+ throw TException("evhttp_add_header failed");
+ }
+
+ rv = evhttp_add_header(req->output_headers, "Content-Type", "application/x-thrift");
+ if (rv != 0) {
+ throw TException("evhttp_add_header failed");
+ }
+
+ uint8_t* obuf;
+ uint32_t sz;
+ sendBuf->getBuffer(&obuf, &sz);
+ rv = evbuffer_add(req->output_buffer, obuf, sz);
+ if (rv != 0) {
+ throw TException("evbuffer_add failed");
+ }
+
+ rv = evhttp_make_request(conn_, req, EVHTTP_REQ_POST, path_.c_str());
+ if (rv != 0) {
+ throw TException("evhttp_make_request failed");
+ }
+}
+
+
+void TEvhttpClientChannel::sendMessage(
+ const VoidCallback& cob, apache::thrift::transport::TMemoryBuffer* message) {
+ (void) cob;
+ (void) message;
+ throw TProtocolException(TProtocolException::NOT_IMPLEMENTED,
+ "Unexpected call to TEvhttpClientChannel::sendMessage");
+}
+
+
+void TEvhttpClientChannel::recvMessage(
+ const VoidCallback& cob, apache::thrift::transport::TMemoryBuffer* message) {
+ (void) cob;
+ (void) message;
+ throw TProtocolException(TProtocolException::NOT_IMPLEMENTED,
+ "Unexpected call to TEvhttpClientChannel::recvMessage");
+}
+
+
+void TEvhttpClientChannel::finish(struct evhttp_request* req) {
+ if (req == NULL) {
+ try {
+ cob_();
+ } catch(const TTransportException& e) {
+ if(e.getType() == TTransportException::END_OF_FILE)
+ throw TException("connect failed");
+ else
+ throw;
+ }
+ return;
+ } else if (req->response_code != 200) {
+ try {
+ cob_();
+ } catch(const TTransportException& e) {
+ std::stringstream ss;
+ ss << "server returned code " << req->response_code;
+ if(req->response_code_line)
+ ss << ": " << req->response_code_line;
+ if(e.getType() == TTransportException::END_OF_FILE)
+ throw TException(ss.str());
+ else
+ throw;
+ }
+ return;
+ }
+ recvBuf_->resetBuffer(
+ EVBUFFER_DATA(req->input_buffer),
+ static_cast<uint32_t>(EVBUFFER_LENGTH(req->input_buffer)));
+ cob_();
+ return;
+}
+
+
+/* static */ void TEvhttpClientChannel::response(struct evhttp_request* req, void* arg) {
+ TEvhttpClientChannel* self = (TEvhttpClientChannel*)arg;
+ try {
+ self->finish(req);
+ } catch(std::exception& e) {
+ // don't propagate a C++ exception in C code (e.g. libevent)
+ std::cerr << "TEvhttpClientChannel::response exception thrown (ignored): " << e.what() << std::endl;
+ }
+}
+
+
+}}} // apache::thrift::async
http://git-wip-us.apache.org/repos/asf/airavata/blob/f891b7dc/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/async/TEvhttpClientChannel.h
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/async/TEvhttpClientChannel.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/async/TEvhttpClientChannel.h
new file mode 100644
index 0000000..a7229e9
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/async/TEvhttpClientChannel.h
@@ -0,0 +1,76 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you 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 _THRIFT_TEVHTTP_CLIENT_CHANNEL_H_
+#define _THRIFT_TEVHTTP_CLIENT_CHANNEL_H_ 1
+
+#include <string>
+#include <boost/shared_ptr.hpp>
+#include <thrift/async/TAsyncChannel.h>
+
+struct event_base;
+struct evhttp_connection;
+struct evhttp_request;
+
+namespace apache { namespace thrift { namespace transport {
+class TMemoryBuffer;
+}}}
+
+namespace apache { namespace thrift { namespace async {
+
+class TEvhttpClientChannel : public TAsyncChannel {
+ public:
+ using TAsyncChannel::VoidCallback;
+
+ TEvhttpClientChannel(
+ const std::string& host,
+ const std::string& path,
+ const char* address,
+ int port,
+ struct event_base* eb);
+ ~TEvhttpClientChannel();
+
+ virtual void sendAndRecvMessage(const VoidCallback& cob,
+ apache::thrift::transport::TMemoryBuffer* sendBuf,
+ apache::thrift::transport::TMemoryBuffer* recvBuf);
+
+ virtual void sendMessage(const VoidCallback& cob, apache::thrift::transport::TMemoryBuffer* message);
+ virtual void recvMessage(const VoidCallback& cob, apache::thrift::transport::TMemoryBuffer* message);
+
+ void finish(struct evhttp_request* req);
+
+ //XXX
+ virtual bool good() const { return true; }
+ virtual bool error() const { return false; }
+ virtual bool timedOut() const { return false; }
+
+ private:
+ static void response(struct evhttp_request* req, void* arg);
+
+ std::string host_;
+ std::string path_;
+ VoidCallback cob_;
+ apache::thrift::transport::TMemoryBuffer* recvBuf_;
+ struct evhttp_connection* conn_;
+
+};
+
+}}} // apache::thrift::async
+
+#endif // #ifndef _THRIFT_TEVHTTP_CLIENT_CHANNEL_H_
http://git-wip-us.apache.org/repos/asf/airavata/blob/f891b7dc/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/async/TEvhttpServer.cpp
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/async/TEvhttpServer.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/async/TEvhttpServer.cpp
new file mode 100644
index 0000000..fa8d782
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/async/TEvhttpServer.cpp
@@ -0,0 +1,169 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you 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 <thrift/async/TEvhttpServer.h>
+#include <thrift/async/TAsyncBufferProcessor.h>
+#include <thrift/transport/TBufferTransports.h>
+#include <evhttp.h>
+
+#include <iostream>
+
+#ifndef HTTP_INTERNAL // libevent < 2
+#define HTTP_INTERNAL 500
+#endif
+
+using apache::thrift::transport::TMemoryBuffer;
+
+namespace apache { namespace thrift { namespace async {
+
+
+struct TEvhttpServer::RequestContext {
+ struct evhttp_request* req;
+ boost::shared_ptr<apache::thrift::transport::TMemoryBuffer> ibuf;
+ boost::shared_ptr<apache::thrift::transport::TMemoryBuffer> obuf;
+
+ RequestContext(struct evhttp_request* req);
+};
+
+
+TEvhttpServer::TEvhttpServer(boost::shared_ptr<TAsyncBufferProcessor> processor)
+ : processor_(processor)
+ , eb_(NULL)
+ , eh_(NULL)
+{}
+
+
+TEvhttpServer::TEvhttpServer(boost::shared_ptr<TAsyncBufferProcessor> processor, int port)
+ : processor_(processor)
+ , eb_(NULL)
+ , eh_(NULL)
+{
+ // Create event_base and evhttp.
+ eb_ = event_base_new();
+ if (eb_ == NULL) {
+ throw TException("event_base_new failed");
+ }
+ eh_ = evhttp_new(eb_);
+ if (eh_ == NULL) {
+ event_base_free(eb_);
+ throw TException("evhttp_new failed");
+ }
+
+ // Bind to port.
+ int ret = evhttp_bind_socket(eh_, NULL, port);
+ if (ret < 0) {
+ evhttp_free(eh_);
+ event_base_free(eb_);
+ throw TException("evhttp_bind_socket failed");
+ }
+
+ // Register a handler. If you use the other constructor,
+ // you will want to do this yourself.
+ // Don't forget to unregister before destorying this TEvhttpServer.
+ evhttp_set_cb(eh_, "/", request, (void*)this);
+}
+
+
+TEvhttpServer::~TEvhttpServer() {
+ if (eh_ != NULL) {
+ evhttp_free(eh_);
+ }
+ if (eb_ != NULL) {
+ event_base_free(eb_);
+ }
+}
+
+
+int TEvhttpServer::serve() {
+ if (eb_ == NULL) {
+ throw TException("Unexpected call to TEvhttpServer::serve");
+ }
+ return event_base_dispatch(eb_);
+}
+
+
+TEvhttpServer::RequestContext::RequestContext(struct evhttp_request* req) : req(req)
+ , ibuf(new TMemoryBuffer(EVBUFFER_DATA(req->input_buffer), static_cast<uint32_t>(EVBUFFER_LENGTH(req->input_buffer))))
+ , obuf(new TMemoryBuffer())
+{}
+
+
+void TEvhttpServer::request(struct evhttp_request* req, void* self) {
+ try {
+ static_cast<TEvhttpServer*>(self)->process(req);
+ } catch(std::exception& e) {
+ evhttp_send_reply(req, HTTP_INTERNAL, e.what(), 0);
+ }
+}
+
+
+void TEvhttpServer::process(struct evhttp_request* req) {
+ RequestContext* ctx = new RequestContext(req);
+ return processor_->process(
+ apache::thrift::stdcxx::bind(
+ &TEvhttpServer::complete,
+ this,
+ ctx,
+ apache::thrift::stdcxx::placeholders::_1),
+ ctx->ibuf,
+ ctx->obuf);
+}
+
+
+void TEvhttpServer::complete(RequestContext* ctx, bool success) {
+ (void) success;
+ std::auto_ptr<RequestContext> ptr(ctx);
+
+ int code = success ? 200 : 400;
+ const char* reason = success ? "OK" : "Bad Request";
+
+ int rv = evhttp_add_header(ctx->req->output_headers, "Content-Type", "application/x-thrift");
+ if (rv != 0) {
+ // TODO: Log an error.
+ std::cerr << "evhttp_add_header failed " << __FILE__ << ":" << __LINE__ << std::endl;
+ }
+
+ struct evbuffer* buf = evbuffer_new();
+ if (buf == NULL) {
+ // TODO: Log an error.
+ std::cerr << "evbuffer_new failed " << __FILE__ << ":" << __LINE__ << std::endl;
+ } else {
+ uint8_t* obuf;
+ uint32_t sz;
+ ctx->obuf->getBuffer(&obuf, &sz);
+ int ret = evbuffer_add(buf, obuf, sz);
+ if (ret != 0) {
+ // TODO: Log an error.
+ std::cerr << "evhttp_add failed with " << ret << " " << __FILE__ << ":" << __LINE__ << std::endl;
+ }
+ }
+
+ evhttp_send_reply(ctx->req, code, reason, buf);
+ if (buf != NULL) {
+ evbuffer_free(buf);
+ }
+}
+
+
+struct event_base* TEvhttpServer::getEventBase() {
+ return eb_;
+}
+
+
+}}} // apache::thrift::async
http://git-wip-us.apache.org/repos/asf/airavata/blob/f891b7dc/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/async/TEvhttpServer.h
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/async/TEvhttpServer.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/async/TEvhttpServer.h
new file mode 100644
index 0000000..edc6ffb
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/async/TEvhttpServer.h
@@ -0,0 +1,71 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you 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 _THRIFT_TEVHTTP_SERVER_H_
+#define _THRIFT_TEVHTTP_SERVER_H_ 1
+
+#include <boost/shared_ptr.hpp>
+
+struct event_base;
+struct evhttp;
+struct evhttp_request;
+
+namespace apache { namespace thrift { namespace async {
+
+class TAsyncBufferProcessor;
+
+class TEvhttpServer {
+ public:
+ /**
+ * Create a TEvhttpServer for use with an external evhttp instance.
+ * Must be manually installed with evhttp_set_cb, using
+ * TEvhttpServer::request as the callback and the
+ * address of the server as the extra arg.
+ * Do not call "serve" on this server.
+ */
+ TEvhttpServer(boost::shared_ptr<TAsyncBufferProcessor> processor);
+
+ /**
+ * Create a TEvhttpServer with an embedded event_base and evhttp,
+ * listening on port and responding on the endpoint "/".
+ * Call "serve" on this server to serve forever.
+ */
+ TEvhttpServer(boost::shared_ptr<TAsyncBufferProcessor> processor, int port);
+
+ ~TEvhttpServer();
+
+ static void request(struct evhttp_request* req, void* self);
+ int serve();
+
+ struct event_base* getEventBase();
+
+ private:
+ struct RequestContext;
+
+ void process(struct evhttp_request* req);
+ void complete(RequestContext* ctx, bool success);
+
+ boost::shared_ptr<TAsyncBufferProcessor> processor_;
+ struct event_base* eb_;
+ struct evhttp* eh_;
+};
+
+}}} // apache::thrift::async
+
+#endif // #ifndef _THRIFT_TEVHTTP_SERVER_H_
http://git-wip-us.apache.org/repos/asf/airavata/blob/f891b7dc/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/concurrency/BoostMonitor.cpp
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/concurrency/BoostMonitor.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/concurrency/BoostMonitor.cpp
new file mode 100644
index 0000000..1027157
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/concurrency/BoostMonitor.cpp
@@ -0,0 +1,211 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you 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 <thrift/thrift-config.h>
+
+#include <thrift/concurrency/Monitor.h>
+#include <thrift/concurrency/Exception.h>
+#include <thrift/concurrency/Util.h>
+#include <thrift/transport/PlatformSocket.h>
+#include <assert.h>
+
+#include <boost/scoped_ptr.hpp>
+#include <boost/thread.hpp>
+#include <boost/date_time/posix_time/posix_time.hpp>
+
+namespace apache { namespace thrift { namespace concurrency {
+
+/**
+ * Monitor implementation using the boost thread library
+ *
+ * @version $Id:$
+ */
+class Monitor::Impl : public boost::condition_variable_any {
+
+ public:
+
+ Impl()
+ : ownedMutex_(new Mutex()),
+ mutex_(NULL) {
+ init(ownedMutex_.get());
+ }
+
+ Impl(Mutex* mutex)
+ : mutex_(NULL) {
+ init(mutex);
+ }
+
+ Impl(Monitor* monitor)
+ : mutex_(NULL) {
+ init(&(monitor->mutex()));
+ }
+
+ Mutex& mutex() { return *mutex_; }
+ void lock() { mutex().lock(); }
+ void unlock() { mutex().unlock(); }
+
+ /**
+ * Exception-throwing version of waitForTimeRelative(), called simply
+ * wait(int64) for historical reasons. Timeout is in milliseconds.
+ *
+ * If the condition occurs, this function returns cleanly; on timeout or
+ * error an exception is thrown.
+ */
+ void wait(int64_t timeout_ms) {
+ int result = waitForTimeRelative(timeout_ms);
+ if (result == THRIFT_ETIMEDOUT) {
+ throw TimedOutException();
+ } else if (result != 0) {
+ throw TException(
+ "Monitor::wait() failed");
+ }
+ }
+
+ /**
+ * Waits until the specified timeout in milliseconds for the condition to
+ * occur, or waits forever if timeout_ms == 0.
+ *
+ * Returns 0 if condition occurs, THRIFT_ETIMEDOUT on timeout, or an error code.
+ */
+ int waitForTimeRelative(int64_t timeout_ms) {
+ if (timeout_ms == 0LL) {
+ return waitForever();
+ }
+
+ assert(mutex_);
+ boost::timed_mutex* mutexImpl =
+ reinterpret_cast<boost::timed_mutex*>(mutex_->getUnderlyingImpl());
+ assert(mutexImpl);
+
+ boost::timed_mutex::scoped_lock lock(*mutexImpl, boost::adopt_lock);
+ int res = timed_wait(lock, boost::get_system_time()+boost::posix_time::milliseconds(timeout_ms)) ? 0 : THRIFT_ETIMEDOUT;
+ lock.release();
+ return res;
+ }
+
+ /**
+ * Waits until the absolute time specified using struct THRIFT_TIMESPEC.
+ * Returns 0 if condition occurs, THRIFT_ETIMEDOUT on timeout, or an error code.
+ */
+ int waitForTime(const THRIFT_TIMESPEC* abstime) {
+ struct timeval temp;
+ temp.tv_sec = static_cast<long>(abstime->tv_sec);
+ temp.tv_usec = static_cast<long>(abstime->tv_nsec) / 1000;
+ return waitForTime(&temp);
+ }
+
+ /**
+ * Waits until the absolute time specified using struct timeval.
+ * Returns 0 if condition occurs, THRIFT_ETIMEDOUT on timeout, or an error code.
+ */
+ int waitForTime(const struct timeval* abstime) {
+ assert(mutex_);
+ boost::timed_mutex* mutexImpl =
+ static_cast<boost::timed_mutex*>(mutex_->getUnderlyingImpl());
+ assert(mutexImpl);
+
+ struct timeval currenttime;
+ Util::toTimeval(currenttime, Util::currentTime());
+
+ long tv_sec = static_cast<long>(abstime->tv_sec - currenttime.tv_sec);
+ long tv_usec = static_cast<long>(abstime->tv_usec - currenttime.tv_usec);
+ if(tv_sec < 0)
+ tv_sec = 0;
+ if(tv_usec < 0)
+ tv_usec = 0;
+
+ boost::timed_mutex::scoped_lock lock(*mutexImpl, boost::adopt_lock);
+ int res = timed_wait(lock, boost::get_system_time() +
+ boost::posix_time::seconds(tv_sec) +
+ boost::posix_time::microseconds(tv_usec)
+ ) ? 0 : THRIFT_ETIMEDOUT;
+ lock.release();
+ return res;
+ }
+
+ /**
+ * Waits forever until the condition occurs.
+ * Returns 0 if condition occurs, or an error code otherwise.
+ */
+ int waitForever() {
+ assert(mutex_);
+ boost::timed_mutex* mutexImpl =
+ reinterpret_cast<boost::timed_mutex*>(mutex_->getUnderlyingImpl());
+ assert(mutexImpl);
+
+ boost::timed_mutex::scoped_lock lock(*mutexImpl, boost::adopt_lock);
+ ((boost::condition_variable_any*)this)->wait(lock);
+ lock.release();
+ return 0;
+ }
+
+
+ void notify() {
+ notify_one();
+ }
+
+ void notifyAll() {
+ notify_all();
+ }
+
+ private:
+
+ void init(Mutex* mutex) {
+ mutex_ = mutex;
+ }
+
+ boost::scoped_ptr<Mutex> ownedMutex_;
+ Mutex* mutex_;
+};
+
+Monitor::Monitor() : impl_(new Monitor::Impl()) {}
+Monitor::Monitor(Mutex* mutex) : impl_(new Monitor::Impl(mutex)) {}
+Monitor::Monitor(Monitor* monitor) : impl_(new Monitor::Impl(monitor)) {}
+
+Monitor::~Monitor() { delete impl_; }
+
+Mutex& Monitor::mutex() const { return const_cast<Monitor::Impl*>(impl_)->mutex(); }
+
+void Monitor::lock() const { const_cast<Monitor::Impl*>(impl_)->lock(); }
+
+void Monitor::unlock() const { const_cast<Monitor::Impl*>(impl_)->unlock(); }
+
+void Monitor::wait(int64_t timeout) const { const_cast<Monitor::Impl*>(impl_)->wait(timeout); }
+
+int Monitor::waitForTime(const THRIFT_TIMESPEC* abstime) const {
+ return const_cast<Monitor::Impl*>(impl_)->waitForTime(abstime);
+}
+
+int Monitor::waitForTime(const timeval* abstime) const {
+ return const_cast<Monitor::Impl*>(impl_)->waitForTime(abstime);
+}
+
+int Monitor::waitForTimeRelative(int64_t timeout_ms) const {
+ return const_cast<Monitor::Impl*>(impl_)->waitForTimeRelative(timeout_ms);
+}
+
+int Monitor::waitForever() const {
+ return const_cast<Monitor::Impl*>(impl_)->waitForever();
+}
+
+void Monitor::notify() const { const_cast<Monitor::Impl*>(impl_)->notify(); }
+
+void Monitor::notifyAll() const { const_cast<Monitor::Impl*>(impl_)->notifyAll(); }
+
+}}} // apache::thrift::concurrency
http://git-wip-us.apache.org/repos/asf/airavata/blob/f891b7dc/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/concurrency/BoostMutex.cpp
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/concurrency/BoostMutex.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/concurrency/BoostMutex.cpp
new file mode 100644
index 0000000..eb0c3c1
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/concurrency/BoostMutex.cpp
@@ -0,0 +1,56 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you 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 <thrift/thrift-config.h>
+
+#include <thrift/concurrency/Mutex.h>
+#include <thrift/concurrency/Util.h>
+
+#include <cassert>
+#include <boost/thread.hpp>
+#include <boost/thread/mutex.hpp>
+#include <boost/date_time/posix_time/posix_time.hpp>
+
+namespace apache { namespace thrift { namespace concurrency {
+
+/**
+ * Implementation of Mutex class using boost interprocess mutex
+ *
+ * @version $Id:$
+ */
+class Mutex::impl : public boost::timed_mutex {
+};
+
+Mutex::Mutex(Initializer init) : impl_(new Mutex::impl()) {}
+
+void* Mutex::getUnderlyingImpl() const { return impl_.get(); }
+
+void Mutex::lock() const { impl_->lock(); }
+
+bool Mutex::trylock() const { return impl_->try_lock(); }
+
+bool Mutex::timedlock(int64_t ms) const { return impl_->timed_lock(boost::get_system_time()+boost::posix_time::milliseconds(ms)); }
+
+void Mutex::unlock() const { impl_->unlock(); }
+
+void Mutex::DEFAULT_INITIALIZER(void* arg) {
+}
+
+}}} // apache::thrift::concurrency
+
http://git-wip-us.apache.org/repos/asf/airavata/blob/f891b7dc/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/concurrency/BoostThreadFactory.cpp
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/concurrency/BoostThreadFactory.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/concurrency/BoostThreadFactory.cpp
new file mode 100644
index 0000000..decacce
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/concurrency/BoostThreadFactory.cpp
@@ -0,0 +1,180 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you 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 <thrift/thrift-config.h>
+
+#include <thrift/concurrency/BoostThreadFactory.h>
+#include <thrift/concurrency/Exception.h>
+
+#include <cassert>
+
+#include <boost/weak_ptr.hpp>
+#include <boost/thread.hpp>
+
+namespace apache { namespace thrift { namespace concurrency {
+
+using boost::shared_ptr;
+using boost::weak_ptr;
+
+/**
+ * The boost thread class.
+ *
+ * @version $Id:$
+ */
+class BoostThread: public Thread {
+ public:
+
+ enum STATE {
+ uninitialized,
+ starting,
+ started,
+ stopping,
+ stopped
+ };
+
+ static void* threadMain(void* arg);
+
+ private:
+ std::auto_ptr<boost::thread> thread_;
+ STATE state_;
+ weak_ptr<BoostThread> self_;
+ bool detached_;
+
+ public:
+
+ BoostThread(bool detached, shared_ptr<Runnable> runnable) :
+ state_(uninitialized),
+ detached_(detached) {
+ this->Thread::runnable(runnable);
+ }
+
+ ~BoostThread() {
+ if(!detached_) {
+ try {
+ join();
+ } catch(...) {
+ // We're really hosed.
+ }
+ }
+ }
+
+ void start() {
+ if (state_ != uninitialized) {
+ return;
+ }
+
+ // Create reference
+ shared_ptr<BoostThread>* selfRef = new shared_ptr<BoostThread>();
+ *selfRef = self_.lock();
+
+ state_ = starting;
+
+ thread_ = std::auto_ptr<boost::thread>(new boost::thread(boost::bind(threadMain, (void*)selfRef)));
+
+ if(detached_)
+ thread_->detach();
+ }
+
+ void join() {
+ if (!detached_ && state_ != uninitialized) {
+ thread_->join();
+ }
+ }
+
+ Thread::id_t getId() {
+ return thread_.get() ? thread_->get_id() : boost::thread::id();
+ }
+
+ shared_ptr<Runnable> runnable() const { return Thread::runnable(); }
+
+ void runnable(shared_ptr<Runnable> value) { Thread::runnable(value); }
+
+ void weakRef(shared_ptr<BoostThread> self) {
+ assert(self.get() == this);
+ self_ = weak_ptr<BoostThread>(self);
+ }
+};
+
+void* BoostThread::threadMain(void* arg) {
+ shared_ptr<BoostThread> thread = *(shared_ptr<BoostThread>*)arg;
+ delete reinterpret_cast<shared_ptr<BoostThread>*>(arg);
+
+ if (!thread) {
+ return (void*)0;
+ }
+
+ if (thread->state_ != starting) {
+ return (void*)0;
+ }
+
+ thread->state_ = started;
+ thread->runnable()->run();
+
+ if (thread->state_ != stopping && thread->state_ != stopped) {
+ thread->state_ = stopping;
+ }
+ return (void*)0;
+}
+
+/**
+ * POSIX Thread factory implementation
+ */
+class BoostThreadFactory::Impl {
+
+ private:
+ bool detached_;
+
+ public:
+
+ Impl(bool detached) :
+ detached_(detached) {}
+
+ /**
+ * Creates a new POSIX thread to run the runnable object
+ *
+ * @param runnable A runnable object
+ */
+ shared_ptr<Thread> newThread(shared_ptr<Runnable> runnable) const {
+ shared_ptr<BoostThread> result = shared_ptr<BoostThread>(new BoostThread(detached_, runnable));
+ result->weakRef(result);
+ runnable->thread(result);
+ return result;
+ }
+
+ bool isDetached() const { return detached_; }
+
+ void setDetached(bool value) { detached_ = value; }
+
+ Thread::id_t getCurrentThreadId() const {
+ return boost::this_thread::get_id();
+ }
+};
+
+BoostThreadFactory::BoostThreadFactory(bool detached) :
+ impl_(new BoostThreadFactory::Impl(detached)) {}
+
+shared_ptr<Thread> BoostThreadFactory::newThread(shared_ptr<Runnable> runnable) const { return impl_->newThread(runnable); }
+
+bool BoostThreadFactory::isDetached() const { return impl_->isDetached(); }
+
+void BoostThreadFactory::setDetached(bool value) { impl_->setDetached(value); }
+
+Thread::id_t BoostThreadFactory::getCurrentThreadId() const { return impl_->getCurrentThreadId(); }
+
+}}} // apache::thrift::concurrency
http://git-wip-us.apache.org/repos/asf/airavata/blob/f891b7dc/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/concurrency/BoostThreadFactory.h
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/concurrency/BoostThreadFactory.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/concurrency/BoostThreadFactory.h
new file mode 100644
index 0000000..6a236d3
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/concurrency/BoostThreadFactory.h
@@ -0,0 +1,75 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you 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 _THRIFT_CONCURRENCY_BOOSTTHREADFACTORY_H_
+#define _THRIFT_CONCURRENCY_BOOSTTHREADFACTORY_H_ 1
+
+#include <thrift/concurrency/Thread.h>
+
+#include <boost/shared_ptr.hpp>
+
+namespace apache { namespace thrift { namespace concurrency {
+
+/**
+ * A thread factory to create posix threads
+ *
+ * @version $Id:$
+ */
+class BoostThreadFactory : public ThreadFactory {
+
+ public:
+
+ /**
+ * Boost thread factory. All threads created by a factory are reference-counted
+ * via boost::shared_ptr and boost::weak_ptr. The factory guarantees that threads and
+ * the Runnable tasks they host will be properly cleaned up once the last strong reference
+ * to both is given up.
+ *
+ * Threads are created with the specified boost policy, priority, stack-size. A detachable thread is not
+ * joinable.
+ *
+ * By default threads are not joinable.
+ */
+
+ BoostThreadFactory(bool detached=true);
+
+ // From ThreadFactory;
+ boost::shared_ptr<Thread> newThread(boost::shared_ptr<Runnable> runnable) const;
+
+ // From ThreadFactory;
+ Thread::id_t getCurrentThreadId() const;
+
+ /**
+ * Sets detached mode of threads
+ */
+ virtual void setDetached(bool detached);
+
+ /**
+ * Gets current detached mode
+ */
+ virtual bool isDetached() const;
+
+private:
+ class Impl;
+ boost::shared_ptr<Impl> impl_;
+};
+
+}}} // apache::thrift::concurrency
+
+#endif // #ifndef _THRIFT_CONCURRENCY_BOOSTTHREADFACTORY_H_
http://git-wip-us.apache.org/repos/asf/airavata/blob/f891b7dc/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/concurrency/Exception.h
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/concurrency/Exception.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/concurrency/Exception.h
new file mode 100644
index 0000000..c62f116
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/concurrency/Exception.h
@@ -0,0 +1,64 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you 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 _THRIFT_CONCURRENCY_EXCEPTION_H_
+#define _THRIFT_CONCURRENCY_EXCEPTION_H_ 1
+
+#include <exception>
+#include <thrift/Thrift.h>
+
+namespace apache { namespace thrift { namespace concurrency {
+
+class NoSuchTaskException : public apache::thrift::TException {};
+
+class UncancellableTaskException : public apache::thrift::TException {};
+
+class InvalidArgumentException : public apache::thrift::TException {};
+
+class IllegalStateException : public apache::thrift::TException {
+public:
+ IllegalStateException() {}
+ IllegalStateException(const std::string& message) : TException(message) {}
+};
+
+class TimedOutException : public apache::thrift::TException {
+public:
+ TimedOutException():TException("TimedOutException"){};
+ TimedOutException(const std::string& message ) :
+ TException(message) {}
+};
+
+class TooManyPendingTasksException : public apache::thrift::TException {
+public:
+ TooManyPendingTasksException():TException("TooManyPendingTasksException"){};
+ TooManyPendingTasksException(const std::string& message ) :
+ TException(message) {}
+};
+
+class SystemResourceException : public apache::thrift::TException {
+public:
+ SystemResourceException() {}
+
+ SystemResourceException(const std::string& message) :
+ TException(message) {}
+};
+
+}}} // apache::thrift::concurrency
+
+#endif // #ifndef _THRIFT_CONCURRENCY_EXCEPTION_H_
[24/47] Added c++ client samples for integrattion of airavata with
any other application's c++ interface
Posted by sm...@apache.org.
http://git-wip-us.apache.org/repos/asf/airavata/blob/f891b7dc/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/Airavata_server.skeleton.cpp
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/Airavata_server.skeleton.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/Airavata_server.skeleton.cpp
new file mode 100644
index 0000000..51390b2
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/Airavata_server.skeleton.cpp
@@ -0,0 +1,399 @@
+// This autogenerated skeleton file illustrates how to build a server.
+// You should copy it to another filename to avoid overwriting it.
+
+#include "Airavata.h"
+#include <thrift/protocol/TBinaryProtocol.h>
+#include <thrift/server/TSimpleServer.h>
+#include <thrift/transport/TServerSocket.h>
+#include <thrift/transport/TBufferTransports.h>
+
+using namespace ::apache::thrift;
+using namespace ::apache::thrift::protocol;
+using namespace ::apache::thrift::transport;
+using namespace ::apache::thrift::server;
+
+using boost::shared_ptr;
+
+using namespace ::apache::airavata::api;
+
+class AiravataHandler : virtual public AiravataIf {
+ public:
+ AiravataHandler() {
+ // Your initialization goes here
+ }
+
+ void getAPIVersion(std::string& _return) {
+ // Your implementation goes here
+ printf("getAPIVersion\n");
+ }
+
+ void createProject(std::string& _return, const ::apache::airavata::model::workspace::Project& project) {
+ // Your implementation goes here
+ printf("createProject\n");
+ }
+
+ void updateProject(const std::string& projectId, const ::apache::airavata::model::workspace::Project& updatedProject) {
+ // Your implementation goes here
+ printf("updateProject\n");
+ }
+
+ void getProject( ::apache::airavata::model::workspace::Project& _return, const std::string& projectId) {
+ // Your implementation goes here
+ printf("getProject\n");
+ }
+
+ void getAllUserProjects(std::vector< ::apache::airavata::model::workspace::Project> & _return, const std::string& userName) {
+ // Your implementation goes here
+ printf("getAllUserProjects\n");
+ }
+
+ void searchProjectsByProjectName(std::vector< ::apache::airavata::model::workspace::Project> & _return, const std::string& userName, const std::string& projectName) {
+ // Your implementation goes here
+ printf("searchProjectsByProjectName\n");
+ }
+
+ void searchProjectsByProjectDesc(std::vector< ::apache::airavata::model::workspace::Project> & _return, const std::string& userName, const std::string& description) {
+ // Your implementation goes here
+ printf("searchProjectsByProjectDesc\n");
+ }
+
+ void searchExperimentsByName(std::vector< ::apache::airavata::model::workspace::experiment::ExperimentSummary> & _return, const std::string& userName, const std::string& expName) {
+ // Your implementation goes here
+ printf("searchExperimentsByName\n");
+ }
+
+ void searchExperimentsByDesc(std::vector< ::apache::airavata::model::workspace::experiment::ExperimentSummary> & _return, const std::string& userName, const std::string& description) {
+ // Your implementation goes here
+ printf("searchExperimentsByDesc\n");
+ }
+
+ void searchExperimentsByApplication(std::vector< ::apache::airavata::model::workspace::experiment::ExperimentSummary> & _return, const std::string& userName, const std::string& applicationId) {
+ // Your implementation goes here
+ printf("searchExperimentsByApplication\n");
+ }
+
+ void getAllExperimentsInProject(std::vector< ::apache::airavata::model::workspace::experiment::Experiment> & _return, const std::string& projectId) {
+ // Your implementation goes here
+ printf("getAllExperimentsInProject\n");
+ }
+
+ void getAllUserExperiments(std::vector< ::apache::airavata::model::workspace::experiment::Experiment> & _return, const std::string& userName) {
+ // Your implementation goes here
+ printf("getAllUserExperiments\n");
+ }
+
+ void createExperiment(std::string& _return, const ::apache::airavata::model::workspace::experiment::Experiment& experiment) {
+ // Your implementation goes here
+ printf("createExperiment\n");
+ }
+
+ void getExperiment( ::apache::airavata::model::workspace::experiment::Experiment& _return, const std::string& airavataExperimentId) {
+ // Your implementation goes here
+ printf("getExperiment\n");
+ }
+
+ void updateExperiment(const std::string& airavataExperimentId, const ::apache::airavata::model::workspace::experiment::Experiment& experiment) {
+ // Your implementation goes here
+ printf("updateExperiment\n");
+ }
+
+ void updateExperimentConfiguration(const std::string& airavataExperimentId, const ::apache::airavata::model::workspace::experiment::UserConfigurationData& userConfiguration) {
+ // Your implementation goes here
+ printf("updateExperimentConfiguration\n");
+ }
+
+ void updateResourceScheduleing(const std::string& airavataExperimentId, const ::apache::airavata::model::workspace::experiment::ComputationalResourceScheduling& resourceScheduling) {
+ // Your implementation goes here
+ printf("updateResourceScheduleing\n");
+ }
+
+ bool validateExperiment(const std::string& airavataExperimentId) {
+ // Your implementation goes here
+ printf("validateExperiment\n");
+ }
+
+ void launchExperiment(const std::string& airavataExperimentId, const std::string& airavataCredStoreToken) {
+ // Your implementation goes here
+ printf("launchExperiment\n");
+ }
+
+ void getExperimentStatus( ::apache::airavata::model::workspace::experiment::ExperimentStatus& _return, const std::string& airavataExperimentId) {
+ // Your implementation goes here
+ printf("getExperimentStatus\n");
+ }
+
+ void getExperimentOutputs(std::vector< ::apache::airavata::model::workspace::experiment::DataObjectType> & _return, const std::string& airavataExperimentId) {
+ // Your implementation goes here
+ printf("getExperimentOutputs\n");
+ }
+
+ void getJobStatuses(std::map<std::string, ::apache::airavata::model::workspace::experiment::JobStatus> & _return, const std::string& airavataExperimentId) {
+ // Your implementation goes here
+ printf("getJobStatuses\n");
+ }
+
+ void cloneExperiment(std::string& _return, const std::string& existingExperimentID, const std::string& newExperimentName) {
+ // Your implementation goes here
+ printf("cloneExperiment\n");
+ }
+
+ void terminateExperiment(const std::string& airavataExperimentId) {
+ // Your implementation goes here
+ printf("terminateExperiment\n");
+ }
+
+ void registerApplicationModule(std::string& _return, const ::apache::airavata::model::appcatalog::appdeployment::ApplicationModule& applicationModule) {
+ // Your implementation goes here
+ printf("registerApplicationModule\n");
+ }
+
+ void getApplicationModule( ::apache::airavata::model::appcatalog::appdeployment::ApplicationModule& _return, const std::string& appModuleId) {
+ // Your implementation goes here
+ printf("getApplicationModule\n");
+ }
+
+ bool updateApplicationModule(const std::string& appModuleId, const ::apache::airavata::model::appcatalog::appdeployment::ApplicationModule& applicationModule) {
+ // Your implementation goes here
+ printf("updateApplicationModule\n");
+ }
+
+ bool deleteApplicationModule(const std::string& appModuleId) {
+ // Your implementation goes here
+ printf("deleteApplicationModule\n");
+ }
+
+ void registerApplicationDeployment(std::string& _return, const ::apache::airavata::model::appcatalog::appdeployment::ApplicationDeploymentDescription& applicationDeployment) {
+ // Your implementation goes here
+ printf("registerApplicationDeployment\n");
+ }
+
+ void getApplicationDeployment( ::apache::airavata::model::appcatalog::appdeployment::ApplicationDeploymentDescription& _return, const std::string& appDeploymentId) {
+ // Your implementation goes here
+ printf("getApplicationDeployment\n");
+ }
+
+ bool updateApplicationDeployment(const std::string& appDeploymentId, const ::apache::airavata::model::appcatalog::appdeployment::ApplicationDeploymentDescription& applicationDeployment) {
+ // Your implementation goes here
+ printf("updateApplicationDeployment\n");
+ }
+
+ bool deleteApplicationDeployment(const std::string& appDeploymentId) {
+ // Your implementation goes here
+ printf("deleteApplicationDeployment\n");
+ }
+
+ void getAppModuleDeployedResources(std::vector<std::string> & _return, const std::string& appModuleId) {
+ // Your implementation goes here
+ printf("getAppModuleDeployedResources\n");
+ }
+
+ void registerApplicationInterface(std::string& _return, const ::apache::airavata::model::appcatalog::appinterface::ApplicationInterfaceDescription& applicationInterface) {
+ // Your implementation goes here
+ printf("registerApplicationInterface\n");
+ }
+
+ void getApplicationInterface( ::apache::airavata::model::appcatalog::appinterface::ApplicationInterfaceDescription& _return, const std::string& appInterfaceId) {
+ // Your implementation goes here
+ printf("getApplicationInterface\n");
+ }
+
+ bool updateApplicationInterface(const std::string& appInterfaceId, const ::apache::airavata::model::appcatalog::appinterface::ApplicationInterfaceDescription& applicationInterface) {
+ // Your implementation goes here
+ printf("updateApplicationInterface\n");
+ }
+
+ bool deleteApplicationInterface(const std::string& appInterfaceId) {
+ // Your implementation goes here
+ printf("deleteApplicationInterface\n");
+ }
+
+ void getAllApplicationInterfaceNames(std::map<std::string, std::string> & _return) {
+ // Your implementation goes here
+ printf("getAllApplicationInterfaceNames\n");
+ }
+
+ void getAllApplicationInterfaces(std::vector< ::apache::airavata::model::appcatalog::appinterface::ApplicationInterfaceDescription> & _return) {
+ // Your implementation goes here
+ printf("getAllApplicationInterfaces\n");
+ }
+
+ void getApplicationInputs(std::vector< ::apache::airavata::model::appcatalog::appinterface::InputDataObjectType> & _return, const std::string& appInterfaceId) {
+ // Your implementation goes here
+ printf("getApplicationInputs\n");
+ }
+
+ void getApplicationOutputs(std::vector< ::apache::airavata::model::appcatalog::appinterface::OutputDataObjectType> & _return, const std::string& appInterfaceId) {
+ // Your implementation goes here
+ printf("getApplicationOutputs\n");
+ }
+
+ void getAvailableAppInterfaceComputeResources(std::map<std::string, std::string> & _return, const std::string& appInterfaceId) {
+ // Your implementation goes here
+ printf("getAvailableAppInterfaceComputeResources\n");
+ }
+
+ void registerComputeResource(std::string& _return, const ::apache::airavata::model::appcatalog::computeresource::ComputeResourceDescription& computeResourceDescription) {
+ // Your implementation goes here
+ printf("registerComputeResource\n");
+ }
+
+ void getComputeResource( ::apache::airavata::model::appcatalog::computeresource::ComputeResourceDescription& _return, const std::string& computeResourceId) {
+ // Your implementation goes here
+ printf("getComputeResource\n");
+ }
+
+ void getAllComputeResourceNames(std::map<std::string, std::string> & _return) {
+ // Your implementation goes here
+ printf("getAllComputeResourceNames\n");
+ }
+
+ bool updateComputeResource(const std::string& computeResourceId, const ::apache::airavata::model::appcatalog::computeresource::ComputeResourceDescription& computeResourceDescription) {
+ // Your implementation goes here
+ printf("updateComputeResource\n");
+ }
+
+ bool deleteComputeResource(const std::string& computeResourceId) {
+ // Your implementation goes here
+ printf("deleteComputeResource\n");
+ }
+
+ bool addLocalSubmissionDetails(const std::string& computeResourceId, const int32_t priorityOrder, const ::apache::airavata::model::appcatalog::computeresource::LOCALSubmission& localSubmission) {
+ // Your implementation goes here
+ printf("addLocalSubmissionDetails\n");
+ }
+
+ bool updateLocalSubmissionDetails(const std::string& jobSubmissionInterfaceId, const ::apache::airavata::model::appcatalog::computeresource::LOCALSubmission& localSubmission) {
+ // Your implementation goes here
+ printf("updateLocalSubmissionDetails\n");
+ }
+
+ bool addSSHJobSubmissionDetails(const std::string& computeResourceId, const int32_t priorityOrder, const ::apache::airavata::model::appcatalog::computeresource::SSHJobSubmission& sshJobSubmission) {
+ // Your implementation goes here
+ printf("addSSHJobSubmissionDetails\n");
+ }
+
+ bool updateSSHJobSubmissionDetails(const std::string& jobSubmissionInterfaceId, const ::apache::airavata::model::appcatalog::computeresource::SSHJobSubmission& sshJobSubmission) {
+ // Your implementation goes here
+ printf("updateSSHJobSubmissionDetails\n");
+ }
+
+ bool addLocalDataMovementDetails(const std::string& computeResourceId, const int32_t priorityOrder, const ::apache::airavata::model::appcatalog::computeresource::LOCALDataMovement& localDataMovement) {
+ // Your implementation goes here
+ printf("addLocalDataMovementDetails\n");
+ }
+
+ bool updateLocalDataMovementDetails(const std::string& jobSubmissionInterfaceId, const ::apache::airavata::model::appcatalog::computeresource::LOCALDataMovement& localDataMovement) {
+ // Your implementation goes here
+ printf("updateLocalDataMovementDetails\n");
+ }
+
+ bool addSCPDataMovementDetails(const std::string& computeResourceId, const int32_t priorityOrder, const ::apache::airavata::model::appcatalog::computeresource::SCPDataMovement& scpDataMovement) {
+ // Your implementation goes here
+ printf("addSCPDataMovementDetails\n");
+ }
+
+ bool updateSCPDataMovementDetails(const std::string& jobSubmissionInterfaceId, const ::apache::airavata::model::appcatalog::computeresource::SCPDataMovement& scpDataMovement) {
+ // Your implementation goes here
+ printf("updateSCPDataMovementDetails\n");
+ }
+
+ bool addGridFTPDataMovementDetails(const std::string& computeResourceId, const int32_t priorityOrder, const ::apache::airavata::model::appcatalog::computeresource::GridFTPDataMovement& gridFTPDataMovement) {
+ // Your implementation goes here
+ printf("addGridFTPDataMovementDetails\n");
+ }
+
+ bool updateGridFTPDataMovementDetails(const std::string& jobSubmissionInterfaceId, const ::apache::airavata::model::appcatalog::computeresource::GridFTPDataMovement& gridFTPDataMovement) {
+ // Your implementation goes here
+ printf("updateGridFTPDataMovementDetails\n");
+ }
+
+ bool changeJobSubmissionPriority(const std::string& jobSubmissionInterfaceId, const int32_t newPriorityOrder) {
+ // Your implementation goes here
+ printf("changeJobSubmissionPriority\n");
+ }
+
+ bool changeDataMovementPriority(const std::string& dataMovementInterfaceId, const int32_t newPriorityOrder) {
+ // Your implementation goes here
+ printf("changeDataMovementPriority\n");
+ }
+
+ bool changeJobSubmissionPriorities(const std::map<std::string, int32_t> & jobSubmissionPriorityMap) {
+ // Your implementation goes here
+ printf("changeJobSubmissionPriorities\n");
+ }
+
+ bool changeDataMovementPriorities(const std::map<std::string, int32_t> & dataMovementPriorityMap) {
+ // Your implementation goes here
+ printf("changeDataMovementPriorities\n");
+ }
+
+ bool deleteJobSubmissionInterface(const std::string& jobSubmissionInterfaceId) {
+ // Your implementation goes here
+ printf("deleteJobSubmissionInterface\n");
+ }
+
+ bool deleteDataMovementInterface(const std::string& dataMovementInterfaceId) {
+ // Your implementation goes here
+ printf("deleteDataMovementInterface\n");
+ }
+
+ void registerGatewayResourceProfile(std::string& _return, const ::apache::airavata::model::appcatalog::gatewayprofile::GatewayResourceProfile& gatewayResourceProfile) {
+ // Your implementation goes here
+ printf("registerGatewayResourceProfile\n");
+ }
+
+ void getGatewayResourceProfile( ::apache::airavata::model::appcatalog::gatewayprofile::GatewayResourceProfile& _return, const std::string& gatewayID) {
+ // Your implementation goes here
+ printf("getGatewayResourceProfile\n");
+ }
+
+ bool updateGatewayResourceProfile(const std::string& gatewayID, const ::apache::airavata::model::appcatalog::gatewayprofile::GatewayResourceProfile& gatewayResourceProfile) {
+ // Your implementation goes here
+ printf("updateGatewayResourceProfile\n");
+ }
+
+ bool deleteGatewayResourceProfile(const std::string& gatewayID) {
+ // Your implementation goes here
+ printf("deleteGatewayResourceProfile\n");
+ }
+
+ bool addGatewayComputeResourcePreference(const std::string& gatewayID, const std::string& computeResourceId, const ::apache::airavata::model::appcatalog::gatewayprofile::ComputeResourcePreference& computeResourcePreference) {
+ // Your implementation goes here
+ printf("addGatewayComputeResourcePreference\n");
+ }
+
+ void getGatewayComputeResourcePreference( ::apache::airavata::model::appcatalog::gatewayprofile::ComputeResourcePreference& _return, const std::string& gatewayID, const std::string& computeResourceId) {
+ // Your implementation goes here
+ printf("getGatewayComputeResourcePreference\n");
+ }
+
+ void getAllGatewayComputeResourcePreferences(std::vector< ::apache::airavata::model::appcatalog::gatewayprofile::ComputeResourcePreference> & _return, const std::string& gatewayID) {
+ // Your implementation goes here
+ printf("getAllGatewayComputeResourcePreferences\n");
+ }
+
+ bool updateGatewayComputeResourcePreference(const std::string& gatewayID, const std::string& computeResourceId, const ::apache::airavata::model::appcatalog::gatewayprofile::ComputeResourcePreference& computeResourcePreference) {
+ // Your implementation goes here
+ printf("updateGatewayComputeResourcePreference\n");
+ }
+
+ bool deleteGatewayComputeResourcePreference(const std::string& gatewayID, const std::string& computeResourceId) {
+ // Your implementation goes here
+ printf("deleteGatewayComputeResourcePreference\n");
+ }
+
+};
+
+int main(int argc, char **argv) {
+ int port = 9090;
+ shared_ptr<AiravataHandler> handler(new AiravataHandler());
+ shared_ptr<TProcessor> processor(new AiravataProcessor(handler));
+ shared_ptr<TServerTransport> serverTransport(new TServerSocket(port));
+ shared_ptr<TTransportFactory> transportFactory(new TBufferedTransportFactory());
+ shared_ptr<TProtocolFactory> protocolFactory(new TBinaryProtocolFactory());
+
+ TSimpleServer server(processor, serverTransport, transportFactory, protocolFactory);
+ server.serve();
+ return 0;
+}
+
[07/47] Added c++ client samples for integrattion of airavata with
any other application's c++ interface
Posted by sm...@apache.org.
http://git-wip-us.apache.org/repos/asf/airavata/blob/f891b7dc/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/protocol/TProtocol.h
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/protocol/TProtocol.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/protocol/TProtocol.h
new file mode 100644
index 0000000..d6ecc0f
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/protocol/TProtocol.h
@@ -0,0 +1,697 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you 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 _THRIFT_PROTOCOL_TPROTOCOL_H_
+#define _THRIFT_PROTOCOL_TPROTOCOL_H_ 1
+
+#include <thrift/transport/TTransport.h>
+#include <thrift/protocol/TProtocolException.h>
+
+#include <boost/shared_ptr.hpp>
+#include <boost/static_assert.hpp>
+
+#ifdef HAVE_NETINET_IN_H
+#include <netinet/in.h>
+#endif
+#include <sys/types.h>
+#include <string>
+#include <map>
+#include <vector>
+
+
+// Use this to get around strict aliasing rules.
+// For example, uint64_t i = bitwise_cast<uint64_t>(returns_double());
+// The most obvious implementation is to just cast a pointer,
+// but that doesn't work.
+// For a pretty in-depth explanation of the problem, see
+// http://www.cellperformance.com/mike_acton/2006/06/ (...)
+// understanding_strict_aliasing.html
+template <typename To, typename From>
+static inline To bitwise_cast(From from) {
+ BOOST_STATIC_ASSERT(sizeof(From) == sizeof(To));
+
+ // BAD!!! These are all broken with -O2.
+ //return *reinterpret_cast<To*>(&from); // BAD!!!
+ //return *static_cast<To*>(static_cast<void*>(&from)); // BAD!!!
+ //return *(To*)(void*)&from; // BAD!!!
+
+ // Super clean and paritally blessed by section 3.9 of the standard.
+ //unsigned char c[sizeof(from)];
+ //memcpy(c, &from, sizeof(from));
+ //To to;
+ //memcpy(&to, c, sizeof(c));
+ //return to;
+
+ // Slightly more questionable.
+ // Same code emitted by GCC.
+ //To to;
+ //memcpy(&to, &from, sizeof(from));
+ //return to;
+
+ // Technically undefined, but almost universally supported,
+ // and the most efficient implementation.
+ union {
+ From f;
+ To t;
+ } u;
+ u.f = from;
+ return u.t;
+}
+
+
+namespace apache { namespace thrift { namespace protocol {
+
+using apache::thrift::transport::TTransport;
+
+#ifdef HAVE_SYS_PARAM_H
+#include <sys/param.h>
+#endif
+
+#ifndef __THRIFT_BYTE_ORDER
+# if defined(BYTE_ORDER) && defined(LITTLE_ENDIAN) && defined(BIG_ENDIAN)
+# define __THRIFT_BYTE_ORDER BYTE_ORDER
+# define __THRIFT_LITTLE_ENDIAN LITTLE_ENDIAN
+# define __THRIFT_BIG_ENDIAN BIG_ENDIAN
+# else
+# include <boost/config.hpp>
+# include <boost/detail/endian.hpp>
+# define __THRIFT_BYTE_ORDER BOOST_BYTE_ORDER
+# ifdef BOOST_LITTLE_ENDIAN
+# define __THRIFT_LITTLE_ENDIAN __THRIFT_BYTE_ORDER
+# define __THRIFT_BIG_ENDIAN 0
+# else
+# define __THRIFT_LITTLE_ENDIAN 0
+# define __THRIFT_BIG_ENDIAN __THRIFT_BYTE_ORDER
+# endif
+# endif
+#endif
+
+#if __THRIFT_BYTE_ORDER == __THRIFT_BIG_ENDIAN
+# define ntohll(n) (n)
+# define htonll(n) (n)
+# if defined(__GNUC__) && defined(__GLIBC__)
+# include <byteswap.h>
+# define htolell(n) bswap_64(n)
+# define letohll(n) bswap_64(n)
+# else /* GNUC & GLIBC */
+# define bswap_64(n) \
+ ( (((n) & 0xff00000000000000ull) >> 56) \
+ | (((n) & 0x00ff000000000000ull) >> 40) \
+ | (((n) & 0x0000ff0000000000ull) >> 24) \
+ | (((n) & 0x000000ff00000000ull) >> 8) \
+ | (((n) & 0x00000000ff000000ull) << 8) \
+ | (((n) & 0x0000000000ff0000ull) << 24) \
+ | (((n) & 0x000000000000ff00ull) << 40) \
+ | (((n) & 0x00000000000000ffull) << 56) )
+# define htolell(n) bswap_64(n)
+# define letohll(n) bswap_64(n)
+# endif /* GNUC & GLIBC */
+#elif __THRIFT_BYTE_ORDER == __THRIFT_LITTLE_ENDIAN
+# define htolell(n) (n)
+# define letohll(n) (n)
+# if defined(__GNUC__) && defined(__GLIBC__)
+# include <byteswap.h>
+# define ntohll(n) bswap_64(n)
+# define htonll(n) bswap_64(n)
+# elif defined(_MSC_VER) /* Microsoft Visual C++ */
+# define ntohll(n) ( _byteswap_uint64((uint64_t)n) )
+# define htonll(n) ( _byteswap_uint64((uint64_t)n) )
+# else /* Not GNUC/GLIBC or MSVC */
+# define ntohll(n) ( (((uint64_t)ntohl((uint32_t)n)) << 32) + ntohl((uint32_t)(n >> 32)) )
+# define htonll(n) ( (((uint64_t)htonl((uint32_t)n)) << 32) + htonl((uint32_t)(n >> 32)) )
+# endif /* GNUC/GLIBC or MSVC or something else */
+#else /* __THRIFT_BYTE_ORDER */
+# error "Can't define htonll or ntohll!"
+#endif
+
+/**
+ * Enumerated definition of the types that the Thrift protocol supports.
+ * Take special note of the T_END type which is used specifically to mark
+ * the end of a sequence of fields.
+ */
+enum TType {
+ T_STOP = 0,
+ T_VOID = 1,
+ T_BOOL = 2,
+ T_BYTE = 3,
+ T_I08 = 3,
+ T_I16 = 6,
+ T_I32 = 8,
+ T_U64 = 9,
+ T_I64 = 10,
+ T_DOUBLE = 4,
+ T_STRING = 11,
+ T_UTF7 = 11,
+ T_STRUCT = 12,
+ T_MAP = 13,
+ T_SET = 14,
+ T_LIST = 15,
+ T_UTF8 = 16,
+ T_UTF16 = 17
+};
+
+/**
+ * Enumerated definition of the message types that the Thrift protocol
+ * supports.
+ */
+enum TMessageType {
+ T_CALL = 1,
+ T_REPLY = 2,
+ T_EXCEPTION = 3,
+ T_ONEWAY = 4
+};
+
+
+/**
+ * Helper template for implementing TProtocol::skip().
+ *
+ * Templatized to avoid having to make virtual function calls.
+ */
+template <class Protocol_>
+uint32_t skip(Protocol_& prot, TType type) {
+ switch (type) {
+ case T_BOOL:
+ {
+ bool boolv;
+ return prot.readBool(boolv);
+ }
+ case T_BYTE:
+ {
+ int8_t bytev;
+ return prot.readByte(bytev);
+ }
+ case T_I16:
+ {
+ int16_t i16;
+ return prot.readI16(i16);
+ }
+ case T_I32:
+ {
+ int32_t i32;
+ return prot.readI32(i32);
+ }
+ case T_I64:
+ {
+ int64_t i64;
+ return prot.readI64(i64);
+ }
+ case T_DOUBLE:
+ {
+ double dub;
+ return prot.readDouble(dub);
+ }
+ case T_STRING:
+ {
+ std::string str;
+ return prot.readBinary(str);
+ }
+ case T_STRUCT:
+ {
+ uint32_t result = 0;
+ std::string name;
+ int16_t fid;
+ TType ftype;
+ result += prot.readStructBegin(name);
+ while (true) {
+ result += prot.readFieldBegin(name, ftype, fid);
+ if (ftype == T_STOP) {
+ break;
+ }
+ result += skip(prot, ftype);
+ result += prot.readFieldEnd();
+ }
+ result += prot.readStructEnd();
+ return result;
+ }
+ case T_MAP:
+ {
+ uint32_t result = 0;
+ TType keyType;
+ TType valType;
+ uint32_t i, size;
+ result += prot.readMapBegin(keyType, valType, size);
+ for (i = 0; i < size; i++) {
+ result += skip(prot, keyType);
+ result += skip(prot, valType);
+ }
+ result += prot.readMapEnd();
+ return result;
+ }
+ case T_SET:
+ {
+ uint32_t result = 0;
+ TType elemType;
+ uint32_t i, size;
+ result += prot.readSetBegin(elemType, size);
+ for (i = 0; i < size; i++) {
+ result += skip(prot, elemType);
+ }
+ result += prot.readSetEnd();
+ return result;
+ }
+ case T_LIST:
+ {
+ uint32_t result = 0;
+ TType elemType;
+ uint32_t i, size;
+ result += prot.readListBegin(elemType, size);
+ for (i = 0; i < size; i++) {
+ result += skip(prot, elemType);
+ }
+ result += prot.readListEnd();
+ return result;
+ }
+ case T_STOP: case T_VOID: case T_U64: case T_UTF8: case T_UTF16:
+ break;
+ }
+ return 0;
+}
+
+/**
+ * Abstract class for a thrift protocol driver. These are all the methods that
+ * a protocol must implement. Essentially, there must be some way of reading
+ * and writing all the base types, plus a mechanism for writing out structs
+ * with indexed fields.
+ *
+ * TProtocol objects should not be shared across multiple encoding contexts,
+ * as they may need to maintain internal state in some protocols (i.e. XML).
+ * Note that is is acceptable for the TProtocol module to do its own internal
+ * buffered reads/writes to the underlying TTransport where appropriate (i.e.
+ * when parsing an input XML stream, reading should be batched rather than
+ * looking ahead character by character for a close tag).
+ *
+ */
+class TProtocol {
+ public:
+ virtual ~TProtocol() {}
+
+ /**
+ * Writing functions.
+ */
+
+ virtual uint32_t writeMessageBegin_virt(const std::string& name,
+ const TMessageType messageType,
+ const int32_t seqid) = 0;
+
+ virtual uint32_t writeMessageEnd_virt() = 0;
+
+
+ virtual uint32_t writeStructBegin_virt(const char* name) = 0;
+
+ virtual uint32_t writeStructEnd_virt() = 0;
+
+ virtual uint32_t writeFieldBegin_virt(const char* name,
+ const TType fieldType,
+ const int16_t fieldId) = 0;
+
+ virtual uint32_t writeFieldEnd_virt() = 0;
+
+ virtual uint32_t writeFieldStop_virt() = 0;
+
+ virtual uint32_t writeMapBegin_virt(const TType keyType,
+ const TType valType,
+ const uint32_t size) = 0;
+
+ virtual uint32_t writeMapEnd_virt() = 0;
+
+ virtual uint32_t writeListBegin_virt(const TType elemType,
+ const uint32_t size) = 0;
+
+ virtual uint32_t writeListEnd_virt() = 0;
+
+ virtual uint32_t writeSetBegin_virt(const TType elemType,
+ const uint32_t size) = 0;
+
+ virtual uint32_t writeSetEnd_virt() = 0;
+
+ virtual uint32_t writeBool_virt(const bool value) = 0;
+
+ virtual uint32_t writeByte_virt(const int8_t byte) = 0;
+
+ virtual uint32_t writeI16_virt(const int16_t i16) = 0;
+
+ virtual uint32_t writeI32_virt(const int32_t i32) = 0;
+
+ virtual uint32_t writeI64_virt(const int64_t i64) = 0;
+
+ virtual uint32_t writeDouble_virt(const double dub) = 0;
+
+ virtual uint32_t writeString_virt(const std::string& str) = 0;
+
+ virtual uint32_t writeBinary_virt(const std::string& str) = 0;
+
+ uint32_t writeMessageBegin(const std::string& name,
+ const TMessageType messageType,
+ const int32_t seqid) {
+ T_VIRTUAL_CALL();
+ return writeMessageBegin_virt(name, messageType, seqid);
+ }
+
+ uint32_t writeMessageEnd() {
+ T_VIRTUAL_CALL();
+ return writeMessageEnd_virt();
+ }
+
+
+ uint32_t writeStructBegin(const char* name) {
+ T_VIRTUAL_CALL();
+ return writeStructBegin_virt(name);
+ }
+
+ uint32_t writeStructEnd() {
+ T_VIRTUAL_CALL();
+ return writeStructEnd_virt();
+ }
+
+ uint32_t writeFieldBegin(const char* name,
+ const TType fieldType,
+ const int16_t fieldId) {
+ T_VIRTUAL_CALL();
+ return writeFieldBegin_virt(name, fieldType, fieldId);
+ }
+
+ uint32_t writeFieldEnd() {
+ T_VIRTUAL_CALL();
+ return writeFieldEnd_virt();
+ }
+
+ uint32_t writeFieldStop() {
+ T_VIRTUAL_CALL();
+ return writeFieldStop_virt();
+ }
+
+ uint32_t writeMapBegin(const TType keyType,
+ const TType valType,
+ const uint32_t size) {
+ T_VIRTUAL_CALL();
+ return writeMapBegin_virt(keyType, valType, size);
+ }
+
+ uint32_t writeMapEnd() {
+ T_VIRTUAL_CALL();
+ return writeMapEnd_virt();
+ }
+
+ uint32_t writeListBegin(const TType elemType, const uint32_t size) {
+ T_VIRTUAL_CALL();
+ return writeListBegin_virt(elemType, size);
+ }
+
+ uint32_t writeListEnd() {
+ T_VIRTUAL_CALL();
+ return writeListEnd_virt();
+ }
+
+ uint32_t writeSetBegin(const TType elemType, const uint32_t size) {
+ T_VIRTUAL_CALL();
+ return writeSetBegin_virt(elemType, size);
+ }
+
+ uint32_t writeSetEnd() {
+ T_VIRTUAL_CALL();
+ return writeSetEnd_virt();
+ }
+
+ uint32_t writeBool(const bool value) {
+ T_VIRTUAL_CALL();
+ return writeBool_virt(value);
+ }
+
+ uint32_t writeByte(const int8_t byte) {
+ T_VIRTUAL_CALL();
+ return writeByte_virt(byte);
+ }
+
+ uint32_t writeI16(const int16_t i16) {
+ T_VIRTUAL_CALL();
+ return writeI16_virt(i16);
+ }
+
+ uint32_t writeI32(const int32_t i32) {
+ T_VIRTUAL_CALL();
+ return writeI32_virt(i32);
+ }
+
+ uint32_t writeI64(const int64_t i64) {
+ T_VIRTUAL_CALL();
+ return writeI64_virt(i64);
+ }
+
+ uint32_t writeDouble(const double dub) {
+ T_VIRTUAL_CALL();
+ return writeDouble_virt(dub);
+ }
+
+ uint32_t writeString(const std::string& str) {
+ T_VIRTUAL_CALL();
+ return writeString_virt(str);
+ }
+
+ uint32_t writeBinary(const std::string& str) {
+ T_VIRTUAL_CALL();
+ return writeBinary_virt(str);
+ }
+
+ /**
+ * Reading functions
+ */
+
+ virtual uint32_t readMessageBegin_virt(std::string& name,
+ TMessageType& messageType,
+ int32_t& seqid) = 0;
+
+ virtual uint32_t readMessageEnd_virt() = 0;
+
+ virtual uint32_t readStructBegin_virt(std::string& name) = 0;
+
+ virtual uint32_t readStructEnd_virt() = 0;
+
+ virtual uint32_t readFieldBegin_virt(std::string& name,
+ TType& fieldType,
+ int16_t& fieldId) = 0;
+
+ virtual uint32_t readFieldEnd_virt() = 0;
+
+ virtual uint32_t readMapBegin_virt(TType& keyType,
+ TType& valType,
+ uint32_t& size) = 0;
+
+ virtual uint32_t readMapEnd_virt() = 0;
+
+ virtual uint32_t readListBegin_virt(TType& elemType,
+ uint32_t& size) = 0;
+
+ virtual uint32_t readListEnd_virt() = 0;
+
+ virtual uint32_t readSetBegin_virt(TType& elemType,
+ uint32_t& size) = 0;
+
+ virtual uint32_t readSetEnd_virt() = 0;
+
+ virtual uint32_t readBool_virt(bool& value) = 0;
+
+ virtual uint32_t readBool_virt(std::vector<bool>::reference value) = 0;
+
+ virtual uint32_t readByte_virt(int8_t& byte) = 0;
+
+ virtual uint32_t readI16_virt(int16_t& i16) = 0;
+
+ virtual uint32_t readI32_virt(int32_t& i32) = 0;
+
+ virtual uint32_t readI64_virt(int64_t& i64) = 0;
+
+ virtual uint32_t readDouble_virt(double& dub) = 0;
+
+ virtual uint32_t readString_virt(std::string& str) = 0;
+
+ virtual uint32_t readBinary_virt(std::string& str) = 0;
+
+ uint32_t readMessageBegin(std::string& name,
+ TMessageType& messageType,
+ int32_t& seqid) {
+ T_VIRTUAL_CALL();
+ return readMessageBegin_virt(name, messageType, seqid);
+ }
+
+ uint32_t readMessageEnd() {
+ T_VIRTUAL_CALL();
+ return readMessageEnd_virt();
+ }
+
+ uint32_t readStructBegin(std::string& name) {
+ T_VIRTUAL_CALL();
+ return readStructBegin_virt(name);
+ }
+
+ uint32_t readStructEnd() {
+ T_VIRTUAL_CALL();
+ return readStructEnd_virt();
+ }
+
+ uint32_t readFieldBegin(std::string& name,
+ TType& fieldType,
+ int16_t& fieldId) {
+ T_VIRTUAL_CALL();
+ return readFieldBegin_virt(name, fieldType, fieldId);
+ }
+
+ uint32_t readFieldEnd() {
+ T_VIRTUAL_CALL();
+ return readFieldEnd_virt();
+ }
+
+ uint32_t readMapBegin(TType& keyType, TType& valType, uint32_t& size) {
+ T_VIRTUAL_CALL();
+ return readMapBegin_virt(keyType, valType, size);
+ }
+
+ uint32_t readMapEnd() {
+ T_VIRTUAL_CALL();
+ return readMapEnd_virt();
+ }
+
+ uint32_t readListBegin(TType& elemType, uint32_t& size) {
+ T_VIRTUAL_CALL();
+ return readListBegin_virt(elemType, size);
+ }
+
+ uint32_t readListEnd() {
+ T_VIRTUAL_CALL();
+ return readListEnd_virt();
+ }
+
+ uint32_t readSetBegin(TType& elemType, uint32_t& size) {
+ T_VIRTUAL_CALL();
+ return readSetBegin_virt(elemType, size);
+ }
+
+ uint32_t readSetEnd() {
+ T_VIRTUAL_CALL();
+ return readSetEnd_virt();
+ }
+
+ uint32_t readBool(bool& value) {
+ T_VIRTUAL_CALL();
+ return readBool_virt(value);
+ }
+
+ uint32_t readByte(int8_t& byte) {
+ T_VIRTUAL_CALL();
+ return readByte_virt(byte);
+ }
+
+ uint32_t readI16(int16_t& i16) {
+ T_VIRTUAL_CALL();
+ return readI16_virt(i16);
+ }
+
+ uint32_t readI32(int32_t& i32) {
+ T_VIRTUAL_CALL();
+ return readI32_virt(i32);
+ }
+
+ uint32_t readI64(int64_t& i64) {
+ T_VIRTUAL_CALL();
+ return readI64_virt(i64);
+ }
+
+ uint32_t readDouble(double& dub) {
+ T_VIRTUAL_CALL();
+ return readDouble_virt(dub);
+ }
+
+ uint32_t readString(std::string& str) {
+ T_VIRTUAL_CALL();
+ return readString_virt(str);
+ }
+
+ uint32_t readBinary(std::string& str) {
+ T_VIRTUAL_CALL();
+ return readBinary_virt(str);
+ }
+
+ /*
+ * std::vector is specialized for bool, and its elements are individual bits
+ * rather than bools. We need to define a different version of readBool()
+ * to work with std::vector<bool>.
+ */
+ uint32_t readBool(std::vector<bool>::reference value) {
+ T_VIRTUAL_CALL();
+ return readBool_virt(value);
+ }
+
+ /**
+ * Method to arbitrarily skip over data.
+ */
+ uint32_t skip(TType type) {
+ T_VIRTUAL_CALL();
+ return skip_virt(type);
+ }
+ virtual uint32_t skip_virt(TType type) {
+ return ::apache::thrift::protocol::skip(*this, type);
+ }
+
+ inline boost::shared_ptr<TTransport> getTransport() {
+ return ptrans_;
+ }
+
+ // TODO: remove these two calls, they are for backwards
+ // compatibility
+ inline boost::shared_ptr<TTransport> getInputTransport() {
+ return ptrans_;
+ }
+ inline boost::shared_ptr<TTransport> getOutputTransport() {
+ return ptrans_;
+ }
+
+ protected:
+ TProtocol(boost::shared_ptr<TTransport> ptrans):
+ ptrans_(ptrans) {
+ }
+
+ boost::shared_ptr<TTransport> ptrans_;
+
+ private:
+ TProtocol() {}
+};
+
+/**
+ * Constructs input and output protocol objects given transports.
+ */
+class TProtocolFactory {
+ public:
+ TProtocolFactory() {}
+
+ virtual ~TProtocolFactory() {}
+
+ virtual boost::shared_ptr<TProtocol> getProtocol(boost::shared_ptr<TTransport> trans) = 0;
+};
+
+/**
+ * Dummy protocol class.
+ *
+ * This class does nothing, and should never be instantiated.
+ * It is used only by the generator code.
+ */
+class TDummyProtocol : public TProtocol {
+};
+
+}}} // apache::thrift::protocol
+
+#endif // #define _THRIFT_PROTOCOL_TPROTOCOL_H_ 1
http://git-wip-us.apache.org/repos/asf/airavata/blob/f891b7dc/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/protocol/TProtocolDecorator.h
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/protocol/TProtocolDecorator.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/protocol/TProtocolDecorator.h
new file mode 100644
index 0000000..7850bc5
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/protocol/TProtocolDecorator.h
@@ -0,0 +1,133 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you 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 THRIFT_TPROTOCOLDECORATOR_H_
+#define THRIFT_TPROTOCOLDECORATOR_H_ 1
+
+#include <thrift/protocol/TProtocol.h>
+#include <boost/shared_ptr.hpp>
+
+namespace apache
+{
+ namespace thrift
+ {
+ namespace protocol
+ {
+ using boost::shared_ptr;
+
+ /**
+ * <code>TProtocolDecorator</code> forwards all requests to an enclosed
+ * <code>TProtocol</code> instance, providing a way to author concise
+ * concrete decorator subclasses.
+ *
+ * <p>See p.175 of Design Patterns (by Gamma et al.)</p>
+ *
+ * @see apache::thrift::protocol::TMultiplexedProtocol
+ */
+ class TProtocolDecorator : public TProtocol
+ {
+ public:
+ virtual ~TProtocolDecorator() {}
+
+ // Desc: Initializes the protocol decorator object.
+ TProtocolDecorator( shared_ptr<TProtocol> proto )
+ : TProtocol(proto->getTransport()), protocol(proto)
+ {
+ }
+
+ virtual uint32_t writeMessageBegin_virt(
+ const std::string& name,
+ const TMessageType messageType,
+ const int32_t seqid)
+ {
+ return protocol->writeMessageBegin(name, messageType, seqid);
+ }
+ virtual uint32_t writeMessageEnd_virt() { return protocol->writeMessageEnd(); }
+ virtual uint32_t writeStructBegin_virt(const char* name) { return protocol->writeStructBegin(name); }
+ virtual uint32_t writeStructEnd_virt() { return protocol->writeStructEnd(); }
+
+ virtual uint32_t writeFieldBegin_virt(const char* name,
+ const TType fieldType,
+ const int16_t fieldId) { return protocol->writeFieldBegin(name,fieldType,fieldId); }
+
+ virtual uint32_t writeFieldEnd_virt() { return protocol->writeFieldEnd(); }
+ virtual uint32_t writeFieldStop_virt() { return protocol->writeFieldStop(); }
+
+ virtual uint32_t writeMapBegin_virt(const TType keyType,
+ const TType valType,
+ const uint32_t size) { return protocol->writeMapBegin(keyType,valType,size); }
+
+ virtual uint32_t writeMapEnd_virt() { return protocol->writeMapEnd(); }
+
+ virtual uint32_t writeListBegin_virt(const TType elemType, const uint32_t size) { return protocol->writeListBegin(elemType,size); }
+ virtual uint32_t writeListEnd_virt() { return protocol->writeListEnd(); }
+
+ virtual uint32_t writeSetBegin_virt(const TType elemType, const uint32_t size) { return protocol->writeSetBegin(elemType,size); }
+ virtual uint32_t writeSetEnd_virt() { return protocol->writeSetEnd(); }
+
+ virtual uint32_t writeBool_virt(const bool value) { return protocol->writeBool(value); }
+ virtual uint32_t writeByte_virt(const int8_t byte) { return protocol->writeByte(byte); }
+ virtual uint32_t writeI16_virt(const int16_t i16) { return protocol->writeI16(i16); }
+ virtual uint32_t writeI32_virt(const int32_t i32) { return protocol->writeI32(i32); }
+ virtual uint32_t writeI64_virt(const int64_t i64) { return protocol->writeI64(i64); }
+
+ virtual uint32_t writeDouble_virt(const double dub) { return protocol->writeDouble(dub); }
+ virtual uint32_t writeString_virt(const std::string& str) { return protocol->writeString(str); }
+ virtual uint32_t writeBinary_virt(const std::string& str) { return protocol->writeBinary(str); }
+
+ virtual uint32_t readMessageBegin_virt(std::string& name, TMessageType& messageType, int32_t& seqid) { return protocol->readMessageBegin(name,messageType,seqid); }
+ virtual uint32_t readMessageEnd_virt() { return protocol->readMessageEnd(); }
+
+ virtual uint32_t readStructBegin_virt(std::string& name) { return protocol->readStructBegin(name); }
+ virtual uint32_t readStructEnd_virt() { return protocol->readStructEnd(); }
+
+ virtual uint32_t readFieldBegin_virt(std::string& name, TType& fieldType, int16_t& fieldId) { return protocol->readFieldBegin(name, fieldType, fieldId); }
+ virtual uint32_t readFieldEnd_virt() { return protocol->readFieldEnd(); }
+
+ virtual uint32_t readMapBegin_virt(TType& keyType, TType& valType, uint32_t& size) { return protocol->readMapBegin(keyType,valType,size); }
+ virtual uint32_t readMapEnd_virt() { return protocol->readMapEnd(); }
+
+ virtual uint32_t readListBegin_virt(TType& elemType, uint32_t& size) { return protocol->readListBegin(elemType,size); }
+ virtual uint32_t readListEnd_virt() { return protocol->readListEnd(); }
+
+ virtual uint32_t readSetBegin_virt(TType& elemType, uint32_t& size) { return protocol->readSetBegin(elemType,size); }
+ virtual uint32_t readSetEnd_virt() { return protocol->readSetEnd(); }
+
+ virtual uint32_t readBool_virt(bool& value) { return protocol->readBool(value); }
+ virtual uint32_t readBool_virt(std::vector<bool>::reference value) { return protocol->readBool(value); }
+
+ virtual uint32_t readByte_virt(int8_t& byte) { return protocol->readByte(byte); }
+
+ virtual uint32_t readI16_virt(int16_t& i16) { return protocol->readI16(i16); }
+ virtual uint32_t readI32_virt(int32_t& i32) { return protocol->readI32(i32); }
+ virtual uint32_t readI64_virt(int64_t& i64) { return protocol->readI64(i64); }
+
+ virtual uint32_t readDouble_virt(double& dub) { return protocol->readDouble(dub); }
+
+ virtual uint32_t readString_virt(std::string& str) { return protocol->readString(str); }
+ virtual uint32_t readBinary_virt(std::string& str) { return protocol->readBinary(str); }
+
+ private:
+ shared_ptr<TProtocol> protocol;
+ };
+ }
+ }
+}
+
+#endif // THRIFT_TPROTOCOLDECORATOR_H_
http://git-wip-us.apache.org/repos/asf/airavata/blob/f891b7dc/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/protocol/TProtocolException.h
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/protocol/TProtocolException.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/protocol/TProtocolException.h
new file mode 100644
index 0000000..a03d3c8
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/protocol/TProtocolException.h
@@ -0,0 +1,104 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you 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 _THRIFT_PROTOCOL_TPROTOCOLEXCEPTION_H_
+#define _THRIFT_PROTOCOL_TPROTOCOLEXCEPTION_H_ 1
+
+#include <string>
+
+namespace apache { namespace thrift { namespace protocol {
+
+/**
+ * Class to encapsulate all the possible types of protocol errors that may
+ * occur in various protocol systems. This provides a sort of generic
+ * wrapper around the vague UNIX E_ error codes that lets a common code
+ * base of error handling to be used for various types of protocols, i.e.
+ * pipes etc.
+ *
+ */
+class TProtocolException : public apache::thrift::TException {
+ public:
+
+ /**
+ * Error codes for the various types of exceptions.
+ */
+ enum TProtocolExceptionType
+ { UNKNOWN = 0
+ , INVALID_DATA = 1
+ , NEGATIVE_SIZE = 2
+ , SIZE_LIMIT = 3
+ , BAD_VERSION = 4
+ , NOT_IMPLEMENTED = 5
+ };
+
+ TProtocolException() :
+ apache::thrift::TException(),
+ type_(UNKNOWN) {}
+
+ TProtocolException(TProtocolExceptionType type) :
+ apache::thrift::TException(),
+ type_(type) {}
+
+ TProtocolException(const std::string& message) :
+ apache::thrift::TException(message),
+ type_(UNKNOWN) {}
+
+ TProtocolException(TProtocolExceptionType type, const std::string& message) :
+ apache::thrift::TException(message),
+ type_(type) {}
+
+ virtual ~TProtocolException() throw() {}
+
+ /**
+ * Returns an error code that provides information about the type of error
+ * that has occurred.
+ *
+ * @return Error code
+ */
+ TProtocolExceptionType getType() {
+ return type_;
+ }
+
+ virtual const char* what() const throw() {
+ if (message_.empty()) {
+ switch (type_) {
+ case UNKNOWN : return "TProtocolException: Unknown protocol exception";
+ case INVALID_DATA : return "TProtocolException: Invalid data";
+ case NEGATIVE_SIZE : return "TProtocolException: Negative size";
+ case SIZE_LIMIT : return "TProtocolException: Exceeded size limit";
+ case BAD_VERSION : return "TProtocolException: Invalid version";
+ case NOT_IMPLEMENTED : return "TProtocolException: Not implemented";
+ default : return "TProtocolException: (Invalid exception type)";
+ }
+ } else {
+ return message_.c_str();
+ }
+ }
+
+ protected:
+ /**
+ * Error code
+ */
+ TProtocolExceptionType type_;
+
+};
+
+}}} // apache::thrift::protocol
+
+#endif // #ifndef _THRIFT_PROTOCOL_TPROTOCOLEXCEPTION_H_
http://git-wip-us.apache.org/repos/asf/airavata/blob/f891b7dc/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/protocol/TProtocolTap.h
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/protocol/TProtocolTap.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/protocol/TProtocolTap.h
new file mode 100644
index 0000000..f493f88
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/protocol/TProtocolTap.h
@@ -0,0 +1,188 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you 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 _THRIFT_PROTOCOL_TPROTOCOLTAP_H_
+#define _THRIFT_PROTOCOL_TPROTOCOLTAP_H_ 1
+
+#include <thrift/protocol/TVirtualProtocol.h>
+
+namespace apache { namespace thrift { namespace protocol {
+
+using apache::thrift::transport::TTransport;
+
+/**
+ * Puts a wiretap on a protocol object. Any reads to this class are passed
+ * through to an enclosed protocol object, but also mirrored as write to a
+ * second protocol object.
+ *
+ */
+class TProtocolTap : public TVirtualProtocol<TProtocolTap> {
+ public:
+ TProtocolTap(boost::shared_ptr<TProtocol> source,
+ boost::shared_ptr<TProtocol> sink)
+ : TVirtualProtocol<TProtocolTap>(source->getTransport())
+ , source_(source)
+ , sink_(sink)
+ {}
+
+ uint32_t readMessageBegin(std::string& name,
+ TMessageType& messageType,
+ int32_t& seqid) {
+ uint32_t rv = source_->readMessageBegin(name, messageType, seqid);
+ sink_->writeMessageBegin(name, messageType, seqid);
+ return rv;
+ }
+
+ uint32_t readMessageEnd() {
+ uint32_t rv = source_->readMessageEnd();
+ sink_->writeMessageEnd();
+ return rv;
+ }
+
+ uint32_t readStructBegin(std::string& name) {
+ uint32_t rv = source_->readStructBegin(name);
+ sink_->writeStructBegin(name.c_str());
+ return rv;
+ }
+
+ uint32_t readStructEnd() {
+ uint32_t rv = source_->readStructEnd();
+ sink_->writeStructEnd();
+ return rv;
+ }
+
+ uint32_t readFieldBegin(std::string& name,
+ TType& fieldType,
+ int16_t& fieldId) {
+ uint32_t rv = source_->readFieldBegin(name, fieldType, fieldId);
+ if (fieldType == T_STOP) {
+ sink_->writeFieldStop();
+ } else {
+ sink_->writeFieldBegin(name.c_str(), fieldType, fieldId);
+ }
+ return rv;
+ }
+
+
+ uint32_t readFieldEnd() {
+ uint32_t rv = source_->readFieldEnd();
+ sink_->writeFieldEnd();
+ return rv;
+ }
+
+ uint32_t readMapBegin(TType& keyType,
+ TType& valType,
+ uint32_t& size) {
+ uint32_t rv = source_->readMapBegin(keyType, valType, size);
+ sink_->writeMapBegin(keyType, valType, size);
+ return rv;
+ }
+
+
+ uint32_t readMapEnd() {
+ uint32_t rv = source_->readMapEnd();
+ sink_->writeMapEnd();
+ return rv;
+ }
+
+ uint32_t readListBegin(TType& elemType, uint32_t& size) {
+ uint32_t rv = source_->readListBegin(elemType, size);
+ sink_->writeListBegin(elemType, size);
+ return rv;
+ }
+
+
+ uint32_t readListEnd() {
+ uint32_t rv = source_->readListEnd();
+ sink_->writeListEnd();
+ return rv;
+ }
+
+ uint32_t readSetBegin(TType& elemType, uint32_t& size) {
+ uint32_t rv = source_->readSetBegin(elemType, size);
+ sink_->writeSetBegin(elemType, size);
+ return rv;
+ }
+
+
+ uint32_t readSetEnd() {
+ uint32_t rv = source_->readSetEnd();
+ sink_->writeSetEnd();
+ return rv;
+ }
+
+ uint32_t readBool(bool& value) {
+ uint32_t rv = source_->readBool(value);
+ sink_->writeBool(value);
+ return rv;
+ }
+
+ // Provide the default readBool() implementation for std::vector<bool>
+ using TVirtualProtocol<TProtocolTap>::readBool;
+
+ uint32_t readByte(int8_t& byte) {
+ uint32_t rv = source_->readByte(byte);
+ sink_->writeByte(byte);
+ return rv;
+ }
+
+ uint32_t readI16(int16_t& i16) {
+ uint32_t rv = source_->readI16(i16);
+ sink_->writeI16(i16);
+ return rv;
+ }
+
+ uint32_t readI32(int32_t& i32) {
+ uint32_t rv = source_->readI32(i32);
+ sink_->writeI32(i32);
+ return rv;
+ }
+
+ uint32_t readI64(int64_t& i64) {
+ uint32_t rv = source_->readI64(i64);
+ sink_->writeI64(i64);
+ return rv;
+ }
+
+ uint32_t readDouble(double& dub) {
+ uint32_t rv = source_->readDouble(dub);
+ sink_->writeDouble(dub);
+ return rv;
+ }
+
+ uint32_t readString(std::string& str) {
+ uint32_t rv = source_->readString(str);
+ sink_->writeString(str);
+ return rv;
+ }
+
+ uint32_t readBinary(std::string& str) {
+ uint32_t rv = source_->readBinary(str);
+ sink_->writeBinary(str);
+ return rv;
+ }
+
+ private:
+ boost::shared_ptr<TProtocol> source_;
+ boost::shared_ptr<TProtocol> sink_;
+};
+
+}}} // apache::thrift::protocol
+
+#endif // #define _THRIFT_PROTOCOL_TPROTOCOLTAP_H_ 1
http://git-wip-us.apache.org/repos/asf/airavata/blob/f891b7dc/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/protocol/TVirtualProtocol.h
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/protocol/TVirtualProtocol.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/protocol/TVirtualProtocol.h
new file mode 100644
index 0000000..e068725
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/protocol/TVirtualProtocol.h
@@ -0,0 +1,564 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you 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 _THRIFT_PROTOCOL_TVIRTUALPROTOCOL_H_
+#define _THRIFT_PROTOCOL_TVIRTUALPROTOCOL_H_ 1
+
+#include <thrift/protocol/TProtocol.h>
+
+namespace apache { namespace thrift { namespace protocol {
+
+using apache::thrift::transport::TTransport;
+
+/**
+ * Helper class that provides default implementations of TProtocol methods.
+ *
+ * This class provides default implementations of the non-virtual TProtocol
+ * methods. It exists primarily so TVirtualProtocol can derive from it. It
+ * prevents TVirtualProtocol methods from causing infinite recursion if the
+ * non-virtual methods are not overridden by the TVirtualProtocol subclass.
+ *
+ * You probably don't want to use this class directly. Use TVirtualProtocol
+ * instead.
+ */
+class TProtocolDefaults : public TProtocol {
+ public:
+ uint32_t readMessageBegin(std::string& name,
+ TMessageType& messageType,
+ int32_t& seqid) {
+ (void) name;
+ (void) messageType;
+ (void) seqid;
+ throw TProtocolException(TProtocolException::NOT_IMPLEMENTED,
+ "this protocol does not support reading (yet).");
+ }
+
+ uint32_t readMessageEnd() {
+ throw TProtocolException(TProtocolException::NOT_IMPLEMENTED,
+ "this protocol does not support reading (yet).");
+ }
+
+ uint32_t readStructBegin(std::string& name) {
+ (void) name;
+ throw TProtocolException(TProtocolException::NOT_IMPLEMENTED,
+ "this protocol does not support reading (yet).");
+ }
+
+ uint32_t readStructEnd() {
+ throw TProtocolException(TProtocolException::NOT_IMPLEMENTED,
+ "this protocol does not support reading (yet).");
+ }
+
+ uint32_t readFieldBegin(std::string& name,
+ TType& fieldType,
+ int16_t& fieldId) {
+ (void) name;
+ (void) fieldType;
+ (void) fieldId;
+ throw TProtocolException(TProtocolException::NOT_IMPLEMENTED,
+ "this protocol does not support reading (yet).");
+ }
+
+ uint32_t readFieldEnd() {
+ throw TProtocolException(TProtocolException::NOT_IMPLEMENTED,
+ "this protocol does not support reading (yet).");
+ }
+
+ uint32_t readMapBegin(TType& keyType, TType& valType, uint32_t& size) {
+ (void) keyType;
+ (void) valType;
+ (void) size;
+ throw TProtocolException(TProtocolException::NOT_IMPLEMENTED,
+ "this protocol does not support reading (yet).");
+ }
+
+ uint32_t readMapEnd() {
+ throw TProtocolException(TProtocolException::NOT_IMPLEMENTED,
+ "this protocol does not support reading (yet).");
+ }
+
+ uint32_t readListBegin(TType& elemType, uint32_t& size) {
+ (void) elemType;
+ (void) size;
+ throw TProtocolException(TProtocolException::NOT_IMPLEMENTED,
+ "this protocol does not support reading (yet).");
+ }
+
+ uint32_t readListEnd() {
+ throw TProtocolException(TProtocolException::NOT_IMPLEMENTED,
+ "this protocol does not support reading (yet).");
+ }
+
+ uint32_t readSetBegin(TType& elemType, uint32_t& size) {
+ (void) elemType;
+ (void) size;
+ throw TProtocolException(TProtocolException::NOT_IMPLEMENTED,
+ "this protocol does not support reading (yet).");
+ }
+
+ uint32_t readSetEnd() {
+ throw TProtocolException(TProtocolException::NOT_IMPLEMENTED,
+ "this protocol does not support reading (yet).");
+ }
+
+ uint32_t readBool(bool& value) {
+ (void) value;
+ throw TProtocolException(TProtocolException::NOT_IMPLEMENTED,
+ "this protocol does not support reading (yet).");
+ }
+
+ uint32_t readBool(std::vector<bool>::reference value) {
+ (void) value;
+ throw TProtocolException(TProtocolException::NOT_IMPLEMENTED,
+ "this protocol does not support reading (yet).");
+ }
+
+ uint32_t readByte(int8_t& byte) {
+ (void) byte;
+ throw TProtocolException(TProtocolException::NOT_IMPLEMENTED,
+ "this protocol does not support reading (yet).");
+ }
+
+ uint32_t readI16(int16_t& i16) {
+ (void) i16;
+ throw TProtocolException(TProtocolException::NOT_IMPLEMENTED,
+ "this protocol does not support reading (yet).");
+ }
+
+ uint32_t readI32(int32_t& i32) {
+ (void) i32;
+ throw TProtocolException(TProtocolException::NOT_IMPLEMENTED,
+ "this protocol does not support reading (yet).");
+ }
+
+ uint32_t readI64(int64_t& i64) {
+ (void) i64;
+ throw TProtocolException(TProtocolException::NOT_IMPLEMENTED,
+ "this protocol does not support reading (yet).");
+ }
+
+ uint32_t readDouble(double& dub) {
+ (void) dub;
+ throw TProtocolException(TProtocolException::NOT_IMPLEMENTED,
+ "this protocol does not support reading (yet).");
+ }
+
+ uint32_t readString(std::string& str) {
+ (void) str;
+ throw TProtocolException(TProtocolException::NOT_IMPLEMENTED,
+ "this protocol does not support reading (yet).");
+ }
+
+ uint32_t readBinary(std::string& str) {
+ (void) str;
+ throw TProtocolException(TProtocolException::NOT_IMPLEMENTED,
+ "this protocol does not support reading (yet).");
+ }
+
+ uint32_t writeMessageBegin(const std::string& name,
+ const TMessageType messageType,
+ const int32_t seqid) {
+ (void) name;
+ (void) messageType;
+ (void) seqid;
+ throw TProtocolException(TProtocolException::NOT_IMPLEMENTED,
+ "this protocol does not support writing (yet).");
+ }
+
+ uint32_t writeMessageEnd() {
+ throw TProtocolException(TProtocolException::NOT_IMPLEMENTED,
+ "this protocol does not support writing (yet).");
+ }
+
+
+ uint32_t writeStructBegin(const char* name) {
+ (void) name;
+ throw TProtocolException(TProtocolException::NOT_IMPLEMENTED,
+ "this protocol does not support writing (yet).");
+ }
+
+ uint32_t writeStructEnd() {
+ throw TProtocolException(TProtocolException::NOT_IMPLEMENTED,
+ "this protocol does not support writing (yet).");
+ }
+
+ uint32_t writeFieldBegin(const char* name,
+ const TType fieldType,
+ const int16_t fieldId) {
+ (void) name;
+ (void) fieldType;
+ (void) fieldId;
+ throw TProtocolException(TProtocolException::NOT_IMPLEMENTED,
+ "this protocol does not support writing (yet).");
+ }
+
+ uint32_t writeFieldEnd() {
+ throw TProtocolException(TProtocolException::NOT_IMPLEMENTED,
+ "this protocol does not support writing (yet).");
+ }
+
+ uint32_t writeFieldStop() {
+ throw TProtocolException(TProtocolException::NOT_IMPLEMENTED,
+ "this protocol does not support writing (yet).");
+ }
+
+ uint32_t writeMapBegin(const TType keyType,
+ const TType valType,
+ const uint32_t size) {
+ (void) keyType;
+ (void) valType;
+ (void) size;
+ throw TProtocolException(TProtocolException::NOT_IMPLEMENTED,
+ "this protocol does not support writing (yet).");
+ }
+
+ uint32_t writeMapEnd() {
+ throw TProtocolException(TProtocolException::NOT_IMPLEMENTED,
+ "this protocol does not support writing (yet).");
+ }
+
+ uint32_t writeListBegin(const TType elemType, const uint32_t size) {
+ (void) elemType;
+ (void) size;
+ throw TProtocolException(TProtocolException::NOT_IMPLEMENTED,
+ "this protocol does not support writing (yet).");
+ }
+
+ uint32_t writeListEnd() {
+ throw TProtocolException(TProtocolException::NOT_IMPLEMENTED,
+ "this protocol does not support writing (yet).");
+ }
+
+ uint32_t writeSetBegin(const TType elemType, const uint32_t size) {
+ (void) elemType;
+ (void) size;
+ throw TProtocolException(TProtocolException::NOT_IMPLEMENTED,
+ "this protocol does not support writing (yet).");
+ }
+
+ uint32_t writeSetEnd() {
+ throw TProtocolException(TProtocolException::NOT_IMPLEMENTED,
+ "this protocol does not support writing (yet).");
+ }
+
+ uint32_t writeBool(const bool value) {
+ (void) value;
+ throw TProtocolException(TProtocolException::NOT_IMPLEMENTED,
+ "this protocol does not support writing (yet).");
+ }
+
+ uint32_t writeByte(const int8_t byte) {
+ (void) byte;
+ throw TProtocolException(TProtocolException::NOT_IMPLEMENTED,
+ "this protocol does not support writing (yet).");
+ }
+
+ uint32_t writeI16(const int16_t i16) {
+ (void) i16;
+ throw TProtocolException(TProtocolException::NOT_IMPLEMENTED,
+ "this protocol does not support writing (yet).");
+ }
+
+ uint32_t writeI32(const int32_t i32) {
+ (void) i32;
+ throw TProtocolException(TProtocolException::NOT_IMPLEMENTED,
+ "this protocol does not support writing (yet).");
+ }
+
+ uint32_t writeI64(const int64_t i64) {
+ (void) i64;
+ throw TProtocolException(TProtocolException::NOT_IMPLEMENTED,
+ "this protocol does not support writing (yet).");
+ }
+
+ uint32_t writeDouble(const double dub) {
+ (void) dub;
+ throw TProtocolException(TProtocolException::NOT_IMPLEMENTED,
+ "this protocol does not support writing (yet).");
+ }
+
+ uint32_t writeString(const std::string& str) {
+ (void) str;
+ throw TProtocolException(TProtocolException::NOT_IMPLEMENTED,
+ "this protocol does not support writing (yet).");
+ }
+
+ uint32_t writeBinary(const std::string& str) {
+ (void) str;
+ throw TProtocolException(TProtocolException::NOT_IMPLEMENTED,
+ "this protocol does not support writing (yet).");
+ }
+
+ uint32_t skip(TType type) {
+ return ::apache::thrift::protocol::skip(*this, type);
+ }
+
+ protected:
+ TProtocolDefaults(boost::shared_ptr<TTransport> ptrans)
+ : TProtocol(ptrans)
+ {}
+};
+
+/**
+ * Concrete TProtocol classes should inherit from TVirtualProtocol
+ * so they don't have to manually override virtual methods.
+ */
+template <class Protocol_, class Super_=TProtocolDefaults>
+class TVirtualProtocol : public Super_ {
+ public:
+ /**
+ * Writing functions.
+ */
+
+ virtual uint32_t writeMessageBegin_virt(const std::string& name,
+ const TMessageType messageType,
+ const int32_t seqid) {
+ return static_cast<Protocol_*>(this)->writeMessageBegin(name, messageType,
+ seqid);
+ }
+
+ virtual uint32_t writeMessageEnd_virt() {
+ return static_cast<Protocol_*>(this)->writeMessageEnd();
+ }
+
+
+ virtual uint32_t writeStructBegin_virt(const char* name) {
+ return static_cast<Protocol_*>(this)->writeStructBegin(name);
+ }
+
+ virtual uint32_t writeStructEnd_virt() {
+ return static_cast<Protocol_*>(this)->writeStructEnd();
+ }
+
+ virtual uint32_t writeFieldBegin_virt(const char* name,
+ const TType fieldType,
+ const int16_t fieldId) {
+ return static_cast<Protocol_*>(this)->writeFieldBegin(name, fieldType,
+ fieldId);
+ }
+
+ virtual uint32_t writeFieldEnd_virt() {
+ return static_cast<Protocol_*>(this)->writeFieldEnd();
+ }
+
+ virtual uint32_t writeFieldStop_virt() {
+ return static_cast<Protocol_*>(this)->writeFieldStop();
+ }
+
+ virtual uint32_t writeMapBegin_virt(const TType keyType,
+ const TType valType,
+ const uint32_t size) {
+ return static_cast<Protocol_*>(this)->writeMapBegin(keyType, valType, size);
+ }
+
+ virtual uint32_t writeMapEnd_virt() {
+ return static_cast<Protocol_*>(this)->writeMapEnd();
+ }
+
+ virtual uint32_t writeListBegin_virt(const TType elemType,
+ const uint32_t size) {
+ return static_cast<Protocol_*>(this)->writeListBegin(elemType, size);
+ }
+
+ virtual uint32_t writeListEnd_virt() {
+ return static_cast<Protocol_*>(this)->writeListEnd();
+ }
+
+ virtual uint32_t writeSetBegin_virt(const TType elemType,
+ const uint32_t size) {
+ return static_cast<Protocol_*>(this)->writeSetBegin(elemType, size);
+ }
+
+ virtual uint32_t writeSetEnd_virt() {
+ return static_cast<Protocol_*>(this)->writeSetEnd();
+ }
+
+ virtual uint32_t writeBool_virt(const bool value) {
+ return static_cast<Protocol_*>(this)->writeBool(value);
+ }
+
+ virtual uint32_t writeByte_virt(const int8_t byte) {
+ return static_cast<Protocol_*>(this)->writeByte(byte);
+ }
+
+ virtual uint32_t writeI16_virt(const int16_t i16) {
+ return static_cast<Protocol_*>(this)->writeI16(i16);
+ }
+
+ virtual uint32_t writeI32_virt(const int32_t i32) {
+ return static_cast<Protocol_*>(this)->writeI32(i32);
+ }
+
+ virtual uint32_t writeI64_virt(const int64_t i64) {
+ return static_cast<Protocol_*>(this)->writeI64(i64);
+ }
+
+ virtual uint32_t writeDouble_virt(const double dub) {
+ return static_cast<Protocol_*>(this)->writeDouble(dub);
+ }
+
+ virtual uint32_t writeString_virt(const std::string& str) {
+ return static_cast<Protocol_*>(this)->writeString(str);
+ }
+
+ virtual uint32_t writeBinary_virt(const std::string& str) {
+ return static_cast<Protocol_*>(this)->writeBinary(str);
+ }
+
+ /**
+ * Reading functions
+ */
+
+ virtual uint32_t readMessageBegin_virt(std::string& name,
+ TMessageType& messageType,
+ int32_t& seqid) {
+ return static_cast<Protocol_*>(this)->readMessageBegin(name, messageType,
+ seqid);
+ }
+
+ virtual uint32_t readMessageEnd_virt() {
+ return static_cast<Protocol_*>(this)->readMessageEnd();
+ }
+
+ virtual uint32_t readStructBegin_virt(std::string& name) {
+ return static_cast<Protocol_*>(this)->readStructBegin(name);
+ }
+
+ virtual uint32_t readStructEnd_virt() {
+ return static_cast<Protocol_*>(this)->readStructEnd();
+ }
+
+ virtual uint32_t readFieldBegin_virt(std::string& name,
+ TType& fieldType,
+ int16_t& fieldId) {
+ return static_cast<Protocol_*>(this)->readFieldBegin(name, fieldType,
+ fieldId);
+ }
+
+ virtual uint32_t readFieldEnd_virt() {
+ return static_cast<Protocol_*>(this)->readFieldEnd();
+ }
+
+ virtual uint32_t readMapBegin_virt(TType& keyType,
+ TType& valType,
+ uint32_t& size) {
+ return static_cast<Protocol_*>(this)->readMapBegin(keyType, valType, size);
+ }
+
+ virtual uint32_t readMapEnd_virt() {
+ return static_cast<Protocol_*>(this)->readMapEnd();
+ }
+
+ virtual uint32_t readListBegin_virt(TType& elemType,
+ uint32_t& size) {
+ return static_cast<Protocol_*>(this)->readListBegin(elemType, size);
+ }
+
+ virtual uint32_t readListEnd_virt() {
+ return static_cast<Protocol_*>(this)->readListEnd();
+ }
+
+ virtual uint32_t readSetBegin_virt(TType& elemType,
+ uint32_t& size) {
+ return static_cast<Protocol_*>(this)->readSetBegin(elemType, size);
+ }
+
+ virtual uint32_t readSetEnd_virt() {
+ return static_cast<Protocol_*>(this)->readSetEnd();
+ }
+
+ virtual uint32_t readBool_virt(bool& value) {
+ return static_cast<Protocol_*>(this)->readBool(value);
+ }
+
+ virtual uint32_t readBool_virt(std::vector<bool>::reference value) {
+ return static_cast<Protocol_*>(this)->readBool(value);
+ }
+
+ virtual uint32_t readByte_virt(int8_t& byte) {
+ return static_cast<Protocol_*>(this)->readByte(byte);
+ }
+
+ virtual uint32_t readI16_virt(int16_t& i16) {
+ return static_cast<Protocol_*>(this)->readI16(i16);
+ }
+
+ virtual uint32_t readI32_virt(int32_t& i32) {
+ return static_cast<Protocol_*>(this)->readI32(i32);
+ }
+
+ virtual uint32_t readI64_virt(int64_t& i64) {
+ return static_cast<Protocol_*>(this)->readI64(i64);
+ }
+
+ virtual uint32_t readDouble_virt(double& dub) {
+ return static_cast<Protocol_*>(this)->readDouble(dub);
+ }
+
+ virtual uint32_t readString_virt(std::string& str) {
+ return static_cast<Protocol_*>(this)->readString(str);
+ }
+
+ virtual uint32_t readBinary_virt(std::string& str) {
+ return static_cast<Protocol_*>(this)->readBinary(str);
+ }
+
+ virtual uint32_t skip_virt(TType type) {
+ return static_cast<Protocol_*>(this)->skip(type);
+ }
+
+ /*
+ * Provide a default skip() implementation that uses non-virtual read
+ * methods.
+ *
+ * Note: subclasses that use TVirtualProtocol to derive from another protocol
+ * implementation (i.e., not TProtocolDefaults) should beware that this may
+ * override any non-default skip() implementation provided by the parent
+ * transport class. They may need to explicitly redefine skip() to call the
+ * correct parent implementation, if desired.
+ */
+ uint32_t skip(TType type) {
+ Protocol_* const prot = static_cast<Protocol_*>(this);
+ return ::apache::thrift::protocol::skip(*prot, type);
+ }
+
+ /*
+ * Provide a default readBool() implementation for use with
+ * std::vector<bool>, that behaves the same as reading into a normal bool.
+ *
+ * Subclasses can override this if desired, but there normally shouldn't
+ * be a need to.
+ */
+ uint32_t readBool(std::vector<bool>::reference value) {
+ bool b = false;
+ uint32_t ret = static_cast<Protocol_*>(this)->readBool(b);
+ value = b;
+ return ret;
+ }
+ using Super_::readBool; // so we don't hide readBool(bool&)
+
+ protected:
+ TVirtualProtocol(boost::shared_ptr<TTransport> ptrans)
+ : Super_(ptrans)
+ {}
+};
+
+}}} // apache::thrift::protocol
+
+#endif // #define _THRIFT_PROTOCOL_TVIRTUALPROTOCOL_H_ 1
http://git-wip-us.apache.org/repos/asf/airavata/blob/f891b7dc/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/qt/TQIODeviceTransport.cpp
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/qt/TQIODeviceTransport.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/qt/TQIODeviceTransport.cpp
new file mode 100644
index 0000000..3a3e222
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/qt/TQIODeviceTransport.cpp
@@ -0,0 +1,179 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you 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 <thrift/qt/TQIODeviceTransport.h>
+
+#include <QAbstractSocket>
+#include <QIODevice>
+
+#include <thrift/transport/TBufferTransports.h>
+
+using boost::shared_ptr;
+
+namespace apache { namespace thrift { namespace transport {
+
+TQIODeviceTransport::TQIODeviceTransport(shared_ptr<QIODevice> dev)
+ : dev_(dev)
+{
+}
+
+TQIODeviceTransport::~TQIODeviceTransport()
+{
+ dev_->close();
+}
+
+void TQIODeviceTransport::open()
+{
+ if (!isOpen()) {
+ throw TTransportException(TTransportException::NOT_OPEN,
+ "open(): underlying QIODevice isn't open");
+ }
+}
+
+bool TQIODeviceTransport::isOpen()
+{
+ return dev_->isOpen();
+}
+
+bool TQIODeviceTransport::peek()
+{
+ return dev_->bytesAvailable() > 0;
+}
+
+void TQIODeviceTransport::close()
+{
+ dev_->close();
+}
+
+uint32_t TQIODeviceTransport::readAll(uint8_t* buf, uint32_t len)
+{
+ uint32_t requestLen = len;
+ while (len) {
+ uint32_t readSize;
+ try {
+ readSize = read(buf, len);
+ } catch (...) {
+ if (len != requestLen) {
+ // something read already
+ return requestLen - len;
+ }
+ // error but nothing read yet
+ throw;
+ }
+ if (readSize == 0) {
+ dev_->waitForReadyRead(50);
+ } else {
+ buf += readSize;
+ len -= readSize;
+ }
+ }
+ return requestLen;
+}
+
+uint32_t TQIODeviceTransport::read(uint8_t* buf, uint32_t len)
+{
+ uint32_t actualSize;
+ qint64 readSize;
+
+ if (!dev_->isOpen()) {
+ throw TTransportException(TTransportException::NOT_OPEN,
+ "read(): underlying QIODevice is not open");
+ }
+
+ actualSize = (uint32_t)std::min((qint64)len, dev_->bytesAvailable());
+ readSize = dev_->read(reinterpret_cast<char *>(buf), actualSize);
+
+ if (readSize < 0) {
+ QAbstractSocket* socket;
+ if ((socket = qobject_cast<QAbstractSocket* >(dev_.get()))) {
+ throw TTransportException(TTransportException::UNKNOWN,
+ "Failed to read() from QAbstractSocket",
+ socket->error());
+ }
+ throw TTransportException(TTransportException::UNKNOWN,
+ "Failed to read from from QIODevice");
+ }
+
+ return (uint32_t)readSize;
+}
+
+void TQIODeviceTransport::write(const uint8_t* buf, uint32_t len)
+{
+ while (len) {
+ uint32_t written = write_partial(buf, len);
+ len -= written;
+ dev_->waitForBytesWritten(50);
+ }
+}
+
+uint32_t TQIODeviceTransport::write_partial(const uint8_t* buf, uint32_t len)
+{
+ qint64 written;
+
+ if (!dev_->isOpen()) {
+ throw TTransportException(TTransportException::NOT_OPEN,
+ "write_partial(): underlying QIODevice is not open");
+ }
+
+ written = dev_->write(reinterpret_cast<const char*>(buf), len);
+ if (written < 0) {
+ QAbstractSocket* socket;
+ if ((socket = qobject_cast<QAbstractSocket*>(dev_.get()))) {
+ throw TTransportException(TTransportException::UNKNOWN,
+ "write_partial(): failed to write to QAbstractSocket", socket->error());
+ }
+
+ throw TTransportException(TTransportException::UNKNOWN,
+ "write_partial(): failed to write to underlying QIODevice");
+ }
+
+ return (uint32_t)written;
+}
+
+void TQIODeviceTransport::flush()
+{
+ if (!dev_->isOpen()) {
+ throw TTransportException(TTransportException::NOT_OPEN,
+ "flush(): underlying QIODevice is not open");
+ }
+
+ QAbstractSocket* socket;
+
+ if ((socket = qobject_cast<QAbstractSocket*>(dev_.get()))) {
+ socket->flush();
+ } else {
+ dev_->waitForBytesWritten(1);
+ }
+}
+
+uint8_t* TQIODeviceTransport::borrow(uint8_t* buf, uint32_t* len)
+{
+ (void) buf;
+ (void) len;
+ return NULL;
+}
+
+void TQIODeviceTransport::consume(uint32_t len)
+{
+ (void) len;
+ throw TTransportException(TTransportException::UNKNOWN);
+}
+
+}}} // apache::thrift::transport
+
http://git-wip-us.apache.org/repos/asf/airavata/blob/f891b7dc/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/qt/TQIODeviceTransport.h
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/qt/TQIODeviceTransport.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/qt/TQIODeviceTransport.h
new file mode 100644
index 0000000..64faa12
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/qt/TQIODeviceTransport.h
@@ -0,0 +1,64 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you 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 _THRIFT_ASYNC_TQIODEVICE_TRANSPORT_H_
+#define _THRIFT_ASYNC_TQIODEVICE_TRANSPORT_H_ 1
+
+#include <boost/shared_ptr.hpp>
+
+#include <thrift/transport/TVirtualTransport.h>
+
+class QIODevice;
+
+namespace apache { namespace thrift { namespace transport {
+
+/**
+ * Transport that operates on a QIODevice (socket, file, etc).
+ */
+class TQIODeviceTransport : public apache::thrift::transport::TVirtualTransport<TQIODeviceTransport> {
+ public:
+ explicit TQIODeviceTransport(boost::shared_ptr<QIODevice> dev);
+ virtual ~TQIODeviceTransport();
+
+ void open();
+ bool isOpen();
+ bool peek();
+ void close();
+
+ uint32_t readAll(uint8_t *buf, uint32_t len);
+ uint32_t read(uint8_t* buf, uint32_t len);
+
+ void write(const uint8_t* buf, uint32_t len);
+ uint32_t write_partial(const uint8_t* buf, uint32_t len);
+
+ void flush();
+
+ uint8_t* borrow(uint8_t* buf, uint32_t* len);
+ void consume(uint32_t len);
+
+ private:
+ TQIODeviceTransport(const TQIODeviceTransport&);
+ TQIODeviceTransport& operator=(const TQIODeviceTransport&);
+
+ boost::shared_ptr<QIODevice> dev_;
+};
+}}} // apache::thrift::transport
+
+#endif // #ifndef _THRIFT_ASYNC_TQIODEVICE_TRANSPORT_H_
+
http://git-wip-us.apache.org/repos/asf/airavata/blob/f891b7dc/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/qt/TQTcpServer.cpp
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/qt/TQTcpServer.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/qt/TQTcpServer.cpp
new file mode 100644
index 0000000..79a8c59
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/qt/TQTcpServer.cpp
@@ -0,0 +1,157 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you 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 <thrift/qt/TQTcpServer.h>
+#include <thrift/qt/TQIODeviceTransport.h>
+
+#include <QTcpSocket>
+
+#include <thrift/cxxfunctional.h>
+
+#include <thrift/protocol/TProtocol.h>
+#include <thrift/async/TAsyncProcessor.h>
+
+using boost::shared_ptr;
+using apache::thrift::protocol::TProtocol;
+using apache::thrift::protocol::TProtocolFactory;
+using apache::thrift::transport::TTransport;
+using apache::thrift::transport::TTransportException;
+using apache::thrift::transport::TQIODeviceTransport;
+using apache::thrift::stdcxx::function;
+using apache::thrift::stdcxx::bind;
+
+QT_USE_NAMESPACE
+
+namespace apache { namespace thrift { namespace async {
+
+struct TQTcpServer::ConnectionContext {
+ shared_ptr<QTcpSocket> connection_;
+ shared_ptr<TTransport> transport_;
+ shared_ptr<TProtocol> iprot_;
+ shared_ptr<TProtocol> oprot_;
+
+ explicit ConnectionContext(shared_ptr<QTcpSocket> connection,
+ shared_ptr<TTransport> transport,
+ shared_ptr<TProtocol> iprot,
+ shared_ptr<TProtocol> oprot)
+ : connection_(connection)
+ , transport_(transport)
+ , iprot_(iprot)
+ , oprot_(oprot)
+ {}
+};
+
+TQTcpServer::TQTcpServer(shared_ptr<QTcpServer> server,
+ shared_ptr<TAsyncProcessor> processor,
+ shared_ptr<TProtocolFactory> pfact,
+ QObject* parent)
+ : QObject(parent)
+ , server_(server)
+ , processor_(processor)
+ , pfact_(pfact)
+{
+ connect(server.get(), SIGNAL(newConnection()), SLOT(processIncoming()));
+}
+
+TQTcpServer::~TQTcpServer()
+{
+}
+
+void TQTcpServer::processIncoming()
+{
+ while (server_->hasPendingConnections()) {
+ // take ownership of the QTcpSocket; technically it could be deleted
+ // when the QTcpServer is destroyed, but any real app should delete this
+ // class before deleting the QTcpServer that we are using
+ shared_ptr<QTcpSocket> connection(server_->nextPendingConnection());
+
+ shared_ptr<TTransport> transport;
+ shared_ptr<TProtocol> iprot;
+ shared_ptr<TProtocol> oprot;
+
+ try {
+ transport = shared_ptr<TTransport>(new TQIODeviceTransport(connection));
+ iprot = shared_ptr<TProtocol>(pfact_->getProtocol(transport));
+ oprot = shared_ptr<TProtocol>(pfact_->getProtocol(transport));
+ } catch(...) {
+ qWarning("[TQTcpServer] Failed to initialize transports/protocols");
+ continue;
+ }
+
+ ctxMap_[connection.get()] =
+ shared_ptr<ConnectionContext>(
+ new ConnectionContext(connection, transport, iprot, oprot));
+
+ connect(connection.get(), SIGNAL(readyRead()), SLOT(beginDecode()));
+
+ // need to use QueuedConnection since we will be deleting the socket in the slot
+ connect(connection.get(), SIGNAL(disconnected()), SLOT(socketClosed()),
+ Qt::QueuedConnection);
+ }
+}
+
+void TQTcpServer::beginDecode()
+{
+ QTcpSocket* connection(qobject_cast<QTcpSocket*>(sender()));
+ Q_ASSERT(connection);
+
+ if (ctxMap_.find(connection) == ctxMap_.end()) {
+ qWarning("[TQTcpServer] Got data on an unknown QTcpSocket");
+ return;
+ }
+
+ shared_ptr<ConnectionContext> ctx = ctxMap_[connection];
+
+ try {
+ processor_->process(
+ bind(&TQTcpServer::finish, this,
+ ctx, apache::thrift::stdcxx::placeholders::_1),
+ ctx->iprot_, ctx->oprot_);
+ } catch(const TTransportException& ex) {
+ qWarning("[TQTcpServer] TTransportException during processing: '%s'",
+ ex.what());
+ ctxMap_.erase(connection);
+ } catch(...) {
+ qWarning("[TQTcpServer] Unknown processor exception");
+ ctxMap_.erase(connection);
+ }
+}
+
+void TQTcpServer::socketClosed()
+{
+ QTcpSocket* connection(qobject_cast<QTcpSocket*>(sender()));
+ Q_ASSERT(connection);
+
+ if (ctxMap_.find(connection) == ctxMap_.end()) {
+ qWarning("[TQTcpServer] Unknown QTcpSocket closed");
+ return;
+ }
+
+ ctxMap_.erase(connection);
+}
+
+void TQTcpServer::finish(shared_ptr<ConnectionContext> ctx, bool healthy)
+{
+ if (!healthy) {
+ qWarning("[TQTcpServer] Processor failed to process data successfully");
+ ctxMap_.erase(ctx->connection_.get());
+ }
+}
+
+}}} // apache::thrift::async
http://git-wip-us.apache.org/repos/asf/airavata/blob/f891b7dc/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/qt/TQTcpServer.h
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/qt/TQTcpServer.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/qt/TQTcpServer.h
new file mode 100644
index 0000000..12a450f
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/qt/TQTcpServer.h
@@ -0,0 +1,72 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you 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 _THRIFT_TASYNC_QTCP_SERVER_H_
+#define _THRIFT_TASYNC_QTCP_SERVER_H_
+
+#include <QObject>
+#include <QTcpServer>
+
+#include <boost/shared_ptr.hpp>
+
+namespace apache { namespace thrift { namespace protocol {
+class TProtocolFactory;
+}}} // apache::thrift::protocol
+
+namespace apache { namespace thrift { namespace async {
+
+class TAsyncProcessor;
+
+/**
+ * Server that uses Qt to listen for connections.
+ * Simply give it a QTcpServer that is listening, along with an async
+ * processor and a protocol factory, and then run the Qt event loop.
+ */
+class TQTcpServer : public QObject {
+ Q_OBJECT
+ public:
+ TQTcpServer(boost::shared_ptr<QTcpServer> server,
+ boost::shared_ptr<TAsyncProcessor> processor,
+ boost::shared_ptr<apache::thrift::protocol::TProtocolFactory> protocolFactory,
+ QT_PREPEND_NAMESPACE(QObject)* parent = NULL);
+ virtual ~TQTcpServer();
+
+ private Q_SLOTS:
+ void processIncoming();
+ void beginDecode();
+ void socketClosed();
+
+ private:
+ TQTcpServer(const TQTcpServer&);
+ TQTcpServer& operator=(const TQTcpServer&);
+
+ class ConnectionContext;
+
+ void finish(boost::shared_ptr<ConnectionContext> ctx, bool healthy);
+
+ boost::shared_ptr<QTcpServer> server_;
+ boost::shared_ptr<TAsyncProcessor> processor_;
+ boost::shared_ptr<apache::thrift::protocol::TProtocolFactory> pfact_;
+
+ std::map<QT_PREPEND_NAMESPACE(QTcpSocket)*, boost::shared_ptr<ConnectionContext> > ctxMap_;
+};
+
+}}} // apache::thrift::async
+
+#endif // #ifndef _THRIFT_TASYNC_QTCP_SERVER_H_
http://git-wip-us.apache.org/repos/asf/airavata/blob/f891b7dc/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/qt/moc_TQTcpServer.cpp
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/qt/moc_TQTcpServer.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/qt/moc_TQTcpServer.cpp
new file mode 100644
index 0000000..4ac3248
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/thrift/qt/moc_TQTcpServer.cpp
@@ -0,0 +1,100 @@
+/****************************************************************************
+** Meta object code from reading C++ file 'TQTcpServer.h'
+**
+** Created: Sun Aug 18 16:04:26 2013
+** by: The Qt Meta Object Compiler version 63 (Qt 4.8.1)
+**
+** WARNING! All changes made in this file will be lost!
+*****************************************************************************/
+
+#include "TQTcpServer.h"
+#if !defined(Q_MOC_OUTPUT_REVISION)
+#error "The header file 'TQTcpServer.h' doesn't include <QObject>."
+#elif Q_MOC_OUTPUT_REVISION != 63
+#error "This file was generated using the moc from 4.8.1. It"
+#error "cannot be used with the include files from this version of Qt."
+#error "(The moc has changed too much.)"
+#endif
+
+QT_BEGIN_MOC_NAMESPACE
+static const uint qt_meta_data_apache__thrift__async__TQTcpServer[] = {
+
+ // content:
+ 6, // revision
+ 0, // classname
+ 0, 0, // classinfo
+ 3, 14, // methods
+ 0, 0, // properties
+ 0, 0, // enums/sets
+ 0, 0, // constructors
+ 0, // flags
+ 0, // signalCount
+
+ // slots: signature, parameters, type, tag, flags
+ 36, 35, 35, 35, 0x08,
+ 54, 35, 35, 35, 0x08,
+ 68, 35, 35, 35, 0x08,
+
+ 0 // eod
+};
+
+static const char qt_meta_stringdata_apache__thrift__async__TQTcpServer[] = {
+ "apache::thrift::async::TQTcpServer\0\0"
+ "processIncoming()\0beginDecode()\0"
+ "socketClosed()\0"
+};
+
+void apache::thrift::async::TQTcpServer::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a)
+{
+ if (_c == QMetaObject::InvokeMetaMethod) {
+ Q_ASSERT(staticMetaObject.cast(_o));
+ TQTcpServer *_t = static_cast<TQTcpServer *>(_o);
+ switch (_id) {
+ case 0: _t->processIncoming(); break;
+ case 1: _t->beginDecode(); break;
+ case 2: _t->socketClosed(); break;
+ default: ;
+ }
+ }
+ Q_UNUSED(_a);
+}
+
+const QMetaObjectExtraData apache::thrift::async::TQTcpServer::staticMetaObjectExtraData = {
+ 0, qt_static_metacall
+};
+
+const QMetaObject apache::thrift::async::TQTcpServer::staticMetaObject = {
+ { &QObject::staticMetaObject, qt_meta_stringdata_apache__thrift__async__TQTcpServer,
+ qt_meta_data_apache__thrift__async__TQTcpServer, &staticMetaObjectExtraData }
+};
+
+#ifdef Q_NO_DATA_RELOCATION
+const QMetaObject &apache::thrift::async::TQTcpServer::getStaticMetaObject() { return staticMetaObject; }
+#endif //Q_NO_DATA_RELOCATION
+
+const QMetaObject *apache::thrift::async::TQTcpServer::metaObject() const
+{
+ return QObject::d_ptr->metaObject ? QObject::d_ptr->metaObject : &staticMetaObject;
+}
+
+void *apache::thrift::async::TQTcpServer::qt_metacast(const char *_clname)
+{
+ if (!_clname) return 0;
+ if (!strcmp(_clname, qt_meta_stringdata_apache__thrift__async__TQTcpServer))
+ return static_cast<void*>(const_cast< TQTcpServer*>(this));
+ return QObject::qt_metacast(_clname);
+}
+
+int apache::thrift::async::TQTcpServer::qt_metacall(QMetaObject::Call _c, int _id, void **_a)
+{
+ _id = QObject::qt_metacall(_c, _id, _a);
+ if (_id < 0)
+ return _id;
+ if (_c == QMetaObject::InvokeMetaMethod) {
+ if (_id < 3)
+ qt_static_metacall(this, _c, _id, _a);
+ _id -= 3;
+ }
+ return _id;
+}
+QT_END_MOC_NAMESPACE