summaryrefslogtreecommitdiffstats
path: root/src/3rdparty
diff options
context:
space:
mode:
authorAaron McCarthy <aaron.mccarthy@nokia.com>2010-09-27 07:12:02 (GMT)
committerAaron McCarthy <aaron.mccarthy@nokia.com>2010-09-28 01:58:09 (GMT)
commitf532d8fcd236be9933e4186a95561e1c264de277 (patch)
tree19ad695ba69586d778e35da6437d016f59c1501e /src/3rdparty
parent2ff0dee1b97348a750532223f0a318596c93d412 (diff)
downloadQt-f532d8fcd236be9933e4186a95561e1c264de277.zip
Qt-f532d8fcd236be9933e4186a95561e1c264de277.tar.gz
Qt-f532d8fcd236be9933e4186a95561e1c264de277.tar.bz2
Removing libconninet 3rdparty component.
The use of libconninet caused Qt to have a cyclic build dependency. Which was solved by embedding a copy as a 3rd party library. Maemo has since donated the libconninet code to Qt because (1) it was a private Maemo API and (2) the Qt ICD plugin is the only user of the library. This commit moves the relevent code from src/3rdparty/libconninet to src/plugins/bearer/icd and deletes the rest. Task-number: QT-3893
Diffstat (limited to 'src/3rdparty')
-rw-r--r--src/3rdparty/libconninet.pri18
-rw-r--r--src/3rdparty/libconninet/AUTHORS0
-rw-r--r--src/3rdparty/libconninet/COPYING510
-rw-r--r--src/3rdparty/libconninet/ChangeLog0
-rw-r--r--src/3rdparty/libconninet/INSTALL229
-rw-r--r--src/3rdparty/libconninet/NEWS0
-rw-r--r--src/3rdparty/libconninet/README0
-rwxr-xr-xsrc/3rdparty/libconninet/autogen.sh3
-rw-r--r--src/3rdparty/libconninet/configure.ac86
-rw-r--r--src/3rdparty/libconninet/conninet.pc.in11
-rw-r--r--src/3rdparty/libconninet/debian/changelog305
-rw-r--r--src/3rdparty/libconninet/debian/compat1
-rw-r--r--src/3rdparty/libconninet/debian/control39
-rw-r--r--src/3rdparty/libconninet/debian/copyright19
-rw-r--r--src/3rdparty/libconninet/debian/libconninet0-dev.dirs2
-rw-r--r--src/3rdparty/libconninet/debian/libconninet0-dev.files4
-rw-r--r--src/3rdparty/libconninet/debian/libconninet0.dirs1
-rw-r--r--src/3rdparty/libconninet/debian/libconninet0.files1
-rwxr-xr-xsrc/3rdparty/libconninet/debian/rules123
-rw-r--r--src/3rdparty/libconninet/doxygen.cfg.in1147
-rw-r--r--src/3rdparty/libconninet/src/dbusdispatcher.cpp611
-rw-r--r--src/3rdparty/libconninet/src/dbusdispatcher.h91
-rw-r--r--src/3rdparty/libconninet/src/iapconf.cpp299
-rw-r--r--src/3rdparty/libconninet/src/iapconf.h84
-rw-r--r--src/3rdparty/libconninet/src/iapmonitor.cpp110
-rw-r--r--src/3rdparty/libconninet/src/iapmonitor.h48
-rw-r--r--src/3rdparty/libconninet/src/maemo_icd.cpp1316
-rw-r--r--src/3rdparty/libconninet/src/maemo_icd.h182
-rw-r--r--src/3rdparty/libconninet/src/proxyconf.cpp392
-rw-r--r--src/3rdparty/libconninet/src/proxyconf.h53
-rw-r--r--src/3rdparty/libconninet/tests/ut_dbusdispatcher.cpp191
-rw-r--r--src/3rdparty/libconninet/tests/ut_iapconf.cpp186
-rw-r--r--src/3rdparty/libconninet/tests/ut_iapmonitor.cpp118
-rw-r--r--src/3rdparty/libconninet/tests/ut_maemo_icd.cpp274
-rw-r--r--src/3rdparty/libconninet/tests/ut_proxyconf.cpp400
35 files changed, 0 insertions, 6854 deletions
diff --git a/src/3rdparty/libconninet.pri b/src/3rdparty/libconninet.pri
deleted file mode 100644
index e041e2b..0000000
--- a/src/3rdparty/libconninet.pri
+++ /dev/null
@@ -1,18 +0,0 @@
-INCLUDEPATH += $$PWD/libconninet/src
-
-QMAKE_CXXFLAGS += $$QT_CFLAGS_GLIB
-
-HEADERS += \
- $$PWD/libconninet/src/dbusdispatcher.h \
- $$PWD/libconninet/src/iapconf.h \
- $$PWD/libconninet/src/iapmonitor.h \
- $$PWD/libconninet/src/maemo_icd.h \
- $$PWD/libconninet/src/proxyconf.h
-
-SOURCES += \
- $$PWD/libconninet/src/dbusdispatcher.cpp \
- $$PWD/libconninet/src/iapconf.cpp \
- $$PWD/libconninet/src/iapmonitor.cpp \
- $$PWD/libconninet/src/maemo_icd.cpp \
- $$PWD/libconninet/src/proxyconf.cpp
-
diff --git a/src/3rdparty/libconninet/AUTHORS b/src/3rdparty/libconninet/AUTHORS
deleted file mode 100644
index e69de29..0000000
--- a/src/3rdparty/libconninet/AUTHORS
+++ /dev/null
diff --git a/src/3rdparty/libconninet/COPYING b/src/3rdparty/libconninet/COPYING
deleted file mode 100644
index b124cf5..0000000
--- a/src/3rdparty/libconninet/COPYING
+++ /dev/null
@@ -1,510 +0,0 @@
-
- GNU LESSER GENERAL PUBLIC LICENSE
- Version 2.1, February 1999
-
- Copyright (C) 1991, 1999 Free Software Foundation, Inc.
- 59 Temple Place, Suite 330, Boston, MA 02111-1307 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 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/src/3rdparty/libconninet/ChangeLog b/src/3rdparty/libconninet/ChangeLog
deleted file mode 100644
index e69de29..0000000
--- a/src/3rdparty/libconninet/ChangeLog
+++ /dev/null
diff --git a/src/3rdparty/libconninet/INSTALL b/src/3rdparty/libconninet/INSTALL
deleted file mode 100644
index 54caf7c..0000000
--- a/src/3rdparty/libconninet/INSTALL
+++ /dev/null
@@ -1,229 +0,0 @@
-Copyright (C) 1994, 1995, 1996, 1999, 2000, 2001, 2002 Free Software
-Foundation, Inc.
-
- This file is free documentation; the Free Software Foundation gives
-unlimited permission to copy, distribute and modify it.
-
-Basic Installation
-==================
-
- These are generic installation instructions.
-
- The `configure' shell script attempts to guess correct values for
-various system-dependent variables used during compilation. It uses
-those values to create a `Makefile' in each directory of the package.
-It may also create one or more `.h' files containing system-dependent
-definitions. Finally, it creates a shell script `config.status' that
-you can run in the future to recreate the current configuration, and a
-file `config.log' containing compiler output (useful mainly for
-debugging `configure').
-
- It can also use an optional file (typically called `config.cache'
-and enabled with `--cache-file=config.cache' or simply `-C') that saves
-the results of its tests to speed up reconfiguring. (Caching is
-disabled by default to prevent problems with accidental use of stale
-cache files.)
-
- If you need to do unusual things to compile the package, please try
-to figure out how `configure' could check whether to do them, and mail
-diffs or instructions to the address given in the `README' so they can
-be considered for the next release. If you are using the cache, and at
-some point `config.cache' contains results you don't want to keep, you
-may remove or edit it.
-
- The file `configure.ac' (or `configure.in') is used to create
-`configure' by a program called `autoconf'. You only need
-`configure.ac' if you want to change it or regenerate `configure' using
-a newer version of `autoconf'.
-
-The simplest way to compile this package is:
-
- 1. `cd' to the directory containing the package's source code and type
- `./configure' to configure the package for your system. If you're
- using `csh' on an old version of System V, you might need to type
- `sh ./configure' instead to prevent `csh' from trying to execute
- `configure' itself.
-
- Running `configure' takes awhile. While running, it prints some
- messages telling which features it is checking for.
-
- 2. Type `make' to compile the package.
-
- 3. Optionally, type `make check' to run any self-tests that come with
- the package.
-
- 4. Type `make install' to install the programs and any data files and
- documentation.
-
- 5. You can remove the program binaries and object files from the
- source code directory by typing `make clean'. To also remove the
- files that `configure' created (so you can compile the package for
- a different kind of computer), type `make distclean'. There is
- also a `make maintainer-clean' target, but that is intended mainly
- for the package's developers. If you use it, you may have to get
- all sorts of other programs in order to regenerate files that came
- with the distribution.
-
-Compilers and Options
-=====================
-
- Some systems require unusual options for compilation or linking that
-the `configure' script does not know about. Run `./configure --help'
-for details on some of the pertinent environment variables.
-
- You can give `configure' initial values for configuration parameters
-by setting variables in the command line or in the environment. Here
-is an example:
-
- ./configure CC=c89 CFLAGS=-O2 LIBS=-lposix
-
- *Note Defining Variables::, for more details.
-
-Compiling For Multiple Architectures
-====================================
-
- You can compile the package for more than one kind of computer at the
-same time, by placing the object files for each architecture in their
-own directory. To do this, you must use a version of `make' that
-supports the `VPATH' variable, such as GNU `make'. `cd' to the
-directory where you want the object files and executables to go and run
-the `configure' script. `configure' automatically checks for the
-source code in the directory that `configure' is in and in `..'.
-
- If you have to use a `make' that does not support the `VPATH'
-variable, you have to compile the package for one architecture at a
-time in the source code directory. After you have installed the
-package for one architecture, use `make distclean' before reconfiguring
-for another architecture.
-
-Installation Names
-==================
-
- By default, `make install' will install the package's files in
-`/usr/local/bin', `/usr/local/man', etc. You can specify an
-installation prefix other than `/usr/local' by giving `configure' the
-option `--prefix=PATH'.
-
- You can specify separate installation prefixes for
-architecture-specific files and architecture-independent files. If you
-give `configure' the option `--exec-prefix=PATH', the package will use
-PATH as the prefix for installing programs and libraries.
-Documentation and other data files will still use the regular prefix.
-
- In addition, if you use an unusual directory layout you can give
-options like `--bindir=PATH' to specify different values for particular
-kinds of files. Run `configure --help' for a list of the directories
-you can set and what kinds of files go in them.
-
- If the package supports it, you can cause programs to be installed
-with an extra prefix or suffix on their names by giving `configure' the
-option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'.
-
-Optional Features
-=================
-
- Some packages pay attention to `--enable-FEATURE' options to
-`configure', where FEATURE indicates an optional part of the package.
-They may also pay attention to `--with-PACKAGE' options, where PACKAGE
-is something like `gnu-as' or `x' (for the X Window System). The
-`README' should mention any `--enable-' and `--with-' options that the
-package recognizes.
-
- For packages that use the X Window System, `configure' can usually
-find the X include and library files automatically, but if it doesn't,
-you can use the `configure' options `--x-includes=DIR' and
-`--x-libraries=DIR' to specify their locations.
-
-Specifying the System Type
-==========================
-
- There may be some features `configure' cannot figure out
-automatically, but needs to determine by the type of machine the package
-will run on. Usually, assuming the package is built to be run on the
-_same_ architectures, `configure' can figure that out, but if it prints
-a message saying it cannot guess the machine type, give it the
-`--build=TYPE' option. TYPE can either be a short name for the system
-type, such as `sun4', or a canonical name which has the form:
-
- CPU-COMPANY-SYSTEM
-
-where SYSTEM can have one of these forms:
-
- OS KERNEL-OS
-
- See the file `config.sub' for the possible values of each field. If
-`config.sub' isn't included in this package, then this package doesn't
-need to know the machine type.
-
- If you are _building_ compiler tools for cross-compiling, you should
-use the `--target=TYPE' option to select the type of system they will
-produce code for.
-
- If you want to _use_ a cross compiler, that generates code for a
-platform different from the build platform, you should specify the
-"host" platform (i.e., that on which the generated programs will
-eventually be run) with `--host=TYPE'.
-
-Sharing Defaults
-================
-
- If you want to set default values for `configure' scripts to share,
-you can create a site shell script called `config.site' that gives
-default values for variables like `CC', `cache_file', and `prefix'.
-`configure' looks for `PREFIX/share/config.site' if it exists, then
-`PREFIX/etc/config.site' if it exists. Or, you can set the
-`CONFIG_SITE' environment variable to the location of the site script.
-A warning: not all `configure' scripts look for a site script.
-
-Defining Variables
-==================
-
- Variables not defined in a site shell script can be set in the
-environment passed to `configure'. However, some packages may run
-configure again during the build, and the customized values of these
-variables may be lost. In order to avoid this problem, you should set
-them in the `configure' command line, using `VAR=value'. For example:
-
- ./configure CC=/usr/local2/bin/gcc
-
-will cause the specified gcc to be used as the C compiler (unless it is
-overridden in the site shell script).
-
-`configure' Invocation
-======================
-
- `configure' recognizes the following options to control how it
-operates.
-
-`--help'
-`-h'
- Print a summary of the options to `configure', and exit.
-
-`--version'
-`-V'
- Print the version of Autoconf used to generate the `configure'
- script, and exit.
-
-`--cache-file=FILE'
- Enable the cache: use and save the results of the tests in FILE,
- traditionally `config.cache'. FILE defaults to `/dev/null' to
- disable caching.
-
-`--config-cache'
-`-C'
- Alias for `--cache-file=config.cache'.
-
-`--quiet'
-`--silent'
-`-q'
- Do not print messages saying which checks are being made. To
- suppress all normal output, redirect it to `/dev/null' (any error
- messages will still be shown).
-
-`--srcdir=DIR'
- Look for the package's source code in directory DIR. Usually
- `configure' can determine that directory automatically.
-
-`configure' also accepts some other, not widely useful, options. Run
-`configure --help' for more details.
-
diff --git a/src/3rdparty/libconninet/NEWS b/src/3rdparty/libconninet/NEWS
deleted file mode 100644
index e69de29..0000000
--- a/src/3rdparty/libconninet/NEWS
+++ /dev/null
diff --git a/src/3rdparty/libconninet/README b/src/3rdparty/libconninet/README
deleted file mode 100644
index e69de29..0000000
--- a/src/3rdparty/libconninet/README
+++ /dev/null
diff --git a/src/3rdparty/libconninet/autogen.sh b/src/3rdparty/libconninet/autogen.sh
deleted file mode 100755
index a8fd885..0000000
--- a/src/3rdparty/libconninet/autogen.sh
+++ /dev/null
@@ -1,3 +0,0 @@
-#!/bin/sh
-
-autoreconf --verbose --install --force
diff --git a/src/3rdparty/libconninet/configure.ac b/src/3rdparty/libconninet/configure.ac
deleted file mode 100644
index 72fa98b..0000000
--- a/src/3rdparty/libconninet/configure.ac
+++ /dev/null
@@ -1,86 +0,0 @@
-AC_INIT([libconninet], patsubst(esyscmd([dpkg-parsechangelog | sed -n '/^Version: \(.*\)$/ {s//\1/;p}']), [
-]), [jukka.rissanen@nokia.com])
-AM_INIT_AUTOMAKE([foreign])
-
-AC_PROG_CXX
-AC_PROG_LIBTOOL
-
-AC_ARG_ENABLE(docs, [ --enable-docs Build DOXYGEN documentation (requires Doxygen)],enable_docs=$enableval,enable_docs=auto)
-
-AC_PATH_PROG(DOXYGEN, doxygen, no)
-AC_MSG_CHECKING([whether to build Doxygen documentation])
-
-if test x$DOXYGEN = xno ; then
- have_doxygen=no
-else
- have_doxygen=yes
-fi
-if test x$enable_docs = xauto ; then
- if test x$have_doxygen = xno ; then
- enable_docs=no
- else
- enable_docs=yes
- fi
-fi
-if test x$enable_docs = xyes; then
- if test x$have_doxygen = xno; then
- AC_MSG_ERROR([Building Doxygen docs explicitly required, but Doxygen not found])
- else
- AC_MSG_RESULT(yes)
- fi
-else
- AC_MSG_RESULT(no)
-fi
-
-AM_CONDITIONAL(DOXYGEN_DOCS_ENABLED, test x$enable_docs = xyes)
-AC_SUBST(DOXYGEN)
-
-PKG_CHECK_MODULES(GLIB, glib-2.0)
-AC_SUBST(GLIB_CFLAGS)
-AC_SUBST(GLIB_LIBS)
-
-PKG_CHECK_MODULES(QTCORE, QtCore)
-AC_SUBST(QTCORE_CFLAGS)
-AC_SUBST(QTCORE_LIBS)
-
-PKG_CHECK_MODULES(QTNETWORK, QtNetwork)
-AC_SUBST(QTNETWORK_CFLAGS)
-AC_SUBST(QTNETWORK_LIBS)
-
-PKG_CHECK_MODULES(QTDBUS, QtDBus)
-AC_SUBST(QTDBUS_CFLAGS)
-AC_SUBST(QTDBUS_LIBS)
-
-PKG_CHECK_MODULES(QTTEST, QtTest)
-AC_SUBST(QTTEST_CFLAGS)
-AC_SUBST(QTTEST_LIBS)
-
-PKG_CHECK_MODULES(DBUS, dbus-glib-1)
-AC_SUBST(DBUS_CFLAGS)
-AC_SUBST(DBUS_LIBS)
-
-PKG_CHECK_MODULES(CONNSETTINGS, connsettings)
-AC_SUBST(CONNSETTINGS_CFLAGS)
-AC_SUBST(CONNSETTINGS_LIBS)
-
-PKG_CHECK_MODULES(OSSO_IC, osso-ic)
-AC_SUBST(OSSO_IC_CFLAGS)
-AC_SUBST(OSSO_IC_LIBS)
-
-PKG_CHECK_MODULES(ICD_DEV, icd2)
-AC_SUBST(ICD_DEV_CFLAGS)
-AC_SUBST(ICD_DEV_LIBS)
-
-PKG_CHECK_MODULES(GCONF, gconf-2.0)
-AC_SUBST(GCONF_CFLAGS)
-AC_SUBST(GCONF_LIBS)
-
-CONCFLAGS="-Wall -Werror -Wmissing-prototypes"
-AC_SUBST(CONCFLAGS)
-
-AC_CONFIG_FILES([Makefile \
- src/Makefile \
- tests/Makefile \
- conninet.pc \
- doxygen.cfg])
-AC_OUTPUT
diff --git a/src/3rdparty/libconninet/conninet.pc.in b/src/3rdparty/libconninet/conninet.pc.in
deleted file mode 100644
index 68cdee0..0000000
--- a/src/3rdparty/libconninet/conninet.pc.in
+++ /dev/null
@@ -1,11 +0,0 @@
-prefix=@prefix@
-exec_prefix=@exec_prefix@
-libdir=@libdir@
-includedir=@includedir@
-
-Name: libconninet
-Description: Internet Connectivity support library
-Version: @VERSION@
-Requires: dbus-1 >= 0.60 glib-2.0 QtCore QtDBus QtGui
-Libs: -lconninet
-Cflags: -I${includedir}/conninet
diff --git a/src/3rdparty/libconninet/debian/changelog b/src/3rdparty/libconninet/debian/changelog
deleted file mode 100644
index 10e9dec..0000000
--- a/src/3rdparty/libconninet/debian/changelog
+++ /dev/null
@@ -1,305 +0,0 @@
-libconninet (0.45) unstable; urgency=low
-
- * Fixes: NB#187470 - libconninet: add automake to build-deps
-
- -- Markus Silvan <ext-markus.p.silvan@nokia.com> Wed, 25 Aug 2010 09:02:55 +0300
-
-libconninet (0.44) unstable; urgency=low
-
- * Added autoconf to build dependencies
-
- -- Markus Silvan <ext-markus.p.silvan@nokia.com> Wed, 25 Aug 2010 09:02:55 +0300
-
-libconninet (0.43) unstable; urgency=low
-
- * Fixes: NB#184824 - Getting all proxy variables from gconf in one go
- which will speedup the HTTP requests done by Qt4.7 webkit
-
- -- Jukka Rissanen <jukka.rissanen@nokia.com> Thu, 12 Aug 2010 10:15:20 +0300
-
-libconninet (0.42) unstable; urgency=low
-
- * Fixes: NB#180536 - Uploads to online services are not working.
- This is a regression caused by fix to bug 175098, the timeout was never
- expiring when waiting reply from icd.
-
- -- Jukka Rissanen <jukka.rissanen@nokia.com> Mon, 19 Jul 2010 12:23:30 +0300
-
-libconninet (0.41) unstable; urgency=low
-
- * Fixes: NB#175098 - Qt4.7 Webkit crashes when bearer API QNetworkSession
- constructor calls QNetworkSession::syncStateWithInterface() which in turn
- calls Maemo::state() and Maemo::addrinfo() and webkit expects that event
- loop is not run but those function process main loop events.
- Now Maemo::state() and Maemo::addrinfo() are changed to be synchronous
- and fully blocking functions. The old non-blocking versions are called
- Maemo::state_non_blocking() and Maemo::addrinfo_non_blocking().
-
- -- Jukka Rissanen <jukka.rissanen@nokia.com> Wed, 14 Jul 2010 10:12:47 +0300
-
-libconninet (0.40) unstable; urgency=low
-
- * Fixes: NB#167465 - Unable to open network connection using libbearer
-
- -- Jukka Rissanen <jukka.rissanen@nokia.com> Tue, 11 May 2010 10:47:10 +0300
-
-libconninet (0.39) unstable; urgency=low
-
- * Fixes: NB#167982 - initialize DBus vtable in DBusDispatcher.
-
- -- Aapo Makela <aapo.makela@nokia.com> Mon, 10 May 2010 14:42:39 +0300
-
-libconninet (0.38) unstable; urgency=low
-
- * Changing icd2 connect_req to be synchronous as the check for
- returned connect signal did not work correctly, this caused a
- long timeout when connect() was called.
- * Scan sometimes missed results and did not return them to caller.
- * HTTP proxy settings were not set correctly.
-
- -- Jukka Rissanen <jukka.rissanen@nokia.com> Thu, 15 Apr 2010 11:25:06 +0300
-
-libconninet (0.37) unstable; urgency=low
-
- * Make proxy config reference counting atomic.
-
- -- Jukka Rissanen <jukka.rissanen@nokia.com> Wed, 3 Mar 2010 13:23:08 +0200
-
-libconninet (0.36) unstable; urgency=low
-
- * Fixes: NB#157586 - Cleanup dbus listener when WLAN scanning object is
- deleted.
-
- -- Jukka Rissanen <jukka.rissanen@nokia.com> Fri, 26 Feb 2010 13:30:41 +0200
-
-libconninet (0.35) unstable; urgency=low
-
- * Fixes: NB#156883 - libconninet fails to build under the Platform SDK (SB2)
-
- -- Jukka Rissanen <jukka.rissanen@nokia.com> Thu, 18 Feb 2010 12:14:40 +0200
-
-libconninet (0.34) unstable; urgency=low
-
- * Coverity fix
-
- -- Jukka Rissanen <jukka.rissanen@nokia.com> Tue, 16 Feb 2010 16:38:00 +0200
-
-libconninet (0.33) unstable; urgency=low
-
- * Added API to update Qt proxy config.
-
- -- Jukka Rissanen <jukka.rissanen@nokia.com> Tue, 26 Jan 2010 15:48:36 +0200
-
-libconninet (0.32) unstable; urgency=low
-
- * Fixed IAPConf to unset value when set value is invalid.
- * Updated IAPMonitor to use libconnsettings.
-
- -- Aapo Makela <aapo.makela@nokia.com> Wed, 03 Feb 2010 07:32:45 +0200
-
-libconninet (0.31) unstable; urgency=low
-
- * Fixes: NB#154892 - Check nulls in IAPConf.
-
- -- Aapo Makela <aapo.makela@nokia.com> Mon, 01 Feb 2010 09:32:06 +0200
-
-libconninet (0.30) unstable; urgency=low
-
- * Updated IAPConf to use libconnsettings.
-
- -- Aapo Makela <aapo.makela@nokia.com> Fri, 29 Jan 2010 12:58:03 +0200
-
-libconninet (0.29) unstable; urgency=low
-
- * Fixed dependencies
-
- -- Jukka Rissanen <jukka.rissanen@nokia.com> Fri, 15 Jan 2010 10:16:07 +0200
-
-libconninet (0.28) unstable; urgency=low
-
- * Get rid of libdui dependency
-
- -- Jukka Rissanen <jukka.rissanen@nokia.com> Wed, 13 Jan 2010 09:56:26 +0200
-
-libconninet (0.27) unstable; urgency=low
-
- * Insert new pending calls to the list in DBusDispatcher.
-
- -- Aapo Makela <aapo.makela@nokia.com> Tue, 22 Dec 2009 14:27:32 +0200
-
-libconninet (0.26) unstable; urgency=low
-
- * Added possibility to specify different signal path for DBusDispatcher.
-
- -- Aapo Makela <aapo.makela@nokia.com> Wed, 25 Nov 2009 14:27:34 +0200
-
-libconninet (0.25) unstable; urgency=low
-
- * Fixes: NB#146450 - All scan results were not returned to the caller.
-
- -- Jukka Rissanen <jukka.rissanen@nokia.com> Mon, 16 Nov 2009 17:23:15 +0200
-
-libconninet (0.24) unstable; urgency=low
-
- * Wait all scan results for all network types in Maemo::Icd::scan()
-
- -- Jukka Rissanen <jukka.rissanen@nokia.com> Fri, 6 Nov 2009 14:45:23 +0200
-
-libconninet (0.23) unstable; urgency=low
-
- * Fixes: NB#143361 - Assert failure in session class for GPRS IAP.
-
- -- Jukka Rissanen <jukka.rissanen@nokia.com> Mon, 19 Oct 2009 16:00:14 +0300
-
-libconninet (0.22) unstable; urgency=low
-
- * Fixed the error checking if scan returns 0 results.
-
- -- Jukka Rissanen <jukka.rissanen@nokia.com> Wed, 7 Oct 2009 13:50:27 +0300
-
-libconninet (0.21) unstable; urgency=low
-
- * Support multiple DBusDispatcher classes at the same time. This is
- required by Maemo::Icd class so that multiple instances of it can
- be used the same time.
-
- -- Jukka Rissanen <jukka.rissanen@nokia.com> Mon, 5 Oct 2009 16:33:43 +0300
-
-libconninet (0.20) unstable; urgency=low
-
- * Fixed memory leak in IAPConf::setValue()
-
- -- Jukka Rissanen <jukka.rissanen@nokia.com> Fri, 2 Oct 2009 13:02:21 +0300
-
-libconninet (0.19) unstable; urgency=low
-
- * Fixed connect_req to one specific IAP in Icd class.
-
- -- Jukka Rissanen <jukka.rissanen@nokia.com> Tue, 29 Sep 2009 17:02:46 +0300
-
-libconninet (0.18) unstable; urgency=low
-
- * Make sure the library will not abort in Icd class if scan does
- not return any results.
-
- -- Jukka Rissanen <jukka.rissanen@nokia.com> Tue, 22 Sep 2009 17:00:12 +0300
-
-libconninet (0.17) unstable; urgency=low
-
- * Added IAP monitoring support.
-
- -- Jukka Rissanen <jukka.rissanen@nokia.com> Mon, 21 Sep 2009 16:29:31 +0300
-
-libconninet (0.16) unstable; urgency=low
-
- * Disabled the old osso-ic dbus interface as it is currently not used.
- * Fixed the addrinfo request, now addresses are returned correctly to
- the caller.
-
- -- Jukka Rissanen <jukka.rissanen@nokia.com> Thu, 17 Sep 2009 15:56:13 +0300
-
-libconninet (0.15) unstable; urgency=low
-
- * Enabling state_req, statistics_req and addrinfo_req support
- functions in Maemo::Icd as the corresponding DBUS API functions are
- fixed in icd2 v0.89
-
- -- Jukka Rissanen <jukka.rissanen@nokia.com> Fri, 24 Jul 2009 15:23:02 +0300
-
-libconninet (0.14) unstable; urgency=low
-
- * Icd statistics support added.
- * Icd address information support added.
- * Icd scan method does not return the final (and empty) result any more.
- * Added initial unit test implementation for Icd class.
- * Some of the status functions in Icd class disabled because of issues
- in icd2 and the dbus api.
-
- -- Jukka Rissanen <jukka.rissanen@nokia.com> Thu, 23 Jul 2009 11:03:05 +0300
-
-libconninet (0.13) unstable; urgency=low
-
- * Added API to get all the configured IAPs.
-
- -- Jukka Rissanen <jukka.rissanen@nokia.com> Tue, 21 Jul 2009 09:47:18 +0300
-
-libconninet (0.12) unstable; urgency=low
-
- * Replaced duivaluespace by Dui in pkg-config file because the
- duivaluespace is deprecated.
-
- -- Jukka Rissanen <jukka.rissanen@nokia.com> Mon, 20 Jul 2009 16:00:10 +0300
-
-libconninet (0.11) unstable; urgency=low
-
- * Using libdui instead of libduivaluespace because it is deprecated.
- * The IAPConf::clear() uses native gconf API instead of launching gconftool
- * Check that state_req call returned list and the list contains entries
- before trying to access it.
-
- -- Jukka Rissanen <jukka.rissanen@nokia.com> Mon, 20 Jul 2009 14:55:15 +0300
-
-libconninet (0.10) unstable; urgency=low
-
- * connect() did not return ok when connection succeeded.
-
- -- Jukka Rissanen <jukka.rissanen@nokia.com> Thu, 25 Jun 2009 09:31:21 +0300
-
-libconninet (0.9) unstable; urgency=low
-
- * Connection timeout set to 2.5min, same as in fremantle.
-
- -- Jukka Rissanen <jukka.rissanen@nokia.com> Wed, 17 Jun 2009 13:36:40 +0300
-
-libconninet (0.8) unstable; urgency=low
-
- * Fix state_req signal received from Icd
-
- -- Jukka Rissanen <jukka.rissanen@nokia.com> Thu, 11 Jun 2009 17:19:33 +0300
-
-libconninet (0.7) unstable; urgency=low
-
- * Icd disconnect and select reqs are made synchronous as we do not
- wait the return status. The previous async version was causing core
- dumps if Icd class was destroyed too early.
-
- -- Jukka Rissanen <jukka.rissanen@nokia.com> Thu, 11 Jun 2009 11:52:36 +0300
-
-libconninet (0.6) unstable; urgency=low
-
- * Fixed the libconninet0-dev dependencies.
-
- -- Jukka Rissanen <jukka.rissanen@nokia.com> Mon, 8 Jun 2009 10:47:56 +0300
-
-libconninet (0.5) unstable; urgency=low
-
- * Fixed missing QObject connect functions.
- * Fixed IAPConf to return invalid QVariant if the value does not exist.
-
- -- Jukka Rissanen <jukka.rissanen@nokia.com> Mon, 01 Jun 2009 13:58:53 +0300
-
-libconninet (0.4) unstable; urgency=low
-
- * Fixed QObject signal setting for Maemo::Icd
-
- -- Jukka Rissanen <jukka.rissanen@nokia.com> Wed, 20 May 2009 13:51:11 +0300
-
-libconninet (0.3) unstable; urgency=low
-
- * Refactoring classes
- * Added IAPConf class.
-
- -- Jukka Rissanen <jukka.rissanen@nokia.com> Thu, 14 May 2009 13:24:11 +0300
-
-libconninet (0.2) unstable; urgency=low
-
- * Fixed pkgconfig file which had wrong dependency
- * Added DBus array and struct support to DBusDispatcher.
-
- -- Jukka Rissanen <jukka.rissanen@nokia.com> Wed, 13 May 2009 12:11:00 +0300
-
-libconninet (0.1) unstable; urgency=low
-
- * Initial Release.
-
- -- Jukka Rissanen <jukka.rissanen@nokia.com> Tue, 12 May 2009 16:10:27 +0200
diff --git a/src/3rdparty/libconninet/debian/compat b/src/3rdparty/libconninet/debian/compat
deleted file mode 100644
index b8626c4..0000000
--- a/src/3rdparty/libconninet/debian/compat
+++ /dev/null
@@ -1 +0,0 @@
-4
diff --git a/src/3rdparty/libconninet/debian/control b/src/3rdparty/libconninet/debian/control
deleted file mode 100644
index a2343a0..0000000
--- a/src/3rdparty/libconninet/debian/control
+++ /dev/null
@@ -1,39 +0,0 @@
-Source: libconninet
-Priority: optional
-Maintainer: Jukka Rissanen <jukka.rissanen@nokia.com>
-Build-Depends: debhelper (>= 4.0.0), autotools-dev, libglib2.0-dev (>= 2.8),
- libdbus-1-dev (>= 0.60), libconnsettings0-dev (>= 0.4), icd2-osso-ic-dev,
- icd2-dev, libqt4-dev, libgconf2-dev (>> 2.6.4), autoconf, automake
-Standards-Version: 3.6.2
-Section: libs
-
-Package: libconninet0-dev
-Section: libdevel
-Architecture: any
-Depends: libconninet0 (= ${Source-Version}), libdbus-1-dev (>= 0.60),
- libglib2.0-dev (>= 2.8), libconnsettings0-dev (>= 0.4), libqt4-dev,
- icd2-osso-ic-dev, icd2-dev, libgconf2-dev (>> 2.6.4)
-Description: Internet Connectivity support library development files
- Internet Connectivity support library (libconninet) provides common
- support functions for connecting to icd2 and accessing configuration
- data.
- .
- This package contains the header files.
-
-Package: libconninet0
-Section: libs
-Architecture: any
-Depends: ${shlibs:Depends}, ${misc:Depends}
-Description: Internet Connectivity support library
- Internet Connectivity support library (libconninet) provides common
- support functions for connecting to icd2 and accessing configuration
- data.
- .
- This package contains the shared libraries.
-
-Package: libconninet0-dbg
-Section: libs
-Architecture: any
-Depends: libconninet0 (= ${Source-Version}), ${shlibs:Depends}, ${misc:Depends}
-Description: Debug symbols for the Internet Connectivity support library
- Internet Connectivity support library (libconninet) debug symbols.
diff --git a/src/3rdparty/libconninet/debian/copyright b/src/3rdparty/libconninet/debian/copyright
deleted file mode 100644
index 97e8e68..0000000
--- a/src/3rdparty/libconninet/debian/copyright
+++ /dev/null
@@ -1,19 +0,0 @@
-libconninet - Internet Connectivity support library
-
-Copyright (C) 2009 Nokia Corporation. All rights reserved.
-
-Contact: Jukka Rissanen <jukka.rissanen@nokia.com>
-
-This library is free software; you can redistribute it and/or modify
-it under the terms of the GNU Lesser General Public License version 2.1
-as published by the Free Software Foundation.
-
-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 St, Fifth Floor, Boston, MA
-02110-1301 USA
diff --git a/src/3rdparty/libconninet/debian/libconninet0-dev.dirs b/src/3rdparty/libconninet/debian/libconninet0-dev.dirs
deleted file mode 100644
index 4418816..0000000
--- a/src/3rdparty/libconninet/debian/libconninet0-dev.dirs
+++ /dev/null
@@ -1,2 +0,0 @@
-usr/lib
-usr/include
diff --git a/src/3rdparty/libconninet/debian/libconninet0-dev.files b/src/3rdparty/libconninet/debian/libconninet0-dev.files
deleted file mode 100644
index 78bbac8..0000000
--- a/src/3rdparty/libconninet/debian/libconninet0-dev.files
+++ /dev/null
@@ -1,4 +0,0 @@
-usr/include/*
-usr/lib/lib*.so
-usr/lib/pkgconfig/*
-usr/share/pkgconfig/*
diff --git a/src/3rdparty/libconninet/debian/libconninet0.dirs b/src/3rdparty/libconninet/debian/libconninet0.dirs
deleted file mode 100644
index 6845771..0000000
--- a/src/3rdparty/libconninet/debian/libconninet0.dirs
+++ /dev/null
@@ -1 +0,0 @@
-usr/lib
diff --git a/src/3rdparty/libconninet/debian/libconninet0.files b/src/3rdparty/libconninet/debian/libconninet0.files
deleted file mode 100644
index d0dbfd1..0000000
--- a/src/3rdparty/libconninet/debian/libconninet0.files
+++ /dev/null
@@ -1 +0,0 @@
-usr/lib/lib*.so.*
diff --git a/src/3rdparty/libconninet/debian/rules b/src/3rdparty/libconninet/debian/rules
deleted file mode 100755
index 2a3d395..0000000
--- a/src/3rdparty/libconninet/debian/rules
+++ /dev/null
@@ -1,123 +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)
-DEB_HOST_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE)
-DEB_BUILD_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE)
-
-
-CFLAGS = -Wall -g
-
-ifneq (,$(findstring noopt,$(DEB_BUILD_OPTIONS)))
- CFLAGS += -O0
-else
- CFLAGS += -O2
-endif
-
-# shared library versions, option 1
-#version=2.0.5
-#major=2
-# option 2, assuming the library is created as src/.libs/libfoo.so.2.0.5 or so
-version=`ls src/.libs/lib*.so.* | \
- awk '{if (match($$0,/[0-9]+\.[0-9]+\.[0-9]+$$/)) print substr($$0,RSTART)}'`
-major=`ls src/.libs/lib*.so.* | \
- awk '{if (match($$0,/\.so\.[0-9]+$$/)) print substr($$0,RSTART+4)}'`
-
-configure: configure.ac debian/changelog
- -./autogen.sh
-
-config.status: configure
- dh_testdir
- # Add here commands to configure the package.
- CFLAGS="$(CFLAGS)" ./configure \
- --host=$(DEB_HOST_GNU_TYPE) \
- --build=$(DEB_BUILD_GNU_TYPE) \
- --prefix=/usr \
- --mandir=\$${prefix}/share/man \
- --infodir=\$${prefix}/share/info
-
-
-build: build-stamp
-build-stamp: config.status
- dh_testdir
-
- # Add here commands to compile the package.
- $(MAKE)
-
- touch build-stamp
-
-clean:
- dh_testdir
- dh_testroot
- rm -f build-stamp
-
- # Add here commands to clean up after the build process.
- -$(MAKE) distclean
-ifneq "$(wildcard /usr/share/misc/config.sub)" ""
- cp -f /usr/share/misc/config.sub config.sub
-endif
-ifneq "$(wildcard /usr/share/misc/config.guess)" ""
- cp -f /usr/share/misc/config.guess config.guess
-endif
-
-
- dh_clean
-
-install: build
- dh_testdir
- dh_testroot
- dh_clean -k
- dh_installdirs
-
- # Add here commands to install the package into debian/tmp
- $(MAKE) install DESTDIR=$(CURDIR)/debian/tmp
-
-
-# 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_movefiles
- dh_installchangelogs ChangeLog
- dh_installdocs
- dh_installexamples
-# dh_install
-# dh_installmenu
-# dh_installdebconf
-# dh_installlogrotate
-# dh_installemacsen
-# dh_installpam
-# dh_installmime
-# dh_installinit
-# dh_installcron
-# dh_installinfo
- dh_installman
- dh_link
- dh_strip --dbg-package=libconninet0
- dh_compress
- dh_fixperms
-# dh_perl
-# dh_python
- 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/src/3rdparty/libconninet/doxygen.cfg.in b/src/3rdparty/libconninet/doxygen.cfg.in
deleted file mode 100644
index 80a4c8d..0000000
--- a/src/3rdparty/libconninet/doxygen.cfg.in
+++ /dev/null
@@ -1,1147 +0,0 @@
-# Doxyfile 1.3.7
-
-# This file describes the settings to be used by the documentation system
-# doxygen (www.doxygen.org) for a project
-#
-# All text after a hash (#) is considered a comment and will be ignored
-# The format is:
-# TAG = value [value, ...]
-# For lists items can also be appended using:
-# TAG += value [value, ...]
-# Values that contain spaces should be placed between quotes (" ")
-
-#---------------------------------------------------------------------------
-# Project related configuration options
-#---------------------------------------------------------------------------
-
-# The PROJECT_NAME tag is a single word (or a sequence of words surrounded
-# by quotes) that should identify the project.
-
-PROJECT_NAME = "Internet Connectivity Support Library"
-
-# The PROJECT_NUMBER tag can be used to enter a project or revision number.
-# This could be handy for archiving the generated documentation or
-# if some version control system is used.
-
-PROJECT_NUMBER = @VERSION@
-
-# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute)
-# base path where the generated documentation will be put.
-# If a relative path is entered, it will be relative to the location
-# where doxygen was started. If left blank the current directory will be used.
-
-OUTPUT_DIRECTORY = doc
-
-# If the CREATE_SUBDIRS tag is set to YES, then doxygen will create
-# 2 levels of 10 sub-directories under the output directory of each output
-# format and will distribute the generated files over these directories.
-# Enabling this option can be useful when feeding doxygen a huge amount of source
-# files, where putting all generated files in the same directory would otherwise
-# cause performance problems for the file system.
-
-CREATE_SUBDIRS = NO
-
-# The OUTPUT_LANGUAGE tag is used to specify the language in which all
-# documentation generated by doxygen is written. Doxygen will use this
-# information to generate all constant output in the proper language.
-# The default language is English, other supported languages are:
-# Brazilian, Catalan, Chinese, Chinese-Traditional, Croatian, Czech, Danish, Dutch,
-# Finnish, French, German, Greek, Hungarian, Italian, Japanese, Japanese-en
-# (Japanese with English messages), Korean, Korean-en, Norwegian, Polish, Portuguese,
-# Romanian, Russian, Serbian, Slovak, Slovene, Spanish, Swedish, and Ukrainian.
-
-OUTPUT_LANGUAGE = English
-
-# This tag can be used to specify the encoding used in the generated output.
-# The encoding is not always determined by the language that is chosen,
-# but also whether or not the output is meant for Windows or non-Windows users.
-# In case there is a difference, setting the USE_WINDOWS_ENCODING tag to YES
-# forces the Windows encoding (this is the default for the Windows binary),
-# whereas setting the tag to NO uses a Unix-style encoding (the default for
-# all platforms other than Windows).
-
-USE_WINDOWS_ENCODING = NO
-
-# If the BRIEF_MEMBER_DESC tag is set to YES (the default) Doxygen will
-# include brief member descriptions after the members that are listed in
-# the file and class documentation (similar to JavaDoc).
-# Set to NO to disable this.
-
-BRIEF_MEMBER_DESC = YES
-
-# If the REPEAT_BRIEF tag is set to YES (the default) Doxygen will prepend
-# the brief description of a member or function before the detailed description.
-# Note: if both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the
-# brief descriptions will be completely suppressed.
-
-REPEAT_BRIEF = YES
-
-# This tag implements a quasi-intelligent brief description abbreviator
-# that is used to form the text in various listings. Each string
-# in this list, if found as the leading text of the brief description, will be
-# stripped from the text and the result after processing the whole list, is used
-# as the annotated text. Otherwise, the brief description is used as-is. If left
-# blank, the following values are used ("$name" is automatically replaced with the
-# name of the entity): "The $name class" "The $name widget" "The $name file"
-# "is" "provides" "specifies" "contains" "represents" "a" "an" "the"
-
-ABBREVIATE_BRIEF =
-
-# If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then
-# Doxygen will generate a detailed section even if there is only a brief
-# description.
-
-ALWAYS_DETAILED_SEC = NO
-
-# If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show all inherited
-# members of a class in the documentation of that class as if those members were
-# ordinary class members. Constructors, destructors and assignment operators of
-# the base classes will not be shown.
-
-INLINE_INHERITED_MEMB = NO
-
-# If the FULL_PATH_NAMES tag is set to YES then Doxygen will prepend the full
-# path before files name in the file list and in the header files. If set
-# to NO the shortest path that makes the file name unique will be used.
-
-FULL_PATH_NAMES = NO
-
-# If the FULL_PATH_NAMES tag is set to YES then the STRIP_FROM_PATH tag
-# can be used to strip a user-defined part of the path. Stripping is
-# only done if one of the specified strings matches the left-hand part of
-# the path. The tag can be used to show relative paths in the file list.
-# If left blank the directory from which doxygen is run is used as the
-# path to strip.
-
-STRIP_FROM_PATH =
-
-# The STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of
-# the path mentioned in the documentation of a class, which tells
-# the reader which header file to include in order to use a class.
-# If left blank only the name of the header file containing the class
-# definition is used. Otherwise one should specify the include paths that
-# are normally passed to the compiler using the -I flag.
-
-STRIP_FROM_INC_PATH =
-
-# If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter
-# (but less readable) file names. This can be useful is your file systems
-# doesn't support long names like on DOS, Mac, or CD-ROM.
-
-SHORT_NAMES = NO
-
-# If the JAVADOC_AUTOBRIEF tag is set to YES then Doxygen
-# will interpret the first line (until the first dot) of a JavaDoc-style
-# comment as the brief description. If set to NO, the JavaDoc
-# comments will behave just like the Qt-style comments (thus requiring an
-# explicit @brief command for a brief description.
-
-JAVADOC_AUTOBRIEF = YES
-
-# The MULTILINE_CPP_IS_BRIEF tag can be set to YES to make Doxygen
-# treat a multi-line C++ special comment block (i.e. a block of //! or ///
-# comments) as a brief description. This used to be the default behaviour.
-# The new default is to treat a multi-line C++ comment block as a detailed
-# description. Set this tag to YES if you prefer the old behaviour instead.
-
-MULTILINE_CPP_IS_BRIEF = NO
-
-# If the DETAILS_AT_TOP tag is set to YES then Doxygen
-# will output the detailed description near the top, like JavaDoc.
-# If set to NO, the detailed description appears after the member
-# documentation.
-
-DETAILS_AT_TOP = YES
-
-# If the INHERIT_DOCS tag is set to YES (the default) then an undocumented
-# member inherits the documentation from any documented member that it
-# re-implements.
-
-INHERIT_DOCS = YES
-
-# If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC
-# tag is set to YES, then doxygen will reuse the documentation of the first
-# member in the group (if any) for the other members of the group. By default
-# all members of a group must be documented explicitly.
-
-DISTRIBUTE_GROUP_DOC = NO
-
-# The TAB_SIZE tag can be used to set the number of spaces in a tab.
-# Doxygen uses this value to replace tabs by spaces in code fragments.
-
-TAB_SIZE = 8
-
-# This tag can be used to specify a number of aliases that acts
-# as commands in the documentation. An alias has the form "name=value".
-# For example adding "sideeffect=\par Side Effects:\n" will allow you to
-# put the command \sideeffect (or @sideeffect) in the documentation, which
-# will result in a user-defined paragraph with heading "Side Effects:".
-# You can put \n's in the value part of an alias to insert newlines.
-
-ALIASES =
-
-# Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C sources
-# only. Doxygen will then generate output that is more tailored for C.
-# For instance, some of the names that are used will be different. The list
-# of all members will be omitted, etc.
-
-OPTIMIZE_OUTPUT_FOR_C = YES
-
-# Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of Java sources
-# only. Doxygen will then generate output that is more tailored for Java.
-# For instance, namespaces will be presented as packages, qualified scopes
-# will look different, etc.
-
-OPTIMIZE_OUTPUT_JAVA = NO
-
-# Set the SUBGROUPING tag to YES (the default) to allow class member groups of
-# the same type (for instance a group of public functions) to be put as a
-# subgroup of that type (e.g. under the Public Functions section). Set it to
-# NO to prevent subgrouping. Alternatively, this can be done per class using
-# the \nosubgrouping command.
-
-SUBGROUPING = YES
-
-#---------------------------------------------------------------------------
-# Build related configuration options
-#---------------------------------------------------------------------------
-
-# If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in
-# documentation are documented, even if no documentation was available.
-# Private class members and static file members will be hidden unless
-# the EXTRACT_PRIVATE and EXTRACT_STATIC tags are set to YES
-
-EXTRACT_ALL = NO
-
-# If the EXTRACT_PRIVATE tag is set to YES all private members of a class
-# will be included in the documentation.
-
-EXTRACT_PRIVATE = NO
-
-# If the EXTRACT_STATIC tag is set to YES all static members of a file
-# will be included in the documentation.
-
-EXTRACT_STATIC = NO
-
-# If the EXTRACT_LOCAL_CLASSES tag is set to YES classes (and structs)
-# defined locally in source files will be included in the documentation.
-# If set to NO only classes defined in header files are included.
-
-EXTRACT_LOCAL_CLASSES = YES
-
-# This flag is only useful for Objective-C code. When set to YES local
-# methods, which are defined in the implementation section but not in
-# the interface are included in the documentation.
-# If set to NO (the default) only methods in the interface are included.
-
-EXTRACT_LOCAL_METHODS = NO
-
-# If the HIDE_UNDOC_MEMBERS tag is set to YES, Doxygen will hide all
-# undocumented members of documented classes, files or namespaces.
-# If set to NO (the default) these members will be included in the
-# various overviews, but no documentation section is generated.
-# This option has no effect if EXTRACT_ALL is enabled.
-
-HIDE_UNDOC_MEMBERS = YES
-
-# If the HIDE_UNDOC_CLASSES tag is set to YES, Doxygen will hide all
-# undocumented classes that are normally visible in the class hierarchy.
-# If set to NO (the default) these classes will be included in the various
-# overviews. This option has no effect if EXTRACT_ALL is enabled.
-
-HIDE_UNDOC_CLASSES = NO
-
-# If the HIDE_FRIEND_COMPOUNDS tag is set to YES, Doxygen will hide all
-# friend (class|struct|union) declarations.
-# If set to NO (the default) these declarations will be included in the
-# documentation.
-
-HIDE_FRIEND_COMPOUNDS = NO
-
-# If the HIDE_IN_BODY_DOCS tag is set to YES, Doxygen will hide any
-# documentation blocks found inside the body of a function.
-# If set to NO (the default) these blocks will be appended to the
-# function's detailed documentation block.
-
-HIDE_IN_BODY_DOCS = NO
-
-# The INTERNAL_DOCS tag determines if documentation
-# that is typed after a \internal command is included. If the tag is set
-# to NO (the default) then the documentation will be excluded.
-# Set it to YES to include the internal documentation.
-
-INTERNAL_DOCS = NO
-
-# If the CASE_SENSE_NAMES tag is set to NO then Doxygen will only generate
-# file names in lower-case letters. If set to YES upper-case letters are also
-# allowed. This is useful if you have classes or files whose names only differ
-# in case and if your file system supports case sensitive file names. Windows
-# users are advised to set this option to NO.
-
-CASE_SENSE_NAMES = YES
-
-# If the HIDE_SCOPE_NAMES tag is set to NO (the default) then Doxygen
-# will show members with their full class and namespace scopes in the
-# documentation. If set to YES the scope will be hidden.
-
-HIDE_SCOPE_NAMES = NO
-
-# If the SHOW_INCLUDE_FILES tag is set to YES (the default) then Doxygen
-# will put a list of the files that are included by a file in the documentation
-# of that file.
-
-SHOW_INCLUDE_FILES = YES
-
-# If the INLINE_INFO tag is set to YES (the default) then a tag [inline]
-# is inserted in the documentation for inline members.
-
-INLINE_INFO = YES
-
-# If the SORT_MEMBER_DOCS tag is set to YES (the default) then doxygen
-# will sort the (detailed) documentation of file and class members
-# alphabetically by member name. If set to NO the members will appear in
-# declaration order.
-
-SORT_MEMBER_DOCS = YES
-
-# If the SORT_BRIEF_DOCS tag is set to YES then doxygen will sort the
-# brief documentation of file, namespace and class members alphabetically
-# by member name. If set to NO (the default) the members will appear in
-# declaration order.
-
-SORT_BRIEF_DOCS = NO
-
-# If the SORT_BY_SCOPE_NAME tag is set to YES, the class list will be
-# sorted by fully-qualified names, including namespaces. If set to
-# NO (the default), the class list will be sorted only by class name,
-# not including the namespace part.
-# Note: This option is not very useful if HIDE_SCOPE_NAMES is set to YES.
-# Note: This option applies only to the class list, not to the
-# alphabetical list.
-
-SORT_BY_SCOPE_NAME = NO
-
-# The GENERATE_TODOLIST tag can be used to enable (YES) or
-# disable (NO) the todo list. This list is created by putting \todo
-# commands in the documentation.
-
-GENERATE_TODOLIST = YES
-
-# The GENERATE_TESTLIST tag can be used to enable (YES) or
-# disable (NO) the test list. This list is created by putting \test
-# commands in the documentation.
-
-GENERATE_TESTLIST = YES
-
-# The GENERATE_BUGLIST tag can be used to enable (YES) or
-# disable (NO) the bug list. This list is created by putting \bug
-# commands in the documentation.
-
-GENERATE_BUGLIST = YES
-
-# The GENERATE_DEPRECATEDLIST tag can be used to enable (YES) or
-# disable (NO) the deprecated list. This list is created by putting
-# \deprecated commands in the documentation.
-
-GENERATE_DEPRECATEDLIST= YES
-
-# The ENABLED_SECTIONS tag can be used to enable conditional
-# documentation sections, marked by \if sectionname ... \endif.
-
-ENABLED_SECTIONS =
-
-# The MAX_INITIALIZER_LINES tag determines the maximum number of lines
-# the initial value of a variable or define consists of for it to appear in
-# the documentation. If the initializer consists of more lines than specified
-# here it will be hidden. Use a value of 0 to hide initializers completely.
-# The appearance of the initializer of individual variables and defines in the
-# documentation can be controlled using \showinitializer or \hideinitializer
-# command in the documentation regardless of this setting.
-
-MAX_INITIALIZER_LINES = 30
-
-# Set the SHOW_USED_FILES tag to NO to disable the list of files generated
-# at the bottom of the documentation of classes and structs. If set to YES the
-# list will mention the files that were used to generate the documentation.
-
-SHOW_USED_FILES = YES
-
-#---------------------------------------------------------------------------
-# configuration options related to warning and progress messages
-#---------------------------------------------------------------------------
-
-# The QUIET tag can be used to turn on/off the messages that are generated
-# by doxygen. Possible values are YES and NO. If left blank NO is used.
-
-QUIET = NO
-
-# The WARNINGS tag can be used to turn on/off the warning messages that are
-# generated by doxygen. Possible values are YES and NO. If left blank
-# NO is used.
-
-WARNINGS = YES
-
-# If WARN_IF_UNDOCUMENTED is set to YES, then doxygen will generate warnings
-# for undocumented members. If EXTRACT_ALL is set to YES then this flag will
-# automatically be disabled.
-
-WARN_IF_UNDOCUMENTED = YES
-
-# If WARN_IF_DOC_ERROR is set to YES, doxygen will generate warnings for
-# potential errors in the documentation, such as not documenting some
-# parameters in a documented function, or documenting parameters that
-# don't exist or using markup commands wrongly.
-
-WARN_IF_DOC_ERROR = YES
-
-# The WARN_FORMAT tag determines the format of the warning messages that
-# doxygen can produce. The string should contain the $file, $line, and $text
-# tags, which will be replaced by the file and line number from which the
-# warning originated and the warning text.
-
-WARN_FORMAT = "$file:$line: $text"
-
-# The WARN_LOGFILE tag can be used to specify a file to which warning
-# and error messages should be written. If left blank the output is written
-# to stderr.
-
-WARN_LOGFILE =
-
-#---------------------------------------------------------------------------
-# configuration options related to the input files
-#---------------------------------------------------------------------------
-
-# The INPUT tag can be used to specify the files and/or directories that contain
-# documented source files. You may enter file names like "myfile.cpp" or
-# directories like "/usr/src/myproject". Separate the files or directories
-# with spaces.
-
-INPUT = conic/conic.h \
- conic/conicconnection.h \
- conic/conicconnectionevent.h \
- conic/conicevent.h \
- conic/coniciap.h \
- conic/conicstatisticsevent.h
-
-# If the value of the INPUT tag contains directories, you can use the
-# FILE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp
-# and *.h) to filter out the source-files in the directories. If left
-# blank the following patterns are tested:
-# *.c *.cc *.cxx *.cpp *.c++ *.java *.ii *.ixx *.ipp *.i++ *.inl *.h *.hh *.hxx *.hpp
-# *.h++ *.idl *.odl *.cs *.php *.php3 *.inc *.m *.mm
-
-FILE_PATTERNS =
-
-# The RECURSIVE tag can be used to turn specify whether or not subdirectories
-# should be searched for input files as well. Possible values are YES and NO.
-# If left blank NO is used.
-
-RECURSIVE = NO
-
-# The EXCLUDE tag can be used to specify files and/or directories that should
-# excluded from the INPUT source files. This way you can easily exclude a
-# subdirectory from a directory tree whose root is specified with the INPUT tag.
-
-EXCLUDE =
-
-# The EXCLUDE_SYMLINKS tag can be used select whether or not files or directories
-# that are symbolic links (a Unix filesystem feature) are excluded from the input.
-
-EXCLUDE_SYMLINKS = NO
-
-# If the value of the INPUT tag contains directories, you can use the
-# EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude
-# certain files from those directories.
-
-EXCLUDE_PATTERNS =
-
-# The EXAMPLE_PATH tag can be used to specify one or more files or
-# directories that contain example code fragments that are included (see
-# the \include command).
-
-EXAMPLE_PATH =
-
-# If the value of the EXAMPLE_PATH tag contains directories, you can use the
-# EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp
-# and *.h) to filter out the source-files in the directories. If left
-# blank all files are included.
-
-EXAMPLE_PATTERNS =
-
-# If the EXAMPLE_RECURSIVE tag is set to YES then subdirectories will be
-# searched for input files to be used with the \include or \dontinclude
-# commands irrespective of the value of the RECURSIVE tag.
-# Possible values are YES and NO. If left blank NO is used.
-
-EXAMPLE_RECURSIVE = NO
-
-# The IMAGE_PATH tag can be used to specify one or more files or
-# directories that contain image that are included in the documentation (see
-# the \image command).
-
-IMAGE_PATH =
-
-# The INPUT_FILTER tag can be used to specify a program that doxygen should
-# invoke to filter for each input file. Doxygen will invoke the filter program
-# by executing (via popen()) the command <filter> <input-file>, where <filter>
-# is the value of the INPUT_FILTER tag, and <input-file> is the name of an
-# input file. Doxygen will then use the output that the filter program writes
-# to standard output.
-
-INPUT_FILTER =
-
-# If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using
-# INPUT_FILTER) will be used to filter the input files when producing source
-# files to browse (i.e. when SOURCE_BROWSER is set to YES).
-
-FILTER_SOURCE_FILES = NO
-
-#---------------------------------------------------------------------------
-# configuration options related to source browsing
-#---------------------------------------------------------------------------
-
-# If the SOURCE_BROWSER tag is set to YES then a list of source files will
-# be generated. Documented entities will be cross-referenced with these sources.
-# Note: To get rid of all source code in the generated output, make sure also
-# VERBATIM_HEADERS is set to NO.
-
-SOURCE_BROWSER = NO
-
-# Setting the INLINE_SOURCES tag to YES will include the body
-# of functions and classes directly in the documentation.
-
-INLINE_SOURCES = NO
-
-# Setting the STRIP_CODE_COMMENTS tag to YES (the default) will instruct
-# doxygen to hide any special comment blocks from generated source code
-# fragments. Normal C and C++ comments will always remain visible.
-
-STRIP_CODE_COMMENTS = YES
-
-# If the REFERENCED_BY_RELATION tag is set to YES (the default)
-# then for each documented function all documented
-# functions referencing it will be listed.
-
-REFERENCED_BY_RELATION = YES
-
-# If the REFERENCES_RELATION tag is set to YES (the default)
-# then for each documented function all documented entities
-# called/used by that function will be listed.
-
-REFERENCES_RELATION = YES
-
-# If the VERBATIM_HEADERS tag is set to YES (the default) then Doxygen
-# will generate a verbatim copy of the header file for each class for
-# which an include is specified. Set to NO to disable this.
-
-VERBATIM_HEADERS = NO
-
-#---------------------------------------------------------------------------
-# configuration options related to the alphabetical class index
-#---------------------------------------------------------------------------
-
-# If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index
-# of all compounds will be generated. Enable this if the project
-# contains a lot of classes, structs, unions or interfaces.
-
-ALPHABETICAL_INDEX = NO
-
-# If the alphabetical index is enabled (see ALPHABETICAL_INDEX) then
-# the COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns
-# in which this list will be split (can be a number in the range [1..20])
-
-COLS_IN_ALPHA_INDEX = 5
-
-# In case all classes in a project start with a common prefix, all
-# classes will be put under the same header in the alphabetical index.
-# The IGNORE_PREFIX tag can be used to specify one or more prefixes that
-# should be ignored while generating the index headers.
-
-IGNORE_PREFIX =
-
-#---------------------------------------------------------------------------
-# configuration options related to the HTML output
-#---------------------------------------------------------------------------
-
-# If the GENERATE_HTML tag is set to YES (the default) Doxygen will
-# generate HTML output.
-
-GENERATE_HTML = YES
-
-# The HTML_OUTPUT tag is used to specify where the HTML docs will be put.
-# If a relative path is entered the value of OUTPUT_DIRECTORY will be
-# put in front of it. If left blank `html' will be used as the default path.
-
-HTML_OUTPUT = html
-
-# The HTML_FILE_EXTENSION tag can be used to specify the file extension for
-# each generated HTML page (for example: .htm,.php,.asp). If it is left blank
-# doxygen will generate files with .html extension.
-
-HTML_FILE_EXTENSION = .html
-
-# The HTML_HEADER tag can be used to specify a personal HTML header for
-# each generated HTML page. If it is left blank doxygen will generate a
-# standard header.
-
-HTML_HEADER =
-
-# The HTML_FOOTER tag can be used to specify a personal HTML footer for
-# each generated HTML page. If it is left blank doxygen will generate a
-# standard footer.
-
-HTML_FOOTER =
-
-# The HTML_STYLESHEET tag can be used to specify a user-defined cascading
-# style sheet that is used by each HTML page. It can be used to
-# fine-tune the look of the HTML output. If the tag is left blank doxygen
-# will generate a default style sheet. Note that doxygen will try to copy
-# the style sheet file to the HTML output directory, so don't put your own
-# stylesheet in the HTML output directory as well, or it will be erased!
-
-HTML_STYLESHEET =
-
-# If the HTML_ALIGN_MEMBERS tag is set to YES, the members of classes,
-# files or namespaces will be aligned in HTML using tables. If set to
-# NO a bullet list will be used.
-
-HTML_ALIGN_MEMBERS = YES
-
-# If the GENERATE_HTMLHELP tag is set to YES, additional index files
-# will be generated that can be used as input for tools like the
-# Microsoft HTML help workshop to generate a compressed HTML help file (.chm)
-# of the generated HTML documentation.
-
-GENERATE_HTMLHELP = NO
-
-# If the GENERATE_HTMLHELP tag is set to YES, the CHM_FILE tag can
-# be used to specify the file name of the resulting .chm file. You
-# can add a path in front of the file if the result should not be
-# written to the html output directory.
-
-CHM_FILE =
-
-# If the GENERATE_HTMLHELP tag is set to YES, the HHC_LOCATION tag can
-# be used to specify the location (absolute path including file name) of
-# the HTML help compiler (hhc.exe). If non-empty doxygen will try to run
-# the HTML help compiler on the generated index.hhp.
-
-HHC_LOCATION =
-
-# If the GENERATE_HTMLHELP tag is set to YES, the GENERATE_CHI flag
-# controls if a separate .chi index file is generated (YES) or that
-# it should be included in the master .chm file (NO).
-
-GENERATE_CHI = NO
-
-# If the GENERATE_HTMLHELP tag is set to YES, the BINARY_TOC flag
-# controls whether a binary table of contents is generated (YES) or a
-# normal table of contents (NO) in the .chm file.
-
-BINARY_TOC = NO
-
-# The TOC_EXPAND flag can be set to YES to add extra items for group members
-# to the contents of the HTML help documentation and to the tree view.
-
-TOC_EXPAND = NO
-
-# The DISABLE_INDEX tag can be used to turn on/off the condensed index at
-# top of each HTML page. The value NO (the default) enables the index and
-# the value YES disables it.
-
-DISABLE_INDEX = NO
-
-# This tag can be used to set the number of enum values (range [1..20])
-# that doxygen will group on one line in the generated HTML documentation.
-
-ENUM_VALUES_PER_LINE = 4
-
-# If the GENERATE_TREEVIEW tag is set to YES, a side panel will be
-# generated containing a tree-like index structure (just like the one that
-# is generated for HTML Help). For this to work a browser that supports
-# JavaScript, DHTML, CSS and frames is required (for instance Mozilla 1.0+,
-# Netscape 6.0+, Internet explorer 5.0+, or Konqueror). Windows users are
-# probably better off using the HTML help feature.
-
-GENERATE_TREEVIEW = NO
-
-# If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be
-# used to set the initial width (in pixels) of the frame in which the tree
-# is shown.
-
-TREEVIEW_WIDTH = 250
-
-#---------------------------------------------------------------------------
-# configuration options related to the LaTeX output
-#---------------------------------------------------------------------------
-
-# If the GENERATE_LATEX tag is set to YES (the default) Doxygen will
-# generate Latex output.
-
-GENERATE_LATEX = YES
-
-# The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put.
-# If a relative path is entered the value of OUTPUT_DIRECTORY will be
-# put in front of it. If left blank `latex' will be used as the default path.
-
-LATEX_OUTPUT = latex
-
-# The LATEX_CMD_NAME tag can be used to specify the LaTeX command name to be
-# invoked. If left blank `latex' will be used as the default command name.
-
-LATEX_CMD_NAME = latex
-
-# The MAKEINDEX_CMD_NAME tag can be used to specify the command name to
-# generate index for LaTeX. If left blank `makeindex' will be used as the
-# default command name.
-
-MAKEINDEX_CMD_NAME = makeindex
-
-# If the COMPACT_LATEX tag is set to YES Doxygen generates more compact
-# LaTeX documents. This may be useful for small projects and may help to
-# save some trees in general.
-
-COMPACT_LATEX = NO
-
-# The PAPER_TYPE tag can be used to set the paper type that is used
-# by the printer. Possible values are: a4, a4wide, letter, legal and
-# executive. If left blank a4wide will be used.
-
-PAPER_TYPE = a4wide
-
-# The EXTRA_PACKAGES tag can be to specify one or more names of LaTeX
-# packages that should be included in the LaTeX output.
-
-EXTRA_PACKAGES =
-
-# The LATEX_HEADER tag can be used to specify a personal LaTeX header for
-# the generated latex document. The header should contain everything until
-# the first chapter. If it is left blank doxygen will generate a
-# standard header. Notice: only use this tag if you know what you are doing!
-
-LATEX_HEADER =
-
-# If the PDF_HYPERLINKS tag is set to YES, the LaTeX that is generated
-# is prepared for conversion to pdf (using ps2pdf). The pdf file will
-# contain links (just like the HTML output) instead of page references
-# This makes the output suitable for online browsing using a pdf viewer.
-
-PDF_HYPERLINKS = YES
-
-# If the USE_PDFLATEX tag is set to YES, pdflatex will be used instead of
-# plain latex in the generated Makefile. Set this option to YES to get a
-# higher quality PDF documentation.
-
-USE_PDFLATEX = YES
-
-# If the LATEX_BATCHMODE tag is set to YES, doxygen will add the \\batchmode.
-# command to the generated LaTeX files. This will instruct LaTeX to keep
-# running if errors occur, instead of asking the user for help.
-# This option is also used when generating formulas in HTML.
-
-LATEX_BATCHMODE = NO
-
-# If LATEX_HIDE_INDICES is set to YES then doxygen will not
-# include the index chapters (such as File Index, Compound Index, etc.)
-# in the output.
-
-LATEX_HIDE_INDICES = NO
-
-#---------------------------------------------------------------------------
-# configuration options related to the RTF output
-#---------------------------------------------------------------------------
-
-# If the GENERATE_RTF tag is set to YES Doxygen will generate RTF output
-# The RTF output is optimized for Word 97 and may not look very pretty with
-# other RTF readers or editors.
-
-GENERATE_RTF = NO
-
-# The RTF_OUTPUT tag is used to specify where the RTF docs will be put.
-# If a relative path is entered the value of OUTPUT_DIRECTORY will be
-# put in front of it. If left blank `rtf' will be used as the default path.
-
-RTF_OUTPUT = rtf
-
-# If the COMPACT_RTF tag is set to YES Doxygen generates more compact
-# RTF documents. This may be useful for small projects and may help to
-# save some trees in general.
-
-COMPACT_RTF = NO
-
-# If the RTF_HYPERLINKS tag is set to YES, the RTF that is generated
-# will contain hyperlink fields. The RTF file will
-# contain links (just like the HTML output) instead of page references.
-# This makes the output suitable for online browsing using WORD or other
-# programs which support those fields.
-# Note: wordpad (write) and others do not support links.
-
-RTF_HYPERLINKS = NO
-
-# Load stylesheet definitions from file. Syntax is similar to doxygen's
-# config file, i.e. a series of assignments. You only have to provide
-# replacements, missing definitions are set to their default value.
-
-RTF_STYLESHEET_FILE =
-
-# Set optional variables used in the generation of an rtf document.
-# Syntax is similar to doxygen's config file.
-
-RTF_EXTENSIONS_FILE =
-
-#---------------------------------------------------------------------------
-# configuration options related to the man page output
-#---------------------------------------------------------------------------
-
-# If the GENERATE_MAN tag is set to YES (the default) Doxygen will
-# generate man pages
-
-GENERATE_MAN = NO
-
-# The MAN_OUTPUT tag is used to specify where the man pages will be put.
-# If a relative path is entered the value of OUTPUT_DIRECTORY will be
-# put in front of it. If left blank `man' will be used as the default path.
-
-MAN_OUTPUT = man
-
-# The MAN_EXTENSION tag determines the extension that is added to
-# the generated man pages (default is the subroutine's section .3)
-
-MAN_EXTENSION = .3
-
-# If the MAN_LINKS tag is set to YES and Doxygen generates man output,
-# then it will generate one additional man file for each entity
-# documented in the real man page(s). These additional files
-# only source the real man page, but without them the man command
-# would be unable to find the correct page. The default is NO.
-
-MAN_LINKS = NO
-
-#---------------------------------------------------------------------------
-# configuration options related to the XML output
-#---------------------------------------------------------------------------
-
-# If the GENERATE_XML tag is set to YES Doxygen will
-# generate an XML file that captures the structure of
-# the code including all documentation.
-
-GENERATE_XML = NO
-
-# The XML_OUTPUT tag is used to specify where the XML pages will be put.
-# If a relative path is entered the value of OUTPUT_DIRECTORY will be
-# put in front of it. If left blank `xml' will be used as the default path.
-
-XML_OUTPUT = xml
-
-# The XML_SCHEMA tag can be used to specify an XML schema,
-# which can be used by a validating XML parser to check the
-# syntax of the XML files.
-
-XML_SCHEMA =
-
-# The XML_DTD tag can be used to specify an XML DTD,
-# which can be used by a validating XML parser to check the
-# syntax of the XML files.
-
-XML_DTD =
-
-# If the XML_PROGRAMLISTING tag is set to YES Doxygen will
-# dump the program listings (including syntax highlighting
-# and cross-referencing information) to the XML output. Note that
-# enabling this will significantly increase the size of the XML output.
-
-XML_PROGRAMLISTING = YES
-
-#---------------------------------------------------------------------------
-# configuration options for the AutoGen Definitions output
-#---------------------------------------------------------------------------
-
-# If the GENERATE_AUTOGEN_DEF tag is set to YES Doxygen will
-# generate an AutoGen Definitions (see autogen.sf.net) file
-# that captures the structure of the code including all
-# documentation. Note that this feature is still experimental
-# and incomplete at the moment.
-
-GENERATE_AUTOGEN_DEF = NO
-
-#---------------------------------------------------------------------------
-# configuration options related to the Perl module output
-#---------------------------------------------------------------------------
-
-# If the GENERATE_PERLMOD tag is set to YES Doxygen will
-# generate a Perl module file that captures the structure of
-# the code including all documentation. Note that this
-# feature is still experimental and incomplete at the
-# moment.
-
-GENERATE_PERLMOD = NO
-
-# If the PERLMOD_LATEX tag is set to YES Doxygen will generate
-# the necessary Makefile rules, Perl scripts and LaTeX code to be able
-# to generate PDF and DVI output from the Perl module output.
-
-PERLMOD_LATEX = NO
-
-# If the PERLMOD_PRETTY tag is set to YES the Perl module output will be
-# nicely formatted so it can be parsed by a human reader. This is useful
-# if you want to understand what is going on. On the other hand, if this
-# tag is set to NO the size of the Perl module output will be much smaller
-# and Perl will parse it just the same.
-
-PERLMOD_PRETTY = YES
-
-# The names of the make variables in the generated doxyrules.make file
-# are prefixed with the string contained in PERLMOD_MAKEVAR_PREFIX.
-# This is useful so different doxyrules.make files included by the same
-# Makefile don't overwrite each other's variables.
-
-PERLMOD_MAKEVAR_PREFIX =
-
-#---------------------------------------------------------------------------
-# Configuration options related to the preprocessor
-#---------------------------------------------------------------------------
-
-# If the ENABLE_PREPROCESSING tag is set to YES (the default) Doxygen will
-# evaluate all C-preprocessor directives found in the sources and include
-# files.
-
-ENABLE_PREPROCESSING = YES
-
-# If the MACRO_EXPANSION tag is set to YES Doxygen will expand all macro
-# names in the source code. If set to NO (the default) only conditional
-# compilation will be performed. Macro expansion can be done in a controlled
-# way by setting EXPAND_ONLY_PREDEF to YES.
-
-MACRO_EXPANSION = NO
-
-# If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES
-# then the macro expansion is limited to the macros specified with the
-# PREDEFINED and EXPAND_AS_PREDEFINED tags.
-
-EXPAND_ONLY_PREDEF = NO
-
-# If the SEARCH_INCLUDES tag is set to YES (the default) the includes files
-# in the INCLUDE_PATH (see below) will be search if a #include is found.
-
-SEARCH_INCLUDES = YES
-
-# The INCLUDE_PATH tag can be used to specify one or more directories that
-# contain include files that are not input files but should be processed by
-# the preprocessor.
-
-INCLUDE_PATH =
-
-# You can use the INCLUDE_FILE_PATTERNS tag to specify one or more wildcard
-# patterns (like *.h and *.hpp) to filter out the header-files in the
-# directories. If left blank, the patterns specified with FILE_PATTERNS will
-# be used.
-
-INCLUDE_FILE_PATTERNS =
-
-# The PREDEFINED tag can be used to specify one or more macro names that
-# are defined before the preprocessor is started (similar to the -D option of
-# gcc). The argument of the tag is a list of macros of the form: name
-# or name=definition (no spaces). If the definition and the = are
-# omitted =1 is assumed.
-
-PREDEFINED =
-
-# If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then
-# this tag can be used to specify a list of macro names that should be expanded.
-# The macro definition that is found in the sources will be used.
-# Use the PREDEFINED tag if you want to use a different macro definition.
-
-EXPAND_AS_DEFINED =
-
-# If the SKIP_FUNCTION_MACROS tag is set to YES (the default) then
-# doxygen's preprocessor will remove all function-like macros that are alone
-# on a line, have an all uppercase name, and do not end with a semicolon. Such
-# function macros are typically used for boiler-plate code, and will confuse the
-# parser if not removed.
-
-SKIP_FUNCTION_MACROS = YES
-
-#---------------------------------------------------------------------------
-# Configuration::additions related to external references
-#---------------------------------------------------------------------------
-
-# The TAGFILES option can be used to specify one or more tagfiles.
-# Optionally an initial location of the external documentation
-# can be added for each tagfile. The format of a tag file without
-# this location is as follows:
-# TAGFILES = file1 file2 ...
-# Adding location for the tag files is done as follows:
-# TAGFILES = file1=loc1 "file2 = loc2" ...
-# where "loc1" and "loc2" can be relative or absolute paths or
-# URLs. If a location is present for each tag, the installdox tool
-# does not have to be run to correct the links.
-# Note that each tag file must have a unique name
-# (where the name does NOT include the path)
-# If a tag file is not located in the directory in which doxygen
-# is run, you must also specify the path to the tagfile here.
-
-TAGFILES =
-
-# When a file name is specified after GENERATE_TAGFILE, doxygen will create
-# a tag file that is based on the input files it reads.
-
-GENERATE_TAGFILE =
-
-# If the ALLEXTERNALS tag is set to YES all external classes will be listed
-# in the class index. If set to NO only the inherited external classes
-# will be listed.
-
-ALLEXTERNALS = NO
-
-# If the EXTERNAL_GROUPS tag is set to YES all external groups will be listed
-# in the modules index. If set to NO, only the current project's groups will
-# be listed.
-
-EXTERNAL_GROUPS = YES
-
-# The PERL_PATH should be the absolute path and name of the perl script
-# interpreter (i.e. the result of `which perl').
-
-PERL_PATH = /usr/bin/perl
-
-#---------------------------------------------------------------------------
-# Configuration options related to the dot tool
-#---------------------------------------------------------------------------
-
-# If the CLASS_DIAGRAMS tag is set to YES (the default) Doxygen will
-# generate a inheritance diagram (in HTML, RTF and LaTeX) for classes with base or
-# super classes. Setting the tag to NO turns the diagrams off. Note that this
-# option is superseded by the HAVE_DOT option below. This is only a fallback. It is
-# recommended to install and use dot, since it yields more powerful graphs.
-
-CLASS_DIAGRAMS = YES
-
-# If set to YES, the inheritance and collaboration graphs will hide
-# inheritance and usage relations if the target is undocumented
-# or is not a class.
-
-HIDE_UNDOC_RELATIONS = YES
-
-# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is
-# available from the path. This tool is part of Graphviz, a graph visualization
-# toolkit from AT&T and Lucent Bell Labs. The other options in this section
-# have no effect if this option is set to NO (the default)
-
-HAVE_DOT = NO
-
-# If the CLASS_GRAPH and HAVE_DOT tags are set to YES then doxygen
-# will generate a graph for each documented class showing the direct and
-# indirect inheritance relations. Setting this tag to YES will force the
-# the CLASS_DIAGRAMS tag to NO.
-
-CLASS_GRAPH = YES
-
-# If the COLLABORATION_GRAPH and HAVE_DOT tags are set to YES then doxygen
-# will generate a graph for each documented class showing the direct and
-# indirect implementation dependencies (inheritance, containment, and
-# class references variables) of the class with other documented classes.
-
-COLLABORATION_GRAPH = YES
-
-# If the UML_LOOK tag is set to YES doxygen will generate inheritance and
-# collaboration diagrams in a style similar to the OMG's Unified Modeling
-# Language.
-
-UML_LOOK = NO
-
-# If set to YES, the inheritance and collaboration graphs will show the
-# relations between templates and their instances.
-
-TEMPLATE_RELATIONS = NO
-
-# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDE_GRAPH, and HAVE_DOT
-# tags are set to YES then doxygen will generate a graph for each documented
-# file showing the direct and indirect include dependencies of the file with
-# other documented files.
-
-INCLUDE_GRAPH = YES
-
-# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDED_BY_GRAPH, and
-# HAVE_DOT tags are set to YES then doxygen will generate a graph for each
-# documented header file showing the documented files that directly or
-# indirectly include this file.
-
-INCLUDED_BY_GRAPH = YES
-
-# If the CALL_GRAPH and HAVE_DOT tags are set to YES then doxygen will
-# generate a call dependency graph for every global function or class method.
-# Note that enabling this option will significantly increase the time of a run.
-# So in most cases it will be better to enable call graphs for selected
-# functions only using the \callgraph command.
-
-CALL_GRAPH = NO
-
-# If the GRAPHICAL_HIERARCHY and HAVE_DOT tags are set to YES then doxygen
-# will graphical hierarchy of all classes instead of a textual one.
-
-GRAPHICAL_HIERARCHY = YES
-
-# The DOT_IMAGE_FORMAT tag can be used to set the image format of the images
-# generated by dot. Possible values are png, jpg, or gif
-# If left blank png will be used.
-
-DOT_IMAGE_FORMAT = png
-
-# The tag DOT_PATH can be used to specify the path where the dot tool can be
-# found. If left blank, it is assumed the dot tool can be found on the path.
-
-DOT_PATH =
-
-# The DOTFILE_DIRS tag can be used to specify one or more directories that
-# contain dot files that are included in the documentation (see the
-# \dotfile command).
-
-DOTFILE_DIRS =
-
-# The MAX_DOT_GRAPH_WIDTH tag can be used to set the maximum allowed width
-# (in pixels) of the graphs generated by dot. If a graph becomes larger than
-# this value, doxygen will try to truncate the graph, so that it fits within
-# the specified constraint. Beware that most browsers cannot cope with very
-# large images.
-
-MAX_DOT_GRAPH_WIDTH = 1024
-
-# The MAX_DOT_GRAPH_HEIGHT tag can be used to set the maximum allows height
-# (in pixels) of the graphs generated by dot. If a graph becomes larger than
-# this value, doxygen will try to truncate the graph, so that it fits within
-# the specified constraint. Beware that most browsers cannot cope with very
-# large images.
-
-MAX_DOT_GRAPH_HEIGHT = 1024
-
-# The MAX_DOT_GRAPH_DEPTH tag can be used to set the maximum depth of the
-# graphs generated by dot. A depth value of 3 means that only nodes reachable
-# from the root by following a path via at most 3 edges will be shown. Nodes that
-# lay further from the root node will be omitted. Note that setting this option to
-# 1 or 2 may greatly reduce the computation time needed for large code bases. Also
-# note that a graph may be further truncated if the graph's image dimensions are
-# not sufficient to fit the graph (see MAX_DOT_GRAPH_WIDTH and MAX_DOT_GRAPH_HEIGHT).
-# If 0 is used for the depth value (the default), the graph is not depth-constrained.
-
-MAX_DOT_GRAPH_DEPTH = 0
-
-# If the GENERATE_LEGEND tag is set to YES (the default) Doxygen will
-# generate a legend page explaining the meaning of the various boxes and
-# arrows in the dot generated graphs.
-
-GENERATE_LEGEND = YES
-
-# If the DOT_CLEANUP tag is set to YES (the default) Doxygen will
-# remove the intermediate dot files that are used to generate
-# the various graphs.
-
-DOT_CLEANUP = YES
-
-#---------------------------------------------------------------------------
-# Configuration::additions related to the search engine
-#---------------------------------------------------------------------------
-
-# The SEARCHENGINE tag specifies whether or not a search engine should be
-# used. If set to NO the values of all tags below this one will be ignored.
-
-SEARCHENGINE = NO
diff --git a/src/3rdparty/libconninet/src/dbusdispatcher.cpp b/src/3rdparty/libconninet/src/dbusdispatcher.cpp
deleted file mode 100644
index 7581982..0000000
--- a/src/3rdparty/libconninet/src/dbusdispatcher.cpp
+++ /dev/null
@@ -1,611 +0,0 @@
-/* * This file is part of conninet *
- *
- * Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- *
- * Contact: Aapo Makela <aapo.makela@nokia.com>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public License
- * version 2.1 as published by the Free Software Foundation.
- *
- * 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 St, Fifth Floor, Boston, MA
- * 02110-1301 USA
- */
-
-#include <QDebug>
-#include <QtCore>
-#include <poll.h>
-#include <dbus/dbus.h>
-#include <dbus/dbus-glib-lowlevel.h>
-#include <glib.h>
-#include "dbusdispatcher.h"
-
-namespace Maemo {
-
-/*!
- \class DBusDispatcher
-
- \brief DBusDispatcher is a class, which is able to send DBUS method call
- messages and receive unicast signals from DBUS object.
-*/
-
-class DBusDispatcherPrivate
-{
-public:
- DBusDispatcherPrivate(const QString& service,
- const QString& path,
- const QString& interface,
- const QString& signalPath)
- : service(service), path(path), interface(interface),
- signalPath(signalPath), connection(0)
- {
- memset(&signal_vtable, 0, sizeof(signal_vtable));
- }
-
- ~DBusDispatcherPrivate()
- {
- foreach(DBusPendingCall *call, pending_calls) {
- dbus_pending_call_cancel(call);
- dbus_pending_call_unref(call);
- }
- }
-
- QString service;
- QString path;
- QString interface;
- QString signalPath;
- struct DBusConnection *connection;
- QList<DBusPendingCall *> pending_calls;
- struct DBusObjectPathVTable signal_vtable;
-};
-
-static bool constantVariantList(const QVariantList& variantList) {
- // Special case, empty list == empty struct
- if (variantList.isEmpty()) {
- return false;
- } else {
- QVariant::Type type = variantList[0].type();
- // Iterate items in the list and check if they are same type
- foreach(QVariant variant, variantList) {
- if (variant.type() != type) {
- return false;
- }
- }
- }
- return true;
-}
-
-static QString variantToSignature(const QVariant& argument,
- bool constantList = true) {
- switch (argument.type()) {
- case QVariant::Bool:
- return "b";
- case QVariant::ByteArray:
- return "ay";
- case QVariant::Char:
- return "y";
- case QVariant::Int:
- return "i";
- case QVariant::UInt:
- return "u";
- case QVariant::StringList:
- return "as";
- case QVariant::String:
- return "s";
- case QVariant::LongLong:
- return "x";
- case QVariant::ULongLong:
- return "t";
- case QVariant::List:
- {
- QString signature;
- QVariantList variantList = argument.toList();
- if (!constantList) {
- signature += DBUS_STRUCT_BEGIN_CHAR_AS_STRING;
- foreach(QVariant listItem, variantList) {
- signature += variantToSignature(listItem);
- }
- signature += DBUS_STRUCT_END_CHAR_AS_STRING;
- } else {
- if (variantList.isEmpty())
- return "";
- signature = "a" + variantToSignature(variantList[0]);
- }
-
- return signature;
- }
- default:
- qDebug() << "Unsupported variant type: " << argument.type();
- break;
- }
-
- return "";
-}
-
-static bool appendVariantToDBusMessage(const QVariant& argument,
- DBusMessageIter *dbus_iter) {
- int idx = 0;
- DBusMessageIter array_iter;
- QStringList str_list;
- dbus_bool_t bool_data;
- dbus_int32_t int32_data;
- dbus_uint32_t uint32_data;
- dbus_int64_t int64_data;
- dbus_uint64_t uint64_data;
- char *str_data;
- char char_data;
-
- switch (argument.type()) {
-
- case QVariant::Bool:
- bool_data = argument.toBool();
- dbus_message_iter_append_basic(dbus_iter, DBUS_TYPE_BOOLEAN,
- &bool_data);
- break;
-
- case QVariant::ByteArray:
- str_data = argument.toByteArray().data();
- dbus_message_iter_open_container(dbus_iter, DBUS_TYPE_ARRAY,
- DBUS_TYPE_BYTE_AS_STRING, &array_iter);
- dbus_message_iter_append_fixed_array(&array_iter,
- DBUS_TYPE_BYTE,
- &str_data,
- argument.toByteArray().size());
- dbus_message_iter_close_container(dbus_iter, &array_iter);
- break;
-
- case QVariant::Char:
- char_data = argument.toChar().toAscii();
- dbus_message_iter_append_basic(dbus_iter, DBUS_TYPE_BYTE,
- &char_data);
- break;
-
- case QVariant::Int:
- int32_data = argument.toInt();
- dbus_message_iter_append_basic(dbus_iter, DBUS_TYPE_INT32,
- &int32_data);
- break;
-
- case QVariant::String:
- str_data = argument.toString().toLatin1().data();
- dbus_message_iter_append_basic(dbus_iter, DBUS_TYPE_STRING,
- &str_data);
- break;
-
- case QVariant::StringList:
- str_list = argument.toStringList();
- dbus_message_iter_open_container(dbus_iter, DBUS_TYPE_ARRAY,
- "s", &array_iter);
- for (idx = 0; idx < str_list.size(); idx++) {
- str_data = str_list.at(idx).toLatin1().data();
- dbus_message_iter_append_basic(&array_iter,
- DBUS_TYPE_STRING,
- &str_data);
- }
- dbus_message_iter_close_container(dbus_iter, &array_iter);
- break;
-
- case QVariant::UInt:
- uint32_data = argument.toUInt();
- dbus_message_iter_append_basic(dbus_iter, DBUS_TYPE_UINT32,
- &uint32_data);
- break;
-
- case QVariant::ULongLong:
- uint64_data = argument.toULongLong();
- dbus_message_iter_append_basic(dbus_iter, DBUS_TYPE_UINT64,
- &uint64_data);
- break;
-
- case QVariant::LongLong:
- int64_data = argument.toLongLong();
- dbus_message_iter_append_basic(dbus_iter, DBUS_TYPE_INT64,
- &int64_data);
- break;
-
- case QVariant::List:
- {
- QVariantList variantList = argument.toList();
- bool constantList = constantVariantList(variantList);
- DBusMessageIter array_iter;
-
- // List is mapped either as an DBUS array (all items same type)
- // DBUS struct (variable types) depending on constantList
- if (constantList) {
- // Resolve the signature for the first item
- QString signature = "";
- if (!variantList.isEmpty()) {
- signature = variantToSignature(
- variantList[0],
- constantVariantList(variantList[0].toList()));
- }
-
- // Mapped as DBUS array
- dbus_message_iter_open_container(dbus_iter, DBUS_TYPE_ARRAY,
- signature.toAscii(),
- &array_iter);
-
- foreach(QVariant listItem, variantList) {
- appendVariantToDBusMessage(listItem, &array_iter);
- }
-
- dbus_message_iter_close_container(dbus_iter, &array_iter);
- } else {
- // Mapped as DBUS struct
- dbus_message_iter_open_container(dbus_iter, DBUS_TYPE_STRUCT,
- NULL,
- &array_iter);
-
- foreach(QVariant listItem, variantList) {
- appendVariantToDBusMessage(listItem, &array_iter);
- }
-
- dbus_message_iter_close_container(dbus_iter, &array_iter);
- }
-
- break;
- }
- default:
- qDebug() << "Unsupported variant type: " << argument.type();
- break;
- }
-
- return true;
-}
-
-static QVariant getVariantFromDBusMessage(DBusMessageIter *iter) {
- dbus_bool_t bool_data;
- dbus_int32_t int32_data;
- dbus_uint32_t uint32_data;
- dbus_int64_t int64_data;
- dbus_uint64_t uint64_data;
- char *str_data;
- char char_data;
- int argtype = dbus_message_iter_get_arg_type(iter);
-
- switch (argtype) {
-
- case DBUS_TYPE_BOOLEAN:
- {
- dbus_message_iter_get_basic(iter, &bool_data);
- QVariant variant((bool)bool_data);
- return variant;
- }
-
- case DBUS_TYPE_ARRAY:
- {
- // Handle all arrays here
- int elem_type = dbus_message_iter_get_element_type(iter);
- DBusMessageIter array_iter;
-
- dbus_message_iter_recurse(iter, &array_iter);
-
- if (elem_type == DBUS_TYPE_BYTE) {
- QByteArray byte_array;
- do {
- dbus_message_iter_get_basic(&array_iter, &char_data);
- byte_array.append(char_data);
- } while (dbus_message_iter_next(&array_iter));
- QVariant variant(byte_array);
- return variant;
- } else if (elem_type == DBUS_TYPE_STRING) {
- QStringList str_list;
- do {
- dbus_message_iter_get_basic(&array_iter, &str_data);
- str_list.append(str_data);
- } while (dbus_message_iter_next(&array_iter));
- QVariant variant(str_list);
- return variant;
- } else {
- QVariantList variantList;
- do {
- variantList << getVariantFromDBusMessage(&array_iter);
- } while (dbus_message_iter_next(&array_iter));
- QVariant variant(variantList);
- return variant;
- }
- break;
- }
-
- case DBUS_TYPE_BYTE:
- {
- dbus_message_iter_get_basic(iter, &char_data);
- QChar ch(char_data);
- QVariant variant(ch);
- return variant;
- }
-
- case DBUS_TYPE_INT32:
- {
- dbus_message_iter_get_basic(iter, &int32_data);
- QVariant variant((int)int32_data);
- return variant;
- }
-
- case DBUS_TYPE_UINT32:
- {
- dbus_message_iter_get_basic(iter, &uint32_data);
- QVariant variant((uint)uint32_data);
- return variant;
- }
-
- case DBUS_TYPE_STRING:
- {
- dbus_message_iter_get_basic(iter, &str_data);
- QString str(str_data);
- QVariant variant(str);
- return variant;
- }
-
- case DBUS_TYPE_INT64:
- {
- dbus_message_iter_get_basic(iter, &int64_data);
- QVariant variant((qlonglong)int64_data);
- return variant;
- }
-
- case DBUS_TYPE_UINT64:
- {
- dbus_message_iter_get_basic(iter, &uint64_data);
- QVariant variant((qulonglong)uint64_data);
- return variant;
- }
-
- case DBUS_TYPE_STRUCT:
- {
- // Handle all structs here
- DBusMessageIter struct_iter;
- dbus_message_iter_recurse(iter, &struct_iter);
-
- QVariantList variantList;
- do {
- variantList << getVariantFromDBusMessage(&struct_iter);
- } while (dbus_message_iter_next(&struct_iter));
- QVariant variant(variantList);
- return variant;
- }
-
- default:
- qDebug() << "Unsupported DBUS type: " << argtype;
- }
-
- return QVariant();
-}
-
-static DBusHandlerResult signalHandler (DBusConnection *connection,
- DBusMessage *message,
- void *object_ref) {
- (void)connection;
- QString interface;
- QString signal;
- DBusDispatcher *dispatcher = (DBusDispatcher *)object_ref;
-
- if (dbus_message_get_type(message) == DBUS_MESSAGE_TYPE_SIGNAL) {
- interface = dbus_message_get_interface(message);
- signal = dbus_message_get_member(message);
-
- QList<QVariant> arglist;
- DBusMessageIter dbus_iter;
-
- if (dbus_message_iter_init(message, &dbus_iter)) {
- // Read return arguments
- while (dbus_message_iter_get_arg_type (&dbus_iter) != DBUS_TYPE_INVALID) {
- arglist << getVariantFromDBusMessage(&dbus_iter);
- dbus_message_iter_next(&dbus_iter);
- }
- }
-
- dispatcher->emitSignalReceived(interface, signal, arglist);
- return DBUS_HANDLER_RESULT_HANDLED;
- }
- (void)message;
- return DBUS_HANDLER_RESULT_NOT_YET_HANDLED;
-}
-
-DBusDispatcher::DBusDispatcher(const QString& service,
- const QString& path,
- const QString& interface,
- QObject *parent)
- : QObject(parent),
- d_ptr(new DBusDispatcherPrivate(service, path, interface, path)) {
- setupDBus();
-}
-
-DBusDispatcher::DBusDispatcher(const QString& service,
- const QString& path,
- const QString& interface,
- const QString& signalPath,
- QObject *parent)
- : QObject(parent),
- d_ptr(new DBusDispatcherPrivate(service, path, interface, signalPath)) {
- setupDBus();
-}
-
-DBusDispatcher::~DBusDispatcher()
-{
- if (d_ptr->connection) {
- dbus_connection_close(d_ptr->connection);
- dbus_connection_unref(d_ptr->connection);
- }
- delete d_ptr;
-}
-
-void DBusDispatcher::setupDBus()
-{
- d_ptr->connection = dbus_bus_get_private(DBUS_BUS_SYSTEM, NULL);
-
- if (d_ptr->connection == NULL)
- qDebug() << "Unable to get DBUS connection!";
- else {
- d_ptr->signal_vtable.message_function = signalHandler;
-
- dbus_connection_set_exit_on_disconnect(d_ptr->connection, FALSE);
- dbus_connection_setup_with_g_main(d_ptr->connection, NULL);
- dbus_connection_register_object_path(d_ptr->connection,
- d_ptr->signalPath.toLatin1(),
- &d_ptr->signal_vtable,
- this);
- }
-}
-
-static DBusMessage *prepareDBusCall(const QString& service,
- const QString& path,
- const QString& interface,
- const QString& method,
- const QVariant& arg1 = QVariant(),
- const QVariant& arg2 = QVariant(),
- const QVariant& arg3 = QVariant(),
- const QVariant& arg4 = QVariant(),
- const QVariant& arg5 = QVariant(),
- const QVariant& arg6 = QVariant(),
- const QVariant& arg7 = QVariant(),
- const QVariant& arg8 = QVariant())
-{
- DBusMessage *message = dbus_message_new_method_call(service.toLatin1(),
- path.toLatin1(),
- interface.toLatin1(),
- method.toLatin1());
- DBusMessageIter dbus_iter;
-
- // Append variants to DBUS message
- QList<QVariant> arglist;
- if (arg1.isValid()) arglist << arg1;
- if (arg2.isValid()) arglist << arg2;
- if (arg3.isValid()) arglist << arg3;
- if (arg4.isValid()) arglist << arg4;
- if (arg5.isValid()) arglist << arg5;
- if (arg6.isValid()) arglist << arg6;
- if (arg7.isValid()) arglist << arg7;
- if (arg8.isValid()) arglist << arg8;
-
- dbus_message_iter_init_append (message, &dbus_iter);
-
- while (!arglist.isEmpty()) {
- QVariant argument = arglist.takeFirst();
- appendVariantToDBusMessage(argument, &dbus_iter);
- }
-
- return message;
-}
-
-QList<QVariant> DBusDispatcher::call(const QString& method,
- const QVariant& arg1,
- const QVariant& arg2,
- const QVariant& arg3,
- const QVariant& arg4,
- const QVariant& arg5,
- const QVariant& arg6,
- const QVariant& arg7,
- const QVariant& arg8) {
- DBusMessageIter dbus_iter;
- DBusMessage *message = prepareDBusCall(d_ptr->service, d_ptr->path,
- d_ptr->interface, method,
- arg1, arg2, arg3, arg4, arg5,
- arg6, arg7, arg8);
- DBusMessage *reply = dbus_connection_send_with_reply_and_block(
- d_ptr->connection,
- message, -1, NULL);
- dbus_message_unref(message);
-
- QList<QVariant> replylist;
- if (reply != NULL && dbus_message_iter_init(reply, &dbus_iter)) {
- // Read return arguments
- while (dbus_message_iter_get_arg_type (&dbus_iter) != DBUS_TYPE_INVALID) {
- replylist << getVariantFromDBusMessage(&dbus_iter);
- dbus_message_iter_next(&dbus_iter);
- }
- }
- if (reply != NULL) dbus_message_unref(reply);
- return replylist;
-}
-
-class PendingCallInfo {
-public:
- QString method;
- DBusDispatcher *dispatcher;
- DBusDispatcherPrivate *priv;
-};
-
-static void freePendingCallInfo(void *memory) {
- PendingCallInfo *info = (PendingCallInfo *)memory;
- delete info;
-}
-
-static void pendingCallFunction (DBusPendingCall *pending,
- void *memory) {
- PendingCallInfo *info = (PendingCallInfo *)memory;
- QString errorStr;
- QList<QVariant> replyList;
- DBusMessage *reply = dbus_pending_call_steal_reply (pending);
-
- Q_ASSERT(reply != NULL);
-
- if (dbus_message_get_type(reply) == DBUS_MESSAGE_TYPE_ERROR) {
- errorStr = dbus_message_get_error_name (reply);
- } else {
- DBusMessageIter dbus_iter;
- dbus_message_iter_init(reply, &dbus_iter);
- // Read return arguments
- while (dbus_message_iter_get_arg_type (&dbus_iter) != DBUS_TYPE_INVALID) {
- replyList << getVariantFromDBusMessage(&dbus_iter);
- dbus_message_iter_next(&dbus_iter);
- }
- }
-
- info->priv->pending_calls.removeOne(pending);
- info->dispatcher->emitCallReply(info->method, replyList, errorStr);
- dbus_message_unref(reply);
- dbus_pending_call_unref(pending);
-}
-
-bool DBusDispatcher::callAsynchronous(const QString& method,
- const QVariant& arg1,
- const QVariant& arg2,
- const QVariant& arg3,
- const QVariant& arg4,
- const QVariant& arg5,
- const QVariant& arg6,
- const QVariant& arg7,
- const QVariant& arg8) {
- DBusMessage *message = prepareDBusCall(d_ptr->service, d_ptr->path,
- d_ptr->interface, method,
- arg1, arg2, arg3, arg4, arg5,
- arg6, arg7, arg8);
- DBusPendingCall *call = NULL;
- dbus_bool_t ret = dbus_connection_send_with_reply(d_ptr->connection,
- message, &call, -1);
- PendingCallInfo *info = new PendingCallInfo;
- info->method = method;
- info->dispatcher = this;
- info->priv = d_ptr;
-
- dbus_pending_call_set_notify(call, pendingCallFunction, info, freePendingCallInfo);
- d_ptr->pending_calls.append(call);
- return (bool)ret;
-}
-
-void DBusDispatcher::emitSignalReceived(const QString& interface,
- const QString& signal,
- const QList<QVariant>& args) {
- emit signalReceived(interface, signal, args); }
-
-void DBusDispatcher::emitCallReply(const QString& method,
- const QList<QVariant>& args,
- const QString& error) {
- emit callReply(method, args, error); }
-
-void DBusDispatcher::synchronousDispatch(int timeout_ms)
-{
- dbus_connection_read_write_dispatch(d_ptr->connection, timeout_ms);
-}
-
-} // Maemo namespace
-
diff --git a/src/3rdparty/libconninet/src/dbusdispatcher.h b/src/3rdparty/libconninet/src/dbusdispatcher.h
deleted file mode 100644
index 2f71b6f..0000000
--- a/src/3rdparty/libconninet/src/dbusdispatcher.h
+++ /dev/null
@@ -1,91 +0,0 @@
-/* * This file is part of conn-dui-settings-inet *
- *
- * Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- *
- * Contact: Aapo Makela <aapo.makela@nokia.com>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public License
- * version 2.1 as published by the Free Software Foundation.
- *
- * 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 St, Fifth Floor, Boston, MA
- * 02110-1301 USA
- */
-
-#ifndef DBUSDISPATCHER_H
-#define DBUSDISPATCHER_H
-
-#include <QObject>
-#include <QVariant>
-
-namespace Maemo {
-
-class DBusDispatcherPrivate;
-class DBusDispatcher : public QObject
-{
- Q_OBJECT
-
-public:
- DBusDispatcher(const QString& service,
- const QString& path,
- const QString& interface,
- QObject *parent = 0);
- DBusDispatcher(const QString& service,
- const QString& path,
- const QString& interface,
- const QString& signalPath,
- QObject *parent = 0);
- ~DBusDispatcher();
-
- QList<QVariant> call(const QString& method,
- const QVariant& arg1 = QVariant(),
- const QVariant& arg2 = QVariant(),
- const QVariant& arg3 = QVariant(),
- const QVariant& arg4 = QVariant(),
- const QVariant& arg5 = QVariant(),
- const QVariant& arg6 = QVariant(),
- const QVariant& arg7 = QVariant(),
- const QVariant& arg8 = QVariant());
- bool callAsynchronous(const QString& method,
- const QVariant& arg1 = QVariant(),
- const QVariant& arg2 = QVariant(),
- const QVariant& arg3 = QVariant(),
- const QVariant& arg4 = QVariant(),
- const QVariant& arg5 = QVariant(),
- const QVariant& arg6 = QVariant(),
- const QVariant& arg7 = QVariant(),
- const QVariant& arg8 = QVariant());
- void emitSignalReceived(const QString& interface,
- const QString& signal,
- const QList<QVariant>& args);
- void emitCallReply(const QString& method,
- const QList<QVariant>& args,
- const QString& error = "");
- void synchronousDispatch(int timeout_ms);
-
-Q_SIGNALS:
- void signalReceived(const QString& interface,
- const QString& signal,
- const QList<QVariant>& args);
- void callReply(const QString& method,
- const QList<QVariant>& args,
- const QString& error);
-
-protected:
- void setupDBus();
-
-private:
- DBusDispatcherPrivate *d_ptr;
-};
-
-} // Maemo namespace
-
-#endif
diff --git a/src/3rdparty/libconninet/src/iapconf.cpp b/src/3rdparty/libconninet/src/iapconf.cpp
deleted file mode 100644
index 2e77fa5..0000000
--- a/src/3rdparty/libconninet/src/iapconf.cpp
+++ /dev/null
@@ -1,299 +0,0 @@
-/*
- libconninet - Internet Connectivity support library
-
- Copyright (C) 2009-2010 Nokia Corporation. All rights reserved.
-
- Contact: Aapo Makela <aapo.makela@nokia.com>
-
- This library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public License
- version 2.1 as published by the Free Software Foundation.
-
- 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 St, Fifth Floor, Boston, MA
- 02110-1301 USA
-*/
-
-#include <stdlib.h>
-#include <string.h>
-#include <conn_settings.h>
-
-#include "iapconf.h"
-
-#define QSTRING_TO_CONST_CSTR(str) \
- str.toUtf8().constData()
-
-namespace Maemo {
-
-class IAPConfPrivate {
-public:
- ConnSettings *settings;
-
- ConnSettingsValue *variantToValue(const QVariant &variant);
- QVariant valueToVariant(ConnSettingsValue *value);
-};
-
-ConnSettingsValue *IAPConfPrivate::variantToValue(const QVariant &variant)
-{
- // Convert variant to ConnSettingsValue
- ConnSettingsValue *value = conn_settings_value_new();
- if (value == 0) {
- qWarning("IAPConf: Unable to create new ConnSettingsValue");
- return 0;
- }
-
- switch(variant.type()) {
-
- case QVariant::Invalid:
- value->type = CONN_SETTINGS_VALUE_INVALID;
- break;
-
- case QVariant::String: {
- char *valueStr = strdup(QSTRING_TO_CONST_CSTR(variant.toString()));
- value->type = CONN_SETTINGS_VALUE_STRING;
- value->value.string_val = valueStr;
- break;
- }
-
- case QVariant::Int:
- value->type = CONN_SETTINGS_VALUE_INT;
- value->value.int_val = variant.toInt();
- break;
-
- case QMetaType::Float:
- case QVariant::Double:
- value->type = CONN_SETTINGS_VALUE_DOUBLE;
- value->value.double_val = variant.toDouble();
- break;
-
- case QVariant::Bool:
- value->type = CONN_SETTINGS_VALUE_BOOL;
- value->value.bool_val = variant.toBool() ? 1 : 0;
- break;
-
- case QVariant::ByteArray: {
- QByteArray array = variant.toByteArray();
- value->type = CONN_SETTINGS_VALUE_BYTE_ARRAY;
- value->value.byte_array.len = array.size();
- value->value.byte_array.val = (unsigned char *)malloc(array.size());
- memcpy(value->value.byte_array.val, array.constData(), array.size());
- break;
- }
-
- case QVariant::List: {
- QVariantList list = variant.toList();
- ConnSettingsValue **list_val = (ConnSettingsValue **)malloc(
- (list.size() + 1) * sizeof(ConnSettingsValue *));
-
- for (int idx = 0; idx < list.size(); idx++) {
- list_val[idx] = variantToValue(list.at(idx));
- }
- list_val[list.size()] = 0;
-
- value->type = CONN_SETTINGS_VALUE_LIST;
- value->value.list_val = list_val;
- break;
- }
-
- default:
- qWarning("IAPConf: Can not handle QVariant of type %d",
- variant.type());
- conn_settings_value_destroy(value);
- return 0;
- }
-
- return value;
-}
-
-QVariant IAPConfPrivate::valueToVariant(ConnSettingsValue *value)
-{
- if (value == 0 || value->type == CONN_SETTINGS_VALUE_INVALID) {
- return QVariant();
- }
-
- switch(value->type) {
-
- case CONN_SETTINGS_VALUE_BOOL:
- return QVariant(value->value.bool_val ? true : false);
-
- case CONN_SETTINGS_VALUE_STRING:
- return QVariant(QString(value->value.string_val));
-
- case CONN_SETTINGS_VALUE_DOUBLE:
- return QVariant(value->value.double_val);
-
- case CONN_SETTINGS_VALUE_INT:
- return QVariant(value->value.int_val);
-
- case CONN_SETTINGS_VALUE_LIST: {
- // At least with GConf backend connsettings returns byte array as list
- // of ints, first check for that case
- if (value->value.list_val && value->value.list_val[0]) {
- bool canBeConvertedToByteArray = true;
- for (int idx = 0; value->value.list_val[idx]; idx++) {
- ConnSettingsValue *val = value->value.list_val[idx];
- if (val->type != CONN_SETTINGS_VALUE_INT
- || val->value.int_val > 255
- || val->value.int_val < 0) {
- canBeConvertedToByteArray = false;
- break;
- }
- }
-
- if (canBeConvertedToByteArray) {
- QByteArray array;
- for (int idx = 0; value->value.list_val[idx]; idx++) {
- array.append(value->value.list_val[idx]->value.int_val);
- }
- return array;
- }
-
- // Create normal list
- QVariantList list;
- for (int idx = 0; value->value.list_val[idx]; idx++) {
- list.append(valueToVariant(value->value.list_val[idx]));
- }
- return list;
- }
- }
-
- case CONN_SETTINGS_VALUE_BYTE_ARRAY:
- return QByteArray::fromRawData((char *)value->value.byte_array.val,
- value->value.byte_array.len);
-
- default:
- return QVariant();
- }
-}
-
-// Public class implementation
-
-IAPConf::IAPConf(const QString &iap_id)
- : d_ptr(new IAPConfPrivate)
-{
- d_ptr->settings = conn_settings_open(CONN_SETTINGS_CONNECTION,
- QSTRING_TO_CONST_CSTR(iap_id));
- if (d_ptr->settings == 0) {
- qWarning("IAPConf: Unable to open ConnSettings for %s",
- QSTRING_TO_CONST_CSTR(iap_id));
- }
-}
-
-IAPConf::~IAPConf()
-{
- conn_settings_close(d_ptr->settings);
- delete d_ptr;
-}
-
-void IAPConf::setValue(const QString& key, const QVariant& value)
-{
- // Invalid value means unsetting the given key
- if (!value.isValid()) {
- int err = conn_settings_unset(d_ptr->settings,
- QSTRING_TO_CONST_CSTR(key));
- if (err != CONN_SETTINGS_E_NO_ERROR) {
- qWarning("IAPConf: unable to unset key %s: %s",
- QSTRING_TO_CONST_CSTR(key),
- conn_settings_error_text((ConnSettingsError)err));
- }
- return;
- }
-
- // Convert value to ConnSettingsValue
- ConnSettingsValue *val = d_ptr->variantToValue(value);
- if (val == 0) return;
-
- // Set value and handle errors
- int error = conn_settings_set(d_ptr->settings,
- QSTRING_TO_CONST_CSTR(key),
- val);
- if (error != CONN_SETTINGS_E_NO_ERROR) {
- qWarning("IAPConf: error in setting key %s: %s",
- QSTRING_TO_CONST_CSTR(key),
- conn_settings_error_text((ConnSettingsError)error));
- }
-
- // Destroy value
- conn_settings_value_destroy(val);
- return;
-}
-
-void IAPConf::set(const QString& key1, const QVariant& value1,
- const QString& key2, const QVariant& value2,
- const QString& key3, const QVariant& value3,
- const QString& key4, const QVariant& value4,
- const QString& key5, const QVariant& value5,
- const QString& key6, const QVariant& value6,
- const QString& key7, const QVariant& value7,
- const QString& key8, const QVariant& value8,
- const QString& key9, const QVariant& value9,
- const QString& key10, const QVariant& value10)
-{
- if (!key1.isEmpty()) setValue(key1, value1);
- if (!key2.isEmpty()) setValue(key2, value2);
- if (!key3.isEmpty()) setValue(key3, value3);
- if (!key4.isEmpty()) setValue(key4, value4);
- if (!key5.isEmpty()) setValue(key5, value5);
- if (!key6.isEmpty()) setValue(key6, value6);
- if (!key7.isEmpty()) setValue(key7, value7);
- if (!key8.isEmpty()) setValue(key8, value8);
- if (!key9.isEmpty()) setValue(key9, value9);
- if (!key10.isEmpty()) setValue(key10, value10);
-}
-
-QVariant IAPConf::value(const QString& key) const
-{
- ConnSettingsValue *val = conn_settings_get(d_ptr->settings,
- QSTRING_TO_CONST_CSTR(key));
-
- QVariant variant = d_ptr->valueToVariant(val);
- conn_settings_value_destroy(val);
- return variant;
-}
-
-void IAPConf::clear(const char *default_path)
-{
- Q_UNUSED(default_path); // default path is unused
-
- int error = conn_settings_remove(d_ptr->settings);
- if (error != CONN_SETTINGS_E_NO_ERROR) {
- qWarning("IAPConf: Error when removing IAP: %s",
- conn_settings_error_text((ConnSettingsError)error));
- }
-}
-
-void IAPConf::clearAll()
-{
- ConnSettings *settings = conn_settings_open(CONN_SETTINGS_CONNECTION,
- NULL);
- conn_settings_remove(settings);
- conn_settings_close(settings);
-}
-
-
-void IAPConf::getAll(QList<QString> &all_iaps, bool return_path)
-{
- Q_UNUSED(return_path); // We don't use return path currently
-
- // Go through all available connections and add them to the list
- char **ids = conn_settings_list_ids(CONN_SETTINGS_CONNECTION);
- if (ids == 0) {
- // No ids found - nothing to do
- return;
- }
-
- for (int idx = 0; ids[idx]; idx++) {
- all_iaps.append(QString(ids[idx]));
- free(ids[idx]);
- }
- free(ids);
-}
-
-
-} // namespace Maemo
diff --git a/src/3rdparty/libconninet/src/iapconf.h b/src/3rdparty/libconninet/src/iapconf.h
deleted file mode 100644
index 57c0856..0000000
--- a/src/3rdparty/libconninet/src/iapconf.h
+++ /dev/null
@@ -1,84 +0,0 @@
-/*
- libconninet - Internet Connectivity support library
-
- Copyright (C) 2009 Nokia Corporation. All rights reserved.
-
- Contact: Aapo Makela <aapo.makela@nokia.com>
-
- This library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public License
- version 2.1 as published by the Free Software Foundation.
-
- 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 St, Fifth Floor, Boston, MA
- 02110-1301 USA
-*/
-
-#ifndef IAPCONF_H
-#define IAPCONF_H
-
-#include <QString>
-#include <QVariant>
-
-namespace Maemo {
-
-class IAPConfPrivate;
-class IAPConf {
-public:
- IAPConf(const QString &iap_id);
- virtual ~IAPConf();
-
- /**
- Convenience method for setting multiple IAP values with one call.
- */
- void set(const QString& key1, const QVariant& value1,
- const QString& key2 = "", const QVariant& value2 = QVariant(),
- const QString& key3 = "", const QVariant& value3 = QVariant(),
- const QString& key4 = "", const QVariant& value4 = QVariant(),
- const QString& key5 = "", const QVariant& value5 = QVariant(),
- const QString& key6 = "", const QVariant& value6 = QVariant(),
- const QString& key7 = "", const QVariant& value7 = QVariant(),
- const QString& key8 = "", const QVariant& value8 = QVariant(),
- const QString& key9 = "", const QVariant& value9 = QVariant(),
- const QString& key10 = "", const QVariant& value10 = QVariant());
-
- /**
- Set one IAP value.
- */
- void setValue(const QString& key, const QVariant& value);
-
- /**
- Get one IAP value.
- */
- QVariant value(const QString& key) const;
-
- /**
- Clear this IAP from GConf
- */
- void clear(const char *default_path=0);
-
- /**
- Clear all IAP specific information from GConf (including all IAPs).
- DO NOT USE THIS FUNCTION IN ANYWHERE ELSE EXCEPT IN TEST CODE!
- */
- void clearAll();
-
- /**
- Return all the IAPs found in the system. If return_path is true,
- then do not strip the IAP path away.
- */
- static void getAll(QList<QString> &all_iaps, bool return_path=false);
-
-private:
- IAPConfPrivate *d_ptr;
-};
-
-} // namespace Maemo
-
-#endif
diff --git a/src/3rdparty/libconninet/src/iapmonitor.cpp b/src/3rdparty/libconninet/src/iapmonitor.cpp
deleted file mode 100644
index c44cbc8..0000000
--- a/src/3rdparty/libconninet/src/iapmonitor.cpp
+++ /dev/null
@@ -1,110 +0,0 @@
-/*
- libconninet - Internet Connectivity support library
-
- Copyright (C) 2009-2010 Nokia Corporation. All rights reserved.
-
- Contact: Jukka Rissanen <jukka.rissanen@nokia.com>
-
- This library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public License
- version 2.1 as published by the Free Software Foundation.
-
- 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 St, Fifth Floor, Boston, MA
- 02110-1301 USA
-*/
-
-#include <QStringList>
-
-#include <conn_settings.h>
-#include "iapmonitor.h"
-
-namespace Maemo {
-
-
-void conn_settings_notify_func (ConnSettingsType type,
- const char *id,
- const char *key,
- ConnSettingsValue *value,
- void *user_data);
-
-class IAPMonitorPrivate {
-private:
- IAPMonitor *monitor;
- ConnSettings *settings;
-
-public:
-
- IAPMonitorPrivate(IAPMonitor *monitor)
- : monitor(monitor)
- {
- settings = conn_settings_open(CONN_SETTINGS_CONNECTION, NULL);
- conn_settings_add_notify(
- settings,
- (ConnSettingsNotifyFunc *)conn_settings_notify_func,
- this);
- }
-
- ~IAPMonitorPrivate()
- {
- conn_settings_del_notify(settings);
- conn_settings_close(settings);
- }
-
- void iapAdded(const QString &iap)
- {
- monitor->iapAdded(iap);
- }
-
- void iapRemoved(const QString &iap)
- {
- monitor->iapRemoved(iap);
- }
-};
-
-void conn_settings_notify_func (ConnSettingsType type,
- const char *id,
- const char *key,
- ConnSettingsValue *value,
- void *user_data)
-{
- if (type != CONN_SETTINGS_CONNECTION) return;
- IAPMonitorPrivate *priv = (IAPMonitorPrivate *)user_data;
-
- QString iapId(key);
- iapId = iapId.split("/")[0];
- if (value != 0) {
- priv->iapAdded(iapId);
- } else if (iapId == QString(key)) {
- // IAP is removed only when the directory gets removed
- priv->iapRemoved(iapId);
- }
-}
-
-IAPMonitor::IAPMonitor()
- : d_ptr(new IAPMonitorPrivate(this))
-{
-}
-
-IAPMonitor::~IAPMonitor()
-{
- delete d_ptr;
-}
-
-void IAPMonitor::iapAdded(const QString &id)
-{
- // By default do nothing
-}
-
-void IAPMonitor::iapRemoved(const QString &id)
-{
- // By default do nothing
-}
-
-} // namespace Maemo
diff --git a/src/3rdparty/libconninet/src/iapmonitor.h b/src/3rdparty/libconninet/src/iapmonitor.h
deleted file mode 100644
index 558f23e..0000000
--- a/src/3rdparty/libconninet/src/iapmonitor.h
+++ /dev/null
@@ -1,48 +0,0 @@
-/*
- libconninet - Internet Connectivity support library
-
- Copyright (C) 2009-2010 Nokia Corporation. All rights reserved.
-
- Contact: Jukka Rissanen <jukka.rissanen@nokia.com>
-
- This library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public License
- version 2.1 as published by the Free Software Foundation.
-
- 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 St, Fifth Floor, Boston, MA
- 02110-1301 USA
-*/
-
-#ifndef IAPMONITOR_H
-#define IAPMONITOR_H
-
-#include <QString>
-
-namespace Maemo {
-
-class IAPMonitorPrivate;
-class IAPMonitor {
-public:
- IAPMonitor();
- ~IAPMonitor();
-
-protected:
- virtual void iapAdded(const QString &id);
- virtual void iapRemoved(const QString &id);
-
-private:
- IAPMonitorPrivate *d_ptr;
- Q_DECLARE_PRIVATE(IAPMonitor);
-};
-
-} // namespace Maemo
-
-#endif // IAPMONITOR_H
-
diff --git a/src/3rdparty/libconninet/src/maemo_icd.cpp b/src/3rdparty/libconninet/src/maemo_icd.cpp
deleted file mode 100644
index 026241c..0000000
--- a/src/3rdparty/libconninet/src/maemo_icd.cpp
+++ /dev/null
@@ -1,1316 +0,0 @@
-/*
- libconninet - Internet Connectivity support library
-
- Copyright (C) 2009 Nokia Corporation. All rights reserved.
-
- Contact: Jukka Rissanen <jukka.rissanen@nokia.com>
-
- This library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public License
- version 2.1 as published by the Free Software Foundation.
-
- 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 St, Fifth Floor, Boston, MA
- 02110-1301 USA
-*/
-
-#include <stdio.h>
-#include "maemo_icd.h"
-#include <QObject>
-#include <QTimer>
-#include <QCoreApplication>
-#include <QEventLoop>
-#include <QDebug>
-#include <dbus/dbus.h>
-#include <dbus/dbus-glib-lowlevel.h>
-
-#include <sys/time.h>
-#include <sys/types.h>
-#include <unistd.h>
-
-namespace Maemo {
-
-#undef PRINT_DEBUGINFO
-#ifdef PRINT_DEBUGINFO
- static FILE *fdebug = NULL;
-#define PDEBUG(fmt, args...) \
- do { \
- struct timeval tv; \
- gettimeofday(&tv, 0); \
- fprintf(fdebug, "DEBUG[%d]:%ld.%ld:%s:%s():%d: " fmt, \
- getpid(), \
- tv.tv_sec, tv.tv_usec, \
- __FILE__, __FUNCTION__, __LINE__, args); \
- fflush(fdebug); \
- } while(0)
-#else
-#define PDEBUG(fmt...)
-#endif
-
-
-/* Reference counting singleton class that creates a single connection
- * to icd so that icd reference counting works as expected. This is
- * needed because DBusDispatcher uses private dbus connections
- * which come and go and icd cannot use that information to
- * determine whether application quit or not. So we create one
- * persistent connection that is only teared down when application
- * quits or calls disconnect()
- */
-class IcdRefCounting
-{
-public:
- IcdRefCounting() : first_call(true) { }
- void setup(enum icd_connection_flags flag);
- void cleanup();
-
-private:
- bool first_call;
- struct DBusConnection *connection;
-};
-
-Q_GLOBAL_STATIC(IcdRefCounting, icdRefCounting);
-
-
-void IcdRefCounting::setup(enum icd_connection_flags flag)
-{
- if (first_call) {
- DBusMessage *msg = NULL;
-
- connection = dbus_bus_get_private(DBUS_BUS_SYSTEM, NULL);
- dbus_connection_set_exit_on_disconnect(connection, FALSE);
- dbus_connection_setup_with_g_main(connection, NULL);
-
- msg = dbus_message_new_method_call(ICD_DBUS_API_INTERFACE,
- ICD_DBUS_API_PATH,
- ICD_DBUS_API_INTERFACE,
- ICD_DBUS_API_CONNECT_REQ);
- if (msg == NULL)
- goto out;
-
- if (!dbus_message_append_args(msg,
- DBUS_TYPE_UINT32, &flag,
- DBUS_TYPE_INVALID))
- goto out;
-
- if (!dbus_connection_send_with_reply(connection, msg,
- NULL, 60*1000))
- goto out;
-
- first_call = false;
- return;
-
- out:
- dbus_connection_close(connection);
- dbus_connection_unref(connection);
- }
-}
-
-void IcdRefCounting::cleanup()
-{
- if (!first_call) {
- dbus_connection_close(connection);
- dbus_connection_unref(connection);
- first_call = true;
- }
-}
-
-
-class IcdPrivate
-{
-public:
- IcdPrivate(Icd *myfriend)
- {
- init(10000, IcdNewDbusInterface, myfriend);
- }
-
- IcdPrivate(unsigned int timeout, Icd *myfriend)
- {
- init(timeout, IcdNewDbusInterface, myfriend);
- }
-
- IcdPrivate(unsigned int timeout, IcdDbusInterfaceVer ver, Icd *myfriend)
- {
- /* Note that the old Icd interface is currently disabled and
- * the new one is always used.
- */
- init(timeout, IcdNewDbusInterface, myfriend);
- }
-
- ~IcdPrivate()
- {
- QObject::disconnect(mDBus,
- SIGNAL(signalReceived(const QString&,
- const QString&,
- const QList<QVariant>&)),
- icd,
- SLOT(icdSignalReceived(const QString&,
- const QString&,
- const QList<QVariant>&)));
-
- QObject::disconnect(mDBus,
- SIGNAL(callReply(const QString&,
- const QList<QVariant>&,
- const QString&)),
- icd,
- SLOT(icdCallReply(const QString&,
- const QList<QVariant>&,
- const QString&)));
-
- delete mDBus;
- mDBus = 0;
- }
-
- /* Icd2 dbus API functions */
- QStringList scan(icd_scan_request_flags flags,
- QStringList &network_types,
- QList<IcdScanResult>& scan_results,
- QString& error);
- void scanCancel();
- bool connect(icd_connection_flags flags, IcdConnectResult& result);
- bool connect(icd_connection_flags flags, QList<ConnectParams>& params,
- IcdConnectResult& result);
- bool connect(icd_connection_flags flags, QString& iap, QString& result);
- void select(uint flags);
- void disconnect(uint connect_flags, QString& service_type,
- uint service_attrs, QString& service_id,
- QString& network_type, uint network_attrs,
- QByteArray& network_id);
- void disconnect(uint connect_flags);
-
- uint state(QString& service_type, uint service_attrs,
- QString& service_id, QString& network_type,
- uint network_attrs, QByteArray& network_id,
- IcdStateResult &state_result);
- uint statistics(QString& service_type, uint service_attrs,
- QString& service_id, QString& network_type,
- uint network_attrs, QByteArray& network_id,
- IcdStatisticsResult& stats_result);
- uint addrinfo(QString& service_type, uint service_attrs,
- QString& service_id, QString& network_type,
- uint network_attrs, QByteArray& network_id,
- IcdAddressInfoResult& addr_result);
-
- uint state(QList<IcdStateResult>& state_results);
- uint state_non_blocking(QList<IcdStateResult>& state_results);
- uint statistics(QList<IcdStatisticsResult>& stats_results);
- uint addrinfo(QList<IcdAddressInfoResult>& addr_results);
- uint addrinfo_non_blocking(QList<IcdAddressInfoResult>& addr_results);
-
- void signalReceived(const QString& interface,
- const QString& signal,
- const QList<QVariant>& args);
- void callReply(const QString& method,
- const QList<QVariant>& args,
- const QString& error);
-
- QString error() { return mError; }
-
-public:
- DBusDispatcher *mDBus;
- QString mMethod;
- QString mInterface;
- QString mSignal;
- QString mError;
- QList<QVariant> mArgs;
- QList<QVariant> receivedSignals;
- unsigned int timeout;
- IcdDbusInterfaceVer icd_dbus_version;
- Icd *icd;
-
- void init(unsigned int dbus_timeout, IcdDbusInterfaceVer ver,
- Icd *myfriend)
- {
- if (ver == IcdNewDbusInterface) {
- mDBus = new DBusDispatcher(ICD_DBUS_API_INTERFACE,
- ICD_DBUS_API_PATH,
- ICD_DBUS_API_INTERFACE);
- } else {
- mDBus = new DBusDispatcher(ICD_DBUS_SERVICE,
- ICD_DBUS_PATH,
- ICD_DBUS_INTERFACE);
- }
- icd_dbus_version = ver;
-
- /* This connect has a side effect as it means that only one
- * Icd object can exists in one time. This should be fixed!
- */
- QObject::connect(mDBus,
- SIGNAL(signalReceived(const QString&,
- const QString&,
- const QList<QVariant>&)),
- myfriend,
- SLOT(icdSignalReceived(const QString&,
- const QString&,
- const QList<QVariant>&)));
-
- QObject::connect(mDBus,
- SIGNAL(callReply(const QString&,
- const QList<QVariant>&,
- const QString&)),
- myfriend,
- SLOT(icdCallReply(const QString&,
- const QList<QVariant>&,
- const QString&)));
-
- icd = myfriend;
- timeout = dbus_timeout;
-
-#ifdef PRINT_DEBUGINFO
- if (!fdebug) {
- fdebug = fopen("/tmp/maemoicd.log", "a+");
- }
- PDEBUG("created %s\n", "IcdPrivate");
-#endif
- }
-
- void clearState()
- {
- mMethod.clear();
- mInterface.clear();
- mSignal.clear();
- mError.clear();
- mArgs.clear();
- receivedSignals.clear();
- }
-
- bool doConnect(IcdConnectResult& result);
- bool doConnect(QString& result);
- bool doState();
-};
-
-
-void IcdPrivate::signalReceived(const QString& interface,
- const QString& signal,
- const QList<QVariant>& args)
-{
- // Signal handler, which simply records what has been signalled
- mInterface = interface;
- mSignal = signal;
- mArgs = args;
-
- //qDebug() << "signal" << signal << "received:" << args;
- receivedSignals << QVariant(interface) << QVariant(signal) << QVariant(args);
-}
-
-
-void IcdPrivate::callReply(const QString& method,
- const QList<QVariant>& /*args*/,
- const QString& error)
-{
- mMethod = method;
- mError = error;
-}
-
-
-static void get_scan_result(QList<QVariant>& args,
- IcdScanResult& ret)
-{
- int i=0;
-
- if (args.isEmpty())
- return;
-
- ret.status = args[i++].toUInt();
- ret.timestamp = args[i++].toUInt();
- ret.scan.service_type = args[i++].toString();
- ret.service_name = args[i++].toString();
- ret.scan.service_attrs = args[i++].toUInt();
- ret.scan.service_id = args[i++].toString();
- ret.service_priority = args[i++].toInt();
- ret.scan.network_type = args[i++].toString();
- ret.network_name = args[i++].toString();
- ret.scan.network_attrs = args[i++].toUInt();
- ret.scan.network_id = args[i++].toByteArray();
- ret.network_priority = args[i++].toInt();
- ret.signal_strength = args[i++].toInt();
- ret.station_id = args[i++].toString();
- ret.signal_dB = args[i++].toInt();
-}
-
-
-static void get_connect_result(QList<QVariant>& args,
- IcdConnectResult& ret)
-{
- int i=0;
-
- if (args.isEmpty())
- return;
-
- ret.connect.service_type = args[i++].toString();
- ret.connect.service_attrs = args[i++].toInt();
- ret.connect.service_id = args[i++].toString();
- ret.connect.network_type = args[i++].toString();
- ret.connect.network_attrs = args[i++].toInt();
- ret.connect.network_id = args[i++].toByteArray();
- ret.status = args[i++].toInt();
-}
-
-
-QStringList IcdPrivate::scan(icd_scan_request_flags flags,
- QStringList &network_types,
- QList<IcdScanResult>& scan_results,
- QString& error)
-{
- QStringList scanned_types;
- QTimer timer;
- QVariant reply;
- QVariantList vl;
- bool last_result = false;
- IcdScanResult result;
- int all_waited;
-
- clearState();
- reply = mDBus->call(ICD_DBUS_API_SCAN_REQ, (uint)flags);
- if (reply.type() != QVariant::List)
- return scanned_types;
- vl = reply.toList();
- if (vl.isEmpty()) {
- error = "Scan did not return anything.";
- return scanned_types;
- }
- reply = vl.first();
- scanned_types = reply.toStringList();
- //qDebug() << "Scanning:" << scanned_types;
- all_waited = scanned_types.size();
-
- timer.setSingleShot(true);
- timer.start(timeout);
-
- scan_results.clear();
- while (!last_result) {
- while (timer.isActive() && mInterface.isEmpty() && mError.isEmpty()) {
- QCoreApplication::processEvents(QEventLoop::AllEvents, 1000);
- }
-
- if (!timer.isActive()) {
- //qDebug() << "Timeout happened";
- break;
- }
-
- if (mSignal != ICD_DBUS_API_SCAN_SIG) {
- //qDebug() << "Received" << mSignal << "while waiting" << ICD_DBUS_API_SCAN_SIG << ", ignoring";
- mInterface.clear();
- continue;
- }
-
- if (mError.isEmpty()) {
- QString msgInterface = receivedSignals.takeFirst().toString();
- QString msgSignal = receivedSignals.takeFirst().toString();
- QList<QVariant> msgArgs = receivedSignals.takeFirst().toList();
- //qDebug() << "Signal" << msgSignal << "received.";
- //qDebug() << "Params:" << msgArgs;
-
- while (!msgSignal.isEmpty()) {
- get_scan_result(msgArgs, result);
-
-#if 0
- qDebug() << "Received: " <<
- "status =" << result.status <<
- ", timestamp =" << result.timestamp <<
- ", service_type =" << result.scan.service_type <<
- ", service_name =" << result.service_name <<
- ", service_attrs =" << result.scan.service_attrs <<
- ", service_id =" << result.scan.service_id <<
- ", service_priority =" << result.service_priority <<
- ", network_type =" << result.scan.network_type <<
- ", network_name =" << result.network_name <<
- ", network_attrs =" << result.scan.network_attrs <<
- ", network_id =" << "-" <<
- ", network_priority =" << result.network_priority <<
- ", signal_strength =" << result.signal_strength <<
- ", station_id =" << result.station_id <<
- ", signal_dB =" << result.signal_dB;
-#endif
-
- if (result.status == ICD_SCAN_COMPLETE) {
- //qDebug() << "waited =" << all_waited;
- if (--all_waited == 0) {
- last_result = true;
- break;
- }
- } else
- scan_results << result;
-
- if (receivedSignals.isEmpty())
- break;
-
- msgInterface = receivedSignals.takeFirst().toString();
- msgSignal = receivedSignals.takeFirst().toString();
- msgArgs = receivedSignals.takeFirst().toList();
- }
- mInterface.clear();
-
- } else {
- qWarning() << "Error while scanning:" << mError;
- break;
- }
- }
- timer.stop();
-
- error = mError;
- return scanned_types;
-}
-
-
-void IcdPrivate::scanCancel()
-{
- mDBus->call(ICD_DBUS_API_SCAN_CANCEL);
-}
-
-
-bool IcdPrivate::doConnect(IcdConnectResult& result)
-{
- QTimer timer;
- bool status = false;
-
- timer.setSingleShot(true);
- timer.start(timeout);
-
- //qDebug() << "Waiting" << ICD_DBUS_API_CONNECT_SIG << "signal";
-
- while (timer.isActive() && mInterface.isEmpty() &&
- mSignal != ICD_DBUS_API_CONNECT_SIG &&
- mError.isEmpty()) {
- QCoreApplication::processEvents(QEventLoop::AllEvents, 1000);
- }
-
- timer.stop();
-
- if (mError.isEmpty()) {
- if (!mArgs.isEmpty()) {
- get_connect_result(mArgs, result);
- status = true;
- } else
- status = false;
- } else
- status = false;
-
- return status;
-}
-
-
-bool IcdPrivate::connect(icd_connection_flags flags, IcdConnectResult& result)
-{
- clearState();
- //mDBus->callAsynchronous(ICD_DBUS_API_CONNECT_REQ, (uint)flags);
- mDBus->call(ICD_DBUS_API_CONNECT_REQ, (uint)flags);
- icdRefCounting()->setup(flags);
- return doConnect(result);
-}
-
-
-bool IcdPrivate::connect(icd_connection_flags flags, QList<ConnectParams>& params,
- IcdConnectResult& result)
-{
- QVariantList varlist;
- QVariantList varlist2;
-
- foreach (ConnectParams param, params) {
- QVariantList items;
-
- items.append(QVariant(param.connect.service_type));
- items.append(QVariant(param.connect.service_attrs));
- items.append(QVariant(param.connect.service_id));
- items.append(QVariant(param.connect.network_type));
- items.append(QVariant(param.connect.network_attrs));
- items.append(QVariant(param.connect.network_id));
-
- varlist.append(items);
- }
-
- varlist2.append(QVariant(varlist));
-
- clearState();
- //mDBus->callAsynchronous(ICD_DBUS_API_CONNECT_REQ, (uint)flags, varlist2);
- mDBus->call(ICD_DBUS_API_CONNECT_REQ, (uint)flags, varlist2);
- icdRefCounting()->setup(flags);
- return doConnect(result);
-}
-
-
-bool IcdPrivate::doConnect(QString& ret)
-{
- QTimer timer;
- bool status = false;
-
- timer.setSingleShot(true);
- timer.start(timeout);
-
- while (timer.isActive() && mInterface.isEmpty() &&
- mError.isEmpty()) {
- QCoreApplication::processEvents(QEventLoop::AllEvents, 1000);
- }
-
- timer.stop();
-
- if (mError.isEmpty()) {
- if (!mArgs.isEmpty()) {
- status = true;
- //ret = mArgs[0]; // TODO correctly
- } else
- status = false;
- } else
- status = false;
-
- return status;
-}
-
-
-bool IcdPrivate::connect(icd_connection_flags flags, QString& iap, QString& result)
-{
- clearState();
- //mDBus->callAsynchronous(ICD_CONNECT_REQ, iap, (uint)flags);
- mDBus->call(ICD_CONNECT_REQ, iap, (uint)flags);
- icdRefCounting()->setup(flags);
- return doConnect(result);
-}
-
-
-void IcdPrivate::select(uint flags)
-{
- mDBus->call(ICD_DBUS_API_SELECT_REQ, flags);
-}
-
-
-void IcdPrivate::disconnect(uint flags, QString& service_type,
- uint service_attrs, QString& service_id,
- QString& network_type, uint network_attrs,
- QByteArray& network_id)
-{
- clearState();
- mDBus->call(ICD_DBUS_API_DISCONNECT_REQ, flags,
- service_type, service_attrs, service_id,
- network_type, network_attrs, network_id);
- icdRefCounting()->cleanup();
-}
-
-
-void IcdPrivate::disconnect(uint flags)
-{
- clearState();
- mDBus->call(ICD_DBUS_API_DISCONNECT_REQ, flags);
- icdRefCounting()->cleanup();
-}
-
-
-static void get_state_all_result(QList<QVariant>& args,
- IcdStateResult& ret)
-{
- int i=0;
-
- ret.params.service_type = args[i++].toString();
- ret.params.service_attrs = args[i++].toUInt();
- ret.params.service_id = args[i++].toString();
- ret.params.network_type = args[i++].toString();
- ret.params.network_attrs = args[i++].toUInt();
- ret.params.network_id = args[i++].toByteArray();
- ret.error = args[i++].toString();
- ret.state = args[i++].toInt();
-}
-
-
-static void get_state_all_result2(QList<QVariant>& args,
- IcdStateResult& ret)
-{
- int i=0;
-
- ret.params.network_type = args[i++].toString();
- ret.state = args[i++].toInt();
-
- // Initialize the other values so that the caller can
- // notice we only returned partial status
- ret.params.service_type = QString();
- ret.params.service_attrs = 0;
- ret.params.service_id = QString();
- ret.params.network_attrs = 0;
- ret.params.network_id = QByteArray();
- ret.error = QString();
-}
-
-
-uint IcdPrivate::state(QString& service_type, uint service_attrs,
- QString& service_id, QString& network_type,
- uint network_attrs, QByteArray& network_id,
- IcdStateResult& state_result)
-{
- QTimer timer;
- QVariant reply;
- uint total_signals;
- QVariantList vl;
-
- clearState();
-
- reply = mDBus->call(ICD_DBUS_API_STATE_REQ,
- service_type, service_attrs, service_id,
- network_type, network_attrs, network_id);
- if (reply.type() != QVariant::List)
- return 0;
- vl = reply.toList();
- if (vl.isEmpty())
- return 0;
- reply = vl.first();
- total_signals = reply.toUInt();
- if (!total_signals)
- return 0;
-
- timer.setSingleShot(true);
- timer.start(timeout);
-
- mInterface.clear();
- while (timer.isActive() && mInterface.isEmpty()) {
- QCoreApplication::processEvents(QEventLoop::AllEvents, 1000);
-
- if (mSignal != ICD_DBUS_API_STATE_SIG) {
- mInterface.clear();
- continue;
- }
- }
-
- timer.stop();
-
- if (mError.isEmpty()) {
- if (!mArgs.isEmpty()) {
- if (mArgs.size()>2)
- get_state_all_result(mArgs, state_result);
- else {
- // We are not connected as we did not get the status we asked
- return 0;
- }
- }
- } else {
- qWarning() << "Error:" << mError;
- }
-
- // The returned value should be one because we asked for one state
- return total_signals;
-}
-
-
-uint IcdPrivate::state_non_blocking(QList<IcdStateResult>& state_results)
-{
- QTimer timer;
- QVariant reply;
- QVariantList vl;
- uint signals_left, total_signals;
- IcdStateResult result;
-
- PDEBUG("%s\n", "non blocking state");
-
- clearState();
- reply = mDBus->call(ICD_DBUS_API_STATE_REQ);
- if (reply.type() != QVariant::List)
- return 0;
- vl = reply.toList();
- if (vl.isEmpty())
- return 0;
- reply = vl.first();
- signals_left = total_signals = reply.toUInt();
- if (!signals_left)
- return 0;
-
- timer.setSingleShot(true);
- timer.start(timeout);
- state_results.clear();
- mError.clear();
- while (signals_left) {
- mInterface.clear();
- while (timer.isActive() && mInterface.isEmpty()) {
- QCoreApplication::processEvents(QEventLoop::AllEvents, 1000);
- }
-
- if (!timer.isActive()) {
- total_signals = 0;
- break;
- }
-
- if (mSignal != ICD_DBUS_API_STATE_SIG) {
- continue;
- }
-
- if (mError.isEmpty()) {
- if (!mArgs.isEmpty()) {
- if (mArgs.size()==2)
- get_state_all_result2(mArgs, result);
- else
- get_state_all_result(mArgs, result);
- state_results << result;
- }
- signals_left--;
- } else {
- qWarning() << "Error:" << mError;
- break;
- }
- }
- timer.stop();
-
- PDEBUG("total_signals=%d\n", total_signals);
- return total_signals;
-}
-
-
-/* Special version of the state() call which does not call event loop.
- * Needed in order to fix NB#175098 where Qt4.7 webkit crashes because event
- * loop is run when webkit does not expect it. This function is called from
- * bearer management API syncStateWithInterface() in QNetworkSession
- * constructor.
- */
-uint IcdPrivate::state(QList<IcdStateResult>& state_results)
-{
- QVariant reply;
- QVariantList vl;
- uint signals_left, total_signals;
- IcdStateResult result;
- time_t started;
- int timeout_secs = timeout / 1000;
-
- PDEBUG("%s\n", "state_results");
-
- clearState();
- reply = mDBus->call(ICD_DBUS_API_STATE_REQ);
- if (reply.type() != QVariant::List)
- return 0;
- vl = reply.toList();
- if (vl.isEmpty())
- return 0;
- reply = vl.first();
- signals_left = total_signals = reply.toUInt();
- if (!signals_left)
- return 0;
-
- started = time(0);
- state_results.clear();
- mError.clear();
- while (signals_left) {
- mInterface.clear();
- while ((time(0)<=(started+timeout_secs)) && mInterface.isEmpty()) {
- mDBus->synchronousDispatch(1000);
- }
-
- if (time(0)>(started+timeout_secs)) {
- total_signals = 0;
- break;
- }
-
- if (mSignal != ICD_DBUS_API_STATE_SIG) {
- continue;
- }
-
- if (mError.isEmpty()) {
- if (!mArgs.isEmpty()) {
- if (mArgs.size()==2)
- get_state_all_result2(mArgs, result);
- else
- get_state_all_result(mArgs, result);
- state_results << result;
- }
- signals_left--;
- } else {
- qWarning() << "Error:" << mError;
- break;
- }
- }
-
- PDEBUG("total_signals=%d\n", total_signals);
- return total_signals;
-}
-
-
-static void get_statistics_all_result(QList<QVariant>& args,
- IcdStatisticsResult& ret)
-{
- int i=0;
-
- if (args.isEmpty())
- return;
-
- ret.params.service_type = args[i++].toString();
- ret.params.service_attrs = args[i++].toUInt();
- ret.params.service_id = args[i++].toString();
- ret.params.network_type = args[i++].toString();
- ret.params.network_attrs = args[i++].toUInt();
- ret.params.network_id = args[i++].toByteArray();
- ret.time_active = args[i++].toUInt();
- ret.signal_strength = (enum icd_nw_levels)args[i++].toUInt();
- ret.bytes_sent = args[i++].toUInt();
- ret.bytes_received = args[i++].toUInt();
-}
-
-
-uint IcdPrivate::statistics(QList<IcdStatisticsResult>& stats_results)
-{
- QTimer timer;
- QVariant reply;
- QVariantList vl;
- uint signals_left, total_signals;
- IcdStatisticsResult result;
-
- clearState();
- reply = mDBus->call(ICD_DBUS_API_STATISTICS_REQ);
- if (reply.type() != QVariant::List)
- return 0;
- vl = reply.toList();
- if (vl.isEmpty())
- return 0;
- reply = vl.first();
- if (reply.type() != QVariant::UInt)
- return 0;
- signals_left = total_signals = reply.toUInt();
-
- if (!signals_left)
- return 0;
-
- timer.setSingleShot(true);
- timer.start(timeout);
- stats_results.clear();
- while (signals_left) {
- mInterface.clear();
- while (timer.isActive() && mInterface.isEmpty()) {
- QCoreApplication::processEvents(QEventLoop::AllEvents, 1000);
- }
-
- if (!timer.isActive()) {
- total_signals = 0;
- break;
- }
-
- if (mSignal != ICD_DBUS_API_STATISTICS_SIG) {
- continue;
- }
-
- if (mError.isEmpty()) {
- get_statistics_all_result(mArgs, result);
- stats_results << result;
- signals_left--;
- } else {
- qWarning() << "Error:" << mError;
- break;
- }
- }
- timer.stop();
-
- return total_signals;
-}
-
-
-uint IcdPrivate::statistics(QString& service_type, uint service_attrs,
- QString& service_id, QString& network_type,
- uint network_attrs, QByteArray& network_id,
- IcdStatisticsResult& stats_result)
-{
- QTimer timer;
- QVariant reply;
- uint total_signals;
- QVariantList vl;
-
- clearState();
-
- reply = mDBus->call(ICD_DBUS_API_STATISTICS_REQ,
- service_type, service_attrs, service_id,
- network_type, network_attrs, network_id);
- if (reply.type() != QVariant::List)
- return 0;
- vl = reply.toList();
- if (vl.isEmpty())
- return 0;
- reply = vl.first();
- total_signals = reply.toUInt();
- if (!total_signals)
- return 0;
-
- timer.setSingleShot(true);
- timer.start(timeout);
-
- mInterface.clear();
- while (timer.isActive() && mInterface.isEmpty()) {
- QCoreApplication::processEvents(QEventLoop::AllEvents, 1000);
-
- if (mSignal != ICD_DBUS_API_STATISTICS_SIG) {
- mInterface.clear();
- continue;
- }
- }
-
- timer.stop();
-
- if (mError.isEmpty()) {
- get_statistics_all_result(mArgs, stats_result);
- } else {
- qWarning() << "Error:" << mError;
- }
-
- // The returned value should be one because we asked for one statistics
- return total_signals;
-}
-
-
-static void get_addrinfo_all_result(QList<QVariant>& args,
- IcdAddressInfoResult& ret)
-{
- int i=0;
-
- if (args.isEmpty())
- return;
-
- ret.params.service_type = args[i++].toString();
- ret.params.service_attrs = args[i++].toUInt();
- ret.params.service_id = args[i++].toString();
- ret.params.network_type = args[i++].toString();
- ret.params.network_attrs = args[i++].toUInt();
- ret.params.network_id = args[i++].toByteArray();
-
- QVariantList vl = args[i].toList();
- QVariant reply = vl.first();
- QList<QVariant> lst = reply.toList();
- for (int k=0; k<lst.size()/6; k=k+6) {
- IcdIPInformation ip_info;
- ip_info.address = lst[k].toString();
- ip_info.netmask = lst[k++].toString();
- ip_info.default_gateway = lst[k++].toString();
- ip_info.dns1 = lst[k++].toString();
- ip_info.dns2 = lst[k++].toString();
- ip_info.dns3 = lst[k++].toString();
-
- ret.ip_info << ip_info;
- }
-}
-
-
-/* Special version of the addrinfo() call which does not call event loop.
- * Needed in order to fix NB#175098 where Qt4.7 webkit crashes because event
- * loop is run when webkit does not expect it. This function is called from
- * bearer management API syncStateWithInterface() in QNetworkSession
- * constructor.
- */
-uint IcdPrivate::addrinfo(QList<IcdAddressInfoResult>& addr_results)
-{
- QVariant reply;
- QVariantList vl;
- uint signals_left, total_signals;
- IcdAddressInfoResult result;
- time_t started;
- int timeout_secs = timeout / 1000;
-
- PDEBUG("%s\n", "addr_results");
-
- clearState();
- reply = mDBus->call(ICD_DBUS_API_ADDRINFO_REQ);
- if (reply.type() != QVariant::List)
- return 0;
- vl = reply.toList();
- if (vl.isEmpty())
- return 0;
- reply = vl.first();
- if (reply.type() != QVariant::UInt)
- return 0;
- signals_left = total_signals = reply.toUInt();
- if (!signals_left)
- return 0;
-
- started = time(0);
- addr_results.clear();
- while (signals_left) {
- mInterface.clear();
- while ((time(0)<=(started+timeout_secs)) && mInterface.isEmpty()) {
- mDBus->synchronousDispatch(1000);
- }
-
- if (time(0)>(started+timeout_secs)) {
- total_signals = 0;
- break;
- }
-
- if (mSignal != ICD_DBUS_API_ADDRINFO_SIG) {
- continue;
- }
-
- if (mError.isEmpty()) {
- get_addrinfo_all_result(mArgs, result);
- addr_results << result;
- signals_left--;
- } else {
- qWarning() << "Error:" << mError;
- break;
- }
- }
-
- PDEBUG("total_signals=%d\n", total_signals);
- return total_signals;
-}
-
-uint IcdPrivate::addrinfo_non_blocking(QList<IcdAddressInfoResult>& addr_results)
-{
- QTimer timer;
- QVariant reply;
- QVariantList vl;
- uint signals_left, total_signals;
- IcdAddressInfoResult result;
-
- PDEBUG("%s\n", "non blocking addrinfo");
-
- clearState();
- reply = mDBus->call(ICD_DBUS_API_ADDRINFO_REQ);
- if (reply.type() != QVariant::List)
- return 0;
- vl = reply.toList();
- if (vl.isEmpty())
- return 0;
- reply = vl.first();
- if (reply.type() != QVariant::UInt)
- return 0;
- signals_left = total_signals = reply.toUInt();
- if (!signals_left)
- return 0;
-
- timer.setSingleShot(true);
- timer.start(timeout);
- addr_results.clear();
- while (signals_left) {
- mInterface.clear();
- while (timer.isActive() && mInterface.isEmpty()) {
- QCoreApplication::processEvents(QEventLoop::AllEvents, 1000);
- }
-
- if (!timer.isActive()) {
- total_signals = 0;
- break;
- }
-
- if (mSignal != ICD_DBUS_API_ADDRINFO_SIG) {
- continue;
- }
-
- if (mError.isEmpty()) {
- get_addrinfo_all_result(mArgs, result);
- addr_results << result;
- signals_left--;
- } else {
- qWarning() << "Error:" << mError;
- break;
- }
- }
- timer.stop();
- PDEBUG("total_signals=%d\n", total_signals);
- return total_signals;
-}
-
-
-uint IcdPrivate::addrinfo(QString& service_type, uint service_attrs,
- QString& service_id, QString& network_type,
- uint network_attrs, QByteArray& network_id,
- IcdAddressInfoResult& addr_result)
-{
- QTimer timer;
- QVariant reply;
- uint total_signals;
- QVariantList vl;
-
- clearState();
-
- reply = mDBus->call(ICD_DBUS_API_ADDRINFO_REQ,
- service_type, service_attrs, service_id,
- network_type, network_attrs, network_id);
- if (reply.type() != QVariant::List)
- return 0;
- vl = reply.toList();
- if (vl.isEmpty())
- return 0;
- reply = vl.first();
- total_signals = reply.toUInt();
-
- if (!total_signals)
- return 0;
-
- timer.setSingleShot(true);
- timer.start(timeout);
-
- mInterface.clear();
- while (timer.isActive() && mInterface.isEmpty()) {
- QCoreApplication::processEvents(QEventLoop::AllEvents, 1000);
-
- if (mSignal != ICD_DBUS_API_ADDRINFO_SIG) {
- mInterface.clear();
- continue;
- }
- }
-
- timer.stop();
-
- if (mError.isEmpty()) {
- get_addrinfo_all_result(mArgs, addr_result);
- } else {
- qWarning() << "Error:" << mError;
- }
-
- // The returned value should be one because we asked for one addrinfo
- return total_signals;
-}
-
-
-Icd::Icd(QObject *parent)
- : QObject(parent), d(new IcdPrivate(this))
-{
-}
-
-Icd::Icd(unsigned int timeout, QObject *parent)
- : QObject(parent), d(new IcdPrivate(timeout, this))
-{
-}
-
-Icd::Icd(unsigned int timeout, IcdDbusInterfaceVer ver, QObject *parent)
- : QObject(parent), d(new IcdPrivate(timeout, ver, this))
-{
-}
-
-Icd::~Icd()
-{
- delete d;
-}
-
-
-QStringList Icd::scan(icd_scan_request_flags flags,
- QStringList &network_types,
- QList<IcdScanResult>& scan_results,
- QString& error)
-{
- return d->scan(flags, network_types, scan_results, error);
-}
-
-
-void Icd::scanCancel()
-{
- d->scanCancel();
-}
-
-
-bool Icd::connect(icd_connection_flags flags, IcdConnectResult& result)
-{
- return d->connect(flags, result);
-}
-
-
-bool Icd::connect(icd_connection_flags flags, QList<ConnectParams>& params,
- IcdConnectResult& result)
-{
- return d->connect(flags, params, result);
-}
-
-
-bool Icd::connect(icd_connection_flags flags, QString& iap, QString& result)
-{
- return d->connect(flags, iap, result);
-}
-
-
-void Icd::select(uint flags)
-{
- d->select(flags);
-}
-
-
-void Icd::disconnect(uint connect_flags, QString& service_type,
- uint service_attrs, QString& service_id,
- QString& network_type, uint network_attrs,
- QByteArray& network_id)
-{
- d->disconnect(connect_flags, service_type,
- service_attrs, service_id,
- network_type, network_attrs,
- network_id);
-}
-
-
-void Icd::disconnect(uint connect_flags)
-{
- d->disconnect(connect_flags);
-}
-
-
-uint Icd::state(QString& service_type, uint service_attrs,
- QString& service_id, QString& network_type,
- uint network_attrs, QByteArray& network_id,
- IcdStateResult &state_result)
-{
- return d->state(service_type, service_attrs, service_id,
- network_type, network_attrs, network_id,
- state_result);
-}
-
-
-uint Icd::statistics(QString& service_type, uint service_attrs,
- QString& service_id, QString& network_type,
- uint network_attrs, QByteArray& network_id,
- IcdStatisticsResult& stats_result)
-{
- return d->statistics(service_type, service_attrs, service_id,
- network_type, network_attrs, network_id,
- stats_result);
-}
-
-
-uint Icd::addrinfo(QString& service_type, uint service_attrs,
- QString& service_id, QString& network_type,
- uint network_attrs, QByteArray& network_id,
- IcdAddressInfoResult& addr_result)
-{
- return d->addrinfo(service_type, service_attrs, service_id,
- network_type, network_attrs, network_id,
- addr_result);
-}
-
-
-uint Icd::state(QList<IcdStateResult>& state_results)
-{
- return d->state(state_results);
-}
-
-uint Icd::state_non_blocking(QList<IcdStateResult>& state_results)
-{
- return d->state_non_blocking(state_results);
-}
-
-uint Icd::statistics(QList<IcdStatisticsResult>& stats_results)
-{
- return d->statistics(stats_results);
-}
-
-
-uint Icd::addrinfo(QList<IcdAddressInfoResult>& addr_results)
-{
- return d->addrinfo(addr_results);
-}
-
-uint Icd::addrinfo_non_blocking(QList<IcdAddressInfoResult>& addr_results)
-{
- return d->addrinfo_non_blocking(addr_results);
-}
-
-void Icd::icdSignalReceived(const QString& interface,
- const QString& signal,
- const QList<QVariant>& args)
-{
- d->signalReceived(interface, signal, args);
-}
-
-
-void Icd::icdCallReply(const QString& method,
- const QList<QVariant>& args,
- const QString& error)
-{
- d->callReply(method, args, error);
-}
-
-
-QString Icd::error()
-{
- return d->error();
-}
-
-} // Maemo namespace
-
-
diff --git a/src/3rdparty/libconninet/src/maemo_icd.h b/src/3rdparty/libconninet/src/maemo_icd.h
deleted file mode 100644
index d7a8d5b..0000000
--- a/src/3rdparty/libconninet/src/maemo_icd.h
+++ /dev/null
@@ -1,182 +0,0 @@
-/*
- libconninet - Internet Connectivity support library
-
- Copyright (C) 2009 Nokia Corporation. All rights reserved.
-
- Contact: Jukka Rissanen <jukka.rissanen@nokia.com>
-
- This library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public License
- version 2.1 as published by the Free Software Foundation.
-
- 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 St, Fifth Floor, Boston, MA
- 02110-1301 USA
-*/
-
-#ifndef MAEMO_ICD_H
-#define MAEMO_ICD_H
-
-#include <QObject>
-#include <QStringList>
-#include <QByteArray>
-#include <QMetaType>
-#include <QtDBus>
-#include <QDBusArgument>
-
-#include <glib.h>
-#include <icd/dbus_api.h>
-#include <icd/osso-ic.h>
-#include <icd/osso-ic-dbus.h>
-
-#include "dbusdispatcher.h"
-#include <icd/network_api_defines.h>
-
-#define ICD_LONG_SCAN_TIMEOUT (30*1000) /* 30sec */
-#define ICD_SHORT_SCAN_TIMEOUT (10*1000) /* 10sec */
-#define ICD_SHORT_CONNECT_TIMEOUT (10*1000) /* 10sec */
-#define ICD_LONG_CONNECT_TIMEOUT (150*1000) /* 2.5min */
-
-namespace Maemo {
-
-struct CommonParams {
- QString service_type;
- uint service_attrs;
- QString service_id;
- QString network_type;
- uint network_attrs;
- QByteArray network_id;
-};
-
-struct ConnectParams {
- struct CommonParams connect;
-};
-
-struct IcdScanResult {
- uint status; // see #icd_scan_status
- uint timestamp; // when last seen
- QString service_name;
- uint service_priority; // within a service type
- QString network_name;
- uint network_priority;
- struct CommonParams scan;
- uint signal_strength; // quality, 0 (none) - 10 (good)
- QString station_id; // e.g. MAC address or similar id
- uint signal_dB; // use signal strength above unless you know what you are doing
-
- IcdScanResult() {
- status = timestamp = scan.service_attrs = service_priority =
- scan.network_attrs = network_priority = signal_strength =
- signal_dB = 0;
- }
-};
-
-struct IcdConnectResult {
- struct CommonParams connect;
- uint status;
-};
-
-struct IcdStateResult {
- struct CommonParams params;
- QString error;
- uint state;
-};
-
-struct IcdStatisticsResult {
- struct CommonParams params;
- uint time_active; // in seconds
- enum icd_nw_levels signal_strength; // see network_api_defines.h in icd2-dev package
- uint bytes_sent;
- uint bytes_received;
-};
-
-struct IcdIPInformation {
- QString address;
- QString netmask;
- QString default_gateway;
- QString dns1;
- QString dns2;
- QString dns3;
-};
-
-struct IcdAddressInfoResult {
- struct CommonParams params;
- QList<IcdIPInformation> ip_info;
-};
-
-enum IcdDbusInterfaceVer {
- IcdOldDbusInterface = 0, // use the old OSSO-IC interface
- IcdNewDbusInterface // use the new Icd2 interface (default)
-};
-
-
-class IcdPrivate;
-class Icd : public QObject
-{
- Q_OBJECT
-
-public:
- Icd(QObject *parent = 0);
- Icd(unsigned int timeout, QObject *parent = 0);
- Icd(unsigned int timeout, IcdDbusInterfaceVer ver, QObject *parent = 0);
- ~Icd();
- QString error(); // returns last error string
-
- /* Icd2 dbus API functions */
- QStringList scan(icd_scan_request_flags flags,
- QStringList &network_types,
- QList<IcdScanResult>& scan_results,
- QString& error);
- void scanCancel();
- bool connect(icd_connection_flags flags, IcdConnectResult& result);
- bool connect(icd_connection_flags flags, QList<ConnectParams>& params,
- IcdConnectResult& result);
- bool connect(icd_connection_flags flags, QString& iap, QString& result);
- void select(uint flags);
- void disconnect(uint connect_flags, QString& service_type,
- uint service_attrs, QString& service_id,
- QString& network_type, uint network_attrs,
- QByteArray& network_id);
- void disconnect(uint connect_flags);
-
- uint state(QString& service_type, uint service_attrs,
- QString& service_id, QString& network_type,
- uint network_attrs, QByteArray& network_id,
- IcdStateResult &state_result);
- uint statistics(QString& service_type, uint service_attrs,
- QString& service_id, QString& network_type,
- uint network_attrs, QByteArray& network_id,
- IcdStatisticsResult& stats_result);
- uint addrinfo(QString& service_type, uint service_attrs,
- QString& service_id, QString& network_type,
- uint network_attrs, QByteArray& network_id,
- IcdAddressInfoResult& addr_result);
-
- uint state(QList<IcdStateResult>& state_results);
- uint state_non_blocking(QList<IcdStateResult>& state_results);
- uint statistics(QList<IcdStatisticsResult>& stats_results);
- uint addrinfo(QList<IcdAddressInfoResult>& addr_results);
- uint addrinfo_non_blocking(QList<IcdAddressInfoResult>& addr_results);
-
-private Q_SLOTS:
- void icdSignalReceived(const QString& interface,
- const QString& signal,
- const QList<QVariant>& args);
- void icdCallReply(const QString& method,
- const QList<QVariant>& args,
- const QString& error);
-
-private:
- IcdPrivate *d;
- friend class IcdPrivate;
-};
-
-} // Maemo namespace
-
-#endif
diff --git a/src/3rdparty/libconninet/src/proxyconf.cpp b/src/3rdparty/libconninet/src/proxyconf.cpp
deleted file mode 100644
index d377a31..0000000
--- a/src/3rdparty/libconninet/src/proxyconf.cpp
+++ /dev/null
@@ -1,392 +0,0 @@
-/*
- libconninet - Internet Connectivity support library
-
- Copyright (C) 2010 Nokia Corporation. All rights reserved.
-
- Contact: Jukka Rissanen <jukka.rissanen@nokia.com>
-
- This library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public License
- version 2.1 as published by the Free Software Foundation.
-
- 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 St, Fifth Floor, Boston, MA
- 02110-1301 USA
-*/
-
-#include <QVariant>
-#include <QStringList>
-#include <QDebug>
-#include <QWriteLocker>
-#include <QNetworkProxyFactory>
-#include <QNetworkProxy>
-#include <gconf/gconf-value.h>
-#include <gconf/gconf-client.h>
-#include "proxyconf.h"
-
-#define CONF_PROXY "/system/proxy"
-#define HTTP_PROXY "/system/http_proxy"
-
-
-namespace Maemo {
-
-static QString convertKey(const char *key)
-{
- return QString::fromUtf8(key);
-}
-
-static QVariant convertValue(GConfValue *src)
-{
- if (!src) {
- return QVariant();
- } else {
- switch (src->type) {
- case GCONF_VALUE_INVALID:
- return QVariant(QVariant::Invalid);
- case GCONF_VALUE_BOOL:
- return QVariant((bool)gconf_value_get_bool(src));
- case GCONF_VALUE_INT:
- return QVariant(gconf_value_get_int(src));
- case GCONF_VALUE_FLOAT:
- return QVariant(gconf_value_get_float(src));
- case GCONF_VALUE_STRING:
- return QVariant(QString::fromUtf8(gconf_value_get_string(src)));
- case GCONF_VALUE_LIST:
- switch (gconf_value_get_list_type(src)) {
- case GCONF_VALUE_STRING:
- {
- QStringList result;
- for (GSList *elts = gconf_value_get_list(src); elts; elts = elts->next)
- result.append(QString::fromUtf8(gconf_value_get_string((GConfValue *)elts->data)));
- return QVariant(result);
- }
- default:
- {
- QList<QVariant> result;
- for (GSList *elts = gconf_value_get_list(src); elts; elts = elts->next)
- result.append(convertValue((GConfValue *)elts->data));
- return QVariant(result);
- }
- }
- case GCONF_VALUE_SCHEMA:
- default:
- return QVariant();
- }
- }
-}
-
-
-/* Fast version of GConfItem, allows reading subtree at a time */
-class GConfItemFast {
-public:
- GConfItemFast(const QString &k) : key(k) {}
- QHash<QString,QVariant> getEntries() const;
-
-private:
- QString key;
-};
-
-#define withClient(c) for (GConfClient *c = gconf_client_get_default(); c; c=0)
-
-
-QHash<QString,QVariant> GConfItemFast::getEntries() const
-{
- QHash<QString,QVariant> children;
-
- withClient(client) {
- QByteArray k = key.toUtf8();
- GSList *entries = gconf_client_all_entries(client, k.data(), NULL);
- for (GSList *e = entries; e; e = e->next) {
- char *key_name = strrchr(((GConfEntry *)e->data)->key, '/');
- if (!key_name)
- key_name = ((GConfEntry *)e->data)->key;
- else
- key_name++;
- QString key(convertKey(key_name));
- QVariant value = convertValue(((GConfEntry *)e->data)->value);
- gconf_entry_unref((GConfEntry *)e->data);
- //qDebug()<<"key="<<key<<"value="<<value;
- children.insert(key, value);
- }
- g_slist_free (entries);
- }
-
- return children;
-}
-
-
-
-class NetworkProxyFactory : QNetworkProxyFactory {
-public:
- NetworkProxyFactory() { }
- QList<QNetworkProxy> queryProxy(const QNetworkProxyQuery &query = QNetworkProxyQuery());
-};
-
-
-QList<QNetworkProxy> NetworkProxyFactory::queryProxy(const QNetworkProxyQuery &query)
-{
- ProxyConf proxy_conf;
-
- QList<QNetworkProxy> result = proxy_conf.flush(query);
- if (result.isEmpty())
- result << QNetworkProxy::NoProxy;
-
- return result;
-}
-
-
-class ProxyConfPrivate {
-private:
- // proxy values from gconf
- QString mode;
- bool use_http_host;
- QString autoconfig_url;
- QString http_proxy;
- quint16 http_port;
- QList<QVariant> ignore_hosts;
- QString secure_host;
- quint16 secure_port;
- QString ftp_host;
- quint16 ftp_port;
- QString socks_host;
- quint16 socks_port;
- QString rtsp_host;
- quint16 rtsp_port;
-
- bool isHostExcluded(const QString &host);
-
-public:
- QString prefix;
- QString http_prefix;
-
- void readProxyData();
- QList<QNetworkProxy> flush(const QNetworkProxyQuery &query);
-};
-
-
-static QHash<QString,QVariant> getValues(const QString& prefix)
-{
- GConfItemFast item(prefix);
- return item.getEntries();
-}
-
-static QHash<QString,QVariant> getHttpValues(const QString& prefix)
-{
- GConfItemFast item(prefix);
- return item.getEntries();
-}
-
-#define GET(var, type) \
- do { \
- QVariant v = values.value(#var); \
- if (v.isValid()) \
- var = v.to##type (); \
- } while(0)
-
-#define GET_HTTP(var, name, type) \
- do { \
- QVariant v = httpValues.value(#name); \
- if (v.isValid()) \
- var = v.to##type (); \
- } while(0)
-
-
-void ProxyConfPrivate::readProxyData()
-{
- QHash<QString,QVariant> values = getValues(prefix);
- QHash<QString,QVariant> httpValues = getHttpValues(http_prefix);
-
- //qDebug()<<"values="<<values;
-
- /* Read the proxy settings from /system/proxy* */
- GET_HTTP(http_proxy, host, String);
- GET_HTTP(http_port, port, Int);
- GET_HTTP(ignore_hosts, ignore_hosts, List);
-
- GET(mode, String);
- GET(autoconfig_url, String);
- GET(secure_host, String);
- GET(secure_port, Int);
- GET(ftp_host, String);
- GET(ftp_port, Int);
- GET(socks_host, String);
- GET(socks_port, Int);
- GET(rtsp_host, String);
- GET(rtsp_port, Int);
-
- if (http_proxy.isEmpty())
- use_http_host = false;
- else
- use_http_host = true;
-}
-
-
-bool ProxyConfPrivate::isHostExcluded(const QString &host)
-{
- if (host.isEmpty())
- return true;
-
- if (ignore_hosts.isEmpty())
- return false;
-
- QHostAddress ipAddress;
- bool isIpAddress = ipAddress.setAddress(host);
-
- foreach (QVariant h, ignore_hosts) {
- QString entry = h.toString();
- if (isIpAddress && ipAddress.isInSubnet(QHostAddress::parseSubnet(entry))) {
- return true; // excluded
- } else {
- // do wildcard matching
- QRegExp rx(entry, Qt::CaseInsensitive, QRegExp::Wildcard);
- if (rx.exactMatch(host))
- return true;
- }
- }
-
- // host was not excluded
- return false;
-}
-
-
-QList<QNetworkProxy> ProxyConfPrivate::flush(const QNetworkProxyQuery &query)
-{
- QList<QNetworkProxy> result;
-
-#if 0
- qDebug()<<"http_proxy" << http_proxy;
- qDebug()<<"http_port" << http_port;
- qDebug()<<"ignore_hosts" << ignore_hosts;
- qDebug()<<"use_http_host" << use_http_host;
- qDebug()<<"mode" << mode;
- qDebug()<<"autoconfig_url" << autoconfig_url;
- qDebug()<<"secure_host" << secure_host;
- qDebug()<<"secure_port" << secure_port;
- qDebug()<<"ftp_host" << ftp_host;
- qDebug()<<"ftp_port" << ftp_port;
- qDebug()<<"socks_host" << socks_host;
- qDebug()<<"socks_port" << socks_port;
- qDebug()<<"rtsp_host" << rtsp_host;
- qDebug()<<"rtsp_port" << rtsp_port;
-#endif
-
- if (isHostExcluded(query.peerHostName()))
- return result; // no proxy for this host
-
- if (mode == "auto") {
- // TODO: pac currently not supported, fix me
- return result;
- }
-
- if (mode == "manual") {
- bool isHttps = false;
- QString protocol = query.protocolTag().toLower();
-
- // try the protocol-specific proxy
- QNetworkProxy protocolSpecificProxy;
-
- if (protocol == QLatin1String("ftp")) {
- if (!ftp_host.isEmpty()) {
- protocolSpecificProxy.setType(QNetworkProxy::FtpCachingProxy);
- protocolSpecificProxy.setHostName(ftp_host);
- protocolSpecificProxy.setPort(ftp_port);
- }
- } else if (protocol == QLatin1String("http")) {
- if (!http_proxy.isEmpty()) {
- protocolSpecificProxy.setType(QNetworkProxy::HttpProxy);
- protocolSpecificProxy.setHostName(http_proxy);
- protocolSpecificProxy.setPort(http_port);
- }
- } else if (protocol == QLatin1String("https")) {
- isHttps = true;
- if (!secure_host.isEmpty()) {
- protocolSpecificProxy.setType(QNetworkProxy::HttpProxy);
- protocolSpecificProxy.setHostName(secure_host);
- protocolSpecificProxy.setPort(secure_port);
- }
- }
-
- if (protocolSpecificProxy.type() != QNetworkProxy::DefaultProxy)
- result << protocolSpecificProxy;
-
-
- if (!socks_host.isEmpty()) {
- QNetworkProxy proxy;
- proxy.setType(QNetworkProxy::Socks5Proxy);
- proxy.setHostName(socks_host);
- proxy.setPort(socks_port);
- result << proxy;
- }
-
-
- // Add the HTTPS proxy if present (and if we haven't added yet)
- if (!isHttps) {
- QNetworkProxy https;
- if (!secure_host.isEmpty()) {
- https.setType(QNetworkProxy::HttpProxy);
- https.setHostName(secure_host);
- https.setPort(secure_port);
- }
-
- if (https.type() != QNetworkProxy::DefaultProxy &&
- https != protocolSpecificProxy)
- result << https;
- }
- }
-
- return result;
-}
-
-
-ProxyConf::ProxyConf()
- : d_ptr(new ProxyConfPrivate)
-{
- g_type_init();
- d_ptr->prefix = CONF_PROXY;
- d_ptr->http_prefix = HTTP_PROXY;
-}
-
-ProxyConf::~ProxyConf()
-{
- delete d_ptr;
-}
-
-
-QList<QNetworkProxy> ProxyConf::flush(const QNetworkProxyQuery &query)
-{
- d_ptr->readProxyData();
- return d_ptr->flush(query);
-}
-
-
-static int refcount = 0;
-static QReadWriteLock lock;
-
-void ProxyConf::update()
-{
- QWriteLocker locker(&lock);
- NetworkProxyFactory *factory = new NetworkProxyFactory();
- QNetworkProxyFactory::setApplicationProxyFactory((QNetworkProxyFactory*)factory);
- refcount++;
-}
-
-
-void ProxyConf::clear(void)
-{
- QWriteLocker locker(&lock);
- refcount--;
- if (refcount == 0)
- QNetworkProxyFactory::setApplicationProxyFactory(NULL);
-
- if (refcount<0)
- refcount = 0;
-}
-
-
-} // namespace Maemo
diff --git a/src/3rdparty/libconninet/src/proxyconf.h b/src/3rdparty/libconninet/src/proxyconf.h
deleted file mode 100644
index 7711c49..0000000
--- a/src/3rdparty/libconninet/src/proxyconf.h
+++ /dev/null
@@ -1,53 +0,0 @@
-/*
- libconninet - Internet Connectivity support library
-
- Copyright (C) 2010 Nokia Corporation. All rights reserved.
-
- Contact: Jukka Rissanen <jukka.rissanen@nokia.com>
-
- This library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public License
- version 2.1 as published by the Free Software Foundation.
-
- 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 St, Fifth Floor, Boston, MA
- 02110-1301 USA
-*/
-
-#ifndef PROXYCONF_H
-#define PROXYCONF_H
-
-#include <QString>
-#include <QNetworkProxy>
-
-namespace Maemo {
-
-class ProxyConfPrivate;
-class ProxyConf {
-private:
- ProxyConfPrivate *d_ptr;
-
-public:
- ProxyConf();
- virtual ~ProxyConf();
-
- QList<QNetworkProxy> flush(const QNetworkProxyQuery &query = QNetworkProxyQuery()); // read the proxies from db
-
- /* Note that for each update() call there should be corresponding
- * clear() call because the ProxyConf class implements a reference
- * counting mechanism. The factory is removed only when there is
- * no one using the factory any more.
- */
- static void update(void); // this builds QNetworkProxy factory
- static void clear(void); // this removes QNetworkProxy factory
-};
-
-} // namespace Maemo
-
-#endif
diff --git a/src/3rdparty/libconninet/tests/ut_dbusdispatcher.cpp b/src/3rdparty/libconninet/tests/ut_dbusdispatcher.cpp
deleted file mode 100644
index 70deb3f..0000000
--- a/src/3rdparty/libconninet/tests/ut_dbusdispatcher.cpp
+++ /dev/null
@@ -1,191 +0,0 @@
-/* * This file is part of conn-dui-settings-inet *
- *
- * Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- *
- * Contact: Aapo Makela <aapo.makela@nokia.com>
- *
- * This software, including documentation, is protected by copyright
- * controlled by Nokia Corporation. All rights are reserved. Copying,
- * including reproducing, storing, adapting or translating, any or all of
- * this material requires the prior written consent of Nokia Corporation.
- * This material also contains confidential information which may not be
- * disclosed to others without the prior written consent of Nokia.
- */
-
-#include <QtTest/QtTest>
-#include <QCoreApplication>
-#include <QEventLoop>
-#include <QDebug>
-#include <icd/dbus_api.h>
-
-#include <dbusdispatcher.h>
-
-class Ut_DBusDispatcher : public QObject
-{
- Q_OBJECT
-
-private Q_SLOTS:
- void init();
- void cleanup();
- void initTestCase();
- void cleanupTestCase();
-
- void simpleSignalReceived(const QString& interface,
- const QString& signal,
- const QList<QVariant>& args);
- void simpleCallReply(const QString& method,
- const QList<QVariant>& args,
- const QString& error);
- void simpleCall();
-
- void complexCallReply(const QString& method,
- const QList<QVariant>& args,
- const QString& error);
- void complexCall();
-
-private:
- Maemo::DBusDispatcher *mSubject;
- QProcess *icd_stub;
-
- QString mMethod;
- QString mInterface;
- QString mSignal;
- QList<QVariant> mArgs;
-};
-
-void Ut_DBusDispatcher::init()
-{
- mSubject = new Maemo::DBusDispatcher("com.nokia.icd2", "/com/nokia/icd2",
- "com.nokia.icd2");
-
- // Start icd2 stub
- icd_stub = new QProcess(this);
- icd_stub->start("/usr/bin/icd2_stub.py");
- QTest::qWait(1000);
-}
-
-void Ut_DBusDispatcher::cleanup()
-{
- // Terminate icd2 stub
- icd_stub->terminate();
- icd_stub->waitForFinished();
-
- delete mSubject;
- mSubject = 0;
-}
-
-void Ut_DBusDispatcher::initTestCase()
-{
-}
-
-void Ut_DBusDispatcher::cleanupTestCase()
-{
-}
-
-void Ut_DBusDispatcher::simpleSignalReceived(const QString& interface,
- const QString& signal,
- const QList<QVariant>& args)
-{
- // Signal handler, which simply records what has been signalled
- mInterface = interface;
- mSignal = signal;
- mArgs = args;
-}
-
-void Ut_DBusDispatcher::simpleCallReply(const QString& method,
- const QList<QVariant>& args,
- const QString& error)
-{
- mMethod = method;
-
- // Check that method matches and at least WLAN_INFRA is returned
- QVERIFY(error.isEmpty());
- QVERIFY(args[0].toStringList().contains("WLAN_INFRA"));
-}
-
-void Ut_DBusDispatcher::simpleCall()
-{
- uint flags = 0;
- QList<QVariant> reply;
- int idx = 0;
- QTimer timer;
-
- // Connect signals
- connect(mSubject, SIGNAL(signalReceived(const QString&,
- const QString&,
- const QList<QVariant>&)),
- this, SLOT(simpleSignalReceived(const QString&,
- const QString&,
- const QList<QVariant>&)));
- connect(mSubject, SIGNAL(callReply(const QString&,
- const QList<QVariant>&,
- const QString&)),
- this, SLOT(simpleCallReply(const QString&,
- const QList<QVariant>&,
- const QString&)));
-
- // Request scan and verify the call starts succesfully
- QVERIFY(mSubject->callAsynchronous("scan_req", flags));
-
- // Wait 1st scan signal for 10 secs
- timer.setSingleShot(true);
- timer.start(10000);
- while (timer.isActive() && mInterface.isEmpty()) {
- QCoreApplication::processEvents(QEventLoop::AllEvents, 1000);
- idx++;
- }
- timer.stop();
-
- // Sanity checks for the scan result
- QVERIFY(mInterface == "com.nokia.icd2"); // interface is icd2
- QVERIFY(mMethod == "scan_req"); // method is scan_req
- QVERIFY(mSignal == "scan_result_sig"); // signal is scan result
- QVERIFY(mArgs[0] == QVariant(0) ||
- mArgs[0] == QVariant(4)); // First argument is status
- // (0 == NEW, 4 == COMPLETED)
- //QVERIFY(mArgs.contains(QVariant("WLAN_INFRA"))); // WLAN scan result
-}
-
-void Ut_DBusDispatcher::complexCallReply(const QString& method,
- const QList<QVariant>& args,
- const QString& error)
-{
- mMethod = method;
-
- // Check that method has not return arguments and error is not set
- QVERIFY(error.isEmpty());
- QVERIFY(args.isEmpty());
-}
-
-void Ut_DBusDispatcher::complexCall()
-{
- uint flags = ICD_CONNECTION_FLAG_UI_EVENT;
- QList<QVariant> reply;
- QVariantList networks;
- QVariantList network1;
-
- network1 << "" << (uint)0 << "" << "WLAN_INFRA" << (uint)0x05000011 << QByteArray("osso@46@net");
- networks << QVariant(network1);
-
- // Connect signal
- connect(mSubject, SIGNAL(callReply(const QString&,
- const QList<QVariant>&,
- const QString&)),
- this, SLOT(complexCallReply(const QString&,
- const QList<QVariant>&,
- const QString&)));
-
- // Request connect and verify the call starts succesfully
- QVERIFY(mSubject->callAsynchronous("connect_req", flags, networks));
-
- QTest::qWait(1000);
-
- // Sanity checks for the scan result
- QVERIFY(mInterface == "com.nokia.icd2"); // interface is icd2
- QVERIFY(mMethod == "connect_req"); // method connect_req
-}
-
-QTEST_MAIN(Ut_DBusDispatcher)
-
-#include "ut_dbusdispatcher.moc"
diff --git a/src/3rdparty/libconninet/tests/ut_iapconf.cpp b/src/3rdparty/libconninet/tests/ut_iapconf.cpp
deleted file mode 100644
index 6a91d61..0000000
--- a/src/3rdparty/libconninet/tests/ut_iapconf.cpp
+++ /dev/null
@@ -1,186 +0,0 @@
-/*
- libconninet - Internet Connectivity support library
-
- Copyright (C) 2009 Nokia Corporation. All rights reserved.
-
- Contact: Aapo Makela <aapo.makela@nokia.com>
-
- This library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public License
- version 2.1 as published by the Free Software Foundation.
-
- 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 St, Fifth Floor, Boston, MA
- 02110-1301 USA
-*/
-
-
-#include <QtTest/QtTest>
-#include <QDebug>
-
-#include <iapconf.h>
-
-class Ut_IAPConf : public QObject
-{
- Q_OBJECT
-
-private Q_SLOTS:
- void init();
- void cleanup();
- void initTestCase();
- void cleanupTestCase();
-
- void setupIAP();
- void setupIAPContainingDot();
- void unsetIAPValueIsNotValid();
- void verifyAllIAPs();
- void allForEmptyConfReturnsEmptyList();
- void settingInvalidValueUnsetsKey();
-
-private:
- Maemo::IAPConf *mSubject;
-};
-
-void Ut_IAPConf::init()
-{
- mSubject = new Maemo::IAPConf("test_iap");
-}
-
-void Ut_IAPConf::cleanup()
-{
- // Clear made settings
- mSubject->clear();
-
- delete mSubject;
- mSubject = 0;
-}
-
-void Ut_IAPConf::initTestCase()
-{
-}
-
-void Ut_IAPConf::cleanupTestCase()
-{
-}
-
-void Ut_IAPConf::setupIAP()
-{
- // Set bunch of values
- mSubject->set("ipv4_type", "AUTO",
- "wlan_wepkey1", "connt",
- "wlan_wepdefkey", 1,
- "wlan_ssid", QByteArray("CONNTEST-1"));
-
- // Set one value
- mSubject->setValue("type", "WLAN_INFRA");
-
- // Check all values that they were set correctly
- QVERIFY(mSubject->value("ipv4_type").toString() == "AUTO");
- QVERIFY(mSubject->value("wlan_wepkey1").toString() == "connt");
- QVERIFY(mSubject->value("wlan_wepdefkey").toInt() == 1);
- QVERIFY(mSubject->value("wlan_ssid").toByteArray() == QByteArray("CONNTEST-1"));
- QVERIFY(mSubject->value("type").toString() == "WLAN_INFRA");
-}
-
-void Ut_IAPConf::setupIAPContainingDot()
-{
- delete mSubject;
- mSubject = new Maemo::IAPConf("test.iap");
-
- // Set and check one value
- mSubject->setValue("type", "DUMMY");
- QVERIFY(mSubject->value("type").toString() == "DUMMY");
-}
-
-void Ut_IAPConf::unsetIAPValueIsNotValid()
-{
- QVariant invalidValue = mSubject->value("this_value_does_not_exist");
- QVERIFY(invalidValue.isValid() == false);
-}
-
-void Ut_IAPConf::verifyAllIAPs()
-{
- int count = 0, extras = 0;
- QRegExp regexp("iap[1-3]");
- Maemo::IAPConf iap1("iap1");
- Maemo::IAPConf iap2("iap2");
- Maemo::IAPConf iap3("iap3");
-
- iap1.clear();
- iap2.clear();
- iap3.clear();
-
- iap1.setValue("name", "iap1");
- iap2.setValue("name", "iap2");
- iap3.setValue("name", "iap3");
-
- count = extras = 0;
- QList<QString> iaps;
- Maemo::IAPConf::getAll(iaps, true);
- foreach (QString iap_path, iaps) {
- QString iap_id = iap_path.section('/', 5); /* This is the IAP id */
- if (!iap_id.contains(regexp)) {
- extras++;
- continue;
- }
- Maemo::IAPConf iap(iap_id);
- QString name = iap.value("name").toString();
- QVERIFY(name == iap_id);
- count++;
- }
- QCOMPARE(count, iaps.size()-extras);
-
- iap1.clear();
- iap2.clear();
- iap3.clear();
-
- iap1.setValue("name", "iap1");
- iap2.setValue("name", "iap2");
- iap3.setValue("name", "iap3");
-
- count = extras = 0;
- Maemo::IAPConf::getAll(iaps);
- foreach (QString iap_id, iaps) {
- if (!iap_id.contains(regexp)) {
- extras++;
- continue;
- }
- Maemo::IAPConf iap(iap_id);
- QString name = iap.value("name").toString();
- QVERIFY(name == iap_id);
- count++;
- }
- QCOMPARE(count, iaps.size()-extras);
-}
-
-void Ut_IAPConf::allForEmptyConfReturnsEmptyList()
-{
- // Clear everything in configuration
- mSubject->clearAll();
-
- // Get all for a list and check that it is empty
- QStringList iaps;
- mSubject->getAll(iaps);
- QVERIFY(iaps.isEmpty());
-}
-
-void Ut_IAPConf::settingInvalidValueUnsetsKey()
-{
- // Setup some IAP
- setupIAP();
-
- // Set invalid value to unset "wlan_wepdefkey" key and verify that the
- // value is unset
- mSubject->setValue("wlan_wepdefkey", QVariant());
- QVERIFY(!mSubject->value("wlan_wepdefkey").isValid());
-}
-
-QTEST_MAIN(Ut_IAPConf)
-
-#include "ut_iapconf.moc"
diff --git a/src/3rdparty/libconninet/tests/ut_iapmonitor.cpp b/src/3rdparty/libconninet/tests/ut_iapmonitor.cpp
deleted file mode 100644
index f14f623..0000000
--- a/src/3rdparty/libconninet/tests/ut_iapmonitor.cpp
+++ /dev/null
@@ -1,118 +0,0 @@
-/*
- libconninet - Internet Connectivity support library
-
- Copyright (C) 2009-2010 Nokia Corporation. All rights reserved.
-
- Contact: Jukka Rissanen <jukka.rissanen@nokia.com>
-
- This library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public License
- version 2.1 as published by the Free Software Foundation.
-
- 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 St, Fifth Floor, Boston, MA
- 02110-1301 USA
-*/
-
-
-#include <QtTest/QtTest>
-#include <QDebug>
-
-#include <iapmonitor.h>
-#include <iapconf.h>
-
-static const char *iap_id = "test_monitor_1";
-
-class TestIAPMonitor : public Maemo::IAPMonitor
-{
-public:
- QString addedIap;
- QString removedIap;
-
-protected:
- virtual void iapAdded(const QString &id)
- {
- addedIap = id;
- }
-
- virtual void iapRemoved(const QString &id)
- {
- removedIap = id;
- }
-};
-
-class Ut_IAPMonitor : public QObject
-{
- Q_OBJECT
-
-private Q_SLOTS:
- void init();
- void cleanup();
- void initTestCase();
- void cleanupTestCase();
-
- void check();
-
-private:
- TestIAPMonitor *mon;
- Maemo::IAPConf *iap;
-};
-
-void Ut_IAPMonitor::init()
-{
- mon = new TestIAPMonitor;
-}
-
-void Ut_IAPMonitor::cleanup()
-{
- delete mon;
- mon = 0;
-}
-
-void Ut_IAPMonitor::initTestCase()
-{
-}
-
-void Ut_IAPMonitor::cleanupTestCase()
-{
-}
-
-void Ut_IAPMonitor::check()
-{
- QVERIFY(mon->addedIap.isEmpty());
-
- iap = new Maemo::IAPConf(iap_id);
- iap->set("ipv4_type", "AUTO",
- "wlan_wepkey1", "connt",
- "wlan_wepdefkey", 1,
- "wlan_ssid", QByteArray(iap_id));
-
- QCoreApplication::processEvents(QEventLoop::AllEvents, 1000);
- QVERIFY(mon->addedIap == iap_id);
- mon->addedIap.clear();
-
- QVERIFY(mon->removedIap.isEmpty());
-
- // Unset only one value and verify that IAP is not removed
- iap->set("ipv4_type", QVariant());
- QCoreApplication::processEvents(QEventLoop::AllEvents, 1000);
- QVERIFY(mon->removedIap.isEmpty());
-
- // Clear the whole IAP and check that it is removed
- iap->clear();
- delete iap;
-
- QCoreApplication::processEvents(QEventLoop::AllEvents, 1000);
-
- QVERIFY(mon->removedIap == iap_id);
-}
-
-QTEST_MAIN(Ut_IAPMonitor)
-
-#include "ut_iapmonitor.moc"
diff --git a/src/3rdparty/libconninet/tests/ut_maemo_icd.cpp b/src/3rdparty/libconninet/tests/ut_maemo_icd.cpp
deleted file mode 100644
index 494829d..0000000
--- a/src/3rdparty/libconninet/tests/ut_maemo_icd.cpp
+++ /dev/null
@@ -1,274 +0,0 @@
-/*
- * Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- *
- * Contact: Jukka Rissanen <jukka.rissanen@nokia.com>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public License
- * version 2.1 as published by the Free Software Foundation.
- *
- * 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 St, Fifth Floor, Boston, MA
- * 02110-1301 USA
- */
-
-
-// !!!!
-// !!!! NOTE: THESE TEST DO NOT REALLY WORK YET BECAUSE OF MISSING
-// !!!! FUNCTIONALITY IN ICD2 STUB. YOU HAVE BEEN WARNED.
-// !!!!
-
-
-#include <QtTest/QtTest>
-#include <QCoreApplication>
-#include <QEventLoop>
-#include <QDebug>
-#include <icd/dbus_api.h>
-
-#include "maemo_icd.h"
-
-class Ut_MaemoIcd : public QObject
-{
- Q_OBJECT
-
-private Q_SLOTS:
- void init();
- void cleanup();
- void initTestCase();
- void cleanupTestCase();
-
- void scan_req();
- void scan_cancel_req();
- void connect_req_default();
- void state_req_all();
- void state_req();
- void statistics_req_all();
- void statistics_req();
- void addrinfo_req_all();
- void addrinfo_req();
-
-private:
- void disconnect_req_default(); // this is currently not run
- void connect_req_specific(); // this is currently not run
- QProcess *icd_stub;
- bool connect_iap(Maemo::IcdConnectResult &connect_result,
- QString &result,
- QString &error,
- QString iap=QString());
-};
-
-
-QString create_error_str(Maemo::Icd &icd)
-{
- return icd.error();
-}
-
-
-void Ut_MaemoIcd::init()
-{
- icd_stub = new QProcess(this);
- icd_stub->setStandardOutputFile("/tmp/ut_maemo_icd.log");
- icd_stub->start("/usr/bin/icd2_stub.py");
- QTest::qWait(1000);
-
- // Set the statistics
- QProcess dbus_send;
- dbus_send.start("dbus-send --type=method_call --system "
- "--dest=com.nokia.icd2 /com/nokia/icd2 "
- "com.nokia.icd2.testing.set_statistics "
- "uint32:1024 uint32:256");
- dbus_send.waitForFinished();
-
-}
-
-void Ut_MaemoIcd::cleanup()
-{
- icd_stub->terminate();
- icd_stub->waitForFinished();
-}
-
-void Ut_MaemoIcd::initTestCase()
-{
-}
-
-void Ut_MaemoIcd::cleanupTestCase()
-{
-}
-
-void Ut_MaemoIcd::scan_req()
-{
- QList<Maemo::IcdScanResult> scanned;
- QStringList scannedNetworkTypes;
- QStringList networkTypesToScan;
- QString error;
- Maemo::Icd icd(ICD_SHORT_SCAN_TIMEOUT);
-
- scannedNetworkTypes = icd.scan(ICD_SCAN_REQUEST_ACTIVE,
- networkTypesToScan,
- scanned,
- error);
- QVERIFY(error.isEmpty());
- QCOMPARE(scanned.size(), 3);
- QVERIFY(scannedNetworkTypes[0] == "WLAN_INFRA");
- QVERIFY(scannedNetworkTypes[1] == "DUN_GSM_PS");
-}
-
-void Ut_MaemoIcd::scan_cancel_req()
-{
- Maemo::Icd icd;
- icd.scanCancel();
- // Not much to verify here
-}
-
-bool Ut_MaemoIcd::connect_iap(Maemo::IcdConnectResult &connect_result,
- QString &result,
- QString &error,
- QString iap)
-{
- icd_connection_flags flags = ICD_CONNECTION_FLAG_USER_EVENT;
- bool st;
- Maemo::Icd icd(ICD_SHORT_CONNECT_TIMEOUT);
-
- if (iap.isEmpty()) {
- qDebug() << "connecting to default IAP";
- st = icd.connect(flags, connect_result);
- } else {
- qDebug() << "connecting to" << iap;
- st = icd.connect(flags, iap, result);
- }
-
- error = create_error_str(icd);
- return st;
-}
-
-void Ut_MaemoIcd::connect_req_default()
-{
- Maemo::IcdConnectResult connect_result;
- QString result, error;
- bool st;
- st = connect_iap(connect_result, result, error);
- QVERIFY2(st, error.toAscii().data());
- result = connect_result.connect.network_id.data();
- qDebug() << result;
-}
-
-
-void Ut_MaemoIcd::disconnect_req_default()
-{
- icd_connection_flags flags = ICD_CONNECTION_FLAG_USER_EVENT;
- bool st;
- Maemo::Icd icd(ICD_SHORT_CONNECT_TIMEOUT);
- icd.disconnect(flags);
-}
-
-
-void Ut_MaemoIcd::connect_req_specific()
-{
- Maemo::IcdConnectResult connect_result;
- QString result;
- QString error;
- bool st;
- st = connect_iap(connect_result, result, error, "wpa2gx2.osso.net");
- QVERIFY2(st, error.toAscii().data());
- qDebug() << result;
-}
-
-
-void Ut_MaemoIcd::state_req_all()
-{
- QList<Maemo::IcdStateResult> state_results;
- Maemo::Icd icd;
- int sig;
- sig = icd.state(state_results);
- QVERIFY2(sig==1, create_error_str(icd).toAscii().data());
-}
-
-
-void Ut_MaemoIcd::state_req()
-{
- Maemo::IcdStateResult state_result;
- Maemo::Icd icd;
- int sig;
- QString service_type, service_id;
- QString network_type("WLAN_INFRA");
- QByteArray network_id("wpa2gx2.osso.net");
- sig = icd.state(service_type, 0, service_id,
- network_type, (uint)0x17a1, network_id,
- state_result);
- QVERIFY2(sig==1, create_error_str(icd).toAscii().data());
-}
-
-
-void Ut_MaemoIcd::statistics_req_all()
-{
- QList<Maemo::IcdStatisticsResult> stats_results;
- Maemo::Icd icd;
- int sig;
- QString err;
- sig = icd.statistics(stats_results);
- err = create_error_str(icd);
- if (!err.isEmpty())
- QVERIFY2(sig==1, err.toAscii().data());
- else
- QCOMPARE(sig, 1);
-
- for(int i=0; i<sig; i++) {
- QVERIFY(stats_results[i].bytes_received == 1024);
- QVERIFY(stats_results[i].bytes_sent == 256);
- }
-}
-
-
-// Can be uncommented when needed function is enabled in Icd class
-void Ut_MaemoIcd::statistics_req()
-{
- Maemo::IcdStatisticsResult stats_result;
- Maemo::Icd icd;
- int sig;
- QString service_type, service_id;
- QString network_type("WLAN_INFRA");
- QByteArray network_id("wpa2gx2.osso.net");
- sig = icd.statistics(service_type, 0, service_id,
- network_type, (uint)0x17a1, network_id,
- stats_result);
- QVERIFY2(sig==1, create_error_str(icd).toAscii().data());
- QVERIFY(stats_result.bytes_received == 1024);
- QVERIFY(stats_result.bytes_sent == 256);
-}
-
-
-void Ut_MaemoIcd::addrinfo_req_all()
-{
- QList<Maemo::IcdAddressInfoResult> addr_results;
- Maemo::Icd icd;
- int sig;
- sig = icd.addrinfo(addr_results);
- QVERIFY2(sig==1, create_error_str(icd).toAscii().data());
-}
-
-
-void Ut_MaemoIcd::addrinfo_req()
-{
- Maemo::IcdAddressInfoResult addr_result;
- Maemo::Icd icd;
- int sig;
- QString service_type, service_id;
- QString network_type("WLAN_INFRA");
- QByteArray network_id("wpa2gx2.osso.net");
- sig = icd.addrinfo(service_type, 0, service_id,
- network_type, (uint)0x17a1, network_id,
- addr_result);
- QVERIFY2(sig==1, create_error_str(icd).toAscii().data());
-}
-
-
-QTEST_MAIN(Ut_MaemoIcd)
-
-#include "ut_maemo_icd.moc"
diff --git a/src/3rdparty/libconninet/tests/ut_proxyconf.cpp b/src/3rdparty/libconninet/tests/ut_proxyconf.cpp
deleted file mode 100644
index 1f407f0..0000000
--- a/src/3rdparty/libconninet/tests/ut_proxyconf.cpp
+++ /dev/null
@@ -1,400 +0,0 @@
-/*
- libconninet - Internet Connectivity support library
-
- Copyright (C) 2010 Nokia Corporation. All rights reserved.
-
- Contact: Jukka Rissanen <jukka.rissanen@nokia.com>
-
- This library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public License
- version 2.1 as published by the Free Software Foundation.
-
- 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 St, Fifth Floor, Boston, MA
- 02110-1301 USA
-*/
-
-
-#include <QtTest/QtTest>
-#include <QDebug>
-#include <QNetworkProxy>
-#include <conn_settings.h>
-
-#include "../src/proxyconf.h"
-
-class Ut_ProxyConf : public QObject
-{
- Q_OBJECT
-
-private Q_SLOTS:
- void init();
- void cleanup();
- void initTestCase();
- void cleanupTestCase();
-
- // tests without the factory
- void proxy_ftp_no_factory_ok_auto();
- void proxy_ftp_no_factory_ok_manual();
- void proxy_http_no_factory_ok_manual();
- void proxy_https_no_factory_ok_manual();
- void proxy_socks_no_factory_ok_manual();
- void proxy_default_no_factory_ok_manual();
-
- // tests using the factory
- void proxy_ftp_factory_ok_auto();
- void proxy_ftp_factory_ok_manual();
- void proxy_http_factory_ok_manual();
- void proxy_https_factory_ok_manual();
- void proxy_socks_factory_ok_manual();
- void proxy_http_factory_ok_manual_clear();
- void proxy_default_factory_ok_manual();
- void proxy_http_factory_ok_manual_ignore_list();
- void proxy_default_factory_ok_manual_system();
-
-private:
- Maemo::ProxyConf *pc;
-};
-
-
-void put(QString var, QString type, QString value)
-{
- QProcess gconf;
- if (value.isEmpty())
- gconf.start(QString("gconftool-2 -u /system/proxy/"+var));
- else
- gconf.start(QString("gconftool-2 -s /system/proxy/"+var+" -t "+type+" "+value));
- gconf.waitForFinished();
-}
-
-void put_http(QString var, QString type, QString value)
-{
- QProcess gconf;
- if (value.isEmpty())
- gconf.start(QString("gconftool-2 -u /system/http_proxy/"+var));
- else
- gconf.start(QString("gconftool-2 -s /system/http_proxy/"+var+" -t "+type+" "+value));
- gconf.waitForFinished();
-}
-
-void put_list(QString var, QString type, QList<QString> value)
-{
- QProcess gconf;
- QString values = "[";
- foreach (QString str, value)
- values = values + str + ",";
- values.chop(1);
- values = values + "]";
-
- gconf.start(QString("gconftool-2 -s /system/http_proxy/"+var+" -t list --list-type="+type+" "+values));
- gconf.waitForFinished();
-}
-
-
-void Ut_ProxyConf::init()
-{
- put_http("host", "string", "my.proxy.com");
- put_http("port", "int", "8080");
-
- QList<QString> list;
- list.append("foo.bar.com");
- list.append("192.168.19.69");
- list.append("192.168.20.0/24");
- list.append("bar.foo.com");
- put_list("ignore_hosts", "string", list);
- put_http("use_http_host", "boolean", "true");
-
- put("mode", "string", "auto");
- put("autoconfig_url", "string", "http://foo.bar.com/autoconf");
- put("secure_host", "string", "secure_host.com");
- put("secure_port", "int", "112");
-
- put("ftp_host", "string", "ftp.nuukia.com");
- put("ftp_port", "int", "2000");
- put("socks_host", "string", "socks.host.com");
- put("socks_port", "int", "10080");
- put("rtsp_host", "string", "rtsp.voice.com");
- put("rtsp_port", "int", "1554");
-
- pc = new Maemo::ProxyConf();
-}
-
-void Ut_ProxyConf::cleanup()
-{
- delete pc;
- pc = 0;
-}
-
-void Ut_ProxyConf::initTestCase()
-{
-}
-
-void Ut_ProxyConf::cleanupTestCase()
-{
-}
-
-
-void Ut_ProxyConf::proxy_ftp_no_factory_ok_auto()
-{
- QList<QNetworkProxy> nplist;
- QNetworkProxyQuery query = QNetworkProxyQuery(QUrl("ftp://maps.google.com/"));
-
- nplist = pc->flush(query);
- QVERIFY(nplist.length()==0);
-}
-
-
-void Ut_ProxyConf::proxy_ftp_no_factory_ok_manual()
-{
- QList<QNetworkProxy> nplist;
- QNetworkProxyQuery query = QNetworkProxyQuery(QUrl("ftp://maps.google.com/"));
-
- put("mode", "string", "manual");
-
- nplist = pc->flush(query);
- foreach (QNetworkProxy proxy, nplist) {
- qDebug() << "proxy: " << proxy.hostName() << "port" << proxy.port();
- }
- QVERIFY(nplist.length()==3);
- QVERIFY(nplist.first().type() == QNetworkProxy::FtpCachingProxy);
-}
-
-
-void Ut_ProxyConf::proxy_http_no_factory_ok_manual()
-{
- QList<QNetworkProxy> nplist;
- QNetworkProxyQuery query = QNetworkProxyQuery(QUrl("http://maps.google.com/"));
-
- put("mode", "string", "manual");
-
- nplist = pc->flush(query);
- foreach (QNetworkProxy proxy, nplist) {
- qDebug() << "proxy: " << proxy.hostName() << "port" << proxy.port();
- }
- QVERIFY(nplist.length()==3);
- QVERIFY(nplist.first().type() == QNetworkProxy::HttpProxy);
-}
-
-
-void Ut_ProxyConf::proxy_https_no_factory_ok_manual()
-{
- QList<QNetworkProxy> nplist;
- QNetworkProxyQuery query = QNetworkProxyQuery(QUrl("https://maps.google.com/"));
-
- put("mode", "string", "manual");
-
- nplist = pc->flush(query);
- foreach (QNetworkProxy proxy, nplist) {
- qDebug() << "proxy: " << proxy.hostName() << "port" << proxy.port();
- }
- QVERIFY(nplist.length()==2);
- QVERIFY(nplist.first().type() == QNetworkProxy::HttpProxy);
-}
-
-
-void Ut_ProxyConf::proxy_socks_no_factory_ok_manual()
-{
- QList<QNetworkProxy> nplist;
- QNetworkProxyQuery query = QNetworkProxyQuery(QUrl("http://maps.google.com/"));
-
- put("mode", "string", "manual");
- put_http("host", "string", "");
-
- nplist = pc->flush(query);
- foreach (QNetworkProxy proxy, nplist) {
- qDebug() << "proxy: " << proxy.hostName() << "port" << proxy.port();
- }
- QVERIFY(nplist.length()==2);
- QVERIFY(nplist.first().type() == QNetworkProxy::Socks5Proxy);
-}
-
-
-void Ut_ProxyConf::proxy_default_no_factory_ok_manual()
-{
- QList<QNetworkProxy> nplist;
- QNetworkProxyQuery query = QNetworkProxyQuery(QUrl("foobar://maps.google.com/"));
-
- put("mode", "string", "manual");
- put("socks_host", "string", "");
- put("secure_host", "string", "");
-
- nplist = pc->flush(query);
- foreach (QNetworkProxy proxy, nplist) {
- qDebug() << "proxy: " << proxy.hostName() << "port" << proxy.port();
- }
- QVERIFY(nplist.length()==0);
-}
-
-
-void Ut_ProxyConf::proxy_ftp_factory_ok_auto()
-{
- QNetworkProxyQuery query = QNetworkProxyQuery(QUrl("ftp://maps.google.com/"));
- Maemo::ProxyConf::update();
- QList<QNetworkProxy> listOfProxies = QNetworkProxyFactory::proxyForQuery(query);
- QVERIFY(listOfProxies.length()==1);
- QVERIFY(listOfProxies.first().type() == QNetworkProxy::NoProxy);
- Maemo::ProxyConf::clear();
-}
-
-
-void Ut_ProxyConf::proxy_ftp_factory_ok_manual()
-{
- QNetworkProxyQuery query = QNetworkProxyQuery(QUrl("ftp://maps.google.com/"));
- Maemo::ProxyConf::update();
-
- put("mode", "string", "manual");
-
- QList<QNetworkProxy> listOfProxies = QNetworkProxyFactory::proxyForQuery(query);
-
- foreach (QNetworkProxy proxy, listOfProxies) {
- qDebug() << "proxy: " << proxy.hostName() << "port" << proxy.port();
- }
- QVERIFY(listOfProxies.length()==3);
- QVERIFY(listOfProxies.first().type() == QNetworkProxy::FtpCachingProxy);
- Maemo::ProxyConf::clear();
-}
-
-
-void Ut_ProxyConf::proxy_http_factory_ok_manual()
-{
- QNetworkProxyQuery query = QNetworkProxyQuery(QUrl("http://maps.google.com/"));
- Maemo::ProxyConf::update();
-
- put("mode", "string", "manual");
-
- QList<QNetworkProxy> listOfProxies = QNetworkProxyFactory::proxyForQuery(query);
-
- foreach (QNetworkProxy proxy, listOfProxies) {
- qDebug() << "proxy: " << proxy.hostName() << "port" << proxy.port();
- }
- QVERIFY(listOfProxies.length()==3);
- QVERIFY(listOfProxies.first().type() == QNetworkProxy::HttpProxy);
- Maemo::ProxyConf::clear();
-}
-
-
-void Ut_ProxyConf::proxy_https_factory_ok_manual()
-{
- QNetworkProxyQuery query = QNetworkProxyQuery(QUrl("https://maps.google.com/"));
- Maemo::ProxyConf::update();
-
- put("mode", "string", "manual");
-
- QList<QNetworkProxy> listOfProxies = QNetworkProxyFactory::proxyForQuery(query);
-
- foreach (QNetworkProxy proxy, listOfProxies) {
- qDebug() << "proxy: " << proxy.hostName() << "port" << proxy.port();
- }
- QVERIFY(listOfProxies.length()==2);
- QVERIFY(listOfProxies.first().type() == QNetworkProxy::HttpProxy);
- Maemo::ProxyConf::clear();
-}
-
-
-void Ut_ProxyConf::proxy_socks_factory_ok_manual()
-{
- QNetworkProxyQuery query = QNetworkProxyQuery(QUrl("http://maps.google.com/"));
- Maemo::ProxyConf::update();
-
- put("mode", "string", "manual");
- put_http("host", "string", "");
-
- QList<QNetworkProxy> listOfProxies = QNetworkProxyFactory::proxyForQuery(query);
-
- foreach (QNetworkProxy proxy, listOfProxies) {
- qDebug() << "proxy: " << proxy.hostName() << "port" << proxy.port();
- }
- QVERIFY(listOfProxies.length()==2);
- QVERIFY(listOfProxies.first().type() == QNetworkProxy::Socks5Proxy);
- Maemo::ProxyConf::clear();
-}
-
-
-void Ut_ProxyConf::proxy_http_factory_ok_manual_clear()
-{
- QNetworkProxyQuery query = QNetworkProxyQuery(QUrl("http://maps.google.com/"));
- Maemo::ProxyConf::update();
-
- put("mode", "string", "manual");
- put_http("host", "string", "192.168.1.1");
-
- QList<QNetworkProxy> listOfProxies = QNetworkProxyFactory::proxyForQuery(query);
-
- foreach (QNetworkProxy proxy, listOfProxies) {
- qDebug() << "proxy: " << proxy.hostName() << "port" << proxy.port();
- }
- QVERIFY(listOfProxies.length()==3);
- QVERIFY(listOfProxies.first().type() == QNetworkProxy::HttpProxy);
-
- Maemo::ProxyConf::clear();
- listOfProxies = QNetworkProxyFactory::proxyForQuery(query);
- QVERIFY(listOfProxies.length()==1);
- QVERIFY(listOfProxies.first().type() == QNetworkProxy::NoProxy);
-}
-
-
-void Ut_ProxyConf::proxy_default_factory_ok_manual()
-{
- QNetworkProxyQuery query = QNetworkProxyQuery(QUrl("foobar://maps.google.com/"));
- Maemo::ProxyConf::update();
-
- put("mode", "string", "manual");
- put("socks_host", "string", "");
- put("secure_host", "string", "");
-
- QList<QNetworkProxy> listOfProxies = QNetworkProxyFactory::proxyForQuery(query);
-
- QVERIFY(listOfProxies.length()==1);
- QVERIFY(listOfProxies.first().type() == QNetworkProxy::NoProxy);
- Maemo::ProxyConf::clear();
-}
-
-
-void Ut_ProxyConf::proxy_http_factory_ok_manual_ignore_list()
-{
- QNetworkProxyQuery query = QNetworkProxyQuery(QUrl("http://192.168.19.70/"));
- Maemo::ProxyConf::update();
-
- put("mode", "string", "manual");
-
- QList<QNetworkProxy> listOfProxies = QNetworkProxyFactory::proxyForQuery(query);
-
- foreach (QNetworkProxy proxy, listOfProxies) {
- qDebug() << "proxy: " << proxy.hostName() << "port" << proxy.port();
- }
- QVERIFY(listOfProxies.length()==3);
- QVERIFY(listOfProxies.first().type() == QNetworkProxy::HttpProxy);
-
- query = QNetworkProxyQuery(QUrl("http://192.168.20.10/"));
- listOfProxies = QNetworkProxyFactory::proxyForQuery(query);
- QVERIFY(listOfProxies.length()==1);
- QVERIFY(listOfProxies.first().type() == QNetworkProxy::NoProxy);
- Maemo::ProxyConf::clear();
-}
-
-
-void Ut_ProxyConf::proxy_default_factory_ok_manual_system()
-{
- QNetworkProxyQuery query = QNetworkProxyQuery(QUrl("http://maps.google.com/"));
- Maemo::ProxyConf::update();
-
- put("mode", "string", "manual");
-
- QList<QNetworkProxy> listOfProxies = QNetworkProxyFactory::systemProxyForQuery(query);
-
- QVERIFY(listOfProxies.length()==1);
- QVERIFY(listOfProxies.first().type() == QNetworkProxy::NoProxy);
- Maemo::ProxyConf::clear();
-}
-
-
-
-
-QTEST_MAIN(Ut_ProxyConf)
-
-#include "ut_proxyconf.moc"