This is a read-only archive of the Mumble forums.

This website archives and makes accessible historical state. It receives no updates or corrections. It is provided only to keep the information accessible as-is, under their old address.

For up-to-date information please refer to the Mumble website and its linked documentation and other resources. For support please refer to one of our other community/support channels.

Jump to content

Ice and Ruby. How to create a proxy object


goozler
 Share

Recommended Posts

Hi! Is there anyone interested in using Ice with Mumble? :)


I want to make a simple script that uses callbacks when a user is connected and disconnected. I chose Ruby because I'm most familiar with it. I took an example from GitHub, configure the server and everything looks fine, I get the server version in Ruby.


But I don't understand how to add my custom callback to the server. How to implement that ServerCallback interface in Ruby. I saw examples in JS and Python there is an adapter is created and used to create new objects. For example, in GitHub Mumble repository we have this example https://github.com/mumble-voip/mumble/blob/master/scripts/server/ice/testcallback.py.


But in Ruby I can't find such ice.createObjectAdapter method. I tried other ways but had the message that I need to provide a proxy object and I don't know how to do it.


Could anyone help with that? A single valid example will be enough.


This is the part of the code:

 

props = Ice.createProperties
props.setProperty 'Ice.Default.EncodingVersion', '1.0'
idd = Ice::InitializationData.new
idd.properties = props
ic = Ice.initialize(idd)
base = ic.stringToProxy("Meta:tcp -h #{HOST} -p 6502")
meta = Murmur::MetaPrx.checkedCast(base)

raise 'invalid proxy' unless meta

servers = meta.getBootedServers
puts 'Server version:', meta.getVersion[3]

servers.each do |server|
 something = i_cant_get_how_to_create_this
 callback = Murmur::ServerCallbackPrx.uncheckedCast(something) # to pass this
 server.addCallback(callback)
end

Link to comment
Share on other sites

 Share

×
×
  • Create New...