2
* Copyright © 2013 Canonical Ltd.
4
* This program is free software: you can redistribute it and/or modify
5
* it under the terms of the GNU Lesser General Public License version 3 as
6
* published by the Free Software Foundation.
8
* This program is distributed in the hope that it will be useful,
9
* but WITHOUT ANY WARRANTY; without even the implied warranty of
10
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11
* GNU Lesser General Public License for more details.
13
* You should have received a copy of the GNU Lesser General Public License
14
* along with this program. If not, see <http://www.gnu.org/licenses/>.
16
* Authored by: Ricardo Mendoza <ricardo.mendoza@canonical.com>
19
#ifndef UBUNTU_APPLICATION_UI_WINDOW_INTERNAL_H_
20
#define UBUNTU_APPLICATION_UI_WINDOW_INTERNAL_H_
22
#include <ubuntu/application/ui/window_properties.h>
30
class WindowProperties : public ubuntu::platform::ReferenceCountedBase
40
typedef ubuntu::platform::shared_ptr<WindowProperties> Ptr;
42
void set_titlen(const char* title, size_t size)
44
this->title = (char *) malloc(sizeof (char) * (size+1));
45
memcpy(this->title, title, size+1);
53
void set_role(UAUiWindowRole role)
58
UAUiWindowRole get_role()
63
void set_input_event_cb_and_ctx(UAUiWindowInputEventCb cb, void* ctx)
69
UAUiWindowInputEventCb get_input_cb()
82
UAUiWindowInputEventCb cb;
86
WindowProperties(const WindowProperties&) = delete;
87
WindowProperties& operator=(const WindowProperties&) = delete;
90
class SessionProperties : public ubuntu::platform::ReferenceCountedBase
93
SessionProperties() {}
95
typedef ubuntu::platform::shared_ptr<SessionProperties> Ptr;
97
void set_type(SessionType type)
102
SessionType get_type()
111
virtual ~SessionProperties() {}
113
SessionProperties(const SessionProperties&) = delete;
114
SessionProperties& operator=(const SessionProperties&) = delete;
119
#endif /* UBUNTU_APPLICATION_UI_WINDOW_INTERNAL_H_ */