<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Designfrage]]></title><description><![CDATA[<p>Abend Leute!</p>
<p>Ich bräuchte eure Hilfe.<br />
Was ich vorhabe: Ich schreibe eine Bibliothek die dann gewrapped wird um die Funktionalität in eine GUI darzustellen.</p>
<p>Mein Problem:<br />
Ich habe eine Klasse &quot;AnObject&quot; die intern eine Connection verwaltet, die asynchron auf Nachrichten wartet.<br />
Die Klasse &quot;AnObject&quot; wartet auf &quot;Daten&quot; der Connection.<br />
Die &quot;Daten&quot; müssen in der Funktion &quot;receive&quot; geparsed werden und dann soll das entsprechende Event aufgerufen werden.</p>
<p>Aber wie?<br />
Ich dachte an einer EventHandler-Klasse aber ich habe keine Ahnung wie ich das lösen könnte...<br />
Die EventHandler Klasse sollte vom Programmierer der die Bibliothek benutzt, so verändert werden können, dass er sich mit dem Event verbindet (Signal) und dadurch weiß: Jetzt ist wurde das Event X aufgerufen, welches für XYZ zuständig ist.</p>
<p>Lösungen, die die Boost-Bibliothek benötigen sind auch willkommen! <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
<pre><code class="language-cpp">class AnObject {
    Connection connection_;
};

class Connection {
private:
    void receive() {
        /*
            hier sollte die empfangene Nachricht geparsed werden und das gegebene Event aufgerufen werden.
        */
};
</code></pre>
<p>Ich hoffe dass ich das Problem gut schildern konnte. Wenn nicht bitte ich euch um Rückmeldung! <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/topic/289234/designfrage</link><generator>RSS for Node</generator><lastBuildDate>Wed, 19 Aug 2026 05:43:57 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/289234.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 30 Jun 2011 16:53:27 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Designfrage on Thu, 30 Jun 2011 16:53:27 GMT]]></title><description><![CDATA[<p>Abend Leute!</p>
<p>Ich bräuchte eure Hilfe.<br />
Was ich vorhabe: Ich schreibe eine Bibliothek die dann gewrapped wird um die Funktionalität in eine GUI darzustellen.</p>
<p>Mein Problem:<br />
Ich habe eine Klasse &quot;AnObject&quot; die intern eine Connection verwaltet, die asynchron auf Nachrichten wartet.<br />
Die Klasse &quot;AnObject&quot; wartet auf &quot;Daten&quot; der Connection.<br />
Die &quot;Daten&quot; müssen in der Funktion &quot;receive&quot; geparsed werden und dann soll das entsprechende Event aufgerufen werden.</p>
<p>Aber wie?<br />
Ich dachte an einer EventHandler-Klasse aber ich habe keine Ahnung wie ich das lösen könnte...<br />
Die EventHandler Klasse sollte vom Programmierer der die Bibliothek benutzt, so verändert werden können, dass er sich mit dem Event verbindet (Signal) und dadurch weiß: Jetzt ist wurde das Event X aufgerufen, welches für XYZ zuständig ist.</p>
<p>Lösungen, die die Boost-Bibliothek benötigen sind auch willkommen! <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
<pre><code class="language-cpp">class AnObject {
    Connection connection_;
};

class Connection {
private:
    void receive() {
        /*
            hier sollte die empfangene Nachricht geparsed werden und das gegebene Event aufgerufen werden.
        */
};
</code></pre>
<p>Ich hoffe dass ich das Problem gut schildern konnte. Wenn nicht bitte ich euch um Rückmeldung! <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2086758</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2086758</guid><dc:creator><![CDATA[hilfe hilfe]]></dc:creator><pubDate>Thu, 30 Jun 2011 16:53:27 GMT</pubDate></item><item><title><![CDATA[Reply to Designfrage on Thu, 30 Jun 2011 17:19:44 GMT]]></title><description><![CDATA[<p>hilfe hilfe schrieb:</p>
<blockquote>
<p>Lösungen, die die Boost-Bibliothek benötigen sind auch willkommen! <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
</blockquote>
<p>Ich denke dann ist boost.signal genau das was du suchst <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2086774</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2086774</guid><dc:creator><![CDATA[dot]]></dc:creator><pubDate>Thu, 30 Jun 2011 17:19:44 GMT</pubDate></item><item><title><![CDATA[Reply to Designfrage on Thu, 30 Jun 2011 18:18:34 GMT]]></title><description><![CDATA[<p>dot schrieb:</p>
<blockquote>
<p>hilfe hilfe schrieb:</p>
<blockquote>
<p>Lösungen, die die Boost-Bibliothek benötigen sind auch willkommen! <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
</blockquote>
<p>Ich denke dann ist boost.signal genau das was du suchst <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /></p>
</blockquote>
<p>Jap! Genau! <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /><br />
Aber wie könnte man die Lösung am besten implementieren?<br />
Mir geht es hauptsächlich ums Design bzw. einer schönen Lösung. Boost.Signal ist gut, aber wohin damit?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2086804</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2086804</guid><dc:creator><![CDATA[hilfe hilfe]]></dc:creator><pubDate>Thu, 30 Jun 2011 18:18:34 GMT</pubDate></item><item><title><![CDATA[Reply to Designfrage on Thu, 30 Jun 2011 18:30:30 GMT]]></title><description><![CDATA[<p>Na wie wärs mit sowas:</p>
<pre><code class="language-cpp">class Connection
{
private:

public:

  boost::signal&lt;void (const Message&amp;)&gt; MessageReceived;

};
</code></pre>
<p>Jetzt kann jeder der will ein Callback an das MessageReceived signal von deiner Connection hängen und wird benachrichtigt wenn eine Nachricht heringekommen ist...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2086809</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2086809</guid><dc:creator><![CDATA[dot]]></dc:creator><pubDate>Thu, 30 Jun 2011 18:30:30 GMT</pubDate></item><item><title><![CDATA[Reply to Designfrage on Sat, 02 Jul 2011 10:54:19 GMT]]></title><description><![CDATA[<p>Hey dot!<br />
Danke für deine Antwort.<br />
Sollte man &quot;MessageReceived&quot; noch kapseln oder ist das Gang und Gäbe, dass man solche Signale public macht?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2087622</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2087622</guid><dc:creator><![CDATA[hilfe hilfe]]></dc:creator><pubDate>Sat, 02 Jul 2011 10:54:19 GMT</pubDate></item><item><title><![CDATA[Reply to Designfrage on Sat, 02 Jul 2011 11:28:41 GMT]]></title><description><![CDATA[<p>hilfe hilfe schrieb:</p>
<blockquote>
<p>Sollte man &quot;MessageReceived&quot; noch kapseln oder ist das Gang und Gäbe, dass man solche Signale public macht?</p>
</blockquote>
<p>Kapseln, wegen Thread-Safety.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2087627</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2087627</guid><dc:creator><![CDATA[fdfdg]]></dc:creator><pubDate>Sat, 02 Jul 2011 11:28:41 GMT</pubDate></item><item><title><![CDATA[Reply to Designfrage on Sat, 02 Jul 2011 11:39:14 GMT]]></title><description><![CDATA[<p>eine sekunde zu früh gepostet...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2087629</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2087629</guid><dc:creator><![CDATA[dot]]></dc:creator><pubDate>Sat, 02 Jul 2011 11:39:14 GMT</pubDate></item></channel></rss>