27#ifndef OMNI_PVD_LOADER_H
28#define OMNI_PVD_LOADER_H
30#include "OmniPvdWriter.h"
31#include "OmniPvdReader.h"
32#include "OmniPvdLibraryFunctions.h"
38#elif defined(__linux__)
47 bool loadOmniPvd(
const char *libFile);
51 createOmniPvdWriterFp mCreateOmniPvdWriter;
52 destroyOmniPvdWriterFp mDestroyOmniPvdWriter;
54 createOmniPvdReaderFp mCreateOmniPvdReader;
55 destroyOmniPvdReaderFp mDestroyOmniPvdReader;
57 createOmniPvdFileReadStreamFp mCreateOmniPvdFileReadStream;
58 destroyOmniPvdFileReadStreamFp mDestroyOmniPvdFileReadStream;
60 createOmniPvdFileWriteStreamFp mCreateOmniPvdFileWriteStream;
61 destroyOmniPvdFileWriteStreamFp mDestroyOmniPvdFileWriteStream;
63 createOmniPvdMemoryStreamFp mCreateOmniPvdMemoryStream;
64 destroyOmniPvdMemoryStreamFp mDestroyOmniPvdMemoryStream;
67inline OmniPvdLoader::OmniPvdLoader()
71 mCreateOmniPvdWriter = 0;
72 mDestroyOmniPvdWriter = 0;
74 mCreateOmniPvdReader = 0;
75 mDestroyOmniPvdReader = 0;
77 mCreateOmniPvdFileReadStream = 0;
78 mDestroyOmniPvdFileReadStream = 0;
80 mCreateOmniPvdFileWriteStream = 0;
81 mDestroyOmniPvdFileWriteStream = 0;
83 mCreateOmniPvdMemoryStream = 0;
84 mDestroyOmniPvdMemoryStream = 0;
87inline OmniPvdLoader::~OmniPvdLoader()
92inline bool OmniPvdLoader::loadOmniPvd(
const char *libFile)
96 mLibraryHandle = LoadLibraryA(libFile);
97#elif defined(__linux__)
98 mLibraryHandle = dlopen(libFile, RTLD_NOW);
104 mCreateOmniPvdWriter = (createOmniPvdWriterFp)GetProcAddress((HINSTANCE)mLibraryHandle,
"createOmniPvdWriter");
105 mDestroyOmniPvdWriter = (destroyOmniPvdWriterFp)GetProcAddress((HINSTANCE)mLibraryHandle,
"destroyOmniPvdWriter");
107 mCreateOmniPvdReader = (createOmniPvdReaderFp)GetProcAddress((HINSTANCE)mLibraryHandle,
"createOmniPvdReader");
108 mDestroyOmniPvdReader = (destroyOmniPvdReaderFp)GetProcAddress((HINSTANCE)mLibraryHandle,
"destroyOmniPvdReader");
110 mCreateOmniPvdFileReadStream = (createOmniPvdFileReadStreamFp)GetProcAddress((HINSTANCE)mLibraryHandle,
"createOmniPvdFileReadStream");
111 mDestroyOmniPvdFileReadStream = (destroyOmniPvdFileReadStreamFp)GetProcAddress((HINSTANCE)mLibraryHandle,
"destroyOmniPvdFileReadStream");
113 mCreateOmniPvdFileWriteStream = (createOmniPvdFileWriteStreamFp)GetProcAddress((HINSTANCE)mLibraryHandle,
"createOmniPvdFileWriteStream");
114 mDestroyOmniPvdFileWriteStream = (destroyOmniPvdFileWriteStreamFp)GetProcAddress((HINSTANCE)mLibraryHandle,
"destroyOmniPvdFileWriteStream");
116 mCreateOmniPvdMemoryStream = (createOmniPvdMemoryStreamFp)GetProcAddress((HINSTANCE)mLibraryHandle,
"createOmniPvdMemoryStream");
117 mDestroyOmniPvdMemoryStream = (destroyOmniPvdMemoryStreamFp)GetProcAddress((HINSTANCE)mLibraryHandle,
"destroyOmniPvdMemoryStream");
118#elif defined(__linux__)
119 mCreateOmniPvdWriter = (createOmniPvdWriterFp)dlsym(mLibraryHandle,
"createOmniPvdWriter");
120 mDestroyOmniPvdWriter = (destroyOmniPvdWriterFp)dlsym(mLibraryHandle,
"destroyOmniPvdWriter");
122 mCreateOmniPvdReader = (createOmniPvdReaderFp)dlsym(mLibraryHandle,
"createOmniPvdReader");
123 mDestroyOmniPvdReader = (destroyOmniPvdReaderFp)dlsym(mLibraryHandle,
"destroyOmniPvdReader");
125 mCreateOmniPvdFileReadStream = (createOmniPvdFileReadStreamFp)dlsym(mLibraryHandle,
"createOmniPvdFileReadStream");
126 mDestroyOmniPvdFileReadStream = (destroyOmniPvdFileReadStreamFp)dlsym(mLibraryHandle,
"destroyOmniPvdFileReadStream");
128 mCreateOmniPvdFileWriteStream = (createOmniPvdFileWriteStreamFp)dlsym(mLibraryHandle,
"createOmniPvdFileWriteStream");
129 mDestroyOmniPvdFileWriteStream = (destroyOmniPvdFileWriteStreamFp)dlsym(mLibraryHandle,
"destroyOmniPvdFileWriteStream");
131 mCreateOmniPvdMemoryStream = (createOmniPvdMemoryStreamFp)dlsym(mLibraryHandle,
"createOmniPvdMemoryStream");
132 mDestroyOmniPvdMemoryStream = (destroyOmniPvdMemoryStreamFp)dlsym(mLibraryHandle,
"destroyOmniPvdMemoryStream");
136 if ((!mCreateOmniPvdWriter) ||
137 (!mDestroyOmniPvdWriter) ||
138 (!mCreateOmniPvdReader) ||
139 (!mDestroyOmniPvdReader) ||
140 (!mCreateOmniPvdFileReadStream) ||
141 (!mDestroyOmniPvdFileReadStream) ||
142 (!mCreateOmniPvdFileWriteStream) ||
143 (!mDestroyOmniPvdFileWriteStream) ||
144 (!mCreateOmniPvdMemoryStream) ||
145 (!mDestroyOmniPvdMemoryStream)
149 FreeLibrary((HINSTANCE)mLibraryHandle);
150#elif defined(__linux__)
151 dlclose(mLibraryHandle);
163inline void OmniPvdLoader::unloadOmniPvd()
168 FreeLibrary((HINSTANCE)mLibraryHandle);
169#elif defined(__linux__)
170 dlclose(mLibraryHandle);
Definition OmniPvdLoader.h:43