kopia lustrzana https://github.com/ukhas/habitat-cpp-connector
Bundle jsoncpp with habitat-cpp-connector
rodzic
ff9d343ebb
commit
9a7dbd8f6f
16
Makefile
16
Makefile
|
@ -2,8 +2,7 @@
|
||||||
# -*- makefile -*-
|
# -*- makefile -*-
|
||||||
# Copyright 2011 (C) Daniel Richman. License: GNU GPL 3; see LICENSE.
|
# Copyright 2011 (C) Daniel Richman. License: GNU GPL 3; see LICENSE.
|
||||||
|
|
||||||
jsoncpp_cflags := $(shell pkg-config --cflags jsoncpp)
|
jsoncpp_cflags := -Ijsoncpp/
|
||||||
jsoncpp_libs := $(shell pkg-config --libs jsoncpp)
|
|
||||||
curl_cflags := $(shell pkg-config --cflags libcurl)
|
curl_cflags := $(shell pkg-config --cflags libcurl)
|
||||||
curl_libs := $(shell pkg-config --libs libcurl)
|
curl_libs := $(shell pkg-config --libs libcurl)
|
||||||
ssl_cflags := $(shell pkg-config --cflags openssl)
|
ssl_cflags := $(shell pkg-config --cflags openssl)
|
||||||
|
@ -12,7 +11,8 @@ ssl_libs := $(shell pkg-config --libs openssl)
|
||||||
CFLAGS = -pthread -O2 -Wall -Werror -pedantic -Wno-long-long \
|
CFLAGS = -pthread -O2 -Wall -Werror -pedantic -Wno-long-long \
|
||||||
-Wno-variadic-macros -Isrc \
|
-Wno-variadic-macros -Isrc \
|
||||||
$(jsoncpp_cflags) $(curl_cflags) $(ssl_cflags)
|
$(jsoncpp_cflags) $(curl_cflags) $(ssl_cflags)
|
||||||
upl_libs = -pthread $(jsoncpp_libs) $(curl_libs) $(ssl_libs)
|
CFLAGS_JSONCPP = -pthread -O2 -Wall $(jsoncpp_cflags)
|
||||||
|
upl_libs = -pthread $(curl_libs) $(ssl_libs)
|
||||||
ext_libs = $(jsoncpp_libs)
|
ext_libs = $(jsoncpp_libs)
|
||||||
rfc_libs = $(jsoncpp_libs)
|
rfc_libs = $(jsoncpp_libs)
|
||||||
|
|
||||||
|
@ -35,13 +35,17 @@ ext_binary = tests/extractor
|
||||||
ext_mock_cflags = -include tests/test_extractor_mocks.h
|
ext_mock_cflags = -include tests/test_extractor_mocks.h
|
||||||
|
|
||||||
CXXFLAGS = $(CFLAGS)
|
CXXFLAGS = $(CFLAGS)
|
||||||
upl_objects = $(patsubst %.cxx,%.o,$(upl_cxxfiles))
|
CXXFLAGS_JSONCPP = $(CFLAGS_JSONCPP)
|
||||||
ext_objects = $(patsubst %.cxx,%.ext_mock.o,$(ext_cxxfiles))
|
upl_objects = jsoncpp/jsoncpp.o $(patsubst %.cxx,%.o,$(upl_cxxfiles))
|
||||||
rfc_objects = $(patsubst %.cxx,%.o,$(rfc_cxxfiles))
|
ext_objects = jsoncpp/jsoncpp.o $(patsubst %.cxx,%.ext_mock.o,$(ext_cxxfiles))
|
||||||
|
rfc_objects = jsoncpp/jsoncpp.o $(patsubst %.cxx,%.o,$(rfc_cxxfiles))
|
||||||
|
|
||||||
%.o : %.cxx $(headers)
|
%.o : %.cxx $(headers)
|
||||||
g++ -c $(CXXFLAGS) -o $@ $<
|
g++ -c $(CXXFLAGS) -o $@ $<
|
||||||
|
|
||||||
|
jsoncpp/jsoncpp.o : jsoncpp/jsoncpp.cpp jsoncpp/jsoncpp.h
|
||||||
|
g++ -c $(CXXFLAGS_JSONCPP) -o $@ $<
|
||||||
|
|
||||||
%.threaded.o : %.cxx $(headers)
|
%.threaded.o : %.cxx $(headers)
|
||||||
g++ -c $(CXXFLAGS) $(upl_thr_cflags) -o $@ $<
|
g++ -c $(CXXFLAGS) $(upl_thr_cflags) -o $@ $<
|
||||||
|
|
||||||
|
|
26
README.md
26
README.md
|
@ -1,25 +1,29 @@
|
||||||
habitat cpp uploader (see habitat.uploader.Uploader)
|
habitat cpp uploader (see habitat.uploader.Uploader)
|
||||||
====================================================
|
====================================================
|
||||||
|
|
||||||
|
License
|
||||||
|
-------
|
||||||
|
|
||||||
|
habitat-cpp-uploader is GNU GPL 3 (this excludes the bundled JsonCPP,
|
||||||
|
see below). The full GNU GPL 3 text can be found in LICENSE
|
||||||
|
|
||||||
Building dependencies
|
Building dependencies
|
||||||
---------------------
|
---------------------
|
||||||
|
|
||||||
You will need these dependencies:
|
You will need these dependencies:
|
||||||
|
|
||||||
- [JsonCpp](http://jsoncpp.sourceforge.net/)
|
|
||||||
- [libcURL](http://curl.haxx.se/)
|
- [libcURL](http://curl.haxx.se/)
|
||||||
- habitat (for habitat.utils.rfc3339, to test the Uploader.)
|
- habitat (for habitat.utils.rfc3339, to test the Uploader.)
|
||||||
|
|
||||||
Both build from source fairly easily, but the easiest way to acquire them for
|
You can build them from source or find install the libcurl4-openssl-dev package
|
||||||
Ubuntu is:
|
on Debian based systems.
|
||||||
|
|
||||||
- [JsonCpp (PPA)](https://launchpad.net/~danieljonathanrichman/+archive/ppa)
|
JsonCPP
|
||||||
for Ubuntu oneiric (11.10) and older
|
-------
|
||||||
- [libjsoncpp-dev (apt)](http://packages.ubuntu.com/precise/libjsoncpp-dev)
|
|
||||||
- [libcurl4-openssl-dev (apt)](http://packages.ubuntu.com/precise/libcurl4-openssl-dev)
|
|
||||||
|
|
||||||
Or Debian:
|
JsonCPP has an 'amalgamated' release where all the sources are combined into
|
||||||
|
two files, one jsoncpp.cpp and a json/json.h, which is renamed to jsoncpp.h
|
||||||
- libjsoncpp-dev in wheezy and newer (the wheezy package also works fine on squeeze)
|
here to avoid conflicts with libjson's json.h.
|
||||||
- libcurl4-openssl-dev
|
|
||||||
|
|
||||||
|
It's in the jsoncpp/ directory of this repository. JsonCPP is Public Domain
|
||||||
|
or MIT License and full information can be found at jsoncpp/LICENSE
|
||||||
|
|
|
@ -0,0 +1,55 @@
|
||||||
|
The JsonCpp library's source code, including accompanying documentation,
|
||||||
|
tests and demonstration applications, are licensed under the following
|
||||||
|
conditions...
|
||||||
|
|
||||||
|
The author (Baptiste Lepilleur) explicitly disclaims copyright in all
|
||||||
|
jurisdictions which recognize such a disclaimer. In such jurisdictions,
|
||||||
|
this software is released into the Public Domain.
|
||||||
|
|
||||||
|
In jurisdictions which do not recognize Public Domain property (e.g. Germany as of
|
||||||
|
2010), this software is Copyright (c) 2007-2010 by Baptiste Lepilleur, and is
|
||||||
|
released under the terms of the MIT License (see below).
|
||||||
|
|
||||||
|
In jurisdictions which recognize Public Domain property, the user of this
|
||||||
|
software may choose to accept it either as 1) Public Domain, 2) under the
|
||||||
|
conditions of the MIT License (see below), or 3) under the terms of dual
|
||||||
|
Public Domain/MIT License conditions described here, as they choose.
|
||||||
|
|
||||||
|
The MIT License is about as close to Public Domain as a license can get, and is
|
||||||
|
described in clear, concise terms at:
|
||||||
|
|
||||||
|
http://en.wikipedia.org/wiki/MIT_License
|
||||||
|
|
||||||
|
The full text of the MIT License follows:
|
||||||
|
|
||||||
|
========================================================================
|
||||||
|
Copyright (c) 2007-2010 Baptiste Lepilleur
|
||||||
|
|
||||||
|
Permission is hereby granted, free of charge, to any person
|
||||||
|
obtaining a copy of this software and associated documentation
|
||||||
|
files (the "Software"), to deal in the Software without
|
||||||
|
restriction, including without limitation the rights to use, copy,
|
||||||
|
modify, merge, publish, distribute, sublicense, and/or sell copies
|
||||||
|
of the Software, and to permit persons to whom the Software is
|
||||||
|
furnished to do so, subject to the following conditions:
|
||||||
|
|
||||||
|
The above copyright notice and this permission notice shall be
|
||||||
|
included in all copies or substantial portions of the Software.
|
||||||
|
|
||||||
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||||
|
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||||
|
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
||||||
|
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
|
||||||
|
BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
|
||||||
|
ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
||||||
|
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||||
|
SOFTWARE.
|
||||||
|
========================================================================
|
||||||
|
(END LICENSE TEXT)
|
||||||
|
|
||||||
|
The MIT license is compatible with both the GPL and commercial
|
||||||
|
software, affording one all of the rights of Public Domain with the
|
||||||
|
minor nuisance of being required to keep the above copyright notice
|
||||||
|
and license text in the source code. Note also that by accepting the
|
||||||
|
Public Domain "license" you can re-license your copy using whatever
|
||||||
|
license you like.
|
Plik diff jest za duży
Load Diff
Plik diff jest za duży
Load Diff
|
@ -3,7 +3,7 @@
|
||||||
#ifndef HABITAT_COUCHDB_H
|
#ifndef HABITAT_COUCHDB_H
|
||||||
#define HABITAT_COUCHDB_H
|
#define HABITAT_COUCHDB_H
|
||||||
|
|
||||||
#include <json/json.h>
|
#include <jsoncpp.h>
|
||||||
#include <string>
|
#include <string>
|
||||||
#include <iostream>
|
#include <iostream>
|
||||||
#include <deque>
|
#include <deque>
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
#define HABITAT_EXTRACTOR_H
|
#define HABITAT_EXTRACTOR_H
|
||||||
|
|
||||||
#include <vector>
|
#include <vector>
|
||||||
#include <json/json.h>
|
#include <jsoncpp.h>
|
||||||
#include "UploaderThread.h"
|
#include "UploaderThread.h"
|
||||||
#include "EZ.h"
|
#include "EZ.h"
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
/* Copyright 2011 (C) Daniel Richman. License: GNU GPL 3; see COPYING. */
|
/* Copyright 2011 (C) Daniel Richman. License: GNU GPL 3; see COPYING. */
|
||||||
|
|
||||||
#include "UKHASExtractor.h"
|
#include "UKHASExtractor.h"
|
||||||
#include <json/json.h>
|
#include <jsoncpp.h>
|
||||||
#include <stdexcept>
|
#include <stdexcept>
|
||||||
#include <string>
|
#include <string>
|
||||||
#include <sstream>
|
#include <sstream>
|
||||||
|
@ -347,14 +347,12 @@ Json::Value UKHASExtractor::crude_parse()
|
||||||
|
|
||||||
if (!settings_ptr)
|
if (!settings_ptr)
|
||||||
settings_ptr = &(Json::Value::null);
|
settings_ptr = &(Json::Value::null);
|
||||||
|
else if (!settings_ptr->isObject())
|
||||||
const Json::Value &settings = *settings_ptr;
|
|
||||||
|
|
||||||
if (!settings.isObject())
|
|
||||||
/* note: Json::Value::null.isObject() == true */
|
|
||||||
throw runtime_error("Invalid configuration: "
|
throw runtime_error("Invalid configuration: "
|
||||||
"settings is not an object");
|
"settings is not an object");
|
||||||
|
|
||||||
|
const Json::Value &settings = *settings_ptr;
|
||||||
|
|
||||||
string data, checksum;
|
string data, checksum;
|
||||||
split_string(buffer, &data, &checksum);
|
split_string(buffer, &data, &checksum);
|
||||||
|
|
||||||
|
|
|
@ -7,7 +7,7 @@
|
||||||
#include <string>
|
#include <string>
|
||||||
#include <vector>
|
#include <vector>
|
||||||
#include <stdexcept>
|
#include <stdexcept>
|
||||||
#include <json/json.h>
|
#include <jsoncpp.h>
|
||||||
#include "EZ.h"
|
#include "EZ.h"
|
||||||
#include "CouchDB.h"
|
#include "CouchDB.h"
|
||||||
|
|
||||||
|
|
|
@ -6,7 +6,7 @@
|
||||||
#include "EZ.h"
|
#include "EZ.h"
|
||||||
#include "Uploader.h"
|
#include "Uploader.h"
|
||||||
#include <memory>
|
#include <memory>
|
||||||
#include <json/json.h>
|
#include <jsoncpp.h>
|
||||||
|
|
||||||
using namespace std;
|
using namespace std;
|
||||||
|
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
|
|
||||||
#include <iostream>
|
#include <iostream>
|
||||||
#include <stdexcept>
|
#include <stdexcept>
|
||||||
#include <json/json.h>
|
#include <jsoncpp.h>
|
||||||
#include <memory>
|
#include <memory>
|
||||||
|
|
||||||
#include "Extractor.h"
|
#include "Extractor.h"
|
||||||
|
|
|
@ -38,7 +38,7 @@ public:
|
||||||
#include <iostream>
|
#include <iostream>
|
||||||
#include <string>
|
#include <string>
|
||||||
#include <algorithm>
|
#include <algorithm>
|
||||||
#include <json/json.h>
|
#include <jsoncpp.h>
|
||||||
|
|
||||||
namespace habitat {
|
namespace habitat {
|
||||||
|
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
|
|
||||||
#include <iostream>
|
#include <iostream>
|
||||||
#include <stdexcept>
|
#include <stdexcept>
|
||||||
#include <json/json.h>
|
#include <jsoncpp.h>
|
||||||
#include <ctime>
|
#include <ctime>
|
||||||
|
|
||||||
#include "RFC3339.h"
|
#include "RFC3339.h"
|
||||||
|
|
Ładowanie…
Reference in New Issue