22 #include <hwsd/types.h> 24 #include <lunchbox/referenced.h> 38 class Filter :
public lunchbox::Referenced
45 HWSD_API
virtual ~Filter();
53 HWSD_API FilterPtr operator|(FilterPtr rhs);
61 HWSD_API FilterPtr operator|=(FilterPtr rhs);
74 HWSD_API
virtual bool operator()(
const GPUInfos& current,
77 HWSD_API
virtual bool operator()(
const NetInfos& current,
81 detail::Filter*
const impl_;
85 inline FilterPtr operator|(FilterPtr a, FilterPtr b)
99 HWSD_API
virtual bool operator()(
const GPUInfos& current,
102 HWSD_API
virtual bool operator()(
const NetInfos& current,
116 HWSD_API
virtual bool operator()(
const GPUInfos& current,
126 HWSD_API
virtual ~SessionFilter();
129 HWSD_API
virtual bool operator()(
const GPUInfos& current,
132 HWSD_API
virtual bool operator()(
const NetInfos& current,
136 detail::SessionFilter*
const impl_;
147 HWSD_API
explicit GPUFilter(
const std::string& regex);
148 HWSD_API
virtual ~GPUFilter();
154 HWSD_API
virtual bool operator()(
const hwsd::GPUInfos& current,
158 detail::GPUFilter*
const impl_;
165 HWSD_API
NetFilter(
const lunchbox::Strings& prefixes,
const uint32_t type);
166 HWSD_API
virtual ~NetFilter();
172 HWSD_API
virtual bool operator()(
const hwsd::NetInfos& current,
176 detail::NetFilter*
const impl_;
179 #endif // HWSD_FILTER_H Defines export visibility macros for library hwsd.
Filter overlapping duplicates with different GPU types.
Filters for a specific session.
A structure containing network-specific information.
Base class for all discovery filters.
Filter for network interfaces matching prefixes and/or type.
A structure containing GPU-specific information.
Filters for a specific GPU regex.
Filters all duplicates during discovery.