2 * Copyright (c) 2017 Samsung Electronics Co., Ltd All Rights Reserved
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
8 * http://www.apache.org/licenses/LICENSE-2.0
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
17 #ifndef __METHOD_INJECTOR_H__
18 #define __METHOD_INJECTOR_H__
20 class MethodInjector {
22 static const char *peer_device_addr_str;
23 static const char *legacy_peer_iface_addr_str;
24 static const char *device_name;
25 static const char *pin_str;
26 static const int frame_id;
27 static const char *vsie_str;
30 static const char *passphrase;
31 static const int display_type;
32 static const int display_port;
33 static const int display_hdcp;
34 static const int display_avail;
35 static const char *local_mac_str;
37 MethodInjector(GVariant *input);
38 MethodInjector(const MethodInjector & Other);
40 const char *GetDeviceName();
41 GVariant *GetResult();
42 GVariant *StartDiscoveryListen();
43 GVariant *StartDiscoveryFind();
44 GVariant *CreateGroup();
45 GVariant *DestroyGroup();
47 GVariant *AcceptConnect();
48 GVariant *RejectConnect();
49 GVariant *CancelConnect();
50 GVariant *SetDeviceName();
51 GVariant *SetReqWpsMode(int req_wps_mode);
52 GVariant *SetGoIntent(int go_intent);
53 GVariant *SetMaxClient(int max_client);
54 GVariant *SetAutoConnection(bool mode);
55 GVariant *SetSessionTimer(int session_timer);
56 GVariant *GetPeerAddr();
57 GVariant *GetLegacyPeerAddr();
58 GVariant *SetWpsPin();
59 GVariant *SetPassphrase();
60 GVariant *SetDisplay();
61 GVariant *SetDisplayAvail();
62 GVariant *SetAutoGroupRemoval(bool enable);
63 GVariant *SetPersistentGroup(bool enable);
66 GVariant *RemoveVsie();
67 GVariant *SrvStartDiscovery();
68 GVariant *SrvStopDiscovery();
69 GVariant *SrvRegister();
70 GVariant *SrvRegisterBonjourPtr();
71 GVariant *SrvRegisterBonjourTxt();
72 GVariant *SrvRegister(int type, char *srv_str);
73 GVariant *SrvDeregister();
74 GVariant *AspAdvertise();
75 GVariant *AspAdvertiseCancel();
77 GVariant *AspSeekCancel();
78 GVariant *AspSessionConnect(const char *session_mac_str, unsigned char network_role, unsigned int network_config);
79 GVariant *AspSessionConfirm(const char *session_mac_str, int confirm, char *pin);