Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030 #ifndef PLUGINLIB_CLASS_LOADER_BASE_H
00031 #define PLUGINLIB_CLASS_LOADER_BASE_H
00032
00033 #include <vector>
00034 #include <string>
00035
00036 namespace pluginlib
00037 {
00045 class ClassLoaderBase
00046 {
00047 public:
00051 virtual ~ClassLoaderBase() {}
00052
00057 virtual std::vector<std::string> getPluginXmlPaths() = 0;
00058
00063 virtual std::vector<std::string> getDeclaredClasses() = 0;
00064
00069 virtual void refreshDeclaredClasses() = 0;
00070
00076 virtual std::string getName(const std::string& lookup_name) = 0;
00077
00083 virtual bool isClassAvailable(const std::string& lookup_name) = 0;
00084
00090 virtual std::string getClassType(const std::string& lookup_name) = 0;
00091
00097 virtual std::string getClassDescription(const std::string& lookup_name) = 0;
00098
00103 virtual std::string getBaseClassType() const = 0;
00104
00110 virtual std::string getClassPackage(const std::string& lookup_name) = 0;
00111
00117 virtual std::string getPluginManifestPath(const std::string& lookup_name) = 0;
00118
00124 virtual bool isClassLoaded(const std::string& lookup_name) = 0;
00125
00131 virtual void loadLibraryForClass(const std::string & lookup_name) = 0;
00132
00139 virtual int unloadLibraryForClass(const std::string& lookup_name) = 0;
00140
00145 virtual std::vector<std::string> getRegisteredLibraries() = 0;
00146
00152 virtual std::string getClassLibraryPath(const std::string& lookup_name) = 0;
00153 };
00154 }
00155
00156 #endif