summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDan Goodliffe <dan@randomdan.homeip.net>2016-01-25 20:03:15 +0000
committerDan Goodliffe <dan@randomdan.homeip.net>2016-01-25 21:24:44 +0000
commit04d7a1a8f9a852085bacb69d62989db89ff17587 (patch)
treef6aedc79a55b2996c46a547ff24d5c37165e3df1
parentFix random imbue not working bug with much less code (diff)
downloadproject2-04d7a1a8f9a852085bacb69d62989db89ff17587.tar.bz2
project2-04d7a1a8f9a852085bacb69d62989db89ff17587.tar.xz
project2-04d7a1a8f9a852085bacb69d62989db89ff17587.zip
Export exposed componentsproject2-1.2.5
-rw-r--r--project2/basics/if.h2
-rw-r--r--project2/basics/tasks/iterate.h2
-rw-r--r--project2/basics/tasks/session/sessionClearTask.h2
-rw-r--r--project2/basics/tasks/session/sessionSetTask.h2
-rw-r--r--project2/basics/tasks/structExceptHandling.h2
-rw-r--r--project2/basics/tests/compoundTest.h2
-rw-r--r--project2/basics/views/autotree.h6
-rw-r--r--project2/basics/views/rowView.h2
-rw-r--r--project2/cgi/cgiEnvInput.h3
-rw-r--r--project2/cgi/cgiOutputOptions.h2
-rw-r--r--project2/cgi/cgiRequestContext.h2
-rw-r--r--project2/cgi/cgiResult.h2
-rw-r--r--project2/cgi/cgiRouter.h2
-rw-r--r--project2/compression/decompressor.h2
-rw-r--r--project2/daemon/p2daemonAppEngine.h2
-rw-r--r--project2/files/fsRows.h2
-rw-r--r--project2/ice/iceClient.h2
-rw-r--r--project2/ice/iceRows.h2
-rw-r--r--project2/ice/iceTask.h2
-rw-r--r--project2/ice/iceViewSerializer.h2
-rw-r--r--project2/ice/iceboxLogger.h4
-rw-r--r--project2/ice/slice2Rows.h2
-rw-r--r--project2/json/presenter.h2
-rw-r--r--project2/mail/sendmailTask.h2
-rw-r--r--project2/regex/regexRows.h2
-rw-r--r--project2/regex/regexTest.h2
-rw-r--r--project2/sql/rdbmsDataSource.h2
-rw-r--r--project2/sql/sqlBase.h2
-rw-r--r--project2/sql/sqlHandleAsVariableType.h2
-rw-r--r--project2/sql/sqlMergeTask.h2
-rw-r--r--project2/sql/sqlRows.h2
-rw-r--r--project2/sql/sqlTask.h2
-rw-r--r--project2/sql/sqlTest.h2
-rw-r--r--project2/sql/sqlVariableBinder.h2
-rw-r--r--project2/sql/sqlWriters.h12
-rw-r--r--project2/streams/textReader.h3
-rw-r--r--project2/xml/sessionXml.h2
-rw-r--r--project2/xml/xmlDocumentCache.h2
-rw-r--r--project2/xml/xmlDocumentPrefetch.h2
-rw-r--r--project2/xml/xmlPresenter.h2
-rw-r--r--project2/xml/xmlRawRows.h6
-rw-r--r--project2/xml/xmlRows.h2
-rw-r--r--project2/xml/xpathRows.h2
43 files changed, 55 insertions, 53 deletions
diff --git a/project2/basics/if.h b/project2/basics/if.h
index 64f885b..a626bcc 100644
--- a/project2/basics/if.h
+++ b/project2/basics/if.h
@@ -6,7 +6,7 @@
#include "test.h"
/// Project2 component to conditionally execute its children
-class If : public IHaveSubTasks, public View {
+class DLL_PUBLIC If : public IHaveSubTasks, public View {
public:
If(ScriptNodePtr);
diff --git a/project2/basics/tasks/iterate.h b/project2/basics/tasks/iterate.h
index 2afbe98..807c8c3 100644
--- a/project2/basics/tasks/iterate.h
+++ b/project2/basics/tasks/iterate.h
@@ -9,7 +9,7 @@ class Iterate;
typedef boost::intrusive_ptr<Iterate> IteratePtr;
/// Project2 component to iterate over a row set, executing its children for each record
-class Iterate : public IHaveSubTasks, public RowProcessor {
+class DLL_PUBLIC Iterate : public IHaveSubTasks, public RowProcessor {
public:
Iterate(ScriptNodePtr p);
virtual ~Iterate();
diff --git a/project2/basics/tasks/session/sessionClearTask.h b/project2/basics/tasks/session/sessionClearTask.h
index ead88bf..d5103a5 100644
--- a/project2/basics/tasks/session/sessionClearTask.h
+++ b/project2/basics/tasks/session/sessionClearTask.h
@@ -10,7 +10,7 @@
class CommonObjects;
/// Project2 component to remove a variable from the session
-class SessionClearTask : public Task {
+class DLL_PUBLIC SessionClearTask : public Task {
public:
SessionClearTask(ScriptNodePtr p);
virtual ~SessionClearTask();
diff --git a/project2/basics/tasks/session/sessionSetTask.h b/project2/basics/tasks/session/sessionSetTask.h
index d38c216..51222c0 100644
--- a/project2/basics/tasks/session/sessionSetTask.h
+++ b/project2/basics/tasks/session/sessionSetTask.h
@@ -11,7 +11,7 @@
class CommonObjects;
/// Project2 component to add/update a variable in the session
-class SessionSetTask : public Task {
+class DLL_PUBLIC SessionSetTask : public Task {
public:
SessionSetTask(ScriptNodePtr p);
virtual ~SessionSetTask();
diff --git a/project2/basics/tasks/structExceptHandling.h b/project2/basics/tasks/structExceptHandling.h
index b6702f1..e6f0398 100644
--- a/project2/basics/tasks/structExceptHandling.h
+++ b/project2/basics/tasks/structExceptHandling.h
@@ -3,7 +3,7 @@
#include "iHaveSubTasks.h"
-class StructuredExceptionHandler : public IHaveSubTasks {
+class DLL_PUBLIC StructuredExceptionHandler : public IHaveSubTasks {
public:
StructuredExceptionHandler(ScriptNodePtr);
diff --git a/project2/basics/tests/compoundTest.h b/project2/basics/tests/compoundTest.h
index cc213c3..182ed0e 100644
--- a/project2/basics/tests/compoundTest.h
+++ b/project2/basics/tests/compoundTest.h
@@ -4,7 +4,7 @@
#include <test.h>
#include "scriptStorage.h"
-class CompoundTest : public Test {
+class DLL_PUBLIC CompoundTest : public Test {
public:
CompoundTest(ScriptNodePtr);
diff --git a/project2/basics/views/autotree.h b/project2/basics/views/autotree.h
index 48f46be..ace3d8d 100644
--- a/project2/basics/views/autotree.h
+++ b/project2/basics/views/autotree.h
@@ -9,7 +9,7 @@
class AutoTreeNode;
typedef boost::intrusive_ptr<const AutoTreeNode> AutoTreeNodePtr;
-class AutoTreeState {
+class DLL_PUBLIC AutoTreeState {
public:
typedef boost::tuple<bool, bool> Opened;
@@ -17,7 +17,7 @@ class AutoTreeState {
std::vector<VariableType> values;
};
-class AutoTreeNode : public IntrusivePtrBase {
+class DLL_PUBLIC AutoTreeNode : public IntrusivePtrBase {
public:
typedef std::map<Glib::ustring, Variable> Values;
@@ -44,7 +44,7 @@ class AutoTreeNode : public IntrusivePtrBase {
};
/// Project2 component to create tree output based on a records in a row set
-class AutoTree : public View, public RowProcessor {
+class DLL_PUBLIC AutoTree : public View, public RowProcessor {
public:
AutoTree(ScriptNodePtr);
virtual ~AutoTree();
diff --git a/project2/basics/views/rowView.h b/project2/basics/views/rowView.h
index a65ea69..1ace513 100644
--- a/project2/basics/views/rowView.h
+++ b/project2/basics/views/rowView.h
@@ -8,7 +8,7 @@
#include "aggregate.h"
/// Project2 component to create output based on a records in a row set
-class RowView : public View, public RowProcessor {
+class DLL_PUBLIC RowView : public View, public RowProcessor {
public:
RowView(ScriptNodePtr);
virtual ~RowView();
diff --git a/project2/cgi/cgiEnvInput.h b/project2/cgi/cgiEnvInput.h
index 2704fd5..62b24ca 100644
--- a/project2/cgi/cgiEnvInput.h
+++ b/project2/cgi/cgiEnvInput.h
@@ -2,8 +2,9 @@
#define CGIENVINPUT
#include <string>
+#include <visibility.h>
-class CgiEnvInput {
+class DLL_PUBLIC CgiEnvInput {
public:
virtual std::string getenv(const std::string & varName) const = 0;
};
diff --git a/project2/cgi/cgiOutputOptions.h b/project2/cgi/cgiOutputOptions.h
index 9914665..75a19b0 100644
--- a/project2/cgi/cgiOutputOptions.h
+++ b/project2/cgi/cgiOutputOptions.h
@@ -5,7 +5,7 @@
#include "options.h"
#include "variables.h"
-class OutputOptions : public IntrusivePtrBase {
+class DLL_PUBLIC OutputOptions : public IntrusivePtrBase {
public:
OutputOptions(ScriptNodePtr);
diff --git a/project2/cgi/cgiRequestContext.h b/project2/cgi/cgiRequestContext.h
index d79a0e4..1728103 100644
--- a/project2/cgi/cgiRequestContext.h
+++ b/project2/cgi/cgiRequestContext.h
@@ -19,7 +19,7 @@ namespace Glib {
class Regex;
}
-class CgiRequestContext : public ExecContext {
+class DLL_PUBLIC CgiRequestContext : public ExecContext {
public:
typedef std::string ETag;
typedef std::vector<ETag> ETags;
diff --git a/project2/cgi/cgiResult.h b/project2/cgi/cgiResult.h
index 35165c8..ce28ca7 100644
--- a/project2/cgi/cgiResult.h
+++ b/project2/cgi/cgiResult.h
@@ -4,7 +4,7 @@
#include "transform.h"
#include "cgiAppEngine.h"
-class CgiResult : public TransformChainLink {
+class DLL_PUBLIC CgiResult : public TransformChainLink {
public:
CgiResult(CgiApplicationEngine::HttpHeaderPtr & h, std::ostream & s, const std::string & e) :
header(h),
diff --git a/project2/cgi/cgiRouter.h b/project2/cgi/cgiRouter.h
index bc4ce44..5417bce 100644
--- a/project2/cgi/cgiRouter.h
+++ b/project2/cgi/cgiRouter.h
@@ -7,7 +7,7 @@
class MultiRowSetPresenter;
-class Router : public IntrusivePtrBase {
+class DLL_PUBLIC Router : public IntrusivePtrBase {
public:
virtual bool isDefault() const = 0;
virtual std::string route() const = 0;
diff --git a/project2/compression/decompressor.h b/project2/compression/decompressor.h
index c15fef2..0f3a434 100644
--- a/project2/compression/decompressor.h
+++ b/project2/compression/decompressor.h
@@ -5,7 +5,7 @@
#include "intrusivePtrBase.h"
#include <factory.h>
-class Decompressor : public IntrusivePtrBase {
+class DLL_PUBLIC Decompressor : public IntrusivePtrBase {
public:
virtual ~Decompressor();
diff --git a/project2/daemon/p2daemonAppEngine.h b/project2/daemon/p2daemonAppEngine.h
index 19bd000..cecdbbb 100644
--- a/project2/daemon/p2daemonAppEngine.h
+++ b/project2/daemon/p2daemonAppEngine.h
@@ -9,7 +9,7 @@
#include <glibmm/main.h>
#include <appInstance.h>
-class DaemonAppEngine : AppInstance {
+class DLL_PUBLIC DaemonAppEngine : AppInstance {
public:
DaemonAppEngine(int, char **);
~DaemonAppEngine();
diff --git a/project2/files/fsRows.h b/project2/files/fsRows.h
index 53df49e..773fd75 100644
--- a/project2/files/fsRows.h
+++ b/project2/files/fsRows.h
@@ -13,7 +13,7 @@
class CommonObjects;
/// Project2 component to create a row set based on files and directories on the local filesystem
-class FsRows : public RowSet {
+class DLL_PUBLIC FsRows : public RowSet {
public:
class SearchState;
class SpecBase : public virtual IntrusivePtrBase {
diff --git a/project2/ice/iceClient.h b/project2/ice/iceClient.h
index 7d1d5e1..1c33e78 100644
--- a/project2/ice/iceClient.h
+++ b/project2/ice/iceClient.h
@@ -17,7 +17,7 @@ class DLL_PUBLIC IceClientBase {
};
template <typename Interface>
-class IceClient : public IceClientBase {
+class DLL_PUBLIC IceClient : public IceClientBase {
public:
IceClient(ScriptNodePtr p) : IceClientBase(p) { }
diff --git a/project2/ice/iceRows.h b/project2/ice/iceRows.h
index dded0db..b333eb2 100644
--- a/project2/ice/iceRows.h
+++ b/project2/ice/iceRows.h
@@ -24,7 +24,7 @@ class DLL_PUBLIC RowProcSerializer : public Slicer::Serializer {
};
template <typename Interface>
-class IceRows : public RowSet, public IceClient<Interface> {
+class DLL_PUBLIC IceRows : public RowSet, public IceClient<Interface> {
public:
IceRows(ScriptNodePtr p) :
SourceObject(p),
diff --git a/project2/ice/iceTask.h b/project2/ice/iceTask.h
index 281429f..18e3b50 100644
--- a/project2/ice/iceTask.h
+++ b/project2/ice/iceTask.h
@@ -6,7 +6,7 @@
#include "iceClient.h"
template <typename Interface>
-class IceTask : public Task, public IceClient<Interface> {
+class DLL_PUBLIC IceTask : public Task, public IceClient<Interface> {
public:
IceTask(ScriptNodePtr p) :
SourceObject(p),
diff --git a/project2/ice/iceViewSerializer.h b/project2/ice/iceViewSerializer.h
index ff4188d..135a059 100644
--- a/project2/ice/iceViewSerializer.h
+++ b/project2/ice/iceViewSerializer.h
@@ -4,7 +4,7 @@
#include <slicer/modelParts.h>
#include <presenter.h>
-class IceViewSerializer : public RowSetPresenter {
+class DLL_PUBLIC IceViewSerializer : public RowSetPresenter {
public:
IceViewSerializer(Slicer::ModelPartPtr mpp);
diff --git a/project2/ice/iceboxLogger.h b/project2/ice/iceboxLogger.h
index d306419..5f9145c 100644
--- a/project2/ice/iceboxLogger.h
+++ b/project2/ice/iceboxLogger.h
@@ -5,7 +5,7 @@
#include <loggerFactory.h>
#include <options.h>
-class IceBoxLogDriver : public LogDriverBase {
+class DLL_PUBLIC IceBoxLogDriver : public LogDriverBase {
public:
IceBoxLogDriver(Ice::LoggerPtr l);
@@ -18,7 +18,7 @@ class IceBoxLogDriver : public LogDriverBase {
static std::string debugCategory;
};
-class IceBoxLoggerFactory : public LogDriverFactoryImpl<IceBoxLogDriver>
+class DLL_PUBLIC IceBoxLoggerFactory : public LogDriverFactoryImpl<IceBoxLogDriver>
{
public:
IceBoxLoggerFactory(Ice::LoggerPtr l);
diff --git a/project2/ice/slice2Rows.h b/project2/ice/slice2Rows.h
index c85e4b8..7417523 100644
--- a/project2/ice/slice2Rows.h
+++ b/project2/ice/slice2Rows.h
@@ -3,7 +3,7 @@
#include "slice2Common.h"
-class Slice2Rows : public Slice2Common {
+class DLL_PUBLIC Slice2Rows : public Slice2Common {
public:
Slice2Rows(FILE * c);
diff --git a/project2/json/presenter.h b/project2/json/presenter.h
index 981953c..b18f05f 100644
--- a/project2/json/presenter.h
+++ b/project2/json/presenter.h
@@ -7,7 +7,7 @@
#include "transform.h"
#include <stack>
-class JsonPresenter : public MultiRowSetPresenter, public ContentPresenter, public SourceOf<json::Object>, public WritableContent, public SourceOf<WritableContent> {
+class DLL_PUBLIC JsonPresenter : public MultiRowSetPresenter, public ContentPresenter, public SourceOf<json::Object>, public WritableContent, public SourceOf<WritableContent> {
public:
JsonPresenter(ScriptNodePtr s, ObjectSource, ExecContext *);
JsonPresenter(ScriptNodePtr s, ObjectSource, const Glib::ustring &);
diff --git a/project2/mail/sendmailTask.h b/project2/mail/sendmailTask.h
index e09b871..80341d3 100644
--- a/project2/mail/sendmailTask.h
+++ b/project2/mail/sendmailTask.h
@@ -10,7 +10,7 @@
#include <options.h>
/// Project2 component to send an email
-class SendMailTask : public Task {
+class DLL_PUBLIC SendMailTask : public Task {
public:
class MailPart : public IntrusivePtrBase {
public:
diff --git a/project2/regex/regexRows.h b/project2/regex/regexRows.h
index 1a4ddb1..373d853 100644
--- a/project2/regex/regexRows.h
+++ b/project2/regex/regexRows.h
@@ -5,7 +5,7 @@
#include "variables.h"
/// Base class for Project2 components that create a row set based on the contents of a byte stream
-class RegexRows : public DefinedColumns, public RowSet {
+class DLL_PUBLIC RegexRows : public DefinedColumns, public RowSet {
public:
RegexRows(ScriptNodePtr p);
~RegexRows();
diff --git a/project2/regex/regexTest.h b/project2/regex/regexTest.h
index 00038a1..38d2cf7 100644
--- a/project2/regex/regexTest.h
+++ b/project2/regex/regexTest.h
@@ -5,7 +5,7 @@
#include "variables.h"
/// Project2 component to test the value of a variable against a regular expression
-class RegexTest : public Test {
+class DLL_PUBLIC RegexTest : public Test {
public:
RegexTest(ScriptNodePtr p);
virtual ~RegexTest();
diff --git a/project2/sql/rdbmsDataSource.h b/project2/sql/rdbmsDataSource.h
index 373ed34..807ad3f 100644
--- a/project2/sql/rdbmsDataSource.h
+++ b/project2/sql/rdbmsDataSource.h
@@ -12,7 +12,7 @@
#include "scriptLoader.h"
/// Project2 component to provide access to transactional RDBMS data sources
-class RdbmsDataSource : public DataSource {
+class DLL_PUBLIC RdbmsDataSource : public DataSource {
public:
class ConnectionRef;
diff --git a/project2/sql/sqlBase.h b/project2/sql/sqlBase.h
index 461589f..7e906c3 100644
--- a/project2/sql/sqlBase.h
+++ b/project2/sql/sqlBase.h
@@ -6,7 +6,7 @@
class RdbmsDataSource;
-class SqlBase : public virtual SourceObject {
+class DLL_PUBLIC SqlBase : public virtual SourceObject {
public:
SqlBase(ScriptNodePtr);
SqlBase(const std::string &);
diff --git a/project2/sql/sqlHandleAsVariableType.h b/project2/sql/sqlHandleAsVariableType.h
index d843c4e..97b63c9 100644
--- a/project2/sql/sqlHandleAsVariableType.h
+++ b/project2/sql/sqlHandleAsVariableType.h
@@ -4,7 +4,7 @@
#include "column.h"
#include "variables.h"
-class HandleAsVariableType : public DB::HandleField {
+class DLL_PUBLIC HandleAsVariableType : public DB::HandleField {
public:
void null();
void string(const char * c, size_t l);
diff --git a/project2/sql/sqlMergeTask.h b/project2/sql/sqlMergeTask.h
index 0c005f8..60b5952 100644
--- a/project2/sql/sqlMergeTask.h
+++ b/project2/sql/sqlMergeTask.h
@@ -17,7 +17,7 @@
#include <list>
/// Project2 component merge arbitrary data into an RDBMS table
-class SqlMergeTask : public Task {
+class DLL_PUBLIC SqlMergeTask : public Task {
public:
typedef std::string Table;
typedef std::string Column;
diff --git a/project2/sql/sqlRows.h b/project2/sql/sqlRows.h
index 20aa473..30abb08 100644
--- a/project2/sql/sqlRows.h
+++ b/project2/sql/sqlRows.h
@@ -12,7 +12,7 @@
class RdbmsDataSource;
/// Project2 component to create a row set based on an SQL SELECT statement issued against an RDBMS data source
-class SqlRows : public RowSet, SqlBase {
+class DLL_PUBLIC SqlRows : public RowSet, SqlBase {
public:
SqlRows(ScriptNodePtr p);
~SqlRows();
diff --git a/project2/sql/sqlTask.h b/project2/sql/sqlTask.h
index d6193ae..cb22173 100644
--- a/project2/sql/sqlTask.h
+++ b/project2/sql/sqlTask.h
@@ -12,7 +12,7 @@
namespace DB { class ModifyCommand; }
/// Project2 component to execute a modifying SQL statement against an RDBMS data source
-class SqlTask : public Task, SqlBase {
+class DLL_PUBLIC SqlTask : public Task, SqlBase {
public:
SqlTask(ScriptNodePtr p);
virtual ~SqlTask();
diff --git a/project2/sql/sqlTest.h b/project2/sql/sqlTest.h
index d0a40ab..04a5570 100644
--- a/project2/sql/sqlTest.h
+++ b/project2/sql/sqlTest.h
@@ -8,7 +8,7 @@
namespace DB { class SelectCommand; }
/// Project2 component to test the value of a variable against an RDBMS data source
-class SqlTest : public Test, SqlBase {
+class DLL_PUBLIC SqlTest : public Test, SqlBase {
public:
SqlTest(ScriptNodePtr p);
virtual ~SqlTest();
diff --git a/project2/sql/sqlVariableBinder.h b/project2/sql/sqlVariableBinder.h
index 9f351e4..2ab202f 100644
--- a/project2/sql/sqlVariableBinder.h
+++ b/project2/sql/sqlVariableBinder.h
@@ -6,7 +6,7 @@
namespace DB {
class Command;
}
-class SqlVariableBinder : public boost::static_visitor<> {
+class DLL_PUBLIC SqlVariableBinder : public boost::static_visitor<> {
public:
SqlVariableBinder(DB::Command * c, unsigned int i);
void operator()(const Null & i) const;
diff --git a/project2/sql/sqlWriters.h b/project2/sql/sqlWriters.h
index 878a12e..a16412d 100644
--- a/project2/sql/sqlWriters.h
+++ b/project2/sql/sqlWriters.h
@@ -17,7 +17,7 @@ namespace DynamicSql {
typedef boost::intrusive_ptr<SqlWriter> SqlWriterPtr;
typedef std::list<SqlWriterPtr> Writers;
- class SqlWriter : public IntrusivePtrBase {
+ class DLL_PUBLIC SqlWriter : public IntrusivePtrBase {
public:
virtual ~SqlWriter() = default;
virtual void writeSql(AdHoc::Buffer & sql) const = 0;
@@ -25,7 +25,7 @@ namespace DynamicSql {
virtual void setFilter(const Glib::ustring &) const;
};
- class SqlText : public SqlWriter {
+ class DLL_PUBLIC SqlText : public SqlWriter {
public:
SqlText(const Glib::ustring &);
virtual void writeSql(AdHoc::Buffer & sql) const override;
@@ -34,14 +34,14 @@ namespace DynamicSql {
const Glib::ustring text;
};
- class SqlParameter : public SqlWriter, Variable {
+ class DLL_PUBLIC SqlParameter : public SqlWriter, Variable {
public:
SqlParameter(ScriptNodePtr);
virtual void writeSql(AdHoc::Buffer & sql) const override;
virtual void bindParams(ExecContext *, DB::Command *, unsigned int & offset) const override;
};
- class SqlFilter : public SqlWriter {
+ class DLL_PUBLIC SqlFilter : public SqlWriter {
public:
SqlFilter(ScriptNodePtr);
virtual void writeSql(AdHoc::Buffer & sql) const override;
@@ -55,7 +55,7 @@ namespace DynamicSql {
Writers writers;
};
- class SqlCommand : public SqlWriter {
+ class DLL_PUBLIC SqlCommand : public SqlWriter {
public:
SqlCommand(ScriptNodePtr);
@@ -67,7 +67,7 @@ namespace DynamicSql {
Writers writers;
};
- class SqlWriterWrapper : public DB::SqlWriter {
+ class DLL_PUBLIC SqlWriterWrapper : public DB::SqlWriter {
public:
SqlWriterWrapper(ExecContext *, const DynamicSql::SqlWriter *);
diff --git a/project2/streams/textReader.h b/project2/streams/textReader.h
index b101272..98386c1 100644
--- a/project2/streams/textReader.h
+++ b/project2/streams/textReader.h
@@ -3,8 +3,9 @@
#include <boost/function.hpp>
#include <glib.h>
+#include <visibility.h>
-class TextReader {
+class DLL_PUBLIC TextReader {
public:
typedef boost::function<void(gunichar)> CharSink;
diff --git a/project2/xml/sessionXml.h b/project2/xml/sessionXml.h
index d3300bd..dd194fe 100644
--- a/project2/xml/sessionXml.h
+++ b/project2/xml/sessionXml.h
@@ -5,7 +5,7 @@
#include "options.h"
#include <boost/filesystem/path.hpp>
-class SessionContainerXml : public SessionContainer {
+class DLL_PUBLIC SessionContainerXml : public SessionContainer {
public:
SessionContainerXml();
~SessionContainerXml();
diff --git a/project2/xml/xmlDocumentCache.h b/project2/xml/xmlDocumentCache.h
index e735a24..97fdb6d 100644
--- a/project2/xml/xmlDocumentCache.h
+++ b/project2/xml/xmlDocumentCache.h
@@ -12,7 +12,7 @@
#include <curlMultiHandle.h>
#include <curlHelper.h>
-class XmlDocumentCache : protected VariableCurlHelper {
+class DLL_PUBLIC XmlDocumentCache : protected VariableCurlHelper {
public:
typedef std::set<Glib::ustring> Queued;
typedef xmlpp::Document * DocumentPtr;
diff --git a/project2/xml/xmlDocumentPrefetch.h b/project2/xml/xmlDocumentPrefetch.h
index 7861971..7dd428f 100644
--- a/project2/xml/xmlDocumentPrefetch.h
+++ b/project2/xml/xmlDocumentPrefetch.h
@@ -8,7 +8,7 @@
#include <libxml++/nodes/element.h>
/// Project2 component to queue up CURL objects to be downloaded
-class XmlDocumentPrefetch : public View, public Task, XmlDocumentCache {
+class DLL_PUBLIC XmlDocumentPrefetch : public View, public Task, XmlDocumentCache {
public:
XmlDocumentPrefetch(ScriptNodePtr p);
~XmlDocumentPrefetch();
diff --git a/project2/xml/xmlPresenter.h b/project2/xml/xmlPresenter.h
index 1410a34..e27f169 100644
--- a/project2/xml/xmlPresenter.h
+++ b/project2/xml/xmlPresenter.h
@@ -13,7 +13,7 @@ namespace xmlpp {
class Element;
}
-class XmlDocMutator : public IntrusivePtrBase {
+class DLL_PUBLIC XmlDocMutator : public IntrusivePtrBase {
public:
XmlDocMutator(ScriptNodePtr);
virtual void mutateElement(xmlpp::Element *) const = 0;
diff --git a/project2/xml/xmlRawRows.h b/project2/xml/xmlRawRows.h
index ac5a30f..483863d 100644
--- a/project2/xml/xmlRawRows.h
+++ b/project2/xml/xmlRawRows.h
@@ -4,7 +4,7 @@ namespace xmlpp {
class Document;
}
-class XmlRawRowsBase : public RowSet {
+class DLL_PUBLIC XmlRawRowsBase : public RowSet {
public:
XmlRawRowsBase(ScriptNodePtr p);
XmlRawRowsBase();
@@ -13,7 +13,7 @@ class XmlRawRowsBase : public RowSet {
void execute(const xmlpp::Document *, const RowProcessorCallback &, ExecContext *) const;
};
-class XmlRawRows : public XmlRawRowsBase {
+class DLL_PUBLIC XmlRawRows : public XmlRawRowsBase {
public:
XmlRawRows(ScriptNodePtr p);
XmlRawRows(const Glib::ustring & p);
@@ -24,7 +24,7 @@ class XmlRawRows : public XmlRawRowsBase {
const Variable path;
};
-class XmlMemRawRows : public XmlRawRowsBase {
+class DLL_PUBLIC XmlMemRawRows : public XmlRawRowsBase {
public:
XmlMemRawRows(boost::shared_ptr<const xmlpp::Document> d);
diff --git a/project2/xml/xmlRows.h b/project2/xml/xmlRows.h
index bfc6514..4f0d9f1 100644
--- a/project2/xml/xmlRows.h
+++ b/project2/xml/xmlRows.h
@@ -7,7 +7,7 @@
#include "rowSet.h"
/// Project2 component to create a row set based on the contents of an XML file
-class XmlRows : public RowSet {
+class DLL_PUBLIC XmlRows : public RowSet {
public:
typedef std::vector<std::string> Path;
typedef std::map<Path, unsigned int> Interests;
diff --git a/project2/xml/xpathRows.h b/project2/xml/xpathRows.h
index f81c4c8..663df89 100644
--- a/project2/xml/xpathRows.h
+++ b/project2/xml/xpathRows.h
@@ -12,7 +12,7 @@
#include "definedColumns.h"
/// Project2 component to create a row set based on the contents of an XML resource and specific XPaths with its hierarchy
-class XPathRows : public RowSet, XmlDocumentCache {
+class DLL_PUBLIC XPathRows : public RowSet, XmlDocumentCache {
public:
XPathRows(ScriptNodePtr p);
~XPathRows();