Re: [Development] Requesting New Repository - QtZeroConf

2015-09-10 Thread Knoll Lars
On 10/09/15 06:14, "Thiago Macieira"  wrote:

>On Wednesday 09 September 2015 22:59:11 Jonathan Bagg wrote:
>> http://lists.apple.com/archives/rendezvous-dev/2004/Apr/msg00031.html
>> Windows LLMNR doesn't appear to be compatible with mDNS / zeroconf. Are
>> you suggesting on Windows there would be an option to use LLMNR or mDNS?
>
>I know it isn't compatible, but it is doing the same function. I'm not
>asking 
>to replace mDNS support on Windows (interoperability), but I am asking if
>it 
>makes sense to also add support for LLMNR as it's available anyway.

I think that could make sense. But ideally, we would then support it cross
platform.

I’d be happy about a Qt add-on for zeroconf. Discovering services on the
local network is something I think is missing in Qt at this point in time.

Cheers,
Lars


>
>For that matter, all of the IoT protocols support discovery in some
>level. For 
>us in OIC, it's done by a multicast CoAP packet (which is really easy to
>do 
>with QUdpSocket). Do you think there's room for this kind of extended
>discovery?


___
Development mailing list
Development@qt-project.org
http://lists.qt-project.org/mailman/listinfo/development


Re: [Development] Requesting New Repository - QtZeroConf

2015-09-10 Thread Oswald Buddenhagen
On Wed, Sep 09, 2015 at 05:56:21PM -0400, Jonathan Bagg wrote:
> Project name: QtZeroConf
> 
> Project description:
> QtZeroConf is a wrapper class for various mDNS discovery libraries across
> multiple platforms:
> 
> Linux -> Avahi-client
> Android -> Avahi-core or Android Network Discovery Service
> Embedded -> Avahi-core
> MAC -> Apple's Bonjour
> iOS -> Apple's Bonjour
> Window -> Apple's Bonjour
> 
> Responsible persons: Jonathan Bagg
> 
> (playgound unless suggested otherwise)
> Desired repository name: playground/qtzeroconf
> 
what is the longer-term perspective of this class? a separate module
sounds unreasonable. and if it's to become part of qtnetwork, then
maybe you should just start by posting a change for qtbase/dev and have
it "ripen" in the review?
___
Development mailing list
Development@qt-project.org
http://lists.qt-project.org/mailman/listinfo/development


Re: [Development] Requesting New Repository - QtZeroConf

2015-09-10 Thread Knoll Lars
On 10/09/15 11:49, "Oswald Buddenhagen"
 wrote:

>On Wed, Sep 09, 2015 at 05:56:21PM -0400, Jonathan Bagg wrote:
>> Project name: QtZeroConf
>> 
>> Project description:
>> QtZeroConf is a wrapper class for various mDNS discovery libraries
>>across
>> multiple platforms:
>> 
>> Linux -> Avahi-client
>> Android -> Avahi-core or Android Network Discovery Service
>> Embedded -> Avahi-core
>> MAC -> Apple's Bonjour
>> iOS -> Apple's Bonjour
>> Window -> Apple's Bonjour
>> 
>> Responsible persons: Jonathan Bagg
>> 
>> (playgound unless suggested otherwise)
>> Desired repository name: playground/qtzeroconf
>> 
>what is the longer-term perspective of this class? a separate module
>sounds unreasonable. and if it's to become part of qtnetwork, then
>maybe you should just start by posting a change for qtbase/dev and have
>it "ripen" in the review?

I am hesitating to throw this into QtNetwork. It would add another
dependency to qtnetwork and add quite a bit of code that’s not being used
by everybody. Keeping it in a separate repository is more modular, and
should be more maintainable for everybody.

The only reason to throw it into qtbase would be if we required this for
some of our platform plugins, but I can’t see that need.

Cheers,
Lars

___
Development mailing list
Development@qt-project.org
http://lists.qt-project.org/mailman/listinfo/development


Re: [Development] Requesting New Repository - QtZeroConf

2015-09-10 Thread Knoll Lars
On 10/09/15 09:56, "Ola Røer Thorsen"  wrote:

>
>2015-09-09 23:56 GMT+02:00 Jonathan Bagg
>:
>
>Window -> Apple's Bonjour
>
>
>Would this mean Bonjour would be bundled with Qt for the Windows version,
>or will it have to be installed separately?

That’s then basically a packaging question, so we can decide that once we
have it all working. The Bonjour license (Apache 2.0) would at least not
forbid us to ship it.

Cheers,
Lars

___
Development mailing list
Development@qt-project.org
http://lists.qt-project.org/mailman/listinfo/development


Re: [Development] Requesting New Repository - QtZeroConf

2015-09-10 Thread Ola Røer Thorsen
2015-09-09 23:56 GMT+02:00 Jonathan Bagg :

> Window -> Apple's Bonjour
>
>
Would this mean Bonjour would be bundled with Qt for the Windows version,
or will it have to be installed separately?

Cheers,
Ola
___
Development mailing list
Development@qt-project.org
http://lists.qt-project.org/mailman/listinfo/development


Re: [Development] Requesting New Repository - QtZeroConf

2015-09-10 Thread Konstantin Tokarev


