- virtual gpu_frame_ptr get_frame() = 0;\r
- virtual std::shared_ptr<frame_producer> get_following_producer() const { return nullptr; }\r
- virtual void set_leading_producer(const std::shared_ptr<frame_producer>&) {}\r
- virtual const frame_format_desc& get_frame_format_desc() const = 0;\r
- virtual void initialize(const frame_factory_ptr& factory) = 0;\r
+\r
+ virtual std::string print() const = 0; // nothrow\r
+ virtual boost::property_tree::ptree info() const = 0;\r
+\r
+ virtual boost::unique_future<std::string> call(const std::string&) \r
+ {\r
+ boost::promise<std::string> promise;\r
+ promise.set_value("");\r
+ return promise.get_future();\r
+ }\r
+\r
+ virtual safe_ptr<frame_producer> get_following_producer() const {return frame_producer::empty();} // nothrow\r
+ virtual void set_leading_producer(const safe_ptr<frame_producer>&) {} // nothrow\r
+ \r
+ virtual uint32_t nb_frames() const {return std::numeric_limits<uint32_t>::max();}\r
+ \r
+ virtual safe_ptr<basic_frame> receive(int hints) = 0;\r
+ virtual safe_ptr<core::basic_frame> last_frame() const = 0;\r
+\r
+ static const safe_ptr<frame_producer>& empty(); // nothrow\r