Ich verwende die sdbus-cpp-Bibliothek, um zu testen, wie man einen Dienst erstellt und über einen D-Bus-Client auf seine Methoden und Signale zugreift. Die Bibliothek bietet ein Beispiel dafür, das ich für mich getestet und bearbeitet habe. Dieses Beispiel erstellt jedoch einen Dienst im Sitzungsbus und ich möchte, dass er auf dem Systembus funktioniert. Dies ist das Beispiel:
Serverseite:
#include
#include
#include
int main(int argc, char *argv[])
{
// Create D-Bus connection to the (either system or session) bus and requests a well-known name on it.
sdbus::ServiceName serviceName{"org.sdbuscpp.concatenator"};
auto connection = sdbus::createBusConnection(serviceName);
// Create concatenator D-Bus object.
sdbus::ObjectPath objectPath{"/org/sdbuscpp/concatenator"};
auto concatenator = sdbus::createObject(*connection, std::move(objectPath));
auto concatenate = [&concatenator](const std::vector numbers, const std::string& separator)
{
// Return error if there are no numbers in the collection
if (numbers.empty())
throw sdbus::Error(sdbus::Error::Name{"org.sdbuscpp.Concatenator.Error"}, "No numbers provided");
std::string result;
for (auto number : numbers)
{
result += (result.empty() ? std::string() : separator) + std::to_string(number);
}
// Emit 'concatenated' signal
concatenator->emitSignal("concatenated").onInterface("org.sdbuscpp.Concatenator").withArguments(result);
std::cout
Ich verwende die sdbus-cpp-Bibliothek, um zu testen, wie man einen Dienst erstellt und über einen D-Bus-Client auf seine Methoden und Signale zugreift. Die Bibliothek bietet ein Beispiel dafür, das ich für mich getestet und bearbeitet habe. Dieses Beispiel erstellt jedoch einen Dienst im Sitzungsbus und ich möchte, dass er auf dem Systembus funktioniert. Dies ist das Beispiel: Serverseite: [code]#include #include #include
int main(int argc, char *argv[]) { // Create D-Bus connection to the (either system or session) bus and requests a well-known name on it. sdbus::ServiceName serviceName{"org.sdbuscpp.concatenator"}; auto connection = sdbus::createBusConnection(serviceName);
auto concatenate = [&concatenator](const std::vector numbers, const std::string& separator) { // Return error if there are no numbers in the collection if (numbers.empty()) throw sdbus::Error(sdbus::Error::Name{"org.sdbuscpp.Concatenator.Error"}, "No numbers provided");
std::string result; for (auto number : numbers) { result += (result.empty() ? std::string() : separator) + std::to_string(number); }
// Emit 'concatenated' signal concatenator->emitSignal("concatenated").onInterface("org.sdbuscpp.Concatenator").withArguments(result); std::cout
Ich verwende den Spring Cloud -Konfigurationsserver mit KAFKA, um die RefreshremoteApplicationEvent an alle Instanzen einer Anwendung zu übertragen, aber derzeit empfängt sie nur eine Instanz. Mein...
Ich erstelle eine Chat -App in Java mit Swing und habe eine Methode namens ChatServer, die sendet, was Text von einem JTextfield an einen Server erhalten hat
if(e.getSource()==button3){
String val2...
Ich arbeite an einer Chat-App. Dabei verwende ich verschiedene Socket-Ereignisse, um Nachrichten über Sockets vom Client an den Server zu senden. So funktioniert es: Client-Sendeanforderung mit JWT...
Ich erstelle eine Anwendung mit einem Spring WebFlux-Backend und einem Angular-Frontend. Mein Backend sendet Server-Sent Events (SSE), aber aus irgendeinem Grund empfängt die Angular-App diese...
Ich implementieren eine RecyclerView mit mehreren Ansichtstypen und benötigte für bestimmte Elemente einen Sticky-Header. Um dies zu erreichen, habe ich eine ItemDecoration verwendet, um den...