gupnp-바인딩 도구 - 클라우드에서의 온라인

이것은 Ubuntu Online, Fedora Online, Windows 온라인 에뮬레이터 또는 MAC OS 온라인 에뮬레이터와 같은 여러 무료 온라인 워크스테이션 중 하나를 사용하여 OnWorks 무료 호스팅 제공업체에서 실행할 수 있는 gupnp-bind-tool 명령입니다.

프로그램:

이름


gupnp-bind-tool - UPnP 서비스를 위한 C 편의 래퍼를 생성합니다.

개요


gupnp 바인딩 도구 [--접두사 {PREFIX}] [--mode {클라이언트|서버}] {SCPD 파일}

기술


gupnp 바인딩 도구 SCPD 파일을 가져와 다음을 호출하는 편리한 C 함수를 생성합니다.
실제 GUPnP 기능. 클라이언트 측 바인딩은 서비스별 버전으로 볼 수 있습니다.
GUPnPServiceProxy API의 서비스 측 바인딩은 GUPnPService와 동일합니다.

이렇게 생성된 함수는 덜 장황하며 함수 호출 매개변수가 더 안전합니다.
올바르게 입력했습니다. 바인딩을 사용하면 작업, 변수 및 쿼리 이름을 더 쉽게 수정할 수 있습니다.
(또는 적어도 오류는 런타임이 아닌 컴파일 타임 오류가 됩니다)
편집기 자동 완성에서 사용할 수 있습니다.

고객 측면 바인딩


예를 들어 다음 작업은 다음과 같습니다.


포트 매핑 삭제


새로운원격호스트
~에
원격 호스트


새로운외부포트
~에
외부 포트


새로운프로토콜
~에
포트매핑프로토콜




다음과 같은 동기식 클라이언트측(제어점) 기능을 생성합니다.

정적 인라인 gboolean
igd_delete_port_mapping(GUPnPServiceProxy *프록시,
const gchar *in_new_remote_host,
const guint in_new_external_port,
const gchar *in_new_protocol,
G오류 **오류);

보시다시피, 인수는 올바른 유형을 가지며 인수 접두사가 붙습니다.
방향입니다.

gupnp 바인딩 도구 동기 및 비동기 래퍼를 모두 생성합니다. 그만큼
igd_delete_port_mapping 위의 예는 동기식이고 비동기식은 다음과 같습니다.
다음과 같습니다 :

typedef void (*igd_delete_port_mapping_reply) (GUPnPServiceProxy *proxy,
GError *오류,
gpointer 사용자 데이터);

정적 인라인 GUPnPServiceProxyAction *
igd_delete_port_mapping_async(GUPnPServiceProxy *프록시,
const gchar *in_new_remote_host,
const guint in_new_external_port,
const gchar *in_new_protocol,
igd_delete_port_mapping_reply 콜백,
gpointer 사용자 데이터);

비동기 형식(다음을 사용하여 구현됨) gupnp_service_proxy_begin_action()
gupnp_service_proxy_end_action())는 차단하지 않고 반환되고 나중에 호출됩니다.
응답이 수신되면 메인 루프에서 콜백됩니다.

이 도구는 상태 변수 알림에 대한 바인딩도 생성합니다. 이 상태 변수
정의:


외부IP주소



알림을 받는 데 사용할 수 있는 클라이언트 바인딩을 생성합니다.
"외부 IP 주소" 변경:

typedef 무효
(*igd_external_ip_address_changed_callback) (GUPnPServiceProxy *프록시,
const gchar *external_ip_address,
gpointer 사용자 데이터);

정적 인라인 gboolean
igd_external_ip_address_add_notify(GUPnPServiceProxy *프록시,
igd_external_ip_address_changed_callback 콜백,
gpointer 사용자 데이터);

모든 예제는 gupnp-bind-tool --prefix igd --mode client를 사용하여 생성되었습니다.
WANIPConnection.xml.

섬기는 사람 측면 바인딩


동일한 UPnP 작업(DeletePortMapping)에 해당하는 서버 바인딩은 다음과 같습니다.
이:

무효화
igd_delete_port_mapping_action_get(GUPnPServiceAction *작업,
gchar **in_new_remote_host,
guint *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-bind-tool --prefix igd --mode server를 사용하여 생성되었습니다.
WANIPConnection.xml.

저작권


저작권 © 2007, 2008, 2009 OpenedHand Ltd, Nokia Corporation

다음 조건에 따라 이 문서를 복사, 배포 및/또는 수정할 수 있는 권한이 부여됩니다.
GNU 무료 문서 라이선스, 버전 1.1 또는 Free에서 게시한 이후 버전
불변 섹션, 앞표지 텍스트, 뒷표지가 없는 소프트웨어 기반
텍스트. 무료 소프트웨어로부터 GNU 무료 문서 라이선스 사본을 얻을 수 있습니다.
방문을 통한 재단 그들의 Web 대지 또는 다음 주소로 편지를 보내십시오:

자유 소프트웨어 재단, Inc.,
59 템플 플레이스 - 스위트 330,
보스턴, 매사추세츠 02111-1307,
USA

onworks.net 서비스를 사용하여 온라인으로 gupnp-bound-tool을 사용하세요.



최신 Linux 및 Windows 온라인 프로그램