10.09.2015, 00:56, "Jonathan Bagg" :
> Project name: QtZeroConf
>
> Project description:
> QtZeroConf is a wrapper class for various mDNS discovery libraries across
> multiple platforms:
>
> Linux -> Avahi-client
> Android -> Avahi-core or Android Network Discovery Service
> Embedded -> Avahi-core
> MAC -> Apple's Bonjour
> iOS -> Apple's Bonjour
> Window -> Apple's Bonjour
>
> Responsible persons: Jonathan Bagg
>
> (playgound unless suggested otherwise)
> Desired repository name: playground/qtzeroconf


Does SSDP (UPnP) discovery fit into this project?


-- 
Regards,
Konstantin
___
Development mailing list
Development@qt-project.org
http://lists.qt-project.org/mailman/listinfo/development


Re: [Development] [ANNOUNCE] DaD's House! (Beta)

2015-09-10 Thread Konstantin Podsvirov
The first 100 views!
The interest is there (though not great), but where are the questions and 
suggestions?

09.09.2015, 21:12, "Konstantin Podsvirov" :
> Hi, Dear Developers!
>
> Want to advertise a development environment that I am developing.
> The emergence of this environment would be impossible without two fundamental 
> technologies incorporated in it.
>
> Firstly is CMake, which you can use to build very much!
> Secondly - this is a new set of tools for creating cross-platform installers 
> for desktop QtIFW.
>
> Not without my contribution to their ligament - CPack IFW generator.
>
> I am developing this project for about one year and I want to share my 
> results, and in return get valuable feedback from users.
>
> I started with Windows, which sometimes are lacking in a good open solutions. 
> But the technology can be extended to other desktops.
>
> Project status I appreciate Betta, but quite stable and very functional.
>
> Official website of the project:
>
> http://dad.podsvirov.pro
>
> If the project is gaining popularity, then I'll accept links to new mirrors 
> for removing the load from my server.
>
> rsync//download.podsvirov.pro
>
> Main module - main :-)
>
> I write it in a list for developers that would first obtain a qualified 
> appraisal.
>
> Looking forward to your answers, questions and suggestions.
>
> Happy programming!
>
> --
> Regards,
> Konstantin Podsvirov

Regards,
Konstantin Podsvirov___
Development mailing list
Development@qt-project.org
http://lists.qt-project.org/mailman/listinfo/development


Re: [Development] Requesting New Repository - QtZeroConf

2015-09-10 Thread drwho
> On 10/09/15 09:56, "Ola Røer Thorsen"  wrote:
>
>>
>>2015-09-09 23:56 GMT+02:00 Jonathan Bagg
>>:
>>
>>Window -> Apple's Bonjour
>>
>>
>>Would this mean Bonjour would be bundled with Qt for the Windows
>> version,
>>or will it have to be installed separately?
>
> That’s then basically a packaging question, so we can decide that once
> we
> have it all working. The Bonjour license (Apache 2.0) would at least not
> forbid us to ship it.

Window is tricky.  Right now I'm using Apple's binary library (dnssd.lib)
which excludes the use of mingw.  I think the source code for dnssd.lib
is...

http://www.opensource.apple.com/source/mDNSResponder/mDNSResponder-561.1.1/mDNSShared/

so ideally mDNSShared source could be distributed and not the binary.  2nd
problem is that either source or binary still requires Apple's print
services (or itunes) be installed.

One thought I've had is that avahi-core be ported to Windows.  The issue
with this is that two separate Qt programs could each be running there own
mDNS stack which you are not supposed to do.  The best solution for
windows is probably mDNSShared source.

Jon

___
Development mailing list
Development@qt-project.org
http://lists.qt-project.org/mailman/listinfo/development


Re: [Development] [ANNOUNCE] DaD's House! (Beta)

2015-09-10 Thread Curtis Mitch
> -Original Message-
> From: Konstantin Podsvirov [mailto:konstan...@podsvirov.pro]
> Sent: Thursday, 10 September 2015 3:18 PM
> To: Curtis Mitch ; development@qt-
> project.org
> Subject: Re: [Development] [ANNOUNCE] DaD's House! (Beta)
> 
> 10.09.2015, 16:06, "Curtis Mitch" :
> > What is it, really?
> >
> > Personally I read the email and had no idea, and it didn't make me want
> to follow the link to find out.
> >
> 
> By clicking on the link, you will be able to get the installer is the same
> as the QtSDK and a few clicks to get the binaries, libraries linking and
> headers of any of the participating modules.

But what am I even clicking the link for? What service does this thing provide?
___
Development mailing list
Development@qt-project.org
http://lists.qt-project.org/mailman/listinfo/development


Re: [Development] [ANNOUNCE] DaD's House! (Beta)

2015-09-10 Thread Konstantin Podsvirov
10.09.2015, 16:06, "Curtis Mitch" :
> What is it, really?
>
> Personally I read the email and had no idea, and it didn't make me want to 
> follow the link to find out.
>

By clicking on the link, you will be able to get the installer is the same as 
the QtSDK and a few clicks
to get the binaries, libraries linking and headers of any of the participating 
modules.

This is a quick start for the development of the project on the basis of 
submitted modules:

* Curses
* ZLib
* LibPNG
* Jpeg
* Libxml2
* LibTIFF
* Perl
* OpenSSL
* LibSSH2
* cURL
* PCRE
* PROJ
* Expat
* FreeType
* SQLite
* GEOS
* GDAL
* Boost
* Qt
* QtIFW
* CMake
* KDSoap
* OSG
* osgEarth
* osgQtQuick
* PostgreSQL
* The Apache.Apr
* The Apache.AprUtil
* The Apache.Httpd
* Protobuf
* gRPC
* MapServer

