#ifndef CHROME_COMMON_EXTENSIONS_API_WINDOWS_H__
#define CHROME_COMMON_EXTENSIONS_API_WINDOWS_H__
#include <stdint.h>
#include <map>
#include <memory>
#include <optional>
#include <string>
#include <vector>
#include "base/values.h"
#include <string_view>
namespace extensions {
namespace api {
namespace tabs {
struct Tab;
}
}
}
namespace extensions {
namespace api {
namespace windows {
extern const int WINDOW_ID_NONE;
extern const int WINDOW_ID_CURRENT;
enum class WindowType { … };
const char* ToString(WindowType as_enum);
WindowType ParseWindowType(std::string_view as_string);
std::u16string GetWindowTypeParseError(std::string_view as_string);
enum class WindowState { … };
const char* ToString(WindowState as_enum);
WindowState ParseWindowState(std::string_view as_string);
std::u16string GetWindowStateParseError(std::string_view as_string);
struct Window { … };
enum class CreateType { … };
const char* ToString(CreateType as_enum);
CreateType ParseCreateType(std::string_view as_string);
std::u16string GetCreateTypeParseError(std::string_view as_string);
struct QueryOptions { … };
namespace Get {
struct Params { … };
namespace Results {
base::Value::List Create(const Window& window);
}
}
namespace GetCurrent {
struct Params { … };
namespace Results {
base::Value::List Create(const Window& window);
}
}
namespace GetLastFocused {
struct Params { … };
namespace Results {
base::Value::List Create(const Window& window);
}
}
namespace GetAll {
struct Params { … };
namespace Results {
base::Value::List Create(const std::vector<Window>& windows);
}
}
namespace Create {
struct Params { … };
namespace Results {
base::Value::List Create(const Window& window);
}
}
namespace Update {
struct Params { … };
namespace Results {
base::Value::List Create(const Window& window);
}
}
namespace Remove {
struct Params { … };
namespace Results {
base::Value::List Create();
}
}
namespace OnCreated {
extern const char kEventName[];
base::Value::List Create(const Window& window);
}
namespace OnRemoved {
extern const char kEventName[];
base::Value::List Create(int window_id);
}
namespace OnFocusChanged {
extern const char kEventName[];
base::Value::List Create(int window_id);
}
namespace OnBoundsChanged {
extern const char kEventName[];
base::Value::List Create(const Window& window);
}
}
}
}
#endif