Commit 30a70889 authored by Ivan.Shulga's avatar Ivan.Shulga Committed by Alexander Trofimov

libxml2 (ubuntu)

git-svn-id: svn://fileserver/activex/AVS/Sources/TeamlabOffice/trunk/ServerComponents@56615 954022d7-b5bf-4e40-9824-e11837661b57
parent fa50e9f3
......@@ -19,7 +19,7 @@ CONFIG -= app_bundle
PKGCONFIG = gtk+-2.0
LIBS += -lX11 -lXfixes -lXrender -lXrandr -lXext
LIBS += -lX11 -lXfixes -lXrender -lXrandr -lXext -lxml2
TEMPLATE = app
......@@ -27,11 +27,7 @@ INCLUDEPATH += \
../../src \
/usr/include/gtk-2.0 \
/usr/include/glib-2.0 \
../../src/third_party/skia/include/core \
../../src/third_party/skia/include/config \
../../src/third_party/skia/include/pathops \
../../src/third_party/skia/src/image \
../../src/third_party/libevent/linux \
/usr/include/libxml2
SOURCES += main.cpp \
../../src/ui/base/clipboard/clipboard.cc \
......@@ -73,26 +69,5 @@ HEADERS += \
../../src/base/strings/utf_string_conversions.h \
../../src/base/strings/utf_string_conversion_utils.h \
../../src/ui/gfx/size.h \
../../src/base/message_pump.h \
../../src/base/message_pump_gtk.h \
../../src/base/message_pump_glib.h \
../../src/base/message_pump_default.h \
../../src/base/message_pump_dispatcher.h \
../../src/base/message_pump_libevent.h \
../../src/ui/gfx/gtk_util.h \
../../src/base/threading/thread_restrictions.h \
../../src/base/at_exit.h \
../../src/base/memory/singleton.h \
../../src/base/atomicops.h \
../../src/base/atomicops_internals_atomicword_compat.h \
../../src/base/atomicops_internals_gcc.h \
../../src/base/atomicops_internals_x86_gcc.h \
../../src/base/message_loop.h \
../../src/base/message_loop_proxy.h \
../../src/ui/base/keycodes/keyboard_code_conversion.h \
../../src/ui/base/keycodes/keyboard_code_conversion_gtk.h \
../../src/ui/base/keycodes/keyboard_code_conversion_x.h \
../../src/ui/base/keycodes/keyboard_codes.h \
../../src/ui/base/keycodes/keyboard_codes_posix.h \
../../src/ui/base/keycodes/usb_keycode_map.h
../../src/ui/gfx/gtk_util.h
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE QtCreatorProject>
<!-- Written by QtCreator 3.1.1, 2014-06-09T18:27:08. -->
<!-- Written by QtCreator 3.1.1, 2014-06-10T19:49:25. -->
<qtcreator>
<data>
<variable>ProjectExplorer.Project.ActiveTarget</variable>
......
......@@ -3,6 +3,14 @@
#include "../../src/ui/base/clipboard/clipboard.h"
#include <iostream>
#include "gtk/gtk.h"
// Qt debug (UBUNTU):
// sudo sysctl kernel.yama.ptrace_scope=0
// sudo apt-get install libx11-dev
// sudo apt-get install libglib2.0-dev
// sudo apt-get install libgtk2.0-0 libgtk2.0-dev
int main(int argc, char *argv[])
{
//QCoreApplication a(argc, argv);
......@@ -22,8 +30,10 @@ int main(int argc, char *argv[])
uint32 fragment_start;
uint32 fragment_end;
pClipboard->ReadHTML(ui::Clipboard::BUFFER_STANDARD, &markup, &src_url, &fragment_start, &fragment_end);
//pClipboard->ReadHTML(ui::Clipboard::BUFFER_STANDARD, &markup, &src_url, &fragment_start, &fragment_end);
pClipboard->ReadDoct (ui::Clipboard::BUFFER_STANDARD, &markup);
std::cout << "SRC Url: " << src_url << std::endl;
std::cout << "Markup: " << markup << std::endl;
}
ui::Clipboard::DestroyClipboardForCurrentThread (pClipboard);
......
......@@ -12,6 +12,10 @@
#include "base/synchronization/lock.h"
#include "ui/gfx/size.h"
#include "libxml2/libxml/parser.h"
#include "libxml2/libxml/HTMLparser.h"
#include "base/strings/utf_string_conversions.h"
namespace ui {
namespace {
......@@ -147,7 +151,9 @@ void Clipboard::SetAllowedThreads(
// static
Clipboard* Clipboard::GetForCurrentThread() {
return new Clipboard ();/*
return new Clipboard ();
/*
base::AutoLock lock(g_clipboard_map_lock.Get());
base::PlatformThreadId id = base::PlatformThread::CurrentId();
......@@ -194,6 +200,44 @@ void Clipboard::DestroyClipboardForCurrentThread(Clipboard* clipboard) {
*/
}
void Clipboard::ReadDoct(Buffer buffer, base::string16* content) const
{
// read HTML
base::string16 markup;
std::string src_url;
uint32 fragment_start;
uint32 fragment_end;
ReadHTML(buffer, &markup, &src_url, &fragment_start, &fragment_end);
xmlDocPtr pDoc = NULL;
xmlNodePtr pRoot = NULL;
//String filepath = App::GetInstance()->GetAppRootPath() + L"data/tizen.html";
//ByteBuffer* pBuf = null;
//pBuf = Tizen::Base::Utility::StringUtil::StringToUtf8N(filepath);
//pDoc = htmlParseFile((const char*)pBuf->GetPointer(), (const char*)"utf-8");
base::string16 markupFragment = markup.substr(fragment_start, fragment_end - fragment_start);
std::string markupUtf8 = base::UTF16ToUTF8(markupFragment);
pDoc = htmlParseDoc ((xmlChar*) markupUtf8.c_str(), (const char*)"utf-8");
if (pDoc)
{
pRoot = xmlDocGetRootElement(pDoc);
}
xmlNodePtr pCurrentElement = NULL;
for (pCurrentElement = pRoot; pCurrentElement; pCurrentElement = pCurrentElement->next)
{
if (pCurrentElement->type == XML_ELEMENT_NODE)
{
// Insert your code to extract required contents from the parsed HTML document
content->assign (base::UTF8ToUTF16(base::StringPiece((const char *) pCurrentElement->name)));
}
}
}
void Clipboard::WriteObjects(Buffer buffer,
const ObjectMap& objects,
......
......@@ -20,6 +20,8 @@
#include "ui/base/clipboard/clipboard_sourcetag.h"
#include "ui/base/ui_export.h"
#if defined(TOOLKIT_GTK)
#include <gdk/gdk.h>
#endif
......@@ -265,6 +267,8 @@ class UI_EXPORT Clipboard
void ReadHTML(Buffer buffer, string16* markup, std::string* src_url,
uint32* fragment_start, uint32* fragment_end) const;
void ReadDoct(Buffer buffer, base::string16* content) const;
// Reads RTF from the clipboard, if available. Stores the result as a byte
// vector.
void ReadRTF(Buffer buffer, std::string* result) const;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment