# MumbleServer::Meta

## Overview

### [ "amd" ] interface Meta

This is the meta interface. It is primarily used for retrieving the Server interfaces for each individual server.

## Operation Index

getServer
  Fetch interface to specific server.
newServer
  Create a new server.
getBootedServers
  Fetch list of all currently running servers.
getAllServers
  Fetch list of all defined servers.
getDefaultConf
  Fetch default configuration.
getVersion
  Fetch version of Murmur.
addCallback
  Add a callback.
removeCallback
  Remove a callback.
getUptime
  Get murmur uptime.
getSlice
  Get slice file.
getSliceChecksums
  Returns a checksum dict for the slice file.

## Operations

### Server* getServer(int id) throws InvalidSecretException

Fetch interface to specific server.

#### Parameters

id
  Server ID. See `Server::getId`.

#### Return Value

Interface for specified server, or a null proxy if id is invalid.

### Server* newServer() throws InvalidSecretException

Create a new server. Call `Server::getId` on the returned interface to find it's ID.

#### Return Value

Interface for new server.

### ServerList getBootedServers() throws InvalidSecretException

Fetch list of all currently running servers.

#### Return Value

List of interfaces for running servers.

### ServerList getAllServers() throws InvalidSecretException

Fetch list of all defined servers.

#### Return Value

List of interfaces for all servers.

### ConfigMap getDefaultConf() throws InvalidSecretException

Fetch default configuration. This returns the configuration items that were set in the configuration file, or the built-in default. The individual servers will use these values unless they have been overridden in the server specific configuration. The only special case is the port, which defaults to the value defined here + the servers ID - 1 (so that virtual server #1 uses the defined port, server #2 uses port+1 etc).

#### Return Value

Default configuration of the servers.

### void getVersion(out int major, out int minor, out int patch, out string text)

Fetch version of Murmur.

#### Parameters

major
  Major version.
minor
  Minor version.
patch
  Patchlevel.
text
  Textual representation of version. Note that this may not match the `major`, `minor` and `patch` levels, as it may be simply the compile date or the SVN revision. This is usually the text you want to present to users.

### void addCallback(MetaCallback* cb) throws InvalidCallbackException, InvalidSecretException

Add a callback. The callback will receive notifications when servers are started or stopped.

#### Parameters

cb
  Callback interface which will receive notifications.

### void removeCallback(MetaCallback* cb) throws InvalidCallbackException, InvalidSecretException

Remove a callback.

#### Parameters

cb
  Callback interface to be removed.

### int getUptime()

Get murmur uptime.

#### Return Value

Uptime of murmur in seconds

### string getSlice()

Get slice file.

#### Return Value

Contents of the slice file server compiled with.

### ::Ice::SliceChecksumDict getSliceChecksums()

Returns a checksum dict for the slice file.

#### Return Value

Checksum dict