OpendTect  6.6
moddepmgr.h
Go to the documentation of this file.
1 #pragma once
2 /*+
3 ________________________________________________________________________
4 
5  (C) dGB Beheer B.V.; (LICENSE) http://opendtect.org/OpendTect_license.txt
6  Author: Bert
7  Date: Aug 2011
8  RCS: $Id$
9 ________________________________________________________________________
10 
11 -*/
12 
13 #include "basicmod.h"
14 #include "bufstringset.h"
15 class od_istream;
16 
17 class SharedLibAccess;
18 
21 namespace OD
22 {
23 
29 {
30 public:
31  ModDep( const char* m )
32  : name_(m) {}
33  bool operator ==( const char* s ) const
34  { return name_ == s; }
35 
38 
39 };
40 
41 
48 {
49 public:
50  ModDepMgr(const char* fnm=0);
52 
53  const ModDep* find(const char*) const;
54  const ObjectSet<ModDep>& deps() const { return deps_; }
55 
56  void ensureLoaded(const char*) const;
57  const SharedLibAccess* shLibAccess(const char*) const;
58 
59 protected:
60 
62 
65 
67  int getLoadIdx(const char*) const;
68 
69 public:
70  void closeAll();
71 
72 };
73 
74 mGlobal(Basic) const ModDepMgr& ModDeps();
75 
76 #define mDefModInitFn(nm) \
77 mExternC(nm) void od_##nm##_initStdClasses(); \
78 extern "C" void od_##nm##_initStdClasses()
79 
80 
81 } // namespace OD
82 
OD::ModDep::ModDep
ModDep(const char *m)
Definition: moddepmgr.h:31
OD::ModDepMgr::loadedmods_
BufferStringSet loadedmods_
Definition: moddepmgr.h:63
OD::ModDepMgr::shlibaccs_
ObjectSet< SharedLibAccess > shlibaccs_
Definition: moddepmgr.h:64
mGlobal
#define mGlobal(module)
Definition: commondefs.h:180
OD::ModDeps
const ModDepMgr & ModDeps()
OD::ModDep
Module Dependency.
Definition: moddepmgr.h:29
ObjectSet
Set of pointers to objects.
Definition: commontypes.h:31
BufferStringSet
Set of BufferString objects.
Definition: bufstringset.h:26
OD::ModDep::mods_
BufferStringSet mods_
Definition: moddepmgr.h:37
OD
OpendTect.
Definition: commontypes.h:28
mExpClass
#define mExpClass(module)
Definition: commondefs.h:177
od_istream
OD class for stream read common access to the std::cin.
Definition: od_istream.h:24
OD::ModDepMgr::ModDepMgr
ModDepMgr(const char *fnm=0)
OD::ModDepMgr::getLoadIdx
int getLoadIdx(const char *) const
OD::ModDep::name_
BufferString name_
Definition: moddepmgr.h:36
OD::ModDepMgr::deps
const ObjectSet< ModDep > & deps() const
Definition: moddepmgr.h:54
OD::ModDepMgr::~ModDepMgr
~ModDepMgr()
operator==
bool operator==(const ArrayNDInfo &a1, const ArrayNDInfo &a2)
Definition: arrayndinfo.h:81
OD::ModDepMgr::ensureLoaded
void ensureLoaded(const char *) const
ManagedObjectSet
ObjectSet where the objects contained are owned by this set.
Definition: manobjectset.h:57
OD::ModDepMgr::deps_
ManagedObjectSet< ModDep > deps_
Definition: moddepmgr.h:61
SharedLibAccess
Gives access to shared libs on runtime. Plugins should be loaded via the Plugin Manager (see plugins....
Definition: sharedlibs.h:31
OD::ModDepMgr::shLibAccess
const SharedLibAccess * shLibAccess(const char *) const
OD::ModDepMgr::readDeps
void readDeps(od_istream &)
OD::ModDepMgr::find
const ModDep * find(const char *) const
BufferString
OD::String with its own variable length buffer. The buffer has a guaranteed minimum size.
Definition: bufstring.h:40
OD::ModDepMgr::closeAll
void closeAll()
bufstringset.h
OD::ModDepMgr
Dependency manager - provides tools for the dependencies between the different OpendTect 'modules'.
Definition: moddepmgr.h:48

Generated at for the OpendTect seismic interpretation project. Copyright (C): dGB Beheer B.V. 1995-2021