content_server 1.3.1 → 1.4.0
Sign up to get free protection for your applications and to get access to all the features.
- data/lib/content_data/content_data.rb +194 -56
- data/lib/content_data/version.rb +1 -1
- data/lib/content_server/backup_server.rb +4 -27
- data/lib/content_server/content_server.rb +3 -27
- data/lib/content_server/file_streamer.rb +2 -0
- data/lib/content_server/remote_content.rb +1 -2
- data/lib/content_server/server.rb +23 -3
- data/lib/content_server/version.rb +1 -1
- data/lib/email/version.rb +1 -1
- data/lib/file_copy/version.rb +1 -1
- data/lib/file_indexing/index_agent.rb +1 -1
- data/lib/file_indexing/version.rb +1 -1
- data/lib/file_monitoring/file_monitoring.rb +45 -32
- data/lib/file_monitoring/monitor_path.rb +219 -181
- data/lib/file_monitoring/version.rb +1 -1
- data/lib/file_utils/file_generator/file_generator.rb +1 -1
- data/lib/file_utils/file_utils.rb +2 -2
- data/lib/file_utils/version.rb +1 -1
- data/lib/log/version.rb +1 -1
- data/lib/networking/version.rb +1 -1
- data/lib/params/version.rb +1 -1
- data/lib/process_monitoring/version.rb +1 -1
- data/lib/run_in_background/version.rb +1 -1
- data/lib/testing_memory/testing_memory.rb +1 -1
- data/lib/testing_server/testing_server.rb +1 -1
- data/lib/testing_server/version.rb +1 -1
- data/spec/content_data/validations_spec.rb +2 -2
- data/spec/content_server/file_streamer_spec.rb +5 -0
- data/spec/networking/tcp_spec.rb +1 -3
- data/spec/validations/index_validations_spec.rb +2 -2
- data/test/content_data/content_data_test.rb +8 -7
- data/test/file_generator/file_generator_spec.rb +3 -2
- data/test/file_monitoring/monitor_path_test.rb +38 -4
- data/test/file_utils/fileutil_mksymlink_test.rb +9 -0
- data/test/file_utils/time_modification_test.rb +6 -2
- data/test/run_in_background/test_app +17 -15
- metadata +2 -93
- data/lib/content_server/queue_indexer.rb +0 -86
- data/test/file_indexing/index_agent_test.rb +0 -51
- data/test/file_indexing/index_agent_test/New.txt +0 -0
- data/test/file_indexing/index_agent_test/libxslt-1.1.26.win32/bin/libexslt.dll +0 -0
- data/test/file_indexing/index_agent_test/libxslt-1.1.26.win32/bin/libxslt.dll +0 -0
- data/test/file_indexing/index_agent_test/libxslt-1.1.26.win32/bin/xsltproc.exe +0 -0
- data/test/file_indexing/index_agent_test/libxslt-1.1.26.win32/include/libexslt/exslt.h +0 -102
- data/test/file_indexing/index_agent_test/libxslt-1.1.26.win32/include/libexslt/exsltconfig.h +0 -73
- data/test/file_indexing/index_agent_test/libxslt-1.1.26.win32/include/libexslt/exsltexports.h +0 -140
- data/test/file_indexing/index_agent_test/libxslt-1.1.26.win32/include/libexslt/libexslt.h +0 -29
- data/test/file_indexing/index_agent_test/libxslt-1.1.26.win32/include/libxslt/attributes.h +0 -38
- data/test/file_indexing/index_agent_test/libxslt-1.1.26.win32/include/libxslt/documents.h +0 -93
- data/test/file_indexing/index_agent_test/libxslt-1.1.26.win32/include/libxslt/extensions.h +0 -262
- data/test/file_indexing/index_agent_test/libxslt-1.1.26.win32/include/libxslt/extra.h +0 -80
- data/test/file_indexing/index_agent_test/libxslt-1.1.26.win32/include/libxslt/functions.h +0 -78
- data/test/file_indexing/index_agent_test/libxslt-1.1.26.win32/include/libxslt/imports.h +0 -75
- data/test/file_indexing/index_agent_test/libxslt-1.1.26.win32/include/libxslt/keys.h +0 -53
- data/test/file_indexing/index_agent_test/libxslt-1.1.26.win32/include/libxslt/libxslt.h +0 -30
- data/test/file_indexing/index_agent_test/libxslt-1.1.26.win32/include/libxslt/namespaces.h +0 -68
- data/test/file_indexing/index_agent_test/libxslt-1.1.26.win32/include/libxslt/numbersInternals.h +0 -69
- data/test/file_indexing/index_agent_test/libxslt-1.1.26.win32/include/libxslt/pattern.h +0 -81
- data/test/file_indexing/index_agent_test/libxslt-1.1.26.win32/include/libxslt/preproc.h +0 -43
- data/test/file_indexing/index_agent_test/libxslt-1.1.26.win32/include/libxslt/security.h +0 -104
- data/test/file_indexing/index_agent_test/libxslt-1.1.26.win32/include/libxslt/templates.h +0 -77
- data/test/file_indexing/index_agent_test/libxslt-1.1.26.win32/include/libxslt/transform.h +0 -207
- data/test/file_indexing/index_agent_test/libxslt-1.1.26.win32/include/libxslt/trio.h +0 -216
- data/test/file_indexing/index_agent_test/libxslt-1.1.26.win32/include/libxslt/triodef.h +0 -220
- data/test/file_indexing/index_agent_test/libxslt-1.1.26.win32/include/libxslt/variables.h +0 -91
- data/test/file_indexing/index_agent_test/libxslt-1.1.26.win32/include/libxslt/win32config.h +0 -101
- data/test/file_indexing/index_agent_test/libxslt-1.1.26.win32/include/libxslt/xslt.h +0 -103
- data/test/file_indexing/index_agent_test/libxslt-1.1.26.win32/include/libxslt/xsltInternals.h +0 -1967
- data/test/file_indexing/index_agent_test/libxslt-1.1.26.win32/include/libxslt/xsltconfig.h +0 -172
- data/test/file_indexing/index_agent_test/libxslt-1.1.26.win32/include/libxslt/xsltexports.h +0 -142
- data/test/file_indexing/index_agent_test/libxslt-1.1.26.win32/include/libxslt/xsltlocale.h +0 -57
- data/test/file_indexing/index_agent_test/libxslt-1.1.26.win32/include/libxslt/xsltutils.h +0 -309
- data/test/file_indexing/index_agent_test/libxslt-1.1.26.win32/include/libxslt/xsltwin32config.h +0 -105
- data/test/file_indexing/index_agent_test/libxslt-1.1.26.win32/lib/libexslt.lib +0 -0
- data/test/file_indexing/index_agent_test/libxslt-1.1.26.win32/lib/libexslt_a.lib +0 -0
- data/test/file_indexing/index_agent_test/libxslt-1.1.26.win32/lib/libxslt.lib +0 -0
- data/test/file_indexing/index_agent_test/libxslt-1.1.26.win32/lib/libxslt_a.lib +0 -0
- data/test/file_indexing/index_agent_test/libxslt-1.1.26.win32/readme.txt +0 -22
- data/test/file_indexing/index_agent_test/patterns.input +0 -3
- data/test/file_monitoring/file_monitoring_test.rb +0 -0
- data/test/file_monitoring/file_monitoring_test/conf.yml +0 -4
- data/test/file_monitoring/file_monitoring_test/conf_win32.yml +0 -5
- data/test/file_monitoring/file_monitoring_test/log +0 -56
@@ -1,86 +0,0 @@
|
|
1
|
-
require 'file_indexing/index_agent'
|
2
|
-
require 'file_indexing/indexer_patterns'
|
3
|
-
require 'content_server/server'
|
4
|
-
require 'log'
|
5
|
-
require 'params'
|
6
|
-
|
7
|
-
module ContentServer
|
8
|
-
|
9
|
-
# Simple indexer, gets inputs events (files to index) and outputs
|
10
|
-
# content data updates into output queue.
|
11
|
-
class QueueIndexer
|
12
|
-
|
13
|
-
def initialize(input_queue)
|
14
|
-
@input_queue = input_queue
|
15
|
-
end
|
16
|
-
|
17
|
-
# index files and add to copy queue
|
18
|
-
# delete directory with it's sub files
|
19
|
-
# delete file
|
20
|
-
def run
|
21
|
-
# Start indexing on demand and write changes to queue
|
22
|
-
thread = Thread.new do
|
23
|
-
while true do
|
24
|
-
(state, is_dir, path, mtime, size) = @input_queue.pop
|
25
|
-
$process_vars.set('monitor to index queue size', @input_queue.size)
|
26
|
-
Log.debug1("index event: state:%s dir?%s path:%s time:%s size:%s ",
|
27
|
-
state, is_dir, path, mtime, size)
|
28
|
-
if state == FileMonitoring::FileStatEnum::STABLE && !is_dir
|
29
|
-
# Calculating checksum
|
30
|
-
checksum = calc_SHA1(path)
|
31
|
-
$process_vars.inc('indexed_files')
|
32
|
-
$indexed_file_count += 1
|
33
|
-
Log.debug1("Index checksum:%s Adding index to content data. put in queue for dynamic update.",
|
34
|
-
checksum)
|
35
|
-
$local_content_data_lock.synchronize{
|
36
|
-
$local_content_data.add_instance(checksum, size, Params['local_server_name'], path, mtime)
|
37
|
-
}
|
38
|
-
elsif ((state == FileMonitoring::FileStatEnum::NON_EXISTING ||
|
39
|
-
state == FileMonitoring::FileStatEnum::CHANGED) && !is_dir)
|
40
|
-
# Remove file but only when non-existing.
|
41
|
-
Log.debug1("File to remove: %s", path)
|
42
|
-
$local_content_data_lock.synchronize{
|
43
|
-
$local_content_data.remove_instance(Params['local_server_name'], path)
|
44
|
-
}
|
45
|
-
elsif state == FileMonitoring::FileStatEnum::NON_EXISTING && is_dir
|
46
|
-
# Remove directory but only when non-existing.
|
47
|
-
Log.debug1("Directory to remove: %s", path)
|
48
|
-
$local_content_data_lock.synchronize{
|
49
|
-
$local_content_data.remove_directory(Params['local_server_name'], path)
|
50
|
-
}
|
51
|
-
else
|
52
|
-
Log.debug1("This case should not be handled: %s, %s, %s", state, is_dir, path)
|
53
|
-
end
|
54
|
-
end # while true do
|
55
|
-
end # Thread.new do
|
56
|
-
thread
|
57
|
-
end # def run
|
58
|
-
|
59
|
-
# Opens file and calculates SHA1 of it's content, returns SHA1
|
60
|
-
def calc_SHA1(path)
|
61
|
-
begin
|
62
|
-
digest = Digest::SHA1.new
|
63
|
-
File.open(path, 'rb') { |f|
|
64
|
-
while buffer = f.read(65536) do
|
65
|
-
digest << buffer
|
66
|
-
end
|
67
|
-
}
|
68
|
-
rescue
|
69
|
-
Log.warning("Monitored path'#{path}' does not exist. Probably file changed")
|
70
|
-
end
|
71
|
-
return digest.hexdigest.downcase
|
72
|
-
end
|
73
|
-
|
74
|
-
# Remove when not needed.
|
75
|
-
# Check file existence, check it's size and modification date.
|
76
|
-
# If something wrong reindex the file and update content data.
|
77
|
-
#def shallow_check(file_name, file_size, file_mod_time)
|
78
|
-
# shallow_instance = FileIndexing::IndexAgent.create_shallow_instance(file_name)
|
79
|
-
# return false unless shallow_instance
|
80
|
-
# return (shallow_instance[0] == file_size &&
|
81
|
-
# shallow_instance[2] == file_mod_time)
|
82
|
-
#end
|
83
|
-
|
84
|
-
end # class QueueIndexer
|
85
|
-
end
|
86
|
-
|
@@ -1,51 +0,0 @@
|
|
1
|
-
require 'test/unit'
|
2
|
-
|
3
|
-
require_relative '../../lib/file_indexing/index_agent'
|
4
|
-
require 'log'
|
5
|
-
require 'params'
|
6
|
-
|
7
|
-
module FileIndexing
|
8
|
-
module Test
|
9
|
-
class IndexAgentTest < ::Test::Unit::TestCase
|
10
|
-
def test_index
|
11
|
-
indexer = IndexAgent.new
|
12
|
-
patterns = IndexerPatterns.new
|
13
|
-
patterns.add_pattern File.join(File.dirname(__FILE__), 'index_agent_test\**\*')
|
14
|
-
patterns.add_pattern File.join(File.dirname(__FILE__), 'index_agent_test\**\*.h'), false
|
15
|
-
|
16
|
-
indexer.index(patterns)
|
17
|
-
# ./index_agent_test/lib/libexslt.lib
|
18
|
-
Log.info "Contents: #{indexer.indexed_content}."
|
19
|
-
assert(indexer.indexed_content.content_exists('c6d9d837659e38d906a4bbdcc6703bc37e9ac7e8'))
|
20
|
-
# .index_agent_test/include/libexslt/exsltexports.h
|
21
|
-
assert_equal(false, indexer.indexed_content.content_exists('5c87a31b0106b3c4bb1768e43f5b8c41139882c2'))
|
22
|
-
# ./index_agent_test/bin/xsltproc.exe
|
23
|
-
assert(indexer.indexed_content.content_exists('d0d57ff4834a517a52004f59ee5cdb63f2f0427b'))
|
24
|
-
|
25
|
-
patterns.add_pattern('./resources/index_agent_test/lib/**/*', false)
|
26
|
-
indexer = IndexAgent.new
|
27
|
-
|
28
|
-
indexer.index(patterns)
|
29
|
-
# ./index_agent_test/lib/libexslt.lib
|
30
|
-
assert_equal(false, indexer.indexed_content.content_exists('9e409338c0d8e0bbdbf5316cb569a0afcdb321db'))
|
31
|
-
|
32
|
-
# checking that existing db as a prameter for indexer is really working
|
33
|
-
# i.e. no checksum calculation performs for files that were indexed but weren't changed
|
34
|
-
new_indexer = IndexAgent.new
|
35
|
-
event_regex = /^(call)/
|
36
|
-
id_regex = /get_checksum/
|
37
|
-
get_checksum_num = 0
|
38
|
-
set_trace_func Proc.new { |event, file, line, id, binding, classname|
|
39
|
-
if event =~ event_regex and id.to_s =~ id_regex
|
40
|
-
Log.info sprintf "[%8s] %30s %30s (%s:%-2d)\n", event, id, classname, file, line
|
41
|
-
get_checksum_num +=1
|
42
|
-
end
|
43
|
-
}
|
44
|
-
new_indexer.index(patterns, indexer.indexed_content)
|
45
|
-
set_trace_func nil
|
46
|
-
assert_equal(new_indexer.indexed_content, indexer.indexed_content)
|
47
|
-
assert_equal(0, get_checksum_num)
|
48
|
-
end
|
49
|
-
end
|
50
|
-
end
|
51
|
-
end
|
File without changes
|
Binary file
|
Binary file
|
Binary file
|
@@ -1,102 +0,0 @@
|
|
1
|
-
|
2
|
-
#ifndef __EXSLT_H__
|
3
|
-
#define __EXSLT_H__
|
4
|
-
|
5
|
-
#include <libxml/tree.h>
|
6
|
-
#include <libxml/xpath.h>
|
7
|
-
#include "exsltexports.h"
|
8
|
-
#include <libexslt/exsltconfig.h>
|
9
|
-
|
10
|
-
#ifdef __cplusplus
|
11
|
-
extern "C" {
|
12
|
-
#endif
|
13
|
-
|
14
|
-
EXSLTPUBVAR const char *exsltLibraryVersion;
|
15
|
-
EXSLTPUBVAR const int exsltLibexsltVersion;
|
16
|
-
EXSLTPUBVAR const int exsltLibxsltVersion;
|
17
|
-
EXSLTPUBVAR const int exsltLibxmlVersion;
|
18
|
-
|
19
|
-
/**
|
20
|
-
* EXSLT_COMMON_NAMESPACE:
|
21
|
-
*
|
22
|
-
* Namespace for EXSLT common functions
|
23
|
-
*/
|
24
|
-
#define EXSLT_COMMON_NAMESPACE ((const xmlChar *) "http://exslt.org/common")
|
25
|
-
/**
|
26
|
-
* EXSLT_CRYPTO_NAMESPACE:
|
27
|
-
*
|
28
|
-
* Namespace for EXSLT crypto functions
|
29
|
-
*/
|
30
|
-
#define EXSLT_CRYPTO_NAMESPACE ((const xmlChar *) "http://exslt.org/crypto")
|
31
|
-
/**
|
32
|
-
* EXSLT_MATH_NAMESPACE:
|
33
|
-
*
|
34
|
-
* Namespace for EXSLT math functions
|
35
|
-
*/
|
36
|
-
#define EXSLT_MATH_NAMESPACE ((const xmlChar *) "http://exslt.org/math")
|
37
|
-
/**
|
38
|
-
* EXSLT_SETS_NAMESPACE:
|
39
|
-
*
|
40
|
-
* Namespace for EXSLT set functions
|
41
|
-
*/
|
42
|
-
#define EXSLT_SETS_NAMESPACE ((const xmlChar *) "http://exslt.org/sets")
|
43
|
-
/**
|
44
|
-
* EXSLT_FUNCTIONS_NAMESPACE:
|
45
|
-
*
|
46
|
-
* Namespace for EXSLT functions extension functions
|
47
|
-
*/
|
48
|
-
#define EXSLT_FUNCTIONS_NAMESPACE ((const xmlChar *) "http://exslt.org/functions")
|
49
|
-
/**
|
50
|
-
* EXSLT_STRINGS_NAMESPACE:
|
51
|
-
*
|
52
|
-
* Namespace for EXSLT strings functions
|
53
|
-
*/
|
54
|
-
#define EXSLT_STRINGS_NAMESPACE ((const xmlChar *) "http://exslt.org/strings")
|
55
|
-
/**
|
56
|
-
* EXSLT_DATE_NAMESPACE:
|
57
|
-
*
|
58
|
-
* Namespace for EXSLT date functions
|
59
|
-
*/
|
60
|
-
#define EXSLT_DATE_NAMESPACE ((const xmlChar *) "http://exslt.org/dates-and-times")
|
61
|
-
/**
|
62
|
-
* EXSLT_DYNAMIC_NAMESPACE:
|
63
|
-
*
|
64
|
-
* Namespace for EXSLT dynamic functions
|
65
|
-
*/
|
66
|
-
#define EXSLT_DYNAMIC_NAMESPACE ((const xmlChar *) "http://exslt.org/dynamic")
|
67
|
-
|
68
|
-
/**
|
69
|
-
* SAXON_NAMESPACE:
|
70
|
-
*
|
71
|
-
* Namespace for SAXON extensions functions
|
72
|
-
*/
|
73
|
-
#define SAXON_NAMESPACE ((const xmlChar *) "http://icl.com/saxon")
|
74
|
-
|
75
|
-
EXSLTPUBFUN void EXSLTCALL exsltCommonRegister (void);
|
76
|
-
#ifdef EXSLT_CRYPTO_ENABLED
|
77
|
-
EXSLTPUBFUN void EXSLTCALL exsltCryptoRegister (void);
|
78
|
-
#endif
|
79
|
-
EXSLTPUBFUN void EXSLTCALL exsltMathRegister (void);
|
80
|
-
EXSLTPUBFUN void EXSLTCALL exsltSetsRegister (void);
|
81
|
-
EXSLTPUBFUN void EXSLTCALL exsltFuncRegister (void);
|
82
|
-
EXSLTPUBFUN void EXSLTCALL exsltStrRegister (void);
|
83
|
-
EXSLTPUBFUN void EXSLTCALL exsltDateRegister (void);
|
84
|
-
EXSLTPUBFUN void EXSLTCALL exsltSaxonRegister (void);
|
85
|
-
EXSLTPUBFUN void EXSLTCALL exsltDynRegister(void);
|
86
|
-
|
87
|
-
EXSLTPUBFUN void EXSLTCALL exsltRegisterAll (void);
|
88
|
-
|
89
|
-
EXSLTPUBFUN int EXSLTCALL exsltDateXpathCtxtRegister (xmlXPathContextPtr ctxt,
|
90
|
-
const xmlChar *prefix);
|
91
|
-
EXSLTPUBFUN int EXSLTCALL exsltMathXpathCtxtRegister (xmlXPathContextPtr ctxt,
|
92
|
-
const xmlChar *prefix);
|
93
|
-
EXSLTPUBFUN int EXSLTCALL exsltSetsXpathCtxtRegister (xmlXPathContextPtr ctxt,
|
94
|
-
const xmlChar *prefix);
|
95
|
-
EXSLTPUBFUN int EXSLTCALL exsltStrXpathCtxtRegister (xmlXPathContextPtr ctxt,
|
96
|
-
const xmlChar *prefix);
|
97
|
-
|
98
|
-
#ifdef __cplusplus
|
99
|
-
}
|
100
|
-
#endif
|
101
|
-
#endif /* __EXSLT_H__ */
|
102
|
-
|
data/test/file_indexing/index_agent_test/libxslt-1.1.26.win32/include/libexslt/exsltconfig.h
DELETED
@@ -1,73 +0,0 @@
|
|
1
|
-
/*
|
2
|
-
* exsltconfig.h: compile-time version informations for the EXSLT library
|
3
|
-
*
|
4
|
-
* See Copyright for the status of this software.
|
5
|
-
*
|
6
|
-
* daniel@veillard.com
|
7
|
-
*/
|
8
|
-
|
9
|
-
#ifndef __XML_EXSLTCONFIG_H__
|
10
|
-
#define __XML_EXSLTCONFIG_H__
|
11
|
-
|
12
|
-
#ifdef __cplusplus
|
13
|
-
extern "C" {
|
14
|
-
#endif
|
15
|
-
|
16
|
-
/**
|
17
|
-
* LIBEXSLT_DOTTED_VERSION:
|
18
|
-
*
|
19
|
-
* the version string like "1.2.3"
|
20
|
-
*/
|
21
|
-
#define LIBEXSLT_DOTTED_VERSION "0.8.15"
|
22
|
-
|
23
|
-
/**
|
24
|
-
* LIBEXSLT_VERSION:
|
25
|
-
*
|
26
|
-
* the version number: 1.2.3 value is 10203
|
27
|
-
*/
|
28
|
-
#define LIBEXSLT_VERSION 815
|
29
|
-
|
30
|
-
/**
|
31
|
-
* LIBEXSLT_VERSION_STRING:
|
32
|
-
*
|
33
|
-
* the version number string, 1.2.3 value is "10203"
|
34
|
-
*/
|
35
|
-
#define LIBEXSLT_VERSION_STRING "815"
|
36
|
-
|
37
|
-
/**
|
38
|
-
* LIBEXSLT_VERSION_EXTRA:
|
39
|
-
*
|
40
|
-
* extra version information, used to show a CVS compilation
|
41
|
-
*/
|
42
|
-
#define LIBEXSLT_VERSION_EXTRA ""
|
43
|
-
|
44
|
-
/**
|
45
|
-
* WITH_CRYPTO:
|
46
|
-
*
|
47
|
-
* Whether crypto support is configured into exslt
|
48
|
-
*/
|
49
|
-
#if 1
|
50
|
-
#define EXSLT_CRYPTO_ENABLED
|
51
|
-
#endif
|
52
|
-
|
53
|
-
/**
|
54
|
-
* ATTRIBUTE_UNUSED:
|
55
|
-
*
|
56
|
-
* This macro is used to flag unused function parameters to GCC
|
57
|
-
*/
|
58
|
-
#ifdef __GNUC__
|
59
|
-
#ifdef HAVE_ANSIDECL_H
|
60
|
-
#include <ansidecl.h>
|
61
|
-
#endif
|
62
|
-
#ifndef ATTRIBUTE_UNUSED
|
63
|
-
#define ATTRIBUTE_UNUSED __attribute__((unused))
|
64
|
-
#endif
|
65
|
-
#else
|
66
|
-
#define ATTRIBUTE_UNUSED
|
67
|
-
#endif
|
68
|
-
|
69
|
-
#ifdef __cplusplus
|
70
|
-
}
|
71
|
-
#endif
|
72
|
-
|
73
|
-
#endif /* __XML_EXSLTCONFIG_H__ */
|
data/test/file_indexing/index_agent_test/libxslt-1.1.26.win32/include/libexslt/exsltexports.h
DELETED
@@ -1,140 +0,0 @@
|
|
1
|
-
/*
|
2
|
-
* exsltexports.h : macros for marking symbols as exportable/importable.
|
3
|
-
*
|
4
|
-
* See Copyright for the status of this software.
|
5
|
-
*
|
6
|
-
* igor@zlatkovic.com
|
7
|
-
*/
|
8
|
-
|
9
|
-
#ifndef __EXSLT_EXPORTS_H__
|
10
|
-
#define __EXSLT_EXPORTS_H__
|
11
|
-
|
12
|
-
/**
|
13
|
-
* EXSLTPUBFUN, EXSLTPUBVAR, EXSLTCALL
|
14
|
-
*
|
15
|
-
* Macros which declare an exportable function, an exportable variable and
|
16
|
-
* the calling convention used for functions.
|
17
|
-
*
|
18
|
-
* Please use an extra block for every platform/compiler combination when
|
19
|
-
* modifying this, rather than overlong #ifdef lines. This helps
|
20
|
-
* readability as well as the fact that different compilers on the same
|
21
|
-
* platform might need different definitions.
|
22
|
-
*/
|
23
|
-
|
24
|
-
/**
|
25
|
-
* EXSLTPUBFUN:
|
26
|
-
*
|
27
|
-
* Macros which declare an exportable function
|
28
|
-
*/
|
29
|
-
#define EXSLTPUBFUN
|
30
|
-
/**
|
31
|
-
* EXSLTPUBVAR:
|
32
|
-
*
|
33
|
-
* Macros which declare an exportable variable
|
34
|
-
*/
|
35
|
-
#define EXSLTPUBVAR extern
|
36
|
-
/**
|
37
|
-
* EXSLTCALL:
|
38
|
-
*
|
39
|
-
* Macros which declare the called convention for exported functions
|
40
|
-
*/
|
41
|
-
#define EXSLTCALL
|
42
|
-
|
43
|
-
/** DOC_DISABLE */
|
44
|
-
|
45
|
-
/* Windows platform with MS compiler */
|
46
|
-
#if defined(_WIN32) && defined(_MSC_VER)
|
47
|
-
#undef EXSLTPUBFUN
|
48
|
-
#undef EXSLTPUBVAR
|
49
|
-
#undef EXSLTCALL
|
50
|
-
#if defined(IN_LIBEXSLT) && !defined(LIBEXSLT_STATIC)
|
51
|
-
#define EXSLTPUBFUN __declspec(dllexport)
|
52
|
-
#define EXSLTPUBVAR __declspec(dllexport)
|
53
|
-
#else
|
54
|
-
#define EXSLTPUBFUN
|
55
|
-
#if !defined(LIBEXSLT_STATIC)
|
56
|
-
#define EXSLTPUBVAR __declspec(dllimport) extern
|
57
|
-
#else
|
58
|
-
#define EXSLTPUBVAR extern
|
59
|
-
#endif
|
60
|
-
#endif
|
61
|
-
#define EXSLTCALL __cdecl
|
62
|
-
#if !defined _REENTRANT
|
63
|
-
#define _REENTRANT
|
64
|
-
#endif
|
65
|
-
#endif
|
66
|
-
|
67
|
-
/* Windows platform with Borland compiler */
|
68
|
-
#if defined(_WIN32) && defined(__BORLANDC__)
|
69
|
-
#undef EXSLTPUBFUN
|
70
|
-
#undef EXSLTPUBVAR
|
71
|
-
#undef EXSLTCALL
|
72
|
-
#if defined(IN_LIBEXSLT) && !defined(LIBEXSLT_STATIC)
|
73
|
-
#define EXSLTPUBFUN __declspec(dllexport)
|
74
|
-
#define EXSLTPUBVAR __declspec(dllexport) extern
|
75
|
-
#else
|
76
|
-
#define EXSLTPUBFUN
|
77
|
-
#if !defined(LIBEXSLT_STATIC)
|
78
|
-
#define EXSLTPUBVAR __declspec(dllimport) extern
|
79
|
-
#else
|
80
|
-
#define EXSLTPUBVAR extern
|
81
|
-
#endif
|
82
|
-
#endif
|
83
|
-
#define EXSLTCALL __cdecl
|
84
|
-
#if !defined _REENTRANT
|
85
|
-
#define _REENTRANT
|
86
|
-
#endif
|
87
|
-
#endif
|
88
|
-
|
89
|
-
/* Windows platform with GNU compiler (Mingw) */
|
90
|
-
#if defined(_WIN32) && defined(__MINGW32__)
|
91
|
-
#undef EXSLTPUBFUN
|
92
|
-
#undef EXSLTPUBVAR
|
93
|
-
#undef EXSLTCALL
|
94
|
-
/*
|
95
|
-
#if defined(IN_LIBEXSLT) && !defined(LIBEXSLT_STATIC)
|
96
|
-
*/
|
97
|
-
#if !defined(LIBEXSLT_STATIC)
|
98
|
-
#define EXSLTPUBFUN __declspec(dllexport)
|
99
|
-
#define EXSLTPUBVAR __declspec(dllexport) extern
|
100
|
-
#else
|
101
|
-
#define EXSLTPUBFUN
|
102
|
-
#if !defined(LIBEXSLT_STATIC)
|
103
|
-
#define EXSLTPUBVAR __declspec(dllimport) extern
|
104
|
-
#else
|
105
|
-
#define EXSLTPUBVAR extern
|
106
|
-
#endif
|
107
|
-
#endif
|
108
|
-
#define EXSLTCALL __cdecl
|
109
|
-
#if !defined _REENTRANT
|
110
|
-
#define _REENTRANT
|
111
|
-
#endif
|
112
|
-
#endif
|
113
|
-
|
114
|
-
/* Cygwin platform, GNU compiler */
|
115
|
-
#if defined(_WIN32) && defined(__CYGWIN__)
|
116
|
-
#undef EXSLTPUBFUN
|
117
|
-
#undef EXSLTPUBVAR
|
118
|
-
#undef EXSLTCALL
|
119
|
-
#if defined(IN_LIBEXSLT) && !defined(LIBEXSLT_STATIC)
|
120
|
-
#define EXSLTPUBFUN __declspec(dllexport)
|
121
|
-
#define EXSLTPUBVAR __declspec(dllexport)
|
122
|
-
#else
|
123
|
-
#define EXSLTPUBFUN
|
124
|
-
#if !defined(LIBEXSLT_STATIC)
|
125
|
-
#define EXSLTPUBVAR __declspec(dllimport) extern
|
126
|
-
#else
|
127
|
-
#define EXSLTPUBVAR
|
128
|
-
#endif
|
129
|
-
#endif
|
130
|
-
#define EXSLTCALL __cdecl
|
131
|
-
#endif
|
132
|
-
|
133
|
-
/* Compatibility */
|
134
|
-
#if !defined(LIBEXSLT_PUBLIC)
|
135
|
-
#define LIBEXSLT_PUBLIC EXSLTPUBVAR
|
136
|
-
#endif
|
137
|
-
|
138
|
-
#endif /* __EXSLT_EXPORTS_H__ */
|
139
|
-
|
140
|
-
|