summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJinkun Jang <jinkun.jang@samsung.com>2013-03-13 11:51:54 +0900
committerJinkun Jang <jinkun.jang@samsung.com>2013-03-13 11:51:54 +0900
commitbba779c70e8d4a378679fa7e0f266f484c5efba1 (patch)
treef0ea8d3c7f35d97e5f01a02c5d03847b95c3b449
parentbd559b2f818039b88ff509ae68970e2da558b13c (diff)
downloadlibslp-lbs-plugin-replay-bba779c70e8d4a378679fa7e0f266f484c5efba1.tar.gz
libslp-lbs-plugin-replay-bba779c70e8d4a378679fa7e0f266f484c5efba1.tar.bz2
libslp-lbs-plugin-replay-bba779c70e8d4a378679fa7e0f266f484c5efba1.zip
sync
-rw-r--r--COPYING506
-rw-r--r--debian/changelog39
-rw-r--r--debian/compat1
-rw-r--r--debian/control19
-rw-r--r--debian/copyright0
-rw-r--r--debian/dirs0
-rw-r--r--debian/docs0
-rw-r--r--debian/libslp-lbs-plugin-replay.install.in3
-rw-r--r--debian/libslp-lbs-plugin-replay.postinst.in13
-rwxr-xr-xdebian/rules128
-rw-r--r--replay-plugin/Makefile.am17
-rw-r--r--replay-plugin/include/gps_plugin_debug.h51
-rw-r--r--replay-plugin/include/nmea_parser.h34
-rw-r--r--replay-plugin/include/setting.h61
-rwxr-xr-xreplay-plugin/src/gps_plugin_replay.c486
-rw-r--r--replay-plugin/src/nmea_parser.c362
-rw-r--r--replay-plugin/src/setting.c74
17 files changed, 0 insertions, 1794 deletions
diff --git a/COPYING b/COPYING
deleted file mode 100644
index 518fbc7..0000000
--- a/COPYING
+++ /dev/null
@@ -1,506 +0,0 @@
-Copyright (c) 2000 - 2011 Samsung Electronics Co., Ltd. All rights reserved.
-
- GNU LESSER GENERAL PUBLIC LICENSE
- Version 2.1, February 1999
-
- Copyright (C) 1991, 1999 Free Software Foundation, Inc.
- 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
- Everyone is permitted to copy and distribute verbatim copies
- of this license document, but changing it is not allowed.
-
-[This is the first released version of the Lesser GPL. It also counts
- as the successor of the GNU Library Public License, version 2, hence
- the version number 2.1.]
-
- Preamble
-
- The licenses for most software are designed to take away your
-freedom to share and change it. By contrast, the GNU General Public
-Licenses are intended to guarantee your freedom to share and change
-free software--to make sure the software is free for all its users.
-
- This license, the Lesser General Public License, applies to some
-specially designated software packages--typically libraries--of the
-Free Software Foundation and other authors who decide to use it. You
-can use it too, but we suggest you first think carefully about whether
-this license or the ordinary General Public License is the better
-strategy to use in any particular case, based on the explanations below.
-
- When we speak of free software, we are referring to freedom of use,
-not price. Our General Public Licenses are designed to make sure that
-you have the freedom to distribute copies of free software (and charge
-for this service if you wish); that you receive source code or can get
-it if you want it; that you can change the software and use pieces of
-it in new free programs; and that you are informed that you can do
-these things.
-
- To protect your rights, we need to make restrictions that forbid
-distributors to deny you these rights or to ask you to surrender these
-rights. These restrictions translate to certain responsibilities for
-you if you distribute copies of the library or if you modify it.
-
- For example, if you distribute copies of the library, whether gratis
-or for a fee, you must give the recipients all the rights that we gave
-you. You must make sure that they, too, receive or can get the source
-code. If you link other code with the library, you must provide
-complete object files to the recipients, so that they can relink them
-with the library after making changes to the library and recompiling
-it. And you must show them these terms so they know their rights.
-
- We protect your rights with a two-step method: (1) we copyright the
-library, and (2) we offer you this license, which gives you legal
-permission to copy, distribute and/or modify the library.
-
- To protect each distributor, we want to make it very clear that
-there is no warranty for the free library. Also, if the library is
-modified by someone else and passed on, the recipients should know
-that what they have is not the original version, so that the original
-author's reputation will not be affected by problems that might be
-introduced by others.
-
- Finally, software patents pose a constant threat to the existence of
-any free program. We wish to make sure that a company cannot
-effectively restrict the users of a free program by obtaining a
-restrictive license from a patent holder. Therefore, we insist that
-any patent license obtained for a version of the library must be
-consistent with the full freedom of use specified in this license.
-
- Most GNU software, including some libraries, is covered by the
-ordinary GNU General Public License. This license, the GNU Lesser
-General Public License, applies to certain designated libraries, and
-is quite different from the ordinary General Public License. We use
-this license for certain libraries in order to permit linking those
-libraries into non-free programs.
-
- When a program is linked with a library, whether statically or using
-a shared library, the combination of the two is legally speaking a
-combined work, a derivative of the original library. The ordinary
-General Public License therefore permits such linking only if the
-entire combination fits its criteria of freedom. The Lesser General
-Public License permits more lax criteria for linking other code with
-the library.
-
- We call this license the "Lesser" General Public License because it
-does Less to protect the user's freedom than the ordinary General
-Public License. It also provides other free software developers Less
-of an advantage over competing non-free programs. These disadvantages
-are the reason we use the ordinary General Public License for many
-libraries. However, the Lesser license provides advantages in certain
-special circumstances.
-
- For example, on rare occasions, there may be a special need to
-encourage the widest possible use of a certain library, so that it becomes
-a de-facto standard. To achieve this, non-free programs must be
-allowed to use the library. A more frequent case is that a free
-library does the same job as widely used non-free libraries. In this
-case, there is little to gain by limiting the free library to free
-software only, so we use the Lesser General Public License.
-
- In other cases, permission to use a particular library in non-free
-programs enables a greater number of people to use a large body of
-free software. For example, permission to use the GNU C Library in
-non-free programs enables many more people to use the whole GNU
-operating system, as well as its variant, the GNU/Linux operating
-system.
-
- Although the Lesser General Public License is Less protective of the
-users' freedom, it does ensure that the user of a program that is
-linked with the Library has the freedom and the wherewithal to run
-that program using a modified version of the Library.
-
- The precise terms and conditions for copying, distribution and
-modification follow. Pay close attention to the difference between a
-"work based on the library" and a "work that uses the library". The
-former contains code derived from the library, whereas the latter must
-be combined with the library in order to run.
-
- GNU LESSER GENERAL PUBLIC LICENSE
- TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
-
- 0. This License Agreement applies to any software library or other
-program which contains a notice placed by the copyright holder or
-other authorized party saying it may be distributed under the terms of
-this Lesser General Public License (also called "this License").
-Each licensee is addressed as "you".
-
- A "library" means a collection of software functions and/or data
-prepared so as to be conveniently linked with application programs
-(which use some of those functions and data) to form executables.
-
- The "Library", below, refers to any such software library or work
-which has been distributed under these terms. A "work based on the
-Library" means either the Library or any derivative work under
-copyright law: that is to say, a work containing the Library or a
-portion of it, either verbatim or with modifications and/or translated
-straightforwardly into another language. (Hereinafter, translation is
-included without limitation in the term "modification".)
-
- "Source code" for a work means the preferred form of the work for
-making modifications to it. For a library, complete source code means
-all the source code for all modules it contains, plus any associated
-interface definition files, plus the scripts used to control compilation
-and installation of the library.
-
- Activities other than copying, distribution and modification are not
-covered by this License; they are outside its scope. The act of
-running a program using the Library is not restricted, and output from
-such a program is covered only if its contents constitute a work based
-on the Library (independent of the use of the Library in a tool for
-writing it). Whether that is true depends on what the Library does
-and what the program that uses the Library does.
-
- 1. You may copy and distribute verbatim copies of the Library's
-complete source code as you receive it, in any medium, provided that
-you conspicuously and appropriately publish on each copy an
-appropriate copyright notice and disclaimer of warranty; keep intact
-all the notices that refer to this License and to the absence of any
-warranty; and distribute a copy of this License along with the
-Library.
-
- You may charge a fee for the physical act of transferring a copy,
-and you may at your option offer warranty protection in exchange for a
-fee.
-
- 2. You may modify your copy or copies of the Library or any portion
-of it, thus forming a work based on the Library, and copy and
-distribute such modifications or work under the terms of Section 1
-above, provided that you also meet all of these conditions:
-
- a) The modified work must itself be a software library.
-
- b) You must cause the files modified to carry prominent notices
- stating that you changed the files and the date of any change.
-
- c) You must cause the whole of the work to be licensed at no
- charge to all third parties under the terms of this License.
-
- d) If a facility in the modified Library refers to a function or a
- table of data to be supplied by an application program that uses
- the facility, other than as an argument passed when the facility
- is invoked, then you must make a good faith effort to ensure that,
- in the event an application does not supply such function or
- table, the facility still operates, and performs whatever part of
- its purpose remains meaningful.
-
- (For example, a function in a library to compute square roots has
- a purpose that is entirely well-defined independent of the
- application. Therefore, Subsection 2d requires that any
- application-supplied function or table used by this function must
- be optional: if the application does not supply it, the square
- root function must still compute square roots.)
-
-These requirements apply to the modified work as a whole. If
-identifiable sections of that work are not derived from the Library,
-and can be reasonably considered independent and separate works in
-themselves, then this License, and its terms, do not apply to those
-sections when you distribute them as separate works. But when you
-distribute the same sections as part of a whole which is a work based
-on the Library, the distribution of the whole must be on the terms of
-this License, whose permissions for other licensees extend to the
-entire whole, and thus to each and every part regardless of who wrote
-it.
-
-Thus, it is not the intent of this section to claim rights or contest
-your rights to work written entirely by you; rather, the intent is to
-exercise the right to control the distribution of derivative or
-collective works based on the Library.
-
-In addition, mere aggregation of another work not based on the Library
-with the Library (or with a work based on the Library) on a volume of
-a storage or distribution medium does not bring the other work under
-the scope of this License.
-
- 3. You may opt to apply the terms of the ordinary GNU General Public
-License instead of this License to a given copy of the Library. To do
-this, you must alter all the notices that refer to this License, so
-that they refer to the ordinary GNU General Public License, version 2,
-instead of to this License. (If a newer version than version 2 of the
-ordinary GNU General Public License has appeared, then you can specify
-that version instead if you wish.) Do not make any other change in
-these notices.
-
- Once this change is made in a given copy, it is irreversible for
-that copy, so the ordinary GNU General Public License applies to all
-subsequent copies and derivative works made from that copy.
-
- This option is useful when you wish to copy part of the code of
-the Library into a program that is not a library.
-
- 4. You may copy and distribute the Library (or a portion or
-derivative of it, under Section 2) in object code or executable form
-under the terms of Sections 1 and 2 above provided that you accompany
-it with the complete corresponding machine-readable source code, which
-must be distributed under the terms of Sections 1 and 2 above on a
-medium customarily used for software interchange.
-
- If distribution of object code is made by offering access to copy
-from a designated place, then offering equivalent access to copy the
-source code from the same place satisfies the requirement to
-distribute the source code, even though third parties are not
-compelled to copy the source along with the object code.
-
- 5. A program that contains no derivative of any portion of the
-Library, but is designed to work with the Library by being compiled or
-linked with it, is called a "work that uses the Library". Such a
-work, in isolation, is not a derivative work of the Library, and
-therefore falls outside the scope of this License.
-
- However, linking a "work that uses the Library" with the Library
-creates an executable that is a derivative of the Library (because it
-contains portions of the Library), rather than a "work that uses the
-library". The executable is therefore covered by this License.
-Section 6 states terms for distribution of such executables.
-
- When a "work that uses the Library" uses material from a header file
-that is part of the Library, the object code for the work may be a
-derivative work of the Library even though the source code is not.
-Whether this is true is especially significant if the work can be
-linked without the Library, or if the work is itself a library. The
-threshold for this to be true is not precisely defined by law.
-
- If such an object file uses only numerical parameters, data
-structure layouts and accessors, and small macros and small inline
-functions (ten lines or less in length), then the use of the object
-file is unrestricted, regardless of whether it is legally a derivative
-work. (Executables containing this object code plus portions of the
-Library will still fall under Section 6.)
-
- Otherwise, if the work is a derivative of the Library, you may
-distribute the object code for the work under the terms of Section 6.
-Any executables containing that work also fall under Section 6,
-whether or not they are linked directly with the Library itself.
-
- 6. As an exception to the Sections above, you may also combine or
-link a "work that uses the Library" with the Library to produce a
-work containing portions of the Library, and distribute that work
-under terms of your choice, provided that the terms permit
-modification of the work for the customer's own use and reverse
-engineering for debugging such modifications.
-
- You must give prominent notice with each copy of the work that the
-Library is used in it and that the Library and its use are covered by
-this License. You must supply a copy of this License. If the work
-during execution displays copyright notices, you must include the
-copyright notice for the Library among them, as well as a reference
-directing the user to the copy of this License. Also, you must do one
-of these things:
-
- a) Accompany the work with the complete corresponding
- machine-readable source code for the Library including whatever
- changes were used in the work (which must be distributed under
- Sections 1 and 2 above); and, if the work is an executable linked
- with the Library, with the complete machine-readable "work that
- uses the Library", as object code and/or source code, so that the
- user can modify the Library and then relink to produce a modified
- executable containing the modified Library. (It is understood
- that the user who changes the contents of definitions files in the
- Library will not necessarily be able to recompile the application
- to use the modified definitions.)
-
- b) Use a suitable shared library mechanism for linking with the
- Library. A suitable mechanism is one that (1) uses at run time a
- copy of the library already present on the user's computer system,
- rather than copying library functions into the executable, and (2)
- will operate properly with a modified version of the library, if
- the user installs one, as long as the modified version is
- interface-compatible with the version that the work was made with.
-
- c) Accompany the work with a written offer, valid for at
- least three years, to give the same user the materials
- specified in Subsection 6a, above, for a charge no more
- than the cost of performing this distribution.
-
- d) If distribution of the work is made by offering access to copy
- from a designated place, offer equivalent access to copy the above
- specified materials from the same place.
-
- e) Verify that the user has already received a copy of these
- materials or that you have already sent this user a copy.
-
- For an executable, the required form of the "work that uses the
-Library" must include any data and utility programs needed for
-reproducing the executable from it. However, as a special exception,
-the materials to be distributed need not include anything that is
-normally distributed (in either source or binary form) with the major
-components (compiler, kernel, and so on) of the operating system on
-which the executable runs, unless that component itself accompanies
-the executable.
-
- It may happen that this requirement contradicts the license
-restrictions of other proprietary libraries that do not normally
-accompany the operating system. Such a contradiction means you cannot
-use both them and the Library together in an executable that you
-distribute.
-
- 7. You may place library facilities that are a work based on the
-Library side-by-side in a single library together with other library
-facilities not covered by this License, and distribute such a combined
-library, provided that the separate distribution of the work based on
-the Library and of the other library facilities is otherwise
-permitted, and provided that you do these two things:
-
- a) Accompany the combined library with a copy of the same work
- based on the Library, uncombined with any other library
- facilities. This must be distributed under the terms of the
- Sections above.
-
- b) Give prominent notice with the combined library of the fact
- that part of it is a work based on the Library, and explaining
- where to find the accompanying uncombined form of the same work.
-
- 8. You may not copy, modify, sublicense, link with, or distribute
-the Library except as expressly provided under this License. Any
-attempt otherwise to copy, modify, sublicense, link with, or
-distribute the Library is void, and will automatically terminate your
-rights under this License. However, parties who have received copies,
-or rights, from you under this License will not have their licenses
-terminated so long as such parties remain in full compliance.
-
- 9. You are not required to accept this License, since you have not
-signed it. However, nothing else grants you permission to modify or
-distribute the Library or its derivative works. These actions are
-prohibited by law if you do not accept this License. Therefore, by
-modifying or distributing the Library (or any work based on the
-Library), you indicate your acceptance of this License to do so, and
-all its terms and conditions for copying, distributing or modifying
-the Library or works based on it.
-
- 10. Each time you redistribute the Library (or any work based on the
-Library), the recipient automatically receives a license from the
-original licensor to copy, distribute, link with or modify the Library
-subject to these terms and conditions. You may not impose any further
-restrictions on the recipients' exercise of the rights granted herein.
-You are not responsible for enforcing compliance by third parties with
-this License.
-
- 11. If, as a consequence of a court judgment or allegation of patent
-infringement or for any other reason (not limited to patent issues),
-conditions are imposed on you (whether by court order, agreement or
-otherwise) that contradict the conditions of this License, they do not
-excuse you from the conditions of this License. If you cannot
-distribute so as to satisfy simultaneously your obligations under this
-License and any other pertinent obligations, then as a consequence you
-may not distribute the Library at all. For example, if a patent
-license would not permit royalty-free redistribution of the Library by
-all those who receive copies directly or indirectly through you, then
-the only way you could satisfy both it and this License would be to
-refrain entirely from distribution of the Library.
-
-If any portion of this section is held invalid or unenforceable under any
-particular circumstance, the balance of the section is intended to apply,
-and the section as a whole is intended to apply in other circumstances.
-
-It is not the purpose of this section to induce you to infringe any
-patents or other property right claims or to contest validity of any
-such claims; this section has the sole purpose of protecting the
-integrity of the free software distribution system which is
-implemented by public license practices. Many people have made
-generous contributions to the wide range of software distributed
-through that system in reliance on consistent application of that
-system; it is up to the author/donor to decide if he or she is willing
-to distribute software through any other system and a licensee cannot
-impose that choice.
-
-This section is intended to make thoroughly clear what is believed to
-be a consequence of the rest of this License.
-
- 12. If the distribution and/or use of the Library is restricted in
-certain countries either by patents or by copyrighted interfaces, the
-original copyright holder who places the Library under this License may add
-an explicit geographical distribution limitation excluding those countries,
-so that distribution is permitted only in or among countries not thus
-excluded. In such case, this License incorporates the limitation as if
-written in the body of this License.
-
- 13. The Free Software Foundation may publish revised and/or new
-versions of the Lesser General Public License from time to time.
-Such new versions will be similar in spirit to the present version,
-but may differ in detail to address new problems or concerns.
-
-Each version is given a distinguishing version number. If the Library
-specifies a version number of this License which applies to it and
-"any later version", you have the option of following the terms and
-conditions either of that version or of any later version published by
-the Free Software Foundation. If the Library does not specify a
-license version number, you may choose any version ever published by
-the Free Software Foundation.
-
- 14. If you wish to incorporate parts of the Library into other free
-programs whose distribution conditions are incompatible with these,
-write to the author to ask for permission. For software which is
-copyrighted by the Free Software Foundation, write to the Free
-Software Foundation; we sometimes make exceptions for this. Our
-decision will be guided by the two goals of preserving the free status
-of all derivatives of our free software and of promoting the sharing
-and reuse of software generally.
-
- NO WARRANTY
-
- 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO
-WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW.
-EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR
-OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY
-KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
-IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
-PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE
-LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME
-THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
-
- 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
-WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY
-AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU
-FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR
-CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE
-LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING
-RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A
-FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF
-SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
-DAMAGES.
-
- END OF TERMS AND CONDITIONS
-
- How to Apply These Terms to Your New Libraries
-
- If you develop a new library, and you want it to be of the greatest
-possible use to the public, we recommend making it free software that
-everyone can redistribute and change. You can do so by permitting
-redistribution under these terms (or, alternatively, under the terms of the
-ordinary General Public License).
-
- To apply these terms, attach the following notices to the library. It is
-safest to attach them to the start of each source file to most effectively
-convey the exclusion of warranty; and each file should have at least the
-"copyright" line and a pointer to where the full notice is found.
-
- <one line to give the library's name and a brief idea of what it does.>
- Copyright (C) <year> <name of author>
-
- This library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- This library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with this library; if not, write to the Free Software
- Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
-
-Also add information on how to contact you by electronic and paper mail.
-
-You should also get your employer (if you work as a programmer) or your
-school, if any, to sign a "copyright disclaimer" for the library, if
-necessary. Here is a sample; alter the names:
-
- Yoyodyne, Inc., hereby disclaims all copyright interest in the
- library `Frob' (a library for tweaking knobs) written by James Random Hacker.
-
- <signature of Ty Coon>, 1 April 1990
- Ty Coon, President of Vice
-
-That's all there is to it!
-
-
diff --git a/debian/changelog b/debian/changelog
deleted file mode 100644
index 16139b0..0000000
--- a/debian/changelog
+++ /dev/null
@@ -1,39 +0,0 @@
-libslp-lbsplugin-replay (0.1.3-2) unstable; urgency=low
-
- * change spec file
- * Git: pkgs/l/libslp-lbsplugin-replay
- * Tag: libslp-lbsplugin-replay_0.1.3-2
-
- -- Genie Kim <daejins.kim@samsung.com> Tue, 21 Feb 2012 20:04:52 +0900
-
-libslp-lbsplugin-replay (0.1.3-1) unstable; urgency=low
-
- * add position valid data in sv_data
- * Git: pkgs/l/libslp-lbsplugin-replay
- * Tag: libslp-lbsplugin-replay_0.1.3-1
-
- -- Minjune Kim <sena06.kim@samsung.com> Fri, 17 Feb 2012 17:12:01 +0900
-
-libslp-lbsplugin-replay (0.1.2-1) unstable; urgency=low
-
- * bug fix for fclose
- * Git: pkgs/l/libslp-lbsplugin-replay
- * Tag: libslp-lbsplugin-replay_0.1.2-1
-
- -- Genie Kim <daejins.kim@samsung.com> Wed, 15 Feb 2012 11:10:09 +0900
-
-libslp-lbsplugin-replay (0.1.1-1) unstable; urgency=low
-
- * Add manual replay mode for SDK
- * Git: pkgs/l/libslp-lbsplugin-replay
- * Tag: libslp-lbsplugin-replay_0.1.1-1
-
- -- Genie Kim <daejins.kim@samsung.com> Wed, 01 Feb 2012 16:18:43 +0900
-
-libslp-lbsplugin-replay (0.1.0-1) unstable; urgency=low
-
- * Initial Release.
- * Git: pkgs/l/libslp-lbsplugin-replay
- * Tag: libslp-lbsplugin-replay_0.1.0-1
-
- -- Genie Kim <daejins.kim@samsung.com> Mon, 26 Sep 2011 00:00:00 +0900
diff --git a/debian/compat b/debian/compat
deleted file mode 100644
index 7ed6ff8..0000000
--- a/debian/compat
+++ /dev/null
@@ -1 +0,0 @@
-5
diff --git a/debian/control b/debian/control
deleted file mode 100644
index ec86f1b..0000000
--- a/debian/control
+++ /dev/null
@@ -1,19 +0,0 @@
-Source: libslp-lbsplugin-replay
-Section: devel
-Priority: extra
-Maintainer: Youngae Kang <youngae.kang@samsung.com>, Yunhan Kim <yhan.kim@samsung.com>, Genie Kim <daejins.kim@samsung.com>
-Uploaders: Genie Kim <daejins.kim@samsung.com>
-Build-Depends: debhelper (>= 4.0.0), autotools-dev, gps-manager-plugin-dev, libglib2.0-dev, libvconf-dev, dlog-dev
-Standards-Version: 0.1.0
-
-Package: libslp-lbs-plugin-replay
-Section: libs
-Architecture: any
-Depends: ${shlibs:Depends}, ${misc:Depends}, libglib2.0-0, libvconf-0, libdlog-0
-Description: GPS manager plugin library for replay mode
-
-Package: libslp-lbs-plugin-replay-dbg
-Section: debug
-Architecture: armel
-Depends: libslp-lbs-plugin-replay (= ${Source-Version})
-Description: GPS manager plugin library for replay mode (for debugging)
diff --git a/debian/copyright b/debian/copyright
deleted file mode 100644
index e69de29..0000000
--- a/debian/copyright
+++ /dev/null
diff --git a/debian/dirs b/debian/dirs
deleted file mode 100644
index e69de29..0000000
--- a/debian/dirs
+++ /dev/null
diff --git a/debian/docs b/debian/docs
deleted file mode 100644
index e69de29..0000000
--- a/debian/docs
+++ /dev/null
diff --git a/debian/libslp-lbs-plugin-replay.install.in b/debian/libslp-lbs-plugin-replay.install.in
deleted file mode 100644
index c4e3813..0000000
--- a/debian/libslp-lbs-plugin-replay.install.in
+++ /dev/null
@@ -1,3 +0,0 @@
-debian/tmp@PREFIX@/lib/libSLP-lbs-plugin-replay.so
-debian/tmp@PREFIX@/lib/libSLP-lbs-plugin-replay.so.*
-debian/tmp/opt/data/gps-manager/replay/*
diff --git a/debian/libslp-lbs-plugin-replay.postinst.in b/debian/libslp-lbs-plugin-replay.postinst.in
deleted file mode 100644
index a346f90..0000000
--- a/debian/libslp-lbs-plugin-replay.postinst.in
+++ /dev/null
@@ -1,13 +0,0 @@
-#!/bin/sh
-rm -rf /usr/lib/libSLP-lbs-plugin.so
-ln -sf /usr/lib/libSLP-lbs-plugin-replay.so /usr/lib/libSLP-lbs-plugin.so
-
-
-if [ "${USER}" = "root" ]
-then
-#Change File owner
- chown root:root /opt/data/gps-manager/replay/nmea_replay.log
-
-#Change File Permission
- chmod 666 /opt/data/gps-manager/replay/nmea_replay.log
-fi
diff --git a/debian/rules b/debian/rules
deleted file mode 100755
index 806e52a..0000000
--- a/debian/rules
+++ /dev/null
@@ -1,128 +0,0 @@
-#!/usr/bin/make -f
-# -*- makefile -*-
-# Sample debian/rules that uses debhelper.
-# This file was originally written by Joey Hess and Craig Small.
-# As a special exception, when this file is copied by dh-make into a
-# dh-make output file, you may use that output file without restriction.
-# This special exception was added by Craig Small in version 0.37 of dh-make.
-
-# Uncomment this to turn on verbose mode.
-export DH_VERBOSE=1
-
-
-# These are used for cross-compiling and for saving the configure script
-# from having to guess our platform (since we know it already)
-
-CFLAGS ?= -Wall -g
-LDFLAGS ?=
-PREFIX ?= /usr
-DESTDIR ?= $(CURDIR)/debian/tmp
-DATADIR ?= $(DESTDIR)/opt/data/gps-manager
-
-#CFLAGS += -O0
-#CXXFLAGS += -O0
-CFLAGS += -fvisibility=hidden -Wall -fPIC
-CXXFLAGS += -fvisibility=hidden -Wall -fPIC
-LDFLAGS += -Wl,--as-needed -Wl,--hash-style=both
-
-configure: configure-stamp
-configure-stamp:
- dh_testdir
- # Add here commands to configure the package.
- ./autogen.sh
- mkdir -p build
- cd build && CFLAGS="$(CFLAGS)" CXXFLAGS="$(CXXFLAGS)" LDFLAGS="$(LDFLAGS)" ../configure --prefix=$(PREFIX) --datadir=$(DATADIR)
-
- touch $@
-
-build: build-stamp
-build-stamp: configure-stamp
- dh_testdir
-
- # Add here commands to compile the package.
- mkdir -p build
- cd build && $(MAKE)
- #docbook-to-man debian/ncurses.sgml > ncurses.1
-
- for f in `find $(CURDIR)/debian/ -name "*.in"`; do \
- cat $$f > $${f%.in}; \
- sed -i -e "s#@PREFIX@#$(PREFIX)#g" $${f%.in}; \
- sed -i -e "s#@DATADIR@#$(DATADIR)#g" $${f%.in}; \
- done
-
- touch $@
-
-clean:
- dh_testdir
- dh_testroot
- rm -f build-stamp configure-stamp
-
- # Add here commands to clean up after the build process.
- mkdir -p build
- cd build
- -$(MAKE) clean
- -$(MAKE) distclean
- cd ..
-
- for f in `find $(CURDIR)/debian/ -name "*.in"`; do \
- rm -f $${f%.in}; \
- done
-
- find $(CURDIR) -name "Makefile.in" -exec rm -f {} \;
-
- dh_clean
- rm -rf build
- rm -rf build-aux
- rm -rf m4
- rm -f aclocal.m4 config.h.in configure
-
-install: build
- dh_testdir
- dh_testroot
-# dh_clean -k
- dh_installdirs
-
- # Add here commands to install the package into debian/ncurses.
- mkdir -p build
- cd build && $(MAKE) DESTDIR=$(DESTDIR) install
-
- mkdir -p $(DATADIR)/replay
- cp -a nmea-log/*.log $(DATADIR)/replay
-
-# Build architecture-independent files here.
-binary-indep: build install
-# We have nothing to do by default.
-
-# Build architecture-dependent files here.
-binary-arch: build install
- dh_testdir
- dh_testroot
- dh_installchangelogs
- dh_installdocs
- dh_installexamples
- dh_install #--sourcedir=debian/tmp
-# dh_installmenu
-# dh_installdebconf
-# dh_installlogrotate
-# dh_installemacsen
-# dh_installpam
-# dh_installmime
-# dh_python
-# dh_installinit
-# dh_installcron
-# dh_installinfo
- dh_installman
- dh_link
- dh_strip --dbg-package=libslp-lbs-plugin-replay-dbg
- dh_compress
- dh_fixperms
-# dh_perl
- dh_makeshlibs
- dh_installdeb
- dh_shlibdeps
- dh_gencontrol
- dh_md5sums
- dh_builddeb
-
-binary: binary-indep binary-arch
-.PHONY: build clean binary-indep binary-arch binary install
diff --git a/replay-plugin/Makefile.am b/replay-plugin/Makefile.am
deleted file mode 100644
index 4a699dd..0000000
--- a/replay-plugin/Makefile.am
+++ /dev/null
@@ -1,17 +0,0 @@
-################# Build library ################
-lib_LTLIBRARIES = libSLP-lbs-plugin-replay.la
-
-libSLP_lbs_plugin_replay_la_SOURCES = \
- $(srcdir)/src/nmea_parser.c \
- $(srcdir)/src/gps_plugin_replay.c \
- $(srcdir)/src/setting.c
-
-libSLP_lbs_plugin_replay_la_CFLAGS = -Wall -fPIC -fvisibility=hidden -DEXPORT_API="__attribute__((visibility(\"default\")))" \
- -I$(srcdir)/include \
- $(GPS_MANAGER_PLUGIN_CFLAGS) \
- $(VCONF_CFLAGS) \
- $(DLOG_CFLAGS)
-
-libSLP_lbs_plugin_replay_la_LDFLAGS = -Wl,--hash-style=both -Wl,--as-needed \
- $(VCONF_LIBS) \
- $(DLOG_LIBS)
diff --git a/replay-plugin/include/gps_plugin_debug.h b/replay-plugin/include/gps_plugin_debug.h
deleted file mode 100644
index daef1c7..0000000
--- a/replay-plugin/include/gps_plugin_debug.h
+++ /dev/null
@@ -1,51 +0,0 @@
-/*
- * GPS manager replay plugin
- *
- * Copyright (c) 2011 Samsung Electronics Co., Ltd. All rights reserved.
- *
- * Contact: Youngae Kang <youngae.kang@samsung.com>, Yunhan Kim <yhan.kim@samsung.com>,
- * Genie Kim <daejins.kim@samsung.com>, Minjune Kim <sena06.kim@samsung.com>
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#ifndef __GPS_PLUGIN_DEBUG_H__
-#define __GPS_PLUGIN_DEBUG_H__
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#define GPS_DLOG
-#define GPS_DLOG_DEBUG // filename and line number will be shown
-
-#ifdef GPS_DLOG
-#include <dlog.h>
-#define TAG_GPS_PLUGIN "gps-plugin"
-
-#define DBG_LOW LOG_DEBUG
-#define DBG_INFO LOG_INFO
-#define DBG_WARN LOG_WARN
-#define DBG_ERR LOG_ERROR
-
-#ifdef GPS_DLOG_DEBUG // Debug mode
-#define LOG_PLUGIN(dbg_lvl,fmt,args...) SLOG(dbg_lvl, TAG_GPS_PLUGIN, "[%-40s: %-4d] "fmt, __FILE__, __LINE__, ##args)
-#else // Release(commercial) mode
-#define LOG_PLUGIN(dbg_lvl,fmt,args...) SLOG(dbg_lvl, TAG_GPS_PLUGIN, fmt, ##args)
-#endif
-#endif
-
-#ifdef __cplusplus
-}
-#endif
-#endif
diff --git a/replay-plugin/include/nmea_parser.h b/replay-plugin/include/nmea_parser.h
deleted file mode 100644
index a86c533..0000000
--- a/replay-plugin/include/nmea_parser.h
+++ /dev/null
@@ -1,34 +0,0 @@
-/*
- * GPS manager replay plugin
- *
- * Copyright (c) 2011 Samsung Electronics Co., Ltd. All rights reserved.
- *
- * Contact: Youngae Kang <youngae.kang@samsung.com>, Yunhan Kim <yhan.kim@samsung.com>,
- * Genie Kim <daejins.kim@samsung.com>, Minjune Kim <sena06.kim@samsung.com>
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#ifndef NMEA_PARSER_H
-#define NMEA_PARSER_H
-
-#ifdef __cplusplus
-extern "C" {
-#endif // __cplusplus
-
-int nmea_parser(char *data, pos_data_t * pos, sv_data_t * sv);
-
-#ifdef __cplusplus
-}
-#endif // __cplusplus
-#endif
diff --git a/replay-plugin/include/setting.h b/replay-plugin/include/setting.h
deleted file mode 100644
index cd81912..0000000
--- a/replay-plugin/include/setting.h
+++ /dev/null
@@ -1,61 +0,0 @@
-/*
- * GPS manager replay plugin
- *
- * Copyright (c) 2011 Samsung Electronics Co., Ltd. All rights reserved.
- *
- * Contact: Youngae Kang <youngae.kang@samsung.com>, Yunhan Kim <yhan.kim@samsung.com>,
- * Genie Kim <daejins.kim@samsung.com>, Minjune Kim <sena06.kim@samsung.com>
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#ifndef _SETTING_H_
-#define _SETTING_H_
-
-#include <vconf.h>
-#include <vconf-keys.h>
-
-#define NMEA_FILE_PATH "/opt/data/gps-manager/replay/"
-
-#define LOCATION_SETTING_PATH "db/location"
-
-#define REPLAY_SETTING LOCATION_SETTING_PATH"/replay"
-#define REPLAY_ENABLED REPLAY_SETTING"/ReplayEnabled"
-#define REPLAY_MODE REPLAY_SETTING"/ReplayMode"
-#define NMEA_FILE_NAME REPLAY_SETTING"/FileName"
-#define MANUAL_LATITUDE REPLAY_SETTING"/ManualLatitude"
-#define MANUAL_LONGITUDE REPLAY_SETTING"/ManualLongitude"
-#define MANUAL_ALTITUDE REPLAY_SETTING"/ManualAltitude"
-
-typedef enum {
- REPLAY_OFF = 0,
- REPLAY_NMEA,
- REPLAY_MANUAL,
- REPLAY_MODE_MAX
-} replay_mode_t;
-
-typedef enum {
- READ_ERROR = -1,
- READ_SUCCESS = 0,
- READ_NOT_FIXED = 1,
-} read_error_t;
-
-int setting_get_int(const char *path, int *val);
-int setting_get_double(const char *path, double *val);
-char *setting_get_string(const char *path);
-
-typedef void (*key_changed_cb) (keynode_t * key, void *data);
-
-int setting_notify_key_changed(const char *path, void *key_changed_cb);
-int setting_ignore_key_changed(const char *path, void *key_changed_cb);
-#endif /* _SETTING_H_ */
diff --git a/replay-plugin/src/gps_plugin_replay.c b/replay-plugin/src/gps_plugin_replay.c
deleted file mode 100755
index b2a1884..0000000
--- a/replay-plugin/src/gps_plugin_replay.c
+++ /dev/null
@@ -1,486 +0,0 @@
-/*
- * GPS manager replay plugin
- *
- * Copyright (c) 2011 Samsung Electronics Co., Ltd. All rights reserved.
- *
- * Contact: Youngae Kang <youngae.kang@samsung.com>, Yunhan Kim <yhan.kim@samsung.com>,
- * Genie Kim <daejins.kim@samsung.com>, Minjune Kim <sena06.kim@samsung.com>
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <glib.h>
-#include <errno.h>
-#include <sys/time.h>
-
-#include <gps_manager_plugin_intf.h>
-
-#include "gps_plugin_debug.h"
-#include "nmea_parser.h"
-#include "setting.h"
-
-#define REPLAY_NMEA_SET_SIZE 4096
-#define REPLAY_NMEA_SENTENCE_SIZE 128
-
-gps_event_cb g_gps_event_cb = NULL;
-
-typedef struct {
- FILE *fd;
- int interval;
- int replay_mode;
-
- pos_data_t *pos_data;
- sv_data_t *sv_data;
- nmea_data_t *nmea_data;
-
- GSource *timeout_src;
- GMainContext *default_context;
-} replay_timeout;
-
-replay_timeout *g_replay_timer = NULL;
-
-int gps_plugin_replay_gps_init(gps_event_cb gps_event_cb, gps_server_param_t * gps_params);
-int gps_plugin_replay_gps_deinit(gps_failure_reason_t * reason_code);
-int gps_plugin_replay_gps_request(gps_action_t gps_action, void *data, gps_failure_reason_t * reason_code);
-
-static const gps_plugin_interface g_gps_plugin_replay_interface = {
- gps_plugin_replay_gps_init,
- gps_plugin_replay_gps_deinit,
- gps_plugin_replay_gps_request
-};
-
-void gps_plugin_replay_pos_event(pos_data_t * data)
-{
- gps_event_info_t gps_event;
- time_t timestamp;
-
- memset(&gps_event, 0, sizeof(gps_event_info_t));
- time(&timestamp);
-
- gps_event.event_id = GPS_EVENT_REPORT_POSITION;
-
- if (data == NULL) {
- LOG_PLUGIN(DBG_ERR, "NULL POS data.");
- gps_event.event_data.pos_ind.error = GPS_ERR_COMMUNICATION;
- } else {
- gps_event.event_data.pos_ind.error = GPS_ERR_NONE;
- gps_event.event_data.pos_ind.pos.timestamp = timestamp;
- gps_event.event_data.pos_ind.pos.latitude = data->latitude;
- gps_event.event_data.pos_ind.pos.longitude = data->longitude;
- gps_event.event_data.pos_ind.pos.altitude = data->altitude;
- gps_event.event_data.pos_ind.pos.speed = data->speed;
- gps_event.event_data.pos_ind.pos.bearing = data->bearing;
- gps_event.event_data.pos_ind.pos.hor_accuracy = data->hor_accuracy;
- gps_event.event_data.pos_ind.pos.ver_accuracy = data->ver_accuracy;
- }
-
- //LOG_PLUGIN(DBG_LOW, "%d / %f / %f / %f", gps_event.event_data.pos_ind.pos.timestamp, gps_event.event_data.pos_ind.pos.latitude, gps_event.event_data.pos_ind.pos.longitude, gps_event.event_data.pos_ind.pos.altitude);
-
- if (g_gps_event_cb != NULL) {
- g_gps_event_cb(&gps_event);
- }
-}
-
-void gps_plugin_replay_sv_event(sv_data_t * data)
-{
- int i;
- gps_event_info_t gps_event;
- time_t timestamp;
-
- memset(&gps_event, 0, sizeof(gps_event_info_t));
- time(&timestamp);
- gps_event.event_id = GPS_EVENT_REPORT_SATELLITE;
-
- if (data == NULL) {
- LOG_PLUGIN(DBG_ERR, "NULL SV data.");
- gps_event.event_data.sv_ind.error = GPS_ERR_COMMUNICATION;
- } else {
- gps_event.event_data.sv_ind.error = GPS_ERR_NONE;
- gps_event.event_data.sv_ind.sv.timestamp = timestamp;
- gps_event.event_data.sv_ind.sv.pos_valid = data->pos_valid;
- gps_event.event_data.sv_ind.sv.num_of_sat = data->num_of_sat;
- for (i = 0; i < data->num_of_sat; i++) {
- gps_event.event_data.sv_ind.sv.sat[i].used = data->sat[i].used;
- gps_event.event_data.sv_ind.sv.sat[i].prn = data->sat[i].prn;
- gps_event.event_data.sv_ind.sv.sat[i].snr = data->sat[i].snr;
- gps_event.event_data.sv_ind.sv.sat[i].elevation = data->sat[i].elevation;
- gps_event.event_data.sv_ind.sv.sat[i].azimuth = data->sat[i].azimuth;
- }
- }
-
- if (g_gps_event_cb != NULL) {
- g_gps_event_cb(&gps_event);
- }
-}
-
-void gps_plugin_replay_nmea_event(nmea_data_t * data)
-{
- gps_event_info_t gps_event;
- time_t timestamp;
-
- memset(&gps_event, 0, sizeof(gps_event_info_t));
- time(&timestamp);
-
- gps_event.event_id = GPS_EVENT_REPORT_NMEA;
-
- if (data == NULL) {
- LOG_PLUGIN(DBG_ERR, "NULL NMEA data.");
- gps_event.event_data.nmea_ind.error = GPS_ERR_COMMUNICATION;
- } else {
- if (data->len > REPLAY_NMEA_SENTENCE_SIZE) {
- LOG_PLUGIN(DBG_WARN, "The Size of NMEA[ %d ] is larger then max ", data->len);
- data->len = REPLAY_NMEA_SENTENCE_SIZE;
- gps_event.event_data.nmea_ind.error = GPS_ERR_COMMUNICATION;
- } else {
- gps_event.event_data.nmea_ind.error = GPS_ERR_NONE;
- }
- gps_event.event_data.nmea_ind.nmea.timestamp = timestamp;
- gps_event.event_data.nmea_ind.nmea.len = data->len;
- gps_event.event_data.nmea_ind.nmea.data = (char *)malloc(data->len);
- memset(gps_event.event_data.nmea_ind.nmea.data, 0x00, data->len);
- memcpy(gps_event.event_data.nmea_ind.nmea.data, data->data, data->len);
- //LOG_PLUGIN(DBG_LOW, "NMEA[%d] : %s", gps_event.event_data.nmea_ind.nmea.len, gps_event.event_data.nmea_ind.nmea.data);
- }
-
- if (g_gps_event_cb != NULL) {
- g_gps_event_cb(&gps_event);
- }
-
- if (gps_event.event_data.nmea_ind.nmea.data != NULL) {
- free(gps_event.event_data.nmea_ind.nmea.data);
- gps_event.event_data.nmea_ind.nmea.data = NULL;
- }
-}
-
-void gps_plugin_respond_start_session(gboolean ret)
-{
- gps_event_info_t gps_event;
- gps_event.event_id = GPS_EVENT_START_SESSION;
-
- if (ret == TRUE) {
- gps_event.event_data.start_session_rsp.error = GPS_ERR_NONE;
- } else {
- gps_event.event_data.start_session_rsp.error = GPS_ERR_COMMUNICATION;
- }
-
- if (g_gps_event_cb != NULL) {
- g_gps_event_cb(&gps_event);
- }
-}
-
-void gps_plugin_respond_stop_session(void)
-{
- gps_event_info_t gps_event;
-
- gps_event.event_id = GPS_EVENT_STOP_SESSION;
- gps_event.event_data.stop_session_rsp.error = GPS_ERR_NONE;
-
- if (g_gps_event_cb != NULL) {
- g_gps_event_cb(&gps_event);
- }
-}
-
-gboolean gps_plugin_replay_read_nmea(replay_timeout * timer, char *nmea_data)
-{
- gboolean ret = FALSE;
- int ref = 0;
- char buf[REPLAY_NMEA_SENTENCE_SIZE] = { 0, };
-
- if (nmea_data == NULL) {
- LOG_PLUGIN(DBG_ERR, "nmea_data is NULL");
- ret = FALSE;
- }
-
- while (fgets(buf, REPLAY_NMEA_SENTENCE_SIZE, timer->fd) != NULL) {
- if (strncmp(buf, "$GPGGA", 6) == 0) {
- ref++;
- if (ref > 1) {
- fseek(timer->fd, -strlen(buf), SEEK_CUR);
- LOG_PLUGIN(DBG_LOW, "2nd GPGGA : stop to read nmea data");
- ret = TRUE;
- break;
- } else if (ref == 1) {
- LOG_PLUGIN(DBG_LOW, "1st GPGGA : start to read nmea data");
- strncpy(nmea_data, buf, strlen(buf));
- }
- } else {
- if (strlen(nmea_data) + strlen(buf) > REPLAY_NMEA_SET_SIZE) {
- LOG_PLUGIN(DBG_ERR, "read nmea data size is too long");
- break;
- } else {
- strncat(nmea_data, buf, strlen(buf));
- }
- }
- timer->nmea_data->len = strlen(buf);
- timer->nmea_data->data = buf;
- gps_plugin_replay_nmea_event(timer->nmea_data);
- }
-
- if (feof(timer->fd)) {
- LOG_PLUGIN(DBG_ERR, "end of file");
- rewind(timer->fd);
- } else {
- LOG_PLUGIN(DBG_LOW, "read nmea data [%s]", nmea_data);
- }
- return ret;
-}
-
-gboolean gps_plugin_replay_read_manual(pos_data_t * pos_data)
-{
- gboolean ret = TRUE;
-
- if (setting_get_double(MANUAL_LATITUDE, &pos_data->latitude) == FALSE) {
- LOG_PLUGIN(DBG_ERR, "Fail to get latitude");
- ret = FALSE;
- }
- if (setting_get_double(MANUAL_LONGITUDE, &pos_data->longitude) == FALSE) {
- LOG_PLUGIN(DBG_ERR, "Fail to get longitude");
- ret = FALSE;
- }
- if (setting_get_double(MANUAL_ALTITUDE, &pos_data->altitude) == FALSE) {
- LOG_PLUGIN(DBG_ERR, "Fail to get altitude");
- ret = FALSE;
- }
-
- return ret;
-}
-
-gboolean gps_plugin_replay_timeout_cb(gpointer data)
-{
- gboolean ret = FALSE;
- read_error_t err = READ_SUCCESS;
- replay_timeout *timer = (replay_timeout *) data;
- char nmea_data[REPLAY_NMEA_SET_SIZE] = { 0, };
-
- memset(timer->pos_data, 0, sizeof(pos_data_t));
- memset(timer->sv_data, 0, sizeof(sv_data_t));
-
- if (timer->replay_mode == REPLAY_NMEA) {
- if (gps_plugin_replay_read_nmea(timer, nmea_data) == FALSE) {
- LOG_PLUGIN(DBG_ERR, "Fail to read nmea data from file");
- return FALSE;
- } else {
- err = nmea_parser(nmea_data, timer->pos_data, timer->sv_data);
- if (err == READ_ERROR) {
- LOG_PLUGIN(DBG_ERR, "Fail to parser nmea data from file");
- return FALSE;
- } else if (err == READ_NOT_FIXED) {
- LOG_PLUGIN(DBG_LOW, "GPS position is not fixed");
- timer->sv_data->pos_valid = FALSE;
- }
- }
- } else if (timer->replay_mode == REPLAY_MANUAL) {
- if (gps_plugin_replay_read_manual(timer->pos_data) == FALSE) {
- LOG_PLUGIN(DBG_ERR, "Fail to read manual data");
- err = READ_ERROR;
- return FALSE;
- } else {
- timer->sv_data->pos_valid = TRUE;
- err = READ_SUCCESS;
- }
- } else if (timer->replay_mode == REPLAY_OFF) {
- LOG_PLUGIN(DBG_WARN, "replay_mode is OFF");
- err = READ_NOT_FIXED;
- timer->sv_data->pos_valid = FALSE;
- }
-
- if (timer != NULL) {
- if (g_gps_event_cb != NULL) {
- if (err != READ_NOT_FIXED) {
- gps_plugin_replay_pos_event(timer->pos_data);
- }
- gps_plugin_replay_sv_event(timer->sv_data);
- }
- ret = TRUE;
- }
- return ret;
-}
-
-void gps_plugin_stop_replay_mode(replay_timeout * timer)
-{
- if (timer->replay_mode == REPLAY_NMEA && fclose(timer->fd) != 0) {
- LOG_PLUGIN(DBG_ERR, "fclose failed");
- }
-
- if (timer->timeout_src != NULL && timer->default_context != NULL && !g_source_is_destroyed(timer->timeout_src)) {
- if (timer->default_context == g_source_get_context(timer->timeout_src)) {
- g_source_destroy(timer->timeout_src);
- LOG_PLUGIN(DBG_LOW, "g_source_destroy timeout_src");
- } else {
- LOG_PLUGIN(DBG_WARN, "timer->timeout_src is attatched to 0x%x (actual 0x%x)",
- g_source_get_context(timer->timeout_src), timer->default_context);
- }
- timer->timeout_src = NULL;
- timer->default_context = NULL;
- } else {
- LOG_PLUGIN(DBG_WARN, "timeout_src or default_context is NULL or timeout_src is already destroyed");
- }
- gps_plugin_respond_stop_session();
-}
-
-gboolean gps_plugin_start_replay_mode(replay_timeout * timer)
-{
- gboolean ret = FALSE;
- char replay_file_path[256];
-
- if (timer->replay_mode == REPLAY_NMEA) {
- snprintf(replay_file_path, sizeof(replay_file_path), NMEA_FILE_PATH "%s", setting_get_string(NMEA_FILE_NAME));
- LOG_PLUGIN(DBG_ERR, "replay file name : %s", replay_file_path);
-
- timer->fd = fopen(replay_file_path, "r");
- if (timer->fd == NULL) {
- LOG_PLUGIN(DBG_ERR, "fopen(%s) failed", replay_file_path);
- return FALSE;
- }
- }
-
- if (timer->default_context == NULL) {
- timer->default_context = g_main_context_default();
- if (timer->default_context == NULL) {
- return ret;
- }
- }
-
- if (timer->timeout_src != NULL) {
- LOG_PLUGIN(DBG_ERR, "timeout_src is already existed");
- ret = FALSE;
- } else {
- timer->timeout_src = g_timeout_source_new_seconds(timer->interval);
- if (timer->timeout_src != NULL) {
- g_source_set_callback(timer->timeout_src, &gps_plugin_replay_timeout_cb, timer, NULL);
- if (g_source_attach(timer->timeout_src, timer->default_context) > 0) {
- LOG_PLUGIN(DBG_LOW, "timeout_src(0x%x) is created & attatched to 0x%x", timer->timeout_src,
- timer->default_context);
- ret = TRUE;
- } else {
- gps_plugin_stop_replay_mode(timer);
- ret = FALSE;
- }
- }
- }
- gps_plugin_respond_start_session(ret);
-
- return ret;
-}
-
-static void replay_mode_changed_cb(keynode_t * key, void *data)
-{
- if (setting_get_int(REPLAY_MODE, &g_replay_timer->replay_mode) == FALSE) {
- g_replay_timer->replay_mode = REPLAY_OFF;
- }
- return;
-}
-
-replay_timeout *gps_plugin_replay_timer_init()
-{
- replay_timeout *timer = NULL;
-
- timer = (replay_timeout *) malloc(sizeof(replay_timeout));
- if (timer == NULL) {
- LOG_PLUGIN(DBG_ERR, "replay_timeout allocation is failed.");
- return NULL;
- }
-
- timer->interval = 1;
- if (setting_get_int(REPLAY_MODE, &timer->replay_mode) == FALSE) {
- timer->replay_mode = REPLAY_OFF;
- }
- setting_notify_key_changed(REPLAY_MODE, replay_mode_changed_cb);
-
- timer->pos_data = (pos_data_t *) malloc(sizeof(pos_data_t));
- timer->sv_data = (sv_data_t *) malloc(sizeof(sv_data_t));
- timer->nmea_data = (nmea_data_t *) malloc(sizeof(nmea_data_t));
-
- if (timer->pos_data == NULL || timer->sv_data == NULL || timer->nmea_data == NULL) {
- LOG_PLUGIN(DBG_ERR, "pos_data or sv_data or nmea_data allocation is failed.");
- return NULL;
- }
-
- timer->timeout_src = NULL;
- timer->default_context = NULL;
-
- return timer;
-}
-
-void gps_plugin_replay_timer_deinit(replay_timeout * timer)
-{
- if (timer == NULL) {
- return;
- }
-
- if (timer->pos_data != NULL) {
- free(timer->pos_data);
- timer->pos_data = NULL;
- }
- if (timer->sv_data != NULL) {
- free(timer->sv_data);
- timer->sv_data = NULL;
- }
- if (timer->nmea_data != NULL) {
- free(timer->nmea_data);
- timer->nmea_data = NULL;
- }
-
- setting_ignore_key_changed(REPLAY_MODE, replay_mode_changed_cb);
-
- free(timer);
- timer = NULL;
-}
-
-int gps_plugin_replay_gps_init(gps_event_cb gps_event_cb, gps_server_param_t * gps_params)
-{
- g_gps_event_cb = gps_event_cb;
- g_replay_timer = gps_plugin_replay_timer_init();
-
- return TRUE;
-}
-
-int gps_plugin_replay_gps_deinit(gps_failure_reason_t * reason_code)
-{
- gps_plugin_replay_timer_deinit(g_replay_timer);
-
- return TRUE;
-}
-
-int gps_plugin_replay_gps_request(gps_action_t gps_action, void *data, gps_failure_reason_t * reason_code)
-{
- switch (gps_action) {
- case GPS_ACTION_SEND_PARAMS:
- break;
- case GPS_ACTION_START_SESSION:
- gps_plugin_start_replay_mode(g_replay_timer);
- break;
- case GPS_ACTION_STOP_SESSION:
- gps_plugin_stop_replay_mode(g_replay_timer);
- break;
- case GPS_INDI_SUPL_VERIFICATION:
- case GPS_INDI_SUPL_DNSQUERY:
- case GPS_ACTION_START_FACTTEST:
- case GPS_ACTION_STOP_FACTTEST:
- case GPS_ACTION_REQUEST_SUPL_NI:
- LOG_PLUGIN(DBG_LOW, "Don't use action type : [ %d ]", gps_action);
- break;
- default:
- break;
- }
-
- return TRUE;
-}
-
-EXPORT_API const gps_plugin_interface *get_gps_plugin_interface()
-{
- return &g_gps_plugin_replay_interface;
-}
diff --git a/replay-plugin/src/nmea_parser.c b/replay-plugin/src/nmea_parser.c
deleted file mode 100644
index a5a5d46..0000000
--- a/replay-plugin/src/nmea_parser.c
+++ /dev/null
@@ -1,362 +0,0 @@
-/*
- * GPS manager replay plugin
- *
- * Copyright (c) 2011 Samsung Electronics Co., Ltd. All rights reserved.
- *
- * Contact: Youngae Kang <youngae.kang@samsung.com>, Yunhan Kim <yhan.kim@samsung.com>,
- * Genie Kim <daejins.kim@samsung.com>, Minjune Kim <sena06.kim@samsung.com>
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <glib.h>
-#include <gps_manager_plugin_intf.h>
-
-#include "gps_plugin_debug.h"
-#include "nmea_parser.h"
-#include "setting.h"
-
-#define MAX_NMEA_SENTENCES 32
-#define MAX_TOEKNS 25
-
-#define DECIMAL_TO_DEGREE 60.0
-#define METER_TO_FEET 3.2808399
-#define KNOT_TO_MPS 0.5144444
-#define KMPH_TO_MPS 0.2777778
-
-#define NORTH 1
-#define SOUTH -1
-#define EAST 1
-#define WEST -1
-
-int used_sat[MAX_GPS_NUM_SAT_USED] = { 0, };
-
-static char nmea_parser_c2n(char ch)
-{
- if (ch <= '9') {
- return ch - '0';
- } else {
- return (ch - 'A') + 10;
- }
-}
-
-int nmea_parser_verify_checksum(char *nmea_sen)
-{
- int ret = -1;
- int i;
- int checksum = 0;
- int sum = 0;
-
- for (i = 0; i < strlen(nmea_sen) && (nmea_sen[i] != '*'); i++) {
- checksum ^= nmea_sen[i];
- }
-
- if (++i + 1 < strlen(nmea_sen)) {
- sum = (nmea_parser_c2n(nmea_sen[i]) << 4) + nmea_parser_c2n(nmea_sen[i + 1]);
- }
-
- if (sum == checksum) {
- ret = 0;
- } else {
- LOG_PLUGIN(DBG_LOW, "NMEA checksum is INVALID");
- ret = -1;
- }
- return ret;
-}
-
-int nmea_parser_tokenize(char input[], char *token[])
-{
- char *s = input;
- int num_tokens = 0;
- int state;
-
- token[num_tokens] = s;
- num_tokens++;
- state = 0;
- LOG_PLUGIN(DBG_LOW, "input:%s \n", input);
-
- while ((*s != 0) && (num_tokens < MAX_TOEKNS)) {
- switch (state) {
- case 0:
- if (*s == ',') {
- *s = 0;
- state = 1;
- }
- break;
- case 1:
- token[num_tokens++] = s;
- if (*s == ',') {
- *s = 0;
- } else {
- state = 0;
- }
- break;
- default:
- state = 0;
- break;
- }
- s++;
- }
- return num_tokens;
-}
-
-static double nmea_parser_get_latitude(const char *lat, const char *bearing)
-{
- double latitude = 0.0;
- int ns;
- int deg;
- double remainder;
-
- if ((*lat == 0) || (*bearing == 0)) {
- return latitude;
- }
-
- ns = (*bearing == 'N') ? NORTH : SOUTH;
-
- latitude = atof(lat);
- deg = (int)(latitude / 100.0);
- remainder = latitude - (deg * 100.0);
- latitude = (deg + (remainder / DECIMAL_TO_DEGREE)) * ns;
-
- return latitude;
-}
-
-static double nmea_parser_get_longitude(const char *lon, const char *bearing)
-{
- double longitude = 0.0;
- int ew;
- int deg;
- double remainder;
-
- if (*lon == 0 || (*bearing == 0)) {
- return longitude;
- }
-
- ew = (*bearing == 'E') ? EAST : WEST;
-
- longitude = atof(lon);
- deg = (int)(longitude / 100.0);
- remainder = longitude - (deg * 100.0);
- longitude = (deg + (remainder / DECIMAL_TO_DEGREE)) * ew;
-
- return longitude;
-}
-
-static double nmea_parser_get_altitude(const char *alt, const char *unit)
-{
- double altitude;
-
- if (*alt == 0) {
- return 0.0;
- }
-
- altitude = atof(alt);
- altitude = (*unit == 'M') ? altitude : altitude * METER_TO_FEET;
-
- return altitude;
-}
-
-static int nmea_parser_gpgga(char *token[], pos_data_t * pos, sv_data_t * sv)
-{
- double latitude, longitude, altitude, eph, geoid;
- int utctime, num_of_sat_used, quality;
-
- quality = atoi(token[6]);
-
- if (quality == 0) {
- LOG_PLUGIN(DBG_LOW, "Not fixed");
- sv->pos_valid = FALSE;
- return READ_NOT_FIXED;
- }
-
- utctime = atoi(token[1]);
- latitude = nmea_parser_get_latitude(token[2], token[3]);
- longitude = nmea_parser_get_longitude(token[4], token[5]);
- altitude = nmea_parser_get_altitude(token[9], token[10]);
- num_of_sat_used = atoi(token[7]);
- eph = atof(token[8]);
- geoid = nmea_parser_get_altitude(token[11], token[12]);
-
- pos->latitude = latitude;
- pos->longitude = longitude;
- pos->altitude = altitude;
-
- sv->pos_valid = TRUE;
-
- return READ_SUCCESS;
-}
-
-static int nmea_parser_gprmc(char *token[], pos_data_t * pos)
-{
- int date, utctime;
- char *status;
- double latitude, longitude, speed, bearing, magvar;
-
- status = token[2]; //warn = *token[2];
- if (strcmp(status, "V") == 0) {
- LOG_PLUGIN(DBG_LOW, "Not fixed");
- return READ_NOT_FIXED;
- }
-
- utctime = atoi(token[1]);
- latitude = nmea_parser_get_latitude(token[3], token[4]);
- longitude = nmea_parser_get_longitude(token[5], token[6]);
- speed = atof(token[7]);
- bearing = atof(token[8]);
- date = atoi(token[9]);
- magvar = atof(token[10]);
-
- pos->latitude = latitude;
- pos->longitude = longitude;
- pos->speed = speed * KNOT_TO_MPS;
- pos->bearing = bearing;
-
- return READ_SUCCESS;
-}
-
-static int nmea_parser_gpgsa(char *token[], pos_data_t * pos)
-{
- char selection_type;
- int i, fix_type;
- double pdop, hdop, vdop;
-
- fix_type = atoi(token[2]);
- if (fix_type == 1) {
- LOG_PLUGIN(DBG_LOW, "Not fixed");
- return READ_NOT_FIXED;
- }
-
- selection_type = *token[1];
-
- memset(used_sat, 0, sizeof(used_sat));
- for (i = 0; i < MAX_GPS_NUM_SAT_USED; i++) {
- used_sat[i] = atoi(token[i + 3]);
- }
-
- pdop = atof(token[15]);
- hdop = atof(token[16]);
- vdop = atof(token[17]);
-
- return READ_SUCCESS;
-}
-
-static int nmea_parser_gpvtg(char *token[], pos_data_t * pos)
-{
- double true_course, magnetic_course, knot_speed, kmh_speed;
-
- true_course = atof(token[1]);
- magnetic_course = atof(token[3]);
- knot_speed = atof(token[5]);
- kmh_speed = atof(token[7]);
-
- pos->speed = kmh_speed * KMPH_TO_MPS;
- pos->bearing = true_course;
-
- return READ_SUCCESS;
-}
-
-static int nmea_parser_gpgsv(char *token[], sv_data_t * sv)
-{
- int i, j;
- int p, q, iter;
- int num_sen, msg_num, num_sv;
-
- num_sen = atoi(token[1]);
- msg_num = atoi(token[2]);
- if (msg_num < 1) {
- LOG_PLUGIN(DBG_LOW, "There is not GSV message");
- return READ_ERROR;
- }
-
- num_sv = atoi(token[3]);
- sv->num_of_sat = num_sv;
- iter = ((num_sv < (msg_num * 4)) ? (num_sv - ((msg_num - 1) * 4)) : 4);
- for (i = 0; i < iter; i++) {
- q = (i + 1) * 4;
- p = i + 4 * (msg_num - 1);
- sv->sat[p].prn = atoi(token[q]);
- for (j = 0; j < MAX_GPS_NUM_SAT_USED; j++) {
- if (sv->sat[p].prn == used_sat[j]) {
- sv->sat[p].used = 1;
- break;
- } else {
- sv->sat[p].used = 0;
- }
- }
- sv->sat[p].elevation = atoi(token[q + 1]);
- sv->sat[p].azimuth = atoi(token[q + 2]);
- sv->sat[p].snr = atoi(token[q + 3]);
- }
- return READ_SUCCESS;
-}
-
-int nmea_parser_sentence(char *sentence, char *token[], pos_data_t * pos, sv_data_t * sv)
-{
- int ret;
- if (strcmp(sentence, "GPGGA") == 0) {
- ret = nmea_parser_gpgga(token, pos, sv);
- } else if (strcmp(sentence, "GPRMC") == 0) {
- ret = nmea_parser_gprmc(token, pos);
- } else if (strcmp(sentence, "GPGSA") == 0) {
- ret = nmea_parser_gpgsa(token, pos);
- } else if (strcmp(sentence, "GPVTG") == 0) {
- ret = nmea_parser_gpvtg(token, pos);
- } else if (strcmp(sentence, "GPGSV") == 0) {
- ret = nmea_parser_gpgsv(token, sv);
- } else {
- LOG_PLUGIN(DBG_LOW, "Unsupported sentence : [%s]\n", sentence);
- }
-
- return ret;
-}
-
-int nmea_parser(char *data, pos_data_t * pos, sv_data_t * sv)
-{
- int ret = READ_SUCCESS;
- read_error_t err;
- int num_sen = 0;
- int count = 0;
- char *last = NULL;
- char *nmea_sen[MAX_NMEA_SENTENCES] = { 0, };
- char *token[MAX_TOEKNS] = { 0, };
-
- nmea_sen[num_sen] = (char *)strtok_r((char *)data, "$", &last);
- while (nmea_sen[num_sen] != NULL) {
- num_sen++;
- nmea_sen[num_sen] = (char *)strtok_r(NULL, "$", &last);
- }
- LOG_PLUGIN(DBG_LOW, "Number of NMEA sentences:%d \n", num_sen);
-
- while (num_sen > 0) {
- if (nmea_parser_verify_checksum(nmea_sen[count]) == 0) {
- nmea_parser_tokenize(nmea_sen[count], token);
- err = nmea_parser_sentence(token[0], token, pos, sv);
- if (err == READ_NOT_FIXED) {
- LOG_PLUGIN(DBG_LOW, "NOT Fixed");
- ret = err;
- } else if (ret == READ_ERROR) {
- ret = err;
- break;
- }
- } else {
- LOG_PLUGIN(DBG_ERR, "[NMEA Parser] %dth sentense : Invalid Checksum\n", count);
- }
- count++;
- num_sen--;
- }
-
- return ret;
-}
diff --git a/replay-plugin/src/setting.c b/replay-plugin/src/setting.c
deleted file mode 100644
index 32ed340..0000000
--- a/replay-plugin/src/setting.c
+++ /dev/null
@@ -1,74 +0,0 @@
-/*
- * GPS manager replay plugin
- *
- * Copyright (c) 2011 Samsung Electronics Co., Ltd. All rights reserved.
- *
- * Contact: Youngae Kang <youngae.kang@samsung.com>, Yunhan Kim <yhan.kim@samsung.com>,
- * Genie Kim <daejins.kim@samsung.com>, Minjune Kim <sena06.kim@samsung.com>
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include <string.h>
-#include <glib.h>
-#include "setting.h"
-#include "gps_plugin_debug.h"
-
-int setting_get_int(const char *path, int *val)
-{
- int ret = vconf_get_int(path, val);
- if (ret == 0) {
- ret = TRUE;
- } else {
- LOG_PLUGIN(DBG_ERR, "vconf_get_int failed, [%s]", path);
- ret = FALSE;
- }
- return ret;
-}
-
-int setting_get_double(const char *path, double *val)
-{
- int ret = vconf_get_dbl(path, val);
- if (ret == 0) {
- ret = TRUE;
- } else {
- LOG_PLUGIN(DBG_ERR, "vconf_get_int failed, [%s]", path);
- ret = FALSE;
- }
- return ret;
-}
-
-char *setting_get_string(const char *path)
-{
- return vconf_get_str(path);
-}
-
-int setting_notify_key_changed(const char *path, void *key_changed_cb)
-{
- int ret = TRUE;
- if (vconf_notify_key_changed(path, key_changed_cb, NULL) != 0) {
- LOG_PLUGIN(DBG_ERR, "Fail to vconf_notify_key_changed [%s]", path);
- ret = FALSE;
- }
- return ret;
-}
-
-int setting_ignore_key_changed(const char *path, void *key_changed_cb)
-{
- int ret = TRUE;
- if (vconf_ignore_key_changed(path, key_changed_cb) != 0) {
- LOG_PLUGIN(DBG_ERR, "Fail to vconf_ignore_key_changed [%s]", path);
- ret = FALSE;
- }
- return ret;
-}