source: uKadecot/trunk/kadecot/wamp_broker.h@ 108

Last change on this file since 108 was 108, checked in by coas-nagasima, 9 years ago

MIMEプロパティの変更

  • Property svn:eol-style set to native
  • Property svn:keywords set to Id
  • Property svn:mime-type set to text/x-chdr; charset=SHIFT_JIS
File size: 3.9 KB
Line 
1/*
2 * TOPPERS ECHONET Lite Communication Middleware
3 *
4 * Copyright (C) 2015 Cores Co., Ltd. Japan
5 *
6 * 上記著作権者は,以下の(1)〜(4)の条件を満たす場合に限り,本ソフトウェ
7 * ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改
8 * 変・再配布(以下,利用と呼ぶ)することを無償で許諾する.
9 * (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作
10 * 権表示,この利用条件および下記の無保証規定が,そのままの形でソー
11 * スコード中に含まれていること.
12 * (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使
13 * 用できる形で再配布する場合には,再配布に伴うドキュメント(利用
14 * 者マニュアルなど)に,上記の著作権表示,この利用条件および下記
15 * の無保証規定を掲載すること.
16 * (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使
17 * 用できない形で再配布する場合には,次のいずれかの条件を満たすこ
18 * と.
19 * (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著
20 * 作権表示,この利用条件および下記の無保証規定を掲載すること.
21 * (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに
22 * 報告すること.
23 * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
24 * 害からも,上記著作権者およびTOPPERSプロジェクトを免責すること.
25 * また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理
26 * 由に基づく請求からも,上記著作権者およびTOPPERSプロジェクトを
27 * 免責すること.
28 *
29 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お
30 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的
31 * に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ
32 * アの利用により直接的または間接的に生じたいかなる損害に関しても,そ
33 * の責任を負わない.
34 *
35 * @(#) $Id: wamp_broker.h 108 2015-06-11 09:15:46Z coas-nagasima $
36 */
37
38#ifndef WAMP_BROKER_H
39#define WAMP_BROKER_H
40
41typedef struct wamp_subscription
42{
43 struct wamp_state *s;
44 unsigned int requestId;
45 int subscriptionId;
46 char deviceName[40];
47 char *proprtyName;
48 uint16_t devType;
49 uint8_t epc;
50} wamp_subscription_t;
51
52typedef struct wamp_broker
53{
54 struct wamp_state *s;
55 unsigned int requestId;
56 int subscriptionId;
57 wamp_subscription_t subscriptions[10];
58 wamp_subscription_t *current_subscription;
59 const char *error;
60} wamp_broker_t;
61
62void wamp_broker_subscribe(wamp_broker_t *broker);
63void wamp_broker_subscribe_request_id(wamp_broker_t *broker, const char *value);
64void wamp_broker_subscribe_options_param(wamp_broker_t *broker, jsonsl_action_t action,
65 struct jsonsl_state_st *state, const char *buf);
66void wamp_broker_subscribe_options(wamp_broker_t *broker);
67void wamp_broker_subscribe_topic(wamp_broker_t *broker, const char *value);
68void wamp_broker_subscribe_close(struct wamp_state *s);
69
70void wamp_broker_unsubscribe(wamp_broker_t *broker);
71void wamp_broker_unsubscribe_request_id(wamp_broker_t *broker, const char *value);
72void wamp_broker_unsubscribe_subscription_id(wamp_broker_t *broker, const char *value);
73void wamp_broker_unsubscribe_close(struct wamp_state *s);
74
75void wamp_broker_publish(wamp_broker_t *broker);
76void wamp_broker_publish_request_id(wamp_broker_t *s, const char *value);
77void wamp_broker_publish_options(wamp_broker_t *s, const char *value);
78void wamp_broker_publish_options_param(wamp_broker_t *s, jsonsl_action_t action,
79 struct jsonsl_state_st *state, const char *buf);
80void wamp_broker_publish_topic(wamp_broker_t *s, const char *value);
81void wamp_broker_publish_arguments(wamp_broker_t *s, const char *value);
82void wamp_broker_publish_arguments_param(wamp_broker_t *s, jsonsl_action_t action,
83 struct jsonsl_state_st *state, const char *buf);
84void wamp_broker_publish_argumentskw(wamp_broker_t *s, const char *value);
85void wamp_broker_publish_argumentskw_param(wamp_broker_t *s, jsonsl_action_t action,
86 struct jsonsl_state_st *state, const char *buf);
87void wamp_broker_publish_close(struct wamp_state *s);
88
89void wamp_broker_publish_inf(wamp_broker_t *broker, uint16_t pubId, int deviceId,
90 uint16_t devType, uint8_t epc, uint8_t pdc, uint8_t *p_edt);
91
92#endif // WAMP_BROKER_H
Note: See TracBrowser for help on using the repository browser.