summaryrefslogtreecommitdiff
path: root/data
diff options
context:
space:
mode:
authorSimon McVittie <simon.mcvittie@collabora.co.uk>2013-10-31 16:47:55 +0000
committerSimon McVittie <simon.mcvittie@collabora.co.uk>2013-10-31 16:47:55 +0000
commitae86b52c435aa39b78ae14cb23a75e4e639b0d5a (patch)
treeb526eda7fda8d3469e1db44ea258f3065017d9a7 /data
parentbd2903877be3a3bd38a2a3fff6bd6e8d030e7306 (diff)
parent301d3d7d9b0f025d71390dbc9211923308e4386b (diff)
Merge remote-tracking branch 'mylogger/next' into next
Conflicts: .gitignore COPYING Makefile.am autogen.sh configure.ac docs/Makefile.am docs/reference/Makefile.am m4/tp-compiler-flag.m4 m4/tp-compiler-warnings.m4 tests/Makefile.am tests/lib/Makefile.am tests/lib/simple-account.c tests/lib/simple-account.h
Diffstat (limited to 'data')
-rw-r--r--data/Logger.Call.client.in8
-rw-r--r--data/Logger.Observer.client.in3
-rw-r--r--data/Logger.Recover.client.in2
-rw-r--r--data/Logger.Text.client.in8
-rw-r--r--data/Makefile.am45
-rw-r--r--data/im.telepathy1.Client.Logger.service.in3
-rw-r--r--data/im.telepathy1.Logger.service.in3
-rw-r--r--data/log-manager.xsl157
-rw-r--r--data/org.freedesktop.Telepathy.Logger.gschema.xml.in17
9 files changed, 246 insertions, 0 deletions
diff --git a/data/Logger.Call.client.in b/data/Logger.Call.client.in
new file mode 100644
index 000000000..0ae64b933
--- /dev/null
+++ b/data/Logger.Call.client.in
@@ -0,0 +1,8 @@
+[im.telepathy1.Client.Observer.ObserverChannelFilter 3]
+im.telepathy1.Channel.ChannelType s=im.telepathy1.Channel.Type.Call1
+im.telepathy1.Channel.TargetHandleType u=1
+
+[im.telepathy1.Client.Observer.ObserverChannelFilter 4]
+im.telepathy1.Channel.ChannelType s=im.telepathy1.Channel.Type.Call1
+im.telepathy1.Channel.TargetHandleType u=2
+
diff --git a/data/Logger.Observer.client.in b/data/Logger.Observer.client.in
new file mode 100644
index 000000000..a1c9dfa59
--- /dev/null
+++ b/data/Logger.Observer.client.in
@@ -0,0 +1,3 @@
+[im.telepathy1.Client]
+Interfaces=im.telepathy1.Client.Observer
+
diff --git a/data/Logger.Recover.client.in b/data/Logger.Recover.client.in
new file mode 100644
index 000000000..f18cd72ea
--- /dev/null
+++ b/data/Logger.Recover.client.in
@@ -0,0 +1,2 @@
+[im.telepathy1.Client.Observer]
+Recover=true
diff --git a/data/Logger.Text.client.in b/data/Logger.Text.client.in
new file mode 100644
index 000000000..eae677c70
--- /dev/null
+++ b/data/Logger.Text.client.in
@@ -0,0 +1,8 @@
+[im.telepathy1.Client.Observer.ObserverChannelFilter 0]
+im.telepathy1.Channel.ChannelType s=im.telepathy1.Channel.Type.Text
+im.telepathy1.Channel.TargetHandleType u=1
+
+[im.telepathy1.Client.Observer.ObserverChannelFilter 1]
+im.telepathy1.Channel.ChannelType s=im.telepathy1.Channel.Type.Text
+im.telepathy1.Channel.TargetHandleType u=2
+
diff --git a/data/Makefile.am b/data/Makefile.am
new file mode 100644
index 000000000..92533b62b
--- /dev/null
+++ b/data/Makefile.am
@@ -0,0 +1,45 @@
+if ENABLE_LOGGER
+
+gsettings_files = \
+ org.freedesktop.Telepathy.Logger.gschema.xml.in \
+ $(NULL)
+gsettings_SCHEMAS = $(gsettings_files:.xml.in=.xml)
+@INTLTOOL_XML_NOMERGE_RULE@
+@GSETTINGS_RULES@
+
+servicefiledir = $(datadir)/dbus-1/services
+servicefile_in_files = \
+ im.telepathy1.Client.Logger.service.in \
+ im.telepathy1.Logger.service.in
+servicefile_DATA = $(servicefile_in_files:.service.in=.service)
+%.service: %.service.in Makefile
+ $(AM_V_GEN)sed -e "s|[@]libexecdir[@]|$(libexecdir)|" $< > $@
+
+clientfiledir = $(datarootdir)/telepathy-1/clients
+
+clientfile_parts = $(top_srcdir)/data/Logger.Observer.client.in \
+ $(top_srcdir)/data/Logger.Text.client.in \
+ $(top_srcdir)/data/Logger.Call.client.in \
+ $(top_srcdir)/data/Logger.Recover.client.in
+
+clientfile_DATA = Logger.client
+
+EXTRA_DIST = \
+ $(gsettings_files) \
+ $(clientfile_DATA) \
+ $(servicefile_in_files) \
+ $(clientfile_parts)
+
+CLEANFILES = \
+ $(gsettings_SCHEMAS) \
+ $(servicefile_DATA) \
+ $(clientfile_DATA)
+
+# Generates Logger.client file
+Logger.client: $(clientfile_parts)
+ @cp $(top_srcdir)/data/Logger.Observer.client.in $(clientfile_DATA)
+ @cat $(top_srcdir)/data/Logger.Text.client.in >> $(clientfile_DATA)
+ @cat $(top_srcdir)/data/Logger.Call.client.in >> $(clientfile_DATA)
+ $(AM_V_GEN)cat $(top_srcdir)/data/Logger.Recover.client.in >> $(clientfile_DATA)
+
+endif
diff --git a/data/im.telepathy1.Client.Logger.service.in b/data/im.telepathy1.Client.Logger.service.in
new file mode 100644
index 000000000..cf6f348bd
--- /dev/null
+++ b/data/im.telepathy1.Client.Logger.service.in
@@ -0,0 +1,3 @@
+[D-BUS Service]
+Name=im.telepathy1.Client.Logger
+Exec=@libexecdir@/telepathy-logger
diff --git a/data/im.telepathy1.Logger.service.in b/data/im.telepathy1.Logger.service.in
new file mode 100644
index 000000000..118e00d03
--- /dev/null
+++ b/data/im.telepathy1.Logger.service.in
@@ -0,0 +1,3 @@
+[D-BUS Service]
+Name=im.telepathy1.Logger
+Exec=@libexecdir@/telepathy-logger
diff --git a/data/log-manager.xsl b/data/log-manager.xsl
new file mode 100644
index 000000000..b81fb1896
--- /dev/null
+++ b/data/log-manager.xsl
@@ -0,0 +1,157 @@
+<!--
+This XSL stylesheet generates readable HTML output from an Empathy-style XML
+log file.
+
+To generate a HTML file, try something like:
+
+ xsltproc \-\-stringparam title "Chat Log" log-manager.xsl logfile.log
+-->
+
+<xsl:stylesheet version = '1.0' xmlns:xsl='http://www.w3.org/1999/XSL/Transform'>
+
+ <xsl:output method="html" encoding="utf-8" indent="yes"/>
+
+ <xsl:template match="/">
+ <html>
+ <head>
+ <style type="text/css">
+ <xsl:text>
+ body {
+ background: #fff;
+ font-family: Verdana, "Bitstream Vera Sans", Sans-Serif;
+ font-size: 10pt;
+ }
+ .stamp {
+ color: #999;
+ }
+ .top-day-stamp {
+ color: #999;
+ text-align: center;
+ margin-bottom: 1em;
+ }
+ .new-day-stamp {
+ color: #999;
+ text-align: center;
+ margin-bottom: 1em;
+ margin-top: 1em;
+ }
+ .nick {
+ color: rgb(54,100, 139);
+ }
+ .nick-self {
+ color: rgb(46,139,87);
+ }
+ .nick-highlight {
+ color: rgb(205,92,92);
+ }
+ </xsl:text>
+ </style>
+ <title><xsl:value-of select="$title"/></title>
+ </head>
+ <body>
+ <xsl:apply-templates/>
+ </body>
+ </html>
+ </xsl:template>
+
+ <xsl:template name="get-day">
+ <xsl:param name="stamp"/>
+ <xsl:value-of select="substring ($stamp, 1, 8)"/>
+ </xsl:template>
+
+ <xsl:template name="format-stamp">
+ <xsl:param name="stamp"/>
+ <xsl:variable name="hour" select="substring ($stamp, 10, 2)"/>
+ <xsl:variable name="min" select="substring ($stamp, 13, 2)"/>
+
+ <xsl:value-of select="$hour"/>:<xsl:value-of select="$min"/>
+ </xsl:template>
+
+ <xsl:template name="format-day-stamp">
+ <xsl:param name="stamp"/>
+ <xsl:variable name="year" select="substring ($stamp, 1, 4)"/>
+ <xsl:variable name="month" select="substring ($stamp, 5, 2)"/>
+ <xsl:variable name="day" select="substring ($stamp, 7, 2)"/>
+
+ <xsl:value-of select="$year"/>-<xsl:value-of select="$month"/>-<xsl:value-of select="$day"/>
+ </xsl:template>
+
+ <xsl:template name="header">
+ <xsl:param name="stamp"/>
+ <div class="top-day-stamp">
+ <xsl:call-template name="format-day-stamp">
+ <xsl:with-param name="stamp" select="@time"/>
+ </xsl:call-template>
+ </div>
+ </xsl:template>
+
+ <xsl:template match="a">
+ <xsl:text disable-output-escaping="yes">&lt;a href="</xsl:text>
+
+ <xsl:value-of disable-output-escaping="yes" select="@href"/>
+
+ <xsl:text disable-output-escaping="yes">"&gt;</xsl:text>
+
+ <xsl:value-of select="@href"/>
+ <xsl:text disable-output-escaping="yes">&lt;/a&gt;</xsl:text>
+ </xsl:template>
+
+ <xsl:template match="log">
+
+ <div class="top-day-stamp">
+ <xsl:call-template name="format-day-stamp">
+ <xsl:with-param name="stamp" select="//message[1]/@time"/>
+ </xsl:call-template>
+ </div>
+
+ <xsl:for-each select="*">
+
+ <xsl:variable name="prev-time">
+ <xsl:call-template name="get-day">
+ <xsl:with-param name="stamp" select="preceding-sibling::*[1]/@time"/>
+ </xsl:call-template>
+ </xsl:variable>
+
+ <xsl:variable name="this-time">
+ <xsl:call-template name="get-day">
+ <xsl:with-param name="stamp" select="@time"/>
+ </xsl:call-template>
+ </xsl:variable>
+
+ <xsl:if test="$prev-time &lt; $this-time">
+ <div class="new-day-stamp">
+ <xsl:call-template name="format-day-stamp">
+ <xsl:with-param name="stamp" select="@time"/>
+ </xsl:call-template>
+ </div>
+ </xsl:if>
+
+ <xsl:variable name="stamp">
+ <xsl:call-template name="format-stamp">
+ <xsl:with-param name="stamp" select="@time"/>
+ </xsl:call-template>
+ </xsl:variable>
+
+ <span class="stamp">
+ <xsl:value-of select="$stamp"/>
+ </span>
+
+ <xsl:variable name="nick-class">
+ <xsl:choose>
+ <xsl:when test="not(string(@id))">nick-self</xsl:when>
+ <xsl:otherwise>nick</xsl:otherwise>
+ </xsl:choose>
+ </xsl:variable>
+
+ <span class="{$nick-class}">
+ &lt;<xsl:value-of select="@name"/>&gt;
+ </span>
+
+ <xsl:apply-templates/>
+ <br/>
+
+ </xsl:for-each>
+
+ </xsl:template>
+
+</xsl:stylesheet>
diff --git a/data/org.freedesktop.Telepathy.Logger.gschema.xml.in b/data/org.freedesktop.Telepathy.Logger.gschema.xml.in
new file mode 100644
index 000000000..ca39e36b9
--- /dev/null
+++ b/data/org.freedesktop.Telepathy.Logger.gschema.xml.in
@@ -0,0 +1,17 @@
+<schemalist>
+ <schema id="org.freedesktop.Telepathy.Logger" path="/apps/telepathy-logger/">
+ <key name="enabled" type="b">
+ <default>true</default>
+ <_summary>Enable logging</_summary>
+ <_description>
+ Globally enable or disable the Telepathy logger system. Setting it to
+ "false" will completely disable all logging.
+ </_description>
+ </key>
+ <key name="ignorelist" type="as">
+ <default>[]</default>
+ <_summary>Ignore list</_summary>
+ <_description>Conversations with entities with ID listed here will not be logged.</_description>
+ </key>
+ </schema>
+</schemalist>