diff options
Diffstat (limited to 'cpp/qpidd')
-rw-r--r-- | cpp/qpidd/Makefile | 42 | ||||
-rw-r--r-- | cpp/qpidd/src/qpidd.cpp | 52 |
2 files changed, 94 insertions, 0 deletions
diff --git a/cpp/qpidd/Makefile b/cpp/qpidd/Makefile new file mode 100644 index 0000000000..f2dca4df3b --- /dev/null +++ b/cpp/qpidd/Makefile @@ -0,0 +1,42 @@ +# +# Copyright (c) 2006 The Apache Software Foundation +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + +# +# Build qpidd broker daemon executable. +# + +QPID_HOME = ../.. +include $(QPID_HOME)/cpp/options.mk +TARGET=$(BROKER) +SOURCES= $(wildcard src/*.cpp) +OBJECTS= $(subst .cpp,.o,$(SOURCES)) + + +.PHONY: all clean test + +all: $(TARGET) + +test: + @$(MAKE) -C test all + +clean: + -@rm -f $(OBJECTS) src/*.d $(TARGET) + @$(MAKE) -C test clean + +$(TARGET): $(OBJECTS) + $(CXX) -o $@ $(OBJECTS) $(LDFLAGS) -lapr-1 $(COMMON_LIB) $(BROKER_LIB) + +-include $(SOURCES:.cpp=.d) diff --git a/cpp/qpidd/src/qpidd.cpp b/cpp/qpidd/src/qpidd.cpp new file mode 100644 index 0000000000..51be80d51d --- /dev/null +++ b/cpp/qpidd/src/qpidd.cpp @@ -0,0 +1,52 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +#include "../../broker/inc/../../broker/inc/Broker.h" +#include "../../broker/inc/Broker.h" +#include "../../broker/inc/Configuration.h" +#include "../../broker/inc/SessionHandlerFactoryImpl.h" +#include "Acceptor.h" +#include "QpidError.h" +#include "apr_signal.h" +#include <iostream> +#include <memory> + +using namespace qpid::broker; +using namespace qpid::io; + +void handle_signal(int /*signal*/){ + std::cout << "Shutting down..." << std::endl; +} + +int main(int argc, char** argv) +{ + Configuration config; + try { + config.parse(argc, argv); + if(config.isHelp()){ + config.usage(); + }else{ + apr_signal(SIGINT, handle_signal); + Broker::shared_ptr broker = Broker::create(config); + broker->run(); + } + return 0; + } catch(std::exception e) { + std::cout << e.what() << std::endl; + } + return 1; +} |