Now this is only for Windows (MSVC2013) but can be extended.

There is a notion of stability, as in Debian: stable, testing, unstable.

Stable modules were assembled about a year ago.
Testing is very fresh.
Unstable installers can now not be considered.

> > - Original Message-
>> From: development-bounces+mitch.curtis=theqtcompany@qt-project.org
>> [mailto:development-bounces+mitch.curtis=theqtcompany@qt-project.org]
>> On Behalf Of Konstantin Podsvirov
>> Sent: Thursday, 10 September 2015 3:02 PM
>> To: CMake Developers ; development@qt
>> project.org
>> Subject: Re: [Development] [ANNOUNCE] Dad's House! (Beta)
>>
>> The first 100 views!
>> The interest is there (though not great), but where are the questions and
>> suggestions?
>>
>> 09.09.2015, 21:12, "Konstantin Podsvirov" :
>> > Hi, Dear Developers!
>> >
>> > Want to advertise a development environment that I am developing.
>> > ...
>> > Happy programming!

Regards,
Konstantin Podsvirov
___
Development mailing list
Development@qt-project.org
http://lists.qt-project.org/mailman/listinfo/development


[Development] RFC: Speech Recognition API

2015-09-10 Thread Tuomas Tuononen
Hi all,

We are developing a new QtSpeechRecognition API for Qt.
The initial stage of development starts to be ready and we would like to 
get feedback from the Qt development list experts.

You can find the sources in review in qtspeech project, branch 
wip/speech-recognition:
https://codereview.qt-project.org/#/q/project:qt/qtspeech+branch:wip/speech-recognition,n,z

The initial implementation was already merged into 
wip/speech-recognition, but is still open for discussion.

Main features:
- Speech recognition engines are loaded as plug-ins.
- Engine is controlled asynchronously, causing only minimal load to the 
application thread.
- Built-in task queue makes plug-in development easier and forces 
unified behavior between engine integrations.
- Engine integration handles the audio recording, making it easy to use 
from the application.
- Application can create multiple grammars and switch between them.
- Setting mute temporarily disables speech recognition, allowing 
co-operation with audio output (speech prompts or audio cues).
- Includes integration to PocketSphinx engine (latest codebase) as a 
reference.

Current limitations:
- The recognition control only supports manual start/stop of audio 
recording.
- Only supports reading the grammars and dictionaries from files.
- The grammar and dictionary formats are engine-specific.
- Only transcription of what was said is returned (locale-specific).
- Switching the grammar always aborts current session.

Other notes:
- QML API probably needs improvement, as I'm not an expert in that area. 
Maybe an extra QML plug-in layer?

Future development:
1) Support for automatic endpointing (auto-stop) and continuously 
listening grammars.
2) Engine-independent run-time grammar API (support for updating the 
whole grammar or only part of the grammar).
3) Support for adding words to the dictionary run-time (probably with 
engine-specific phonetic data).
4) Support for switching the grammar without interrupting audio 
recording (e.g. switching from wake-up grammar to command grammar).
5) Engine-independent grammar file format.
6) Support for locale-independent results (grammar meta-data).

Best Regards,

Tuomas Tuononen,
Senior Software Engineer,
Code-Q Oy

___
Development mailing list
Development@qt-project.org
http://lists.qt-project.org/mailman/listinfo/development


Re: [Development] Requesting New Repository - QtZeroConf

2015-09-10 Thread Rutledge Shawn

On Sep 10, 2015, at 12:05, Konstantin Tokarev  wrote:

> 
> 
> 10.09.2015, 00:56, "Jonathan Bagg" :
>> Project name: QtZeroConf
>> 
>> Project description:
>> QtZeroConf is a wrapper class for various mDNS discovery libraries across
>> multiple platforms:
>> 
>> Linux -> Avahi-client
>> Android -> Avahi-core or Android Network Discovery Service
>> Embedded -> Avahi-core
>> MAC -> Apple's Bonjour
>> iOS -> Apple's Bonjour
>> Window -> Apple's Bonjour
>> 
>> Responsible persons: Jonathan Bagg
>> 
>> (playgound unless suggested otherwise)
>> Desired repository name: playground/qtzeroconf
> 
> 
> Does SSDP (UPnP) discovery fit into this project?

Maybe we should call the module something more generic like QtServiceDiscovery. 
 Zeroconf can be used to discover both devices and services, but a service on a 
device is the more specific thing of interest, right?

Zeroconf also covers self-assigning a network address if there is no DHCP 
server, but that’s irrelevant to this module, I suppose.  (e.g. dhcpcd does 
that if it times out while trying to find a DHCP server)

There are many attempts to come up with a less centralized alternative to DNS.  
(namecoin, ipfs, various other projects using the DHT concept, even the magnet 
links used for bittorrent, etc)  So, maybe one of those would be in scope some 
day too.  Again the goal would be to map a well-known name to some sort of URI 
which identifies a service, or a specific file.  

___
Development mailing list
Development@qt-project.org
http://lists.qt-project.org/mailman/listinfo/development


Re: [Development] [ANNOUNCE] DaD's House! (Beta)

