File: element_extra_def.hpp

package info (click to toggle)
cppgir 2.0%2Bgit20240928.c8bb1c6%2Breally2.0-1
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 1,228 kB
  • sloc: cpp: 14,307; ansic: 339; makefile: 11; sh: 9
file content (47 lines) | stat: -rw-r--r-- 871 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
#ifndef _GI_GST_ELEMENT_EXTRA_DEF_HPP_
#define _GI_GST_ELEMENT_EXTRA_DEF_HPP_

namespace gi
{
namespace repository
{
namespace Gst
{
namespace base
{
class ElementExtra : public GI_GST_ELEMENT_BASE
{
  typedef GI_GST_ELEMENT_BASE super;

  GI_INLINE_DECL bool link() GI_NOEXCEPT_DECL(true)
  {
    return true;
  }

public:
  // Syntax sugar link with multiple arguments to reflect a non-introspectable gst_element_link_many
  template <typename Arg0, typename ...Args>
  GI_INLINE_DECL bool link(Arg0 arg0, Args ...args) GI_NOEXCEPT_DECL(true)
  {
    if (super::link(gi::object_cast<Gst::Element>(arg0))) {
        return arg0.link(args...);
    } else {
      return false;
    }
  }

}; // class

#undef GI_GST_ELEMENT_BASE
#define GI_GST_ELEMENT_BASE base::ElementExtra

} // namespace base

} // namespace Gst

} // namespace repository

} // namespace gi


#endif