~3v1n0/unity/light-shortcuts

« back to all changes in this revision

Viewing changes to launcher/DndData.cpp

  • Committer: Marco Trevisan (Treviño)
  • Date: 2013-04-26 12:41:09 UTC
  • Revision ID: mail@3v1n0.net-20130426124109-t3b2shjah2omiqa2
Unity: Remove all the views, but the Shortcuts

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
// -*- Mode: C++; indent-tabs-mode: nil; tab-width: 2 -*-
2
 
/*
3
 
* Copyright (C) 2011 Canonical Ltd
4
 
*
5
 
* This program is free software: you can redistribute it and/or modify
6
 
* it under the terms of the GNU General Public License version 3 as
7
 
* published by the Free Software Foundation.
8
 
*
9
 
* This program is distributed in the hope that it will be useful,
10
 
* but WITHOUT ANY WARRANTY; without even the implied warranty of
11
 
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
12
 
* GNU General Public License for more details.
13
 
*
14
 
* You should have received a copy of the GNU General Public License
15
 
* along with this program.  If not, see <http://www.gnu.org/licenses/>.
16
 
*
17
 
* Authored by: Andrea Azzarone <azzaronea@gmail.com>
18
 
*/
19
 
 
20
 
#include "DndData.h"
21
 
 
22
 
#include <cstring>
23
 
#include <vector>
24
 
 
25
 
#include <gio/gio.h>
26
 
 
27
 
#include <UnityCore/GLibWrapper.h>
28
 
 
29
 
namespace unity {
30
 
 
31
 
void DndData::Fill(const char* uris)
32
 
{
33
 
  Reset();
34
 
 
35
 
  const char* pch = strtok (const_cast<char*>(uris), "\r\n");
36
 
  while (pch)
37
 
  {
38
 
    glib::String content_type(g_content_type_guess(pch,
39
 
                                                   nullptr,
40
 
                                                   0,
41
 
                                                   nullptr));
42
 
 
43
 
    if (content_type)
44
 
    {
45
 
      types_.insert(content_type.Str());
46
 
      uris_to_types_[pch] = content_type.Str();
47
 
      types_to_uris_[content_type.Str()].insert(pch);
48
 
    }
49
 
 
50
 
    uris_.insert(pch);
51
 
 
52
 
    pch = strtok (NULL, "\r\n");
53
 
  }
54
 
}
55
 
 
56
 
void DndData::Reset()
57
 
{
58
 
  uris_.clear();
59
 
  types_.clear();
60
 
  uris_to_types_.clear();
61
 
  types_to_uris_.clear();
62
 
}
63
 
 
64
 
} // namespace unity