2015-09-10 Thread Curtis Mitch
What is it, really?

Personally I read the email and had no idea, and it didn't make me want to 
follow the link to find out.

> -Original Message-
> From: development-bounces+mitch.curtis=theqtcompany@qt-project.org
> [mailto:development-bounces+mitch.curtis=theqtcompany@qt-project.org]
> On Behalf Of Konstantin Podsvirov
> Sent: Thursday, 10 September 2015 3:02 PM
> To: CMake Developers ; development@qt-
> project.org
> Subject: Re: [Development] [ANNOUNCE] DaD's House! (Beta)
> 
> The first 100 views!
> The interest is there (though not great), but where are the questions and
> suggestions?
> 
> 09.09.2015, 21:12, "Konstantin Podsvirov" :
> > Hi, Dear Developers!
> >
> > Want to advertise a development environment that I am developing.
> > The emergence of this environment would be impossible without two
> fundamental technologies incorporated in it.
> >
> > Firstly is CMake, which you can use to build very much!
> > Secondly - this is a new set of tools for creating cross-platform
> installers for desktop QtIFW.
> >
> > Not without my contribution to their ligament - CPack IFW generator.
> >
> > I am developing this project for about one year and I want to share my
> results, and in return get valuable feedback from users.
> >
> > I started with Windows, which sometimes are lacking in a good open
> solutions. But the technology can be extended to other desktops.
> >
> > Project status I appreciate Betta, but quite stable and very functional.
> >
> > Official website of the project:
> >
> > http://dad.podsvirov.pro
> >
> > If the project is gaining popularity, then I'll accept links to new
> mirrors for removing the load from my server.
> >
> > rsync//download.podsvirov.pro
> >
> > Main module - main :-)
> >
> > I write it in a list for developers that would first obtain a qualified
> appraisal.
> >
> > Looking forward to your answers, questions and suggestions.
> >
> > Happy programming!
> >
> > --
> > Regards,
> > Konstantin Podsvirov
> 
> Regards,
> Konstantin Podsvirov
___
Development mailing list
Development@qt-project.org
http://lists.qt-project.org/mailman/listinfo/development


Re: [Development] [ANNOUNCE] DaD's House! (Beta)

2015-09-10 Thread Konstantin Podsvirov
10.09.2015, 16:41, "Curtis Mitch" :
>> From: Konstantin Podsvirov [mailto:konstan...@podsvirov.pro]
>>
>> By clicking on the link, you will be able to get the installer is the same
>> as the QtSDK and a few clicks to get the binaries, libraries and linking
>> headers of any of the participating modules.
>
> But what am I even clicking the link for? What service does this thing 
> provide?

For example, You want to create a very large and useful application which uses 
a lot of dependencies.
And you want to deploy it on the Windows.

You go to the site:

http://dad.podsvirov.pro

Download appropriate to your development environment setup.

Quickly and easily install any required dependent modules and receives a 
development environment, local deployment and testing.

When you're finished designing, you can create compatible with this environment 
the installer to install your application on other machines.

Main technologies:
* Development languages: C, C++ (Qt, Qml, Quick) and other
* Project management: CMake, but can use other
* Creating installer based QtIFW (CMake allows you to automate the process of 
creating an installer).

I answered Your question?

Regards,
Konstantin Podsvirov
___
Development mailing list
Development@qt-project.org
http://lists.qt-project.org/mailman/listinfo/development


Re: [Development] Requesting New Repository - QtZeroConf

2015-09-10 Thread Thiago Macieira
On Thursday 10 September 2015 07:07:49 Knoll Lars wrote:
> >I know it isn't compatible, but it is doing the same function. I'm not
> >asking 
> >to replace mDNS support on Windows (interoperability), but I am asking if
> >it 
> >makes sense to also add support for LLMNR as it's available anyway.
> 
> 
> I think that could make sense. But ideally, we would then support it cross
> platform.
> 
> I’d be happy about a Qt add-on for zeroconf. Discovering services on the
> local network is something I think is missing in Qt at this point in time.

I don't know any project implementing LLMNR outside of Windows. It's clearly 
dead in terms of further adoption and mDNS has won. So I don't think we need 
to provide it for cross-platform interoperability. I'd say we provide mDNS for 
that. In addition, we may provide some other IoT protocols currently in 
development.

In any case, the gist of this discussion is that neither the module nor the 
library should be called "zeroconf", if they provide more functionality.

-- 
Thiago Macieira - thiago.macieira (AT) intel.com
  Software Architect - Intel Open Source Technology Center

___
Development mailing list
Development@qt-project.org
http://lists.qt-project.org/mailman/listinfo/development


Re: [Development] Requesting New Repository - QtZeroConf

2015-09-10 Thread Thiago Macieira
On Thursday 10 September 2015 09:47:57 dr...@infidigm.net wrote:
> One thought I've had is that avahi-core be ported to Windows.  The issue
> with this is that two separate Qt programs could each be running there own
> mDNS stack which you are not supposed to do.  The best solution for
> windows is probably mDNSShared source.

Doesn't Avahi have an in-process mode? Or does it always require an out-of-
process service?

D-Bus on Windows, for example, looks for dbus-launch.exe on PATH and starts 
it. If it's missing, QtDBus still compiles and you can ship your application, 
but refuses to connect anywhere. We could go for a similar approach, but I 
don't like it.
-- 
Thiago Macieira - thiago.macieira (AT) intel.com
  Software Architect - Intel Open Source Technology Center

