libzypp: zypp/PluginExecutor.h Source File

libzypp 17.38.14

PluginExecutor.h
Go to the documentation of this file.
1/*---------------------------------------------------------------------\
2| ____ _ __ __ ___ |
3| |__ / \ / / . \ . \ |
4| / / \ V /| _/ _/ |
5| / /__ | | | | | | |
6| /_____||_| |_| |_| |
7| |
8\---------------------------------------------------------------------*/
11#ifndef ZYPP_PLUGINEXECUTOR_H
12#define ZYPP_PLUGINEXECUTOR_H
13
14#include <iosfwd>
15
16#include <zypp-core/base/PtrTypes.h>
17#include <zypp/PluginScript.h>
18
20namespace zypp
21{
41 class PluginExecutor
42 {
43 friend std::ostream & operator<<( std::ostream & str, const PluginExecutor & obj );
44 friend bool operator==( const PluginExecutor & lhs, const PluginExecutor & rhs );
45
46 public:
48 PluginExecutor();
49
51 ~PluginExecutor();
52
53 public:
55 explicit operator bool() const
56 { return !empty(); }
57
59 bool empty() const;
60
62 size_t size() const;
63
64 public:
71 void load( const Pathname & path_r );
72
76 void send( const PluginFrame & frame_r );
77
78 public:
79 class Impl;
80 private:
81 RW_pointer<Impl> _pimpl;
82 };
83
85 std::ostream & operator<<( std::ostream & str, const PluginExecutor & obj );
86
88 inline bool operator==( const PluginExecutor & lhs, const PluginExecutor & rhs )
89 { return ( lhs._pimpl == rhs._pimpl ); }
90
92 inline bool operator!=( const PluginExecutor & lhs, const PluginExecutor & rhs )
93 { return( ! operator==( lhs, rhs ) ); }
94
95} // namespace zypp
97#endif // ZYPP_PLUGINEXECUTOR_H
PluginScript.h
PtrTypes.h
Impl
bool
zypp::PluginExecutor
Parallel execution of stateful PluginScripts.
Definition PluginExecutor.h:42
zypp::PluginExecutor::_pimpl
RW_pointer< Impl > _pimpl
Implementation class.
Definition PluginExecutor.h:81
zypp::PluginExecutor::operator<<
friend std::ostream & operator<<(std::ostream &str, const PluginExecutor &obj)
relates: PluginExecutor Stream output
Definition PluginExecutor.cc:180
zypp::PluginExecutor::load
void load(const Pathname &path_r)
Find and launch plugins sending PLUGINBEGIN.
Definition PluginExecutor.cc:174
zypp::PluginExecutor::size
size_t size() const
Number of open plugins.
Definition PluginExecutor.cc:171
zypp::PluginExecutor::PluginExecutor
PluginExecutor()
Default ctor: Empty plugin list.
Definition PluginExecutor.cc:161
zypp::PluginExecutor::send
void send(const PluginFrame &frame_r)
Send PluginFrame to all open plugins.
Definition PluginExecutor.cc:177
zypp::PluginExecutor::empty
bool empty() const
Whether no plugins are waiting.
Definition PluginExecutor.cc:168
zypp::PluginExecutor::operator==
friend bool operator==(const PluginExecutor &lhs, const PluginExecutor &rhs)
relates: PluginExecutor Comparison based on reference.
Definition PluginExecutor.h:88
zypp::PluginFrame
Command frame for communication with PluginScript.
Definition PluginFrame.h:42
zypp::filesystem::Pathname
Pathname.
Definition Pathname.h:48
str
String related utilities and Regular expression matching.
zypp
Easy-to use interface to the ZYPP dependency resolver.
Definition CodePitfalls.doc:2
zypp::operator!=
bool operator!=(const Capability &lhs, const Capability &rhs)
relates: Capability
Definition Capability.h:313
zypp::operator<<
std::ostream & operator<<(std::ostream &str, const Capabilities &obj)
relates: Capabilities Stream output
Definition Capabilities.cc:65
zypp::RW_pointer
Wrapper for const correct access via Smart pointer types.
Definition PtrTypes.h:293