[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[pdf-devel] New functions for the Time Module
From: |
Aleksander Morgado |
Subject: |
[pdf-devel] New functions for the Time Module |
Date: |
Fri, 25 Jul 2008 20:52:42 +0200 |
User-agent: |
Thunderbird 2.0.0.16 (X11/20080724) |
As requested some time ago, I added three new functions in the API of
the Time Module, to easily initialize pdf_time_t variables with
unix-timescale epochs and w32-specific Filetime-timescale epochs
(http://msdn.microsoft.com/en-us/library/ms724290(VS.85).aspx).
Find attached the patch for the new API. If agreed by all, I'll start
the development tomorrow.
Cheers,
-Aleksander
# Bazaar merge directive format 2 (Bazaar 0.90)
# revision_id: address@hidden
# target_branch: file:///home/aleksander/Development/libgnupdf_repo\
# /trunk/
# testament_sha1: f98b1d78e68ddc250c7359b362c564c0073e6876
# timestamp: 2008-07-25 20:47:22 +0200
# base_revision_id: address@hidden
#
# Begin patch
=== modified file 'ChangeLog'
--- ChangeLog 2008-07-25 13:30:00 +0000
+++ ChangeLog 2008-07-25 18:46:20 +0000
@@ -1,3 +1,12 @@
+2008-07-25 Aleksander Morgado <address@hidden>
+
+ * doc/gnupdf.texi (Platform-specific functions): New section including
+ the w32-specific `pdf_time_w32_set_from_filetime' function, to fastly
+ set the pdf_time_t to a given filetime-timescale epoch.
+ (Managing Time Values): New functions `pdf_time_set_from_i32' and
+ `pdf_time_set' in order to fastly set the pdf_time_t variable to a
given
+ unix-timescale epoch.
+
2008-07-25 Jose E. Marchesi <address@hidden>
* src/base/pdf-list.h: Inline semantics in MacosX.
=== modified file 'doc/gnupdf.texi'
--- doc/gnupdf.texi 2008-07-18 07:41:04 +0000
+++ doc/gnupdf.texi 2008-07-25 18:46:20 +0000
@@ -4554,6 +4554,7 @@
* Managing Time Span Values::
* Time Span Comparison::
* Calendar Spans Management::
+* Platform-specific functions::
@end menu
@node Time Related Data Types
@@ -4782,6 +4783,69 @@
@end table
@end deftypefun
+
address@hidden pdf_status_t pdf_time_set_from_i32 (pdf_time_t
@var{time_var}, pdf_i32_t @var{seconds})
+This function will initialize @var{time_var} to the given Unix time
(seconds since January 1st 1970).
+The time is represented as a 32-bit integer.
+
address@hidden @strong
address@hidden Parameters
address@hidden @var
address@hidden time_var
+The time variable to set. Should be a properly create time variable.
address@hidden seconds
+Seconds since January 1st 1970, 32-bit value.
address@hidden table
address@hidden Returns
+A status value:
address@hidden @code
address@hidden PDF_OK
+The operation succeeded.
address@hidden table
address@hidden Usage example
address@hidden
+pdf_time_t mytime;
+
+mytime = pdf_time_new ();
+
+pdf_time_set_from_i32(mytime, 1217009657);
+
address@hidden example
address@hidden table
address@hidden deftypefun
+
address@hidden pdf_status_t pdf_time_set (pdf_time_t @var{time_var},
pdf_i64_t @var{seconds})
+This function will initialize @var{time_var} to the given Unix time
(seconds since January 1st 1970).
+The time is represented as a pdf_i64_t integer.
+
address@hidden @strong
address@hidden Parameters
address@hidden @var
address@hidden time_var
+The time variable to set. Should be a properly create time variable.
address@hidden seconds
+Seconds since January 1st 1970, pdf_i64_t variable.
address@hidden table
address@hidden Returns
+A status value:
address@hidden @code
address@hidden PDF_OK
+The operation succeeded.
address@hidden table
address@hidden Usage example
address@hidden
+pdf_time_t mytime;
+pdf_i64_t epoch = pdf_i64_new(0,1217009657);
+mytime = pdf_time_new ();
+
+pdf_time_set(mytime, epoch);
+
address@hidden example
address@hidden table
address@hidden deftypefun
+
+
+
@deftypefun pdf_status_t pdf_time_add_cal_span (pdf_time_t
@var{time_var}, const struct pdf_time_cal_span_s address@hidden)
Add the time span represented by the calendar span under the address in
@var{p_cal_span} to @var{time_var}.
@@ -5912,6 +5976,43 @@
@end table
@end deftypefun
address@hidden Platform-specific functions
address@hidden Platform-specific functions
+
address@hidden pdf_status_t pdf_time_w32_set_from_filetime (pdf_time_t
@var{time_var}, pdf_i64_t @var{filetime})
+This function will initialize @var{time_var} to the given Filetime
(100-nanosecond intervals since January 1st 1601).
+
+This function is only available in Windows OS.
+
address@hidden @strong
address@hidden Parameters
address@hidden @var
address@hidden time_var
+The time variable to set. Should be a properly create time variable.
address@hidden seconds
+100-nanosecond intervals since 1 January 1601, pdf_i64_t variable.
address@hidden table
address@hidden Returns
+A status value:
address@hidden @code
address@hidden PDF_OK
+The operation succeeded.
address@hidden table
address@hidden Usage example
address@hidden
+pdf_time_t mytime;
+pdf_i64_t filetime;
+mytime = pdf_time_new ();
+
+/* do stuff to get the File Time */
+
+pdf_time_w32_set_from_filetime(mytime, filetime);
+
address@hidden example
address@hidden table
address@hidden deftypefun
+
+
@node The Filesystem Module
@section The Filesystem Module
# Begin bundle
IyBCYXphYXIgcmV2aXNpb24gYnVuZGxlIHY0CiMKQlpoOTFBWSZTWVrqrkwAA1ffgGAwUff//38/
34D////6YAgPeOfe2KAO9qAUBQpRVAGkmmoNNAAGjNJpoAAAABoAAZIJkYpqeUPU9TQaAGnqA0AA
AaAA4yZNDEYmjAIwEwgDATTRpkaAYYkQ0kPSNG1PUbTKPU0NAAGg0AaAAG0kEVN5CepqfqnpBnpJ
6INDIGgNAA0ABFIQBGRMCNTAmTIm1T1HiE9TJ6QND1PQQ4IQzZ/evkqGzBQPmmTz+ypIAYfwAkzy
r1IyWViZQsvFhFMZNs9wxmdDRgNEHQbOlgWEI2aMty+i8JcuwZZCiRLgtaLn3ddnCcMghcKfcNEf
u30ZMlEzo0bD5TIpAKqAEboSZmGLUmYBiKXVQlXjBsp4nV+DBnhtLJbAMxRRTlm2mInFYqsBji23
GsusiDy5o6FSE8th1xfQuUVGApzHhhQvCBbqsehRECMhgQUQzlFJKmj7GQaIsmK2FkU5pTF1jcjg
QSQNKzQHBGl4cBjyzXo1NY+9li5oXBGFGC/9DQhi2Eqoyzsm/u1aGJkYGAXJLiK7iUONHoojic6o
6wAFHUnIEs3Wkyjk0a+YIY1ZG1aa4iwYnYa1hNvfvRdOggVQz1SqGogzb4wLANOifY2G46cB2z6A
1d1QFR/fQedb4MMjk2HIT9Be8Pb08nn9eBq54+1Nu+1TTxDskPACnolMOksCahYd5EVzKjeRUfQ+
6RckDYLIAxa7yh2ZAW6EtCKDxlUziiVQe5Lty66p1jcUeh4CDYnNsoFy7BeFp99c9GIHdF9AkTwe
ozNRkWJwXIDHgnCEcTW2ay1yOa4qtkDKRzV4lySDXsmVF5iWum+pruDIoT52R9lTnJpUF7XaTJYG
wLzIuA9RcB/7ozjTjE8KUeaWezP35HI1vE0ASqZk52l3F3AWky87NZlbSyUp3HE40BzvNZkWugSj
icCNBVjaVmtoVkNWGFYE+IE+JYYCaDQGg2lDeyDXZZBncGTISkBr1Ekes+oU11EOQZSI3mwxN4UA
nSrRjpzkjO0jpyJVXSAtvNlRoq0BpJbiLTToNZYZFYSOwNheazMrP1Djg+RgVeMsrtnMwwFKOCVW
hKgkhtCWwX1dQPQgwFNuCgGGBOwjTDkEhv18R1tEqwrHErzMhK5CZyJMEokQhNIY1OKNhB855/m0
/JsJwP5tvnMPqwHyhJwFVpJgGEXyLOzwm6hnaEumqTcNJZRjjMyGVWpq0tVHQZDYwSPdUCTB+/Sh
yMB7AvPEyAtOfw/bMQ93pQ8D2nh7jVh4G9O9Of2cj8PE5gg+OYVj9bW55vih/yeekHkFh/sfLAdn
reQb1oh8hhXA7ip4vIMnWNfafG0+J6j4Hk2P8grPvOYF+0Ovm7XzT/Mf57U+/+pDcYkjWeTecxUa
Tl2npfaano7hle2mRSCoM/Hb1JZSy383nrUhgoDB1shlB1QhIORzyLyAOBUFAjAfsO/zt1hcnA4m
Tm4Gy2QnFUN3Vyai3fFgmg3IbmEPSnCGSHm+RRKqVdTI82FhYRQgF2yQpIkwwkHBqTb0pbyvVSxL
PtuDQXcDRE6Ykkki9Zpyd6Zr8yAvOa7N7hNhkzOrqscaAYjeZg4EhD8Q9adKtuRNkPQEF7aRuukJ
g2wzYCDheJkbi8hsvhGTpA+jUhxfoQZDe4oWmz0dGoPYfA4nAgmfAqADEkXEHiXJumbgPt+B6y49
bD++3YE3sKh0j7IGilY7eO8kSV8kpCQ1lc4T8ucIQ9vsiP+8hOwfoSNafVggiGNUg5wPW/x4LDXu
B9W1CbHSkbqIlNazMLqc9ENhvlUtDGwEbppQ+gX8wv46D+XbVO66EIAgfcE3zQ8jrENr3YpJ9reR
pDr6XgcU7ga2wPV8g7HJ6hgYYQp0kEikASD+xQSQEBDS4mem/Gab9XYy8S0QgJhBvA94eQ9AFYVu
lFvYADx6ZTYKHRb6CriwhvmRMuxNqLWoiGokQBZQ5lREnQFFUVTEqJMGJicg/xPdFGKgtk/qXVdt
ZIzYDBsCGIHtFqGAm+ruOdCIfcyOwMn0Y79n69RQa8VBguaRWaIgYXii3lQe9aAzVMy05G3xJbVy
169aOPOFR1wRAn7SlKXYwzZyufFPmOQnTRDqDZhIvcsiNpaNREd8Kxek3XR8JhQ9D3zXA0GOqZoh
naAVoX2wzX9zJ58xhrxWxLIC0ZGcSA63Ve8MhcsTWQcColnNl1jQmnnTcziOuuRIqLHSbXpPgcp1
nZu/1SRDAzYZDrQkZB5JYfcp1KGKtFwk2yMVStdwUguYTHDIFx6qqSNXwDBDFC9a2lQXiGVrM8gu
C+0JAattz0FxUeDCEmTERBmITdwydpMq9LgwJqKAwmQQwXwGE7GwajrGsEqDbmOv8ANTSwQ12hbY
h7AwwNIbnWyQkhIc0uc0NYFpo/EKDdazAn86Oq9mUQ+TCGzSMBGcpEo9DIfYhpuGzvCwGWwk//F3
JFOFCQWuquTA
- [pdf-devel] New functions for the Time Module,
Aleksander Morgado <=