diff options
author | Simon McVittie <simon.mcvittie@collabora.co.uk> | 2013-10-31 16:47:55 +0000 |
---|---|---|
committer | Simon McVittie <simon.mcvittie@collabora.co.uk> | 2013-10-31 16:47:55 +0000 |
commit | ae86b52c435aa39b78ae14cb23a75e4e639b0d5a (patch) | |
tree | b526eda7fda8d3469e1db44ea258f3065017d9a7 /data | |
parent | bd2903877be3a3bd38a2a3fff6bd6e8d030e7306 (diff) | |
parent | 301d3d7d9b0f025d71390dbc9211923308e4386b (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.in | 8 | ||||
-rw-r--r-- | data/Logger.Observer.client.in | 3 | ||||
-rw-r--r-- | data/Logger.Recover.client.in | 2 | ||||
-rw-r--r-- | data/Logger.Text.client.in | 8 | ||||
-rw-r--r-- | data/Makefile.am | 45 | ||||
-rw-r--r-- | data/im.telepathy1.Client.Logger.service.in | 3 | ||||
-rw-r--r-- | data/im.telepathy1.Logger.service.in | 3 | ||||
-rw-r--r-- | data/log-manager.xsl | 157 | ||||
-rw-r--r-- | data/org.freedesktop.Telepathy.Logger.gschema.xml.in | 17 |
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"><a href="</xsl:text> + + <xsl:value-of disable-output-escaping="yes" select="@href"/> + + <xsl:text disable-output-escaping="yes">"></xsl:text> + + <xsl:value-of select="@href"/> + <xsl:text disable-output-escaping="yes"></a></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 < $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}"> + <<xsl:value-of select="@name"/>> + </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> |