OSSIA
Open Scenario System for Interactive Application
search.hpp
1 #pragma once
2 #include "search_filter.hpp"
3 
4 #include <ossia-max/src/object_base.hpp>
5 
6 #include <set>
7 
8 namespace ossia
9 {
10 namespace max_binding
11 {
12 
13 #define MAX_NUM_ITEMS 256
14 
15 #pragma mark -
16 #pragma mark t_search structure declaration
17 
18 struct search
19  : object_base
20  , search_filter
21 {
22  using is_search = std::true_type;
23 
24  t_symbol* m_sort{};
25  t_symbol* m_format{};
26  t_symbol* m_method{};
27 
28  std::set<ossia::net::device_base*> m_devices;
29 
30  // ctor / dtor
31  search(long argc, t_atom* argv);
32  ~search();
33 
34  bool unregister();
35 
36  static void
37  execute_method(ossia::max_binding::search* x, t_symbol* s, long argc, t_atom* argv);
38  static void free(ossia::max_binding::search* x);
39  static t_max_err
40  notify(search* x, t_symbol* s, t_symbol* msg, void* sender, void* data);
41  static void assist(search* x, void* b, long m, long a, char* s);
42 
43  // TODO group all those static symbols in a separate class (see
44  // https://github.com/ossia/libossia/issues/617)
45  static t_symbol* s_search;
46  static t_symbol* s_size;
47  static t_symbol* s_result;
48  static t_symbol* s_open;
49 };
50 } // max namespace
51 } // ossia namespace
52 
53 #pragma mark -
54 #pragma mark ossia_search class declaration
55 
56 extern "C" {
57 void* ossia_search_new(t_symbol* s, long argc, t_atom* argv);
58 }
Definition: git_info.h:7