___
Development mailing list
Development@qt-project.org
http://lists.qt-project.org/mailman/listinfo/development


Re: [Development] Requesting New Repository - QtZeroConf

2015-09-10 Thread Konstantin Tokarev


10.09.2015, 18:51, "dr...@infidigm.net" :
>>  On Sep 10, 2015, at 12:05, Konstantin Tokarev  wrote:
>>
>>>  10.09.2015, 00:56, "Jonathan Bagg" :
  Project name: QtZeroConf

  Project description:
  QtZeroConf is a wrapper class for various mDNS discovery libraries
  across
  multiple platforms:

  Linux -> Avahi-client
  Android -> Avahi-core or Android Network Discovery Service
  Embedded -> Avahi-core
  MAC -> Apple's Bonjour
  iOS -> Apple's Bonjour
  Window -> Apple's Bonjour

  Responsible persons: Jonathan Bagg

  (playgound unless suggested otherwise)
  Desired repository name: playground/qtzeroconf
>>>
>>>  Does SSDP (UPnP) discovery fit into this project?
>>
>>  Maybe we should call the module something more generic like
>>  QtServiceDiscovery. Zeroconf can be used to discover both devices and
>>  services, but a service on a device is the more specific thing of
>>  interest, right?
>
> I would say "discover devices that advertise a specific service"
>
>>  Zeroconf also covers self-assigning a network address if there is no DHCP
>>  server, but that’s irrelevant to this module, I suppose. (e.g. dhcpcd
>>  does that if it times out while trying to find a DHCP server)
>>
>>  There are many attempts to come up with a less centralized alternative to
>>  DNS. (namecoin, ipfs, various other projects using the DHT concept, even
>>  the magnet links used for bittorrent, etc) So, maybe one of those would
>>  be in scope some day too. Again the goal would be to map a well-known
>>  name to some sort of URI which identifies a service, or a specific file.
>
> I'm ok with this project being called QtServiceDiscovery,
> QtNetworkServiceDiscovery or similar if someone wants to work on the other
> protocols. I can only commit to the zeroconf wrappers.
>
> With multiple protocol support, I guess a parameter to the constructor to
> specify the protocol? I've tried to keep things simple. Service
> advertisement example:
>
> QZeroConf zeroConf;
> zeroConf.registerService("Vaction-Tracker-server", "_vactracker._tcp",
> "local", "", SRV_PORT);
>
> (discovery is just a little more complicated with a signal emitted for
> each resolved service/device)
>
> zeroconf / bonjour has a feature called text records that let apps put
> arbitrary text fields in their service advertisement. I don't think SSDP,
> SLP, or LLMNR support this, so I'm not sure how this zeroconf feature
> would be handled in the abstract case.


SSDP messages are based on HTTP, so one may try to add custom headers to
requests and/or responses. I've never seen them being used in practice
though.


-- 
Regards,
Konstantin
___
Development mailing list
Development@qt-project.org
http://lists.qt-project.org/mailman/listinfo/development


Re: [Development] Requesting New Repository - QtZeroConf

2015-09-10 Thread Thiago Macieira
On Thursday 10 September 2015 08:26:25 Knoll Lars wrote:
> That’s then basically a packaging question, so we can decide that once we
> have it all working. The Bonjour license (Apache 2.0) would at least not
> forbid us to ship it.

It would require the code in question to be LGPLv3, not an earlier licence.

-- 
Thiago Macieira - thiago.macieira (AT) intel.com
  Software Architect - Intel Open Source Technology Center

___
Development mailing list
Development@qt-project.org
http://lists.qt-project.org/mailman/listinfo/development


Re: [Development] Requesting New Repository - QtZeroConf

2015-09-10 Thread drwho
>
> On Sep 10, 2015, at 12:05, Konstantin Tokarev  wrote:
>
>>
>>
>> 10.09.2015, 00:56, "Jonathan Bagg" :
>>> Project name: QtZeroConf
>>>
>>> Project description:
>>> QtZeroConf is a wrapper class for various mDNS discovery libraries
>>> across
>>> multiple platforms:
>>>
>>> Linux -> Avahi-client
>>> Android -> Avahi-core or Android Network Discovery Service
>>> Embedded -> Avahi-core
>>> MAC -> Apple's Bonjour
>>> iOS -> Apple's Bonjour
>>> Window -> Apple's Bonjour
>>>
>>> Responsible persons: Jonathan Bagg
>>>
>>> (playgound unless suggested otherwise)
>>> Desired repository name: playground/qtzeroconf
>>
>>
>> Does SSDP (UPnP) discovery fit into this project?
>
> Maybe we should call the module something more generic like
> QtServiceDiscovery.  Zeroconf can be used to discover both devices and
> services, but a service on a device is the more specific thing of
> interest, right?

I would say "discover devices that advertise a specific service"

> Zeroconf also covers self-assigning a network address if there is no DHCP
> server, but that’s irrelevant to this module, I suppose.  (e.g. dhcpcd
> does that if it times out while trying to find a DHCP server)
>
> There are many attempts to come up with a less centralized alternative to
> DNS.  (namecoin, ipfs, various other projects using the DHT concept, even
> the magnet links used for bittorrent, etc)  So, maybe one of those would
> be in scope some day too.  Again the goal would be to map a well-known
> name to some sort of URI which identifies a service, or a specific file.


