mirror of
https://git.kernel.org/pub/scm/network/wireless/iwd.git
synced 2024-11-20 04:19:25 +01:00
autotests: moved simpleAgent to utility dir
This commit is contained in:
parent
39b9f26e44
commit
2e4d520dbb
95
autotests/utility/simpleAgent.py
Executable file
95
autotests/utility/simpleAgent.py
Executable file
@ -0,0 +1,95 @@
|
||||
#!/usr/bin/python3
|
||||
|
||||
#built-in python libraries
|
||||
from gi.repository import GLib
|
||||
import dbus
|
||||
import dbus.service
|
||||
import dbus.mainloop.glib
|
||||
import logging
|
||||
import traceback
|
||||
import threading
|
||||
import time
|
||||
|
||||
import sys
|
||||
sys.path.append('../utility') #needed to import all the utlilty modules
|
||||
import utility
|
||||
from random import randrange
|
||||
|
||||
def defineAgentVars():
|
||||
global manager, pathAgent
|
||||
bus = dbus.SystemBus()
|
||||
pathAgent = "/utility/agent/" + str(randrange(100))
|
||||
manager = dbus.Interface(bus.get_object('net.connman.iwd', "/"),
|
||||
'net.connman.iwd.AgentManager')
|
||||
|
||||
def getManager():
|
||||
return manager
|
||||
|
||||
def getPathAgent():
|
||||
return pathAgent
|
||||
|
||||
class Agent(dbus.service.Object):
|
||||
@dbus.service.method("net.connman.iwd.Agent",
|
||||
in_signature='', out_signature='')
|
||||
def Release(self):
|
||||
logger.debug("Release")
|
||||
mainloop.quit()
|
||||
|
||||
@dbus.service.method("net.connman.iwd.Agent",
|
||||
in_signature='o',
|
||||
out_signature='s')
|
||||
def RequestPassphrase(self, path):
|
||||
utility.initLogger()
|
||||
logger = logging.getLogger(__name__)
|
||||
logger.info("RequestPassphrase")
|
||||
return 'EasilyGuessedPassword'
|
||||
|
||||
def startAgent(mainloop):
|
||||
mainloop.run()
|
||||
|
||||
def registerAgent(bus, mainloop):
|
||||
defineAgentVars()
|
||||
manager = getManager()
|
||||
pathAgent = getPathAgent()
|
||||
object = Agent(bus, pathAgent)
|
||||
try:
|
||||
manager.RegisterAgent(pathAgent)
|
||||
logger.debug("Registered iwd agent")
|
||||
except:
|
||||
logger.debug("Error in registering path")
|
||||
logger.debug(traceback.print_exc(file=sys.stdout))
|
||||
|
||||
threading.Thread(target=delayedUnregister, args=(manager, pathAgent,
|
||||
mainloop,)).start()
|
||||
|
||||
def unregisterAgent(manager, pathAgent):
|
||||
try:
|
||||
manager.UnregisterAgent(pathAgent)
|
||||
logger.debug("UnRegistered iwd agent")
|
||||
except:
|
||||
logger.debug("Error in unregistering path")
|
||||
logger.debug(traceback.print_exc(file=sys.stdout))
|
||||
|
||||
def delayedUnregister(manager, path, mainloop):
|
||||
counter = 1
|
||||
while (utility.getCurrentlyConnectedDevice() == "" and counter < 10):
|
||||
time.sleep(1)
|
||||
counter += 1
|
||||
continue
|
||||
|
||||
time.sleep(1)
|
||||
unregisterAgent(manager, path)
|
||||
mainloop.quit()
|
||||
|
||||
def init():
|
||||
global logger
|
||||
utility.initLogger()
|
||||
logger = logging.getLogger(__name__)
|
||||
dbus.mainloop.glib.DBusGMainLoop(set_as_default=True)
|
||||
bus = dbus.SystemBus()
|
||||
mainloop = GLib.MainLoop()
|
||||
registerAgent(bus, mainloop)
|
||||
threading.Thread(target=startAgent, args=(mainloop,)).start()
|
||||
|
||||
if __name__ == '__main__':
|
||||
init()
|
Loading…
Reference in New Issue
Block a user