أداة ربط gupnp - عبر الإنترنت في السحابة

هذه هي أداة ربط الأوامر gupnp التي يمكن تشغيلها في موفر الاستضافة المجاني OnWorks باستخدام إحدى محطات العمل المجانية المتعددة عبر الإنترنت مثل Ubuntu Online أو Fedora Online أو محاكي Windows عبر الإنترنت أو محاكي MAC OS عبر الإنترنت

برنامج:

اسم


أداة ربط gupnp - تقوم بإنشاء أغلفة C الملائمة لخدمات UPnP

موجز


أداة ربط gupnp [--البادئة {PREFIX}] [--الوضع {العميل|الخادم}] {ملف SCPD}

الوصف


أداة ربط gupnp يأخذ ملف SCPD وينشئ وظائف C الملائمة التي تستدعي ملف
وظائف GUPnP الفعلية. يمكن رؤية الارتباطات من جانب العميل كإصدار خاص بالخدمة
GUPnPServiceProxy API والارتباطات من جانب الخدمة هي نفسها بالنسبة لـ GUPnPService.

هذه الوظائف التي تم إنشاؤها أقل تفصيلاً وأكثر أمانًا أيضًا مثل معلمات استدعاء الوظائف
كتبته بشكل صحيح. من السهل الحصول على أسماء الإجراءات والمتغيرات والاستعلام بشكل صحيح باستخدام الارتباطات
(أو على الأقل ستكون الأخطاء عبارة عن أخطاء وقت الترجمة بدلاً من أخطاء وقت التشغيل)، وهي كذلك أيضًا
متاح في الإكمال التلقائي للمحرر.

زبون جانب ملزمة


على سبيل المثال هذا الإجراء:


DeletePortMapping


NewRemoteHost
في
المضيف البعيد


NewExternalPort
في
منفذ خارجي


NewProtocol
في
PortMappingProtocol




سيتم إنشاء الوظيفة المتزامنة التالية من جانب العميل (نقطة التحكم):

ثابت مضمن gboolean
igd_delete_port_mapping (GUPnPServiceProxy *proxy،
const gchar *in_new_remote_host،
ثابت غينت in_new_external_port،
ثابت gchar *in_new_protocol،
GError ** خطأ) ؛

كما هو واضح، تحتوي الوسائط على الأنواع الصحيحة وتكون مسبوقة بالوسيطة
الاتجاه.

أداة ربط gupnp ينشئ أغلفة متزامنة وغير متزامنة. ال
igd_delete_port_mapping المثال أعلاه هو النموذج المتزامن، والنموذج غير المتزامن كما هو
يتبع:

typedef void (*igd_delete_port_mapping_reply) (GUPnPServiceProxy *proxy،
خطأ * خطأ،
بيانات المستخدم gpointer)؛

ثابت GUPnPServiceProxyAction *
igd_delete_port_mapping_async (GUPnPServiceProxy *proxy،
const gchar *in_new_remote_host،
ثابت غينت in_new_external_port،
ثابت gchar *in_new_protocol،
رد الاتصال igd_delete_port_mapping_reply،
بيانات المستخدم gpointer)؛

النموذج غير المتزامن (يتم تنفيذه باستخدام gupnp_service_proxy_begin_action() و
gupnp_service_proxy_end_action()) سيعود بدون حظر ويستدعي لاحقًا
رد الاتصال من الحلقة الرئيسية عند تلقي الرد.

تقوم الأداة أيضًا بإنشاء روابط لإشعارات متغيرات الحالة. متغير الحالة هذا
فريف:


ExternalIPAddress
خيط


سيقوم بإنشاء رابط العميل هذا الذي يمكن استخدامه للحصول على الإشعارات
تغييرات "عنوان IP الخارجي":

typedef فارغ
(*igd_external_ip_address_changed_callback) (GUPnPServiceProxy *proxy،
const gchar *external_ip_address،
بيانات المستخدم gpointer)؛

ثابت مضمن gboolean
igd_external_ip_address_add_notify (GUPnPServiceProxy *proxy،
igd_external_ip_address_changed_callback رد الاتصال،
بيانات المستخدم gpointer)؛

تم إنتاج جميع الأمثلة باستخدام gupnp-binding-tool --prefix igd --mode client
WANIPConnection.xml.

الخادم جانب ملزمة


تبدو روابط الخادم المقابلة لنفس إجراء UPnP (DeletePortMapping).
هذه:

باطل
igd_delete_port_mapping_action_get (إجراء GUPnPServiceAction *،
gchar **in_new_remote_host،
غينت *in_new_external_port،
gchar **in_new_protocol);

غولونغ
igd_delete_port_mapping_action_connect (خدمة GUPnPService *،
رد اتصال Gcallback,
بيانات المستخدم gpointer)؛

يمكن استخدام الدالة *_action_connect() التي تم إنشاؤها لتوصيل معالج الإجراء. ال
يمكن بعد ذلك استخدام الدالتين *_action_get() و*_action_set() داخل معالج الإجراء
الحصول على/تعيين متغيرات العمل. إذا تم تعديل المتغيرات التي تم إعلامها، فإن *_variable_notify()
ينبغي استخدامها لإرسال الإخطارات (انظر أدناه).

typedef gchar *(*igd_external_ip_address_query_callback) (خدمة GUPnPService *،
بيانات المستخدم gpointer)؛

غولونغ
igd_external_ip_address_query_connect (خدمة GUPnPService *،
igd_external_ip_address_query_callback رد الاتصال،
بيانات المستخدم gpointer)؛
باطل
igd_external_ip_address_variable_notify (خدمة GUPnPService *،
const gchar *external_ip_address);

يمكن استخدام الدالة *_query_connect() لتوصيل معالج الاستعلام الخاص بالخدمة.
القيمة المرجعة للمعالج هي قيمة متغير الحالة التي تم إرجاعها.

تم إنتاج جميع الأمثلة باستخدام gupnp-binding-tool --prefix igd --mode server
WANIPConnection.xml.

حقوق الطبع والنشر


حقوق الطبع والنشر © 2007، 2008، 2009 مملوكة لشركة OpenedHand Ltd، شركة Nokia

يُمنح الإذن بنسخ وتوزيع و / أو تعديل هذا المستند بموجب شروط
رخصة جنو للوثائق الحرة ، الإصدار 1.1 أو أي إصدار لاحق تم نشره بواسطة Free
أساس برمجي بدون أقسام ثابتة، ولا نصوص غلاف أمامي، ولا غلاف خلفي
النصوص. يمكنك الحصول على نسخة من رخصة جنو للوثائق الحرة من البرمجيات الحرة
مؤسسة عن طريق الزيارة من مشاركة شبكة الموقع أو عن طريق الكتابة إلى:

مؤسسة البرمجيات الحرة، وشركة،
59 تيمبل بليس - جناح 330،
بوسطن، MA 02111-1307،
الولايات المتحدة الأميركية

استخدم أداة ربط gupnp عبر الإنترنت باستخدام خدمات onworks.net



أحدث برامج Linux و Windows عبر الإنترنت