I'm ok with this project being called QtServiceDiscovery,
QtNetworkServiceDiscovery or similar if someone wants to work on the other
protocols.  I can only commit to the zeroconf wrappers.

With multiple protocol support, I guess a parameter to the constructor to
specify the protocol?  I've tried to keep things simple.  Service
advertisement example:

QZeroConf zeroConf;
zeroConf.registerService("Vaction-Tracker-server", "_vactracker._tcp",
"local", "", SRV_PORT);

(discovery is just a little more complicated with a signal emitted for
each resolved service/device)

zeroconf / bonjour has a feature called text records that let apps put
arbitrary text fields in their service advertisement.  I don't think SSDP,
SLP, or LLMNR support this, so I'm not sure how this zeroconf feature
would be handled in the abstract case.

Jon

___
Development mailing list
Development@qt-project.org
http://lists.qt-project.org/mailman/listinfo/development


Re: [Development] Requesting New Repository - QtZeroConf

2015-09-10 Thread Thiago Macieira
On Thursday 10 September 2015 11:26:45 Rutledge Shawn wrote:
> Zeroconf also covers self-assigning a network address if there is no DHCP
> server, but that’s irrelevant to this module, I suppose.  (e.g. dhcpcd does
> that if it times out while trying to find a DHCP server)

And that's totally irrelevant in an IPv6 world as the kernel does that. You're 
right, assigning of IP addresses is completely outside our perspective.

We're only talking about the service discovery (DNS-SD) part, in the local 
network (mDNS).

-- 
Thiago Macieira - thiago.macieira (AT) intel.com
  Software Architect - Intel Open Source Technology Center

___
Development mailing list
Development@qt-project.org
http://lists.qt-project.org/mailman/listinfo/development


Re: [Development] Requesting New Repository - QtZeroConf

2015-09-10 Thread drwho
> On Thursday 10 September 2015 09:47:57 dr...@infidigm.net wrote:
>> One thought I've had is that avahi-core be ported to Windows.  The issue
>> with this is that two separate Qt programs could each be running there
>> own
>> mDNS stack which you are not supposed to do.  The best solution for
>> windows is probably mDNSShared source.
>
> Doesn't Avahi have an in-process mode? Or does it always require an
> out-of-
> process service?

Both.
avahi-client is a convenience api that talks to the avahi-daemon over
dbus...most linux systems
avahi-core is for embedded environments and runs it's own mDNS stack...for
when there is no avahi-daemon

> D-Bus on Windows, for example, looks for dbus-launch.exe on PATH and
> starts
> it. If it's missing, QtDBus still compiles and you can ship your
> application,
> but refuses to connect anywhere. We could go for a similar approach, but I
> don't like it.

Apple's bonjour lib is like avahi-client in that it connects to
mDNSResponder.  mDNSResponder, or something like it is built into OSx and
iOS, but on windows comes in Apple's print services.

The wrappers that use avahi-client and Apple's bonjour lib would be the
same as QtDBus as in it would still compile and ship, but is really only
an issue for windows.

Jon

___
Development mailing list
Development@qt-project.org
http://lists.qt-project.org/mailman/listinfo/development


Re: [Development] Requesting New Repository - QtZeroConf

2015-09-10 Thread Thiago Macieira
On Thursday 10 September 2015 12:28:13 dr...@infidigm.net wrote:
> avahi-core is for embedded environments and runs it's own mDNS stack...for
> when there is no avahi-daemon
> 
> > D-Bus on Windows, for example, looks for dbus-launch.exe on PATH and
> > starts
> > it. If it's missing, QtDBus still compiles and you can ship your
> > application,
> > but refuses to connect anywhere. We could go for a similar approach, but I
> > don't like it.
> 
> Apple's bonjour lib is like avahi-client in that it connects to
> mDNSResponder.  mDNSResponder, or something like it is built into OSx and
> iOS, but on windows comes in Apple's print services.
> 
> The wrappers that use avahi-client and Apple's bonjour lib would be the
> same as QtDBus as in it would still compile and ship, but is really only
> an issue for windows.

Do you know if avahi-core could be made to run on Windows?
-- 
Thiago Macieira - thiago.macieira (AT) intel.com
  Software Architect - Intel Open Source Technology Center

___
Development mailing list
Development@qt-project.org
http://lists.qt-project.org/mailman/listinfo/development


Re: [Development] Requesting New Repository - QtZeroConf

2015-09-10 Thread drwho

>> Apple's bonjour lib is like avahi-client in that it connects to
>> mDNSResponder.  mDNSResponder, or something like it is built into OSx
>> and
>> iOS, but on windows comes in Apple's print services.
>>
>> The wrappers that use avahi-client and Apple's bonjour lib would be the
>> same as QtDBus as in it would still compile and ship, but is really only
>> an issue for windows.
>
> Do you know if avahi-core could be made to run on Windows?

When I briefly tried it (2 months ago) I think it was an issue with the
unix style sockets.  Googling didn't show much.  If it did work, I suspect
it would be buggy as avahi really complains when it detects multiple mDNS
stacks running.

Jon

___
Development mailing list
Development@qt-project.org
http://lists.qt-project.org/mailman/listinfo/development


