Changeset 59 in pacpusframework


Ignore:
Timestamp:
Jan 9, 2013, 11:30:53 AM (12 years ago)
Author:
Marek Kurdej
Message:

Major: FileLib is now a shared library.
Added: FileLibConfig.h to handle dllimport/dllexport on Windows.
Note: MSVC warning C4251 is a normal thing when using an STL as a member field in a DLL-exported class.

Location:
trunk
Files:
1 added
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/include/Pacpus/kernel/DbiteException.h

    r31 r59  
    1212#define DEF_PACPUS_DBITEEXCEPTION_H
    1313
     14#include <Pacpus/kernel/FileLibConfig.h>
     15
    1416#include <exception>
    1517#include <string>
     
    1719namespace pacpus {
    1820
    19 class DbiteException
     21class FILELIB_API DbiteException
    2022        : public std::exception
    2123{
    2224public:
     25    /// @todo Documentation
    2326    DbiteException();
     27    /// @todo Documentation
    2428    DbiteException(const char * what);
     29    /// @todo Documentation
    2530    ~DbiteException() throw();
    2631
     32    /// @todo Documentation
    2733    virtual const char * what() const throw();
    2834
  • trunk/include/Pacpus/kernel/DbiteFile.h

    r31 r59  
    1212#define DEF_PACPUS_DBITEFILE_H
    1313
     14#include <Pacpus/kernel/cstdint.h>
     15#include <Pacpus/kernel/FileLibConfig.h>
     16#include <Pacpus/kernel/hdfile_header_t.h>
     17#include <Pacpus/kernel/road_time.h>
     18
    1419#include <fstream>
    1520#include <iosfwd>
    1621#include <string>
    1722
    18 #include <Pacpus/kernel/cstdint.h>
    19 #include <Pacpus/kernel/hdfile_header_t.h>
    20 #include <Pacpus/kernel/road_time.h>
    21 
    2223namespace pacpus {
    2324
    24 struct VariableDataSizeTag {};
    25 extern VariableDataSizeTag VariableDataSize;
    26 
    27 struct ReadModeTag {};
    28 extern ReadModeTag ReadMode;
    29 
    30 struct WriteModeTag {};
    31 extern WriteModeTag WriteMode;
    32 
    33 struct DiagnoseModeTag {};
    34 extern DiagnoseModeTag DiagnoseMode;
    35 
    36 class DbiteFile
     25struct FILELIB_API VariableDataSizeTag {};
     26FILELIB_API extern VariableDataSizeTag VariableDataSize;
     27
     28struct FILELIB_API ReadModeTag {};
     29FILELIB_API extern ReadModeTag ReadMode;
     30
     31struct FILELIB_API WriteModeTag {};
     32FILELIB_API extern WriteModeTag WriteMode;
     33
     34struct FILELIB_API DiagnoseModeTag {};
     35FILELIB_API extern DiagnoseModeTag DiagnoseMode;
     36
     37class FILELIB_API DbiteFile
    3738{
    3839public:
     40    /// @todo Documentation
    3941    enum ReadDirection
    4042    {
  • trunk/include/Pacpus/kernel/pacpus.h

    r31 r59  
    3434
    3535#ifdef __GNUC__
    36 #   define PACPUS_DEPRECATED(func) func __attribute__ ((deprecated))
    37 #   define PACPUS_DEPRECATED_MSG(func, msg) func __attribute__ ((deprecated))
     36#   define PACPUS_DEPRECATED(func)              func __attribute__ ((deprecated))
     37#   define PACPUS_DEPRECATED_MSG(func, msg)     PACPUS_DEPRECATED(func)
    3838#elif defined(_MSC_VER)
    39 #   define PACPUS_DEPRECATED(func) __declspec(deprecated) func
    40 #   define PACPUS_DEPRECATED_MSG(func, msg) __declspec(deprecated("was declared deprecated: " msg)) func
     39#   define PACPUS_DEPRECATED(func)              __declspec(deprecated) func
     40#   define PACPUS_DEPRECATED_MSG(func, msg)     __declspec(deprecated("was declared deprecated: " msg)) func
    4141#else
    4242#   pragma message("WARNING: You need to implement PACPUS_DEPRECATED for this compiler")
    43 #   define PACPUS_DEPRECATED(func) func
    44 #   define PACPUS_DEPRECATED_MSG(func, msg) func
     43#   define PACPUS_DEPRECATED(func)              func
     44#   define PACPUS_DEPRECATED_MSG(func, msg)     func
    4545#endif
    4646
  • trunk/src/FileLib/CMakeLists.txt

    r58 r59  
    1010
    1111# ========================================
     12# Compiler definitions
     13# ========================================
     14add_definitions(
     15    -DFILELIB_EXPORTS
     16)
     17
     18# ========================================
    1219# List of sources
    1320# ========================================
     
    1724    ${PACPUS_INCLUDE_DIR}/Pacpus/kernel/DbiteFile.h
    1825    ${PACPUS_INCLUDE_DIR}/Pacpus/kernel/DbiteFileTypes.h
     26    ${PACPUS_INCLUDE_DIR}/Pacpus/kernel/FileLibConfig.h
    1927    ${PACPUS_INCLUDE_DIR}/Pacpus/kernel/hdfile_header_t
    2028    ${PACPUS_INCLUDE_DIR}/Pacpus/kernel/road_time.h
     
    2735# ========================================
    2836pacpus_add_library(
    29     ${PROJECT_NAME}
     37    ${PROJECT_NAME} SHARED
    3038    ${PROJECT_SRCS}
    3139)
Note: See TracChangeset for help on using the changeset viewer.