summaryrefslogtreecommitdiffstats
path: root/sample/template/wmhandler.cpp
blob: 9972104b1c9696da1d6b6e46dc025b402069c363 (plain)
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
/*
 * Copyright (c) 2017 TOYOTA MOTOR CORPORATION
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

#include "wmhandler.h"
#include <unistd.h>


void WmHandler::init(LibWindowmanager *p_wm, std::string applabel)
{
    mp_wm = p_wm;
    m_applabel = applabel;
}

void WmHandler::slotActivateSurface() {
    json_object *obj = json_object_new_object();
    json_object_object_add(obj, wm->kKeyDrawingName, json_object_new_string(m_applabel.c_str()));
    json_object_object_add(obj, wm->kKeyDrawingArea, json_object_new_string("normal.full"));
    mp_wm->activateSurface(obj);
}

WmHandler::WmHandler(QObject *parent)
    :QObject(parent)
{
}

WmHandler::~WmHandler() { }
usr.HomeDir, s[2:]) } } // Resolved ${MYVAR} re := regexp.MustCompile("\\${([^}]+)}") vars := re.FindAllStringSubmatch(s, -1) res := s for _, v := range vars { val := os.Getenv(v[1]) if val == "" { // Specific case to resolved $HOME or ${HOME} on Windows host if runtime.GOOS == "windows" && v[1] == "HOME" { if usr, err := user.Current(); err == nil { val = usr.HomeDir } } else { return res, fmt.Errorf("ERROR: %s env variable not defined", v[1]) } } rer := regexp.MustCompile("\\${" + v[1] + "}") res = rer.ReplaceAllString(res, val) } // Resolved $MYVAR following by a slash (or a backslash for Windows) // TODO //re := regexp.MustCompile("\\$([^\\/])+/") return path.Clean(res), nil } // PathNormalize normalizes a linux or windows like path func PathNormalize(p string) string { sep := string(filepath.Separator) if sep != "/" { return p } // Replace drive like C: by C/ res := p if p[1:2] == ":" { res = p[0:1] + sep + p[2:] } res = strings.Replace(res, "\\", "/", -1) return filepath.Clean(res) }