Re: [Development] Requesting New Repository - QtZeroConf

2015-09-10 Thread Knoll Lars
On 10/09/15 19:58, 
"development-bounces+lars.knoll=theqtcompany@qt-project.org on behalf of 
dr...@infidigm.net" 
 wrote:



>
>>> Apple's bonjour lib is like avahi-client in that it connects to
>>> mDNSResponder.  mDNSResponder, or something like it is built into OSx
>>> and
>>> iOS, but on windows comes in Apple's print services.

I remember that we tried using the bonjour libs for a project inside the Qt 
company, and I don't remember that we needed any print services from Apple. But 
I could very well be wrong.
>>>
>>> The wrappers that use avahi-client and Apple's bonjour lib would be the
>>> same as QtDBus as in it would still compile and ship, but is really only
>>> an issue for windows.
>>
>> Do you know if avahi-core could be made to run on Windows?
>
>When I briefly tried it (2 months ago) I think it was an issue with the
>unix style sockets.  Googling didn't show much.  If it did work, I suspect
>it would be buggy as avahi really complains when it detects multiple mDNS
>stacks running.

So the problem would be to detect if a mDNS stack is already running, and if 
not start the service somehow? 

Or is there a way to make it possible to run multiple stacks on one host (ie. 
Is having only one stack a limitation in the protocol or the implementation)? 
It would be great if we could simply do this in process.

Cheers,
Lars

___
Development mailing list
Development@qt-project.org
http://lists.qt-project.org/mailman/listinfo/development


Re: [Development] Requesting New Repository - QtZeroConf

2015-09-10 Thread Hausmann Simon
Hi,

Given that mdns uses an unprivileged port, it seems like to me it should be 
possible
for just about any process to send and receive mdns queries. Which means that 
any
app could participate in the mdns groups by itself if it wanted. The primary 
advantage
that I can see with re-using a running daemon is that the daemon can detect if 
your
process crashes and clear out the distributed DNS records. If the app takes 
care of
that by itself, then it would have to deliberately use short TTLs I think.

Interestingly enough, the protocol doesn't seem to be that complicated. A 
cross-platform
implementation written in Go is under 1000 LOC (server and client, count 
includes comments):

https://github.com/hashicorp/mdns


So an alternate approach would be to try to implement the protocol by itself.


Another option that I think would be viable is to go up in the level of 
abstraction
and try to come up with an API that allows discovery and publishing of network
services on mdns as well as UPNP at the same time. Then the windows version 
could
just re-use UPNP APIs in Windows and on the other OSes we use zeroconf.

That way there's no deployment issue at all, no windows administrator rights 
are needed
to install and run a service (apple mdns), etc.


Simon

From: development-bounces+simon.hausmann=theqtcompany@qt-project.org 
 on behalf 
of dr...@infidigm.net 
Sent: Thursday, September 10, 2015 22:29
To: Knoll Lars
Cc: Thiago Macieira; development@qt-project.org
Subject: Re: [Development] Requesting New Repository - QtZeroConf

 Apple's bonjour lib is like avahi-client in that it connects to
 mDNSResponder.  mDNSResponder, or something like it is built into OSx
 and
 iOS, but on windows comes in Apple's print services.
>
> I remember that we tried using the bonjour libs for a project inside the
> Qt company, and I don't remember that we needed any print services from
> Apple. But I could very well be wrong.

I think it used to be called mDNSResponder.

>>When I briefly tried it (2 months ago) I think it was an issue with the
>>unix style sockets.  Googling didn't show much.  If it did work, I
>> suspect
>>it would be buggy as avahi really complains when it detects multiple
>> mDNS
>>stacks running.
>
> So the problem would be to detect if a mDNS stack is already running, and
> if not start the service somehow?

Hmmm, maybe mDNSResponder (or whatever it is called now) could be built
along with QtZeroConf for windows?  Seems ugly.

> Or is there a way to make it possible to run multiple stacks on one host
> (ie. Is having only one stack a limitation in the protocol or the
> implementation)? It would be great if we could simply do this in process.

Both Apple (on windows) and avahi have a daemon for the mDNS stack.  I'm
not an mDNS expert, but I really think if it could be done in multiple
processes they would have made a way for it.  This is the warning avahi
spits out when it detects another stack

*** WARNING: Detected another IPv4 mDNS stack running on this host. This
makes mDNS unreliable and is thus not recommended. ***
*** WARNING: Detected another IPv6 mDNS stack running on this host. This
makes mDNS unreliable and is thus not recommended. ***

Jon

___
Development mailing list
Development@qt-project.org
http://lists.qt-project.org/mailman/listinfo/development
___
Development mailing list
Development@qt-project.org
http://lists.qt-project.org/mailman/listinfo/development


Re: [Development] Requesting New Repository - QtZeroConf

2015-09-10 Thread drwho
 Apple's bonjour lib is like avahi-client in that it connects to
 mDNSResponder.  mDNSResponder, or something like it is built into OSx
 and
 iOS, but on windows comes in Apple's print services.
>
> I remember that we tried using the bonjour libs for a project inside the
> Qt company, and I don't remember that we needed any print services from
> Apple. But I could very well be wrong.

I think it used to be called mDNSResponder.

>>When I briefly tried it (2 months ago) I think it was an issue with the
>>unix style sockets.  Googling didn't show much.  If it did work, I
>> suspect
>>it would be buggy as avahi really complains when it detects multiple
>> mDNS
>>stacks running.
>
> So the problem would be to detect if a mDNS stack is already running, and
> if not start the service somehow?

Hmmm, maybe mDNSResponder (or whatever it is called now) could be built
along with QtZeroConf for windows?  Seems ugly.

> Or is there a way to make it possible to run multiple stacks on one host
> (ie. Is having only one stack a limitation in the protocol or the
> implementation)? It would be great if we could simply do this in process.

Both Apple (on windows) and avahi have a daemon for the mDNS stack.  I'm
not an mDNS expert, but I really think if it could be done in multiple
processes they would have made a way for it.  This is the warning avahi
spits out when it detects another stack

*** WARNING: Detected another IPv4 mDNS stack running on this host. This
makes mDNS unreliable and is thus not recommended. ***
*** WARNING: Detected another IPv6 mDNS stack running on this host. This
makes mDNS unreliable and is thus not recommended. ***

Jon

___
Development mailing list
Development@qt-project.org
http://lists.qt-project.org/mailman/listinfo/development


Re: [Development] [cmake-developers] [ANNOUNCE] DaD's House! (Beta)

2015-09-10 Thread Konstantin Podsvirov
Hi, Jean-Christophe Fillion-Robin (the short name?)!

Thanks for Your reply. You gave a lot of valuable advice.

10.09.2015, 17:59, "Jean-Christophe Fillion-Robin" 
:
> Hi Konstantin,
>
> Thanks for sharing your work with the community.

I'm glad to be helpful.
Thank You for giving the community such a useful tool like CMake.

> Given the exhaustive list of modules provided within the installers, I
> can appreciate the effort.

I agree, thanks for the rating.
It really is now a lot of work.

But now better order and it was good.

Early in the development of their projects I was trying to find ABI compatible
binaries for dependent modules. And pretty soon I realized that this is not 
always possible.

Then I began to study dependent projects and try to build them yourself. Then 
for each project I reinvent the wheel on
adding dependencies during development and deployment.

Meanwhile I already owned a nice CMake and he helped me a lot.

Routine work became more and more. I tried a few different frames to create the 
installers - they were all completely different and I didn't like.

When QtIFW, then I read its documentation and stasis realized that his
need to make friends with CMake (or Vice versa).

This was the prerequisite for the appearance of Dad's project.

It's just tie a big story, which I hope some will live with me together.

> That said, as you may know, downloading unsigned binaries to build
> applications is not an option for a lot of us.

Yes, I understand that. The trust of our users is very important.
But as one cartoon character: I'm not a magician - I'm just learning.

I know how well to build projects of their own and others :-)

To sign application I haven't learned.
We are talking about signing themselves installers or applications within 
modules?

> Here are few initial suggestions to improve your platform:
>
> * transition the website to https

It's all about the confidence of users, as mentioned above.
I need to get the certificate.
Understandable comment. Will try to organize.

> * reference the version of each packages/modules bundled in the
> respective installers

I thought about it. You are not the first who comes to me!
The list of available module and versions can be seen by running the particular 
setup on the feature selection page, but that's not enough.
Of course, users want to see it before downloading the installer.
The proposal was adopted. I'll think how to do it.

> * provide the a how to understand the different between
> stable/testing/unstable

For a quick start, I refer everyone to the website of the Debian community

http://debian.org

I will try to add a description on the website.

> * document the convention to integrate the different module in our
> existing project. For example, for CMake, did you write a
> Config.cmake file with each project [1] ? And similar question
> for qmake ?

I plan to have a section on the website with more detailed information for each 
module.
Now on the page with the list of modules I have provided a link to the native 
source of information.

The need to create a CMake configuration for modules is controversial.
Each project is independent and most of them are managed by family CMake 
scripts. Some provide package configurations to import. Some can be found with 
Find modules distributed by CMake.

Presents the installers are just transferral these projects
a local directory of the user. Further, their use is no different, say from 
download from the original site.

> Good luck,
> Jc

Thanks for valuable advice.

I'm doing a project in my spare time. And I will try to improve it and continue 
to share with the community.

Now I'm building modules in an automated way. Not always the case goes 
smoothly. Some modules require minor tweaks.
The real CI is still far. But I hope with time I'll come to that.

I apologize for linguistic errors. English is not my native language.

> [1] http://www.cmake.org/cmake/help/git-next/manual/cmake-packages.7.html
>
> On Thu, Sep 10, 2015 at 10:12 AM, Konstantin Podsvirov
>  wrote:
>> 10.09.2015, 16:41, "Curtis Mitch" :
 From: Konstantin Podsvirov [mailto:konstan...@podsvirov.pro]

 By clicking on the link, you will be able to get the installer is the same
 as the QtSDK and a few clicks to get the binaries, libraries and linking
 headers of any of the participating modules.
>>>
>>> But what am I even clicking the link for? What service does this thing 
>>> provide?
>>
>> For example, You want to create a very large and useful application which 
>> uses a lot of dependencies.
>> And you want to deploy it on the Windows.
>>
>> You go to the site:
>>
>> http://dad.podsvirov.pro
>>
>> Download appropriate to your development environment setup.
>>
>> Quickly and easily install any required dependent modules and receives a 
>> development environment, local deployment and testing.
>>
>> When