public void StartListening(IGablarskiServerContext context)
        {
            var sstore = new MemorySessionStore {
                ExpireTime = 15
            };

            server = new HttpServer.HttpServer(sstore);

            ConnectionManager cmanager = new ConnectionManager(sstore);

            cmanager.ConnectionProvider = this;
            cmanager.Server             = server;

            server.Add(new QueryModule(cmanager));

            WebServerConfiguration config = (WebServerConfiguration)ConfigurationManager.GetSection("webserver");

            if (config != null && config.Theme != null)
            {
                server.Add(new FileResourceModule(config.Theme.Path));
                server.Add(new LoginModule(cmanager));
                server.Add(new ChannelModule(cmanager));
                server.Add(new UserModule(cmanager));
            }

            server.Start(IPAddress.Any, this.Port);
        }
Beispiel #2
0
        public void Setup()
        {
            manager     = new ServerUserManager();
            permissions = new MockPermissionsProvider();
            channels    = new LobbyChannelProvider();

            MockServerContext mcontext;

            context = mcontext = new MockServerContext
            {
                ChannelsProvider    = channels,
                PermissionsProvider = permissions,
                UserManager         = new ServerUserManager(),
                Settings            = new ServerSettings {
                    Name = "Test Server"
                }
            };

            mcontext.Users    = new ServerUserHandler(context, manager);
            mcontext.Channels = handler = new ServerChannelHandler(context);

            user = UserInfoTests.GetTestUser(1, 1, false);

            provider = new MockConnectionProvider(GablarskiProtocol.Instance);
            mcontext.AddConnectionProvider(provider);
            mcontext.Start();

            var connections = provider.GetConnections(GablarskiProtocol.Instance);

            client = new ConnectionBuffer(connections.Item1);
            server = connections.Item2;

            manager.Connect(server);
            manager.Join(server, user);
        }
		public void Setup()
		{
			manager = new ServerUserManager();
			permissions = new MockPermissionsProvider();
			channels = new LobbyChannelProvider();

			MockServerContext mcontext;
			context = mcontext = new MockServerContext
			{
				ChannelsProvider = channels,
				PermissionsProvider = permissions,
				UserManager = new ServerUserManager (),
				Settings = new ServerSettings { Name = "Test Server" }
			};

			mcontext.Users = new ServerUserHandler (context, manager);
			mcontext.Channels = handler = new ServerChannelHandler (context);

			user = UserInfoTests.GetTestUser (1, 1, false);

			provider = new MockConnectionProvider (GablarskiProtocol.Instance);
			mcontext.AddConnectionProvider (provider);
			mcontext.Start();

			var connections = provider.GetConnections (GablarskiProtocol.Instance);
			client = new ConnectionBuffer (connections.Item1);
			server = connections.Item2;

			manager.Connect (server);
			manager.Join (server, user);
		}
 public void Teardown()
 {
     handler     = null;
     manager     = null;
     context     = null;
     server      = null;
     permissions = null;
 }
        public static bool GetPermission(this IGablarskiServerContext self, PermissionName name)
        {
            if (self == null)
            {
                throw new ArgumentNullException("self");
            }

            return(self.PermissionsProvider.GetPermissions(-1).CheckPermission(name));
        }
        public static bool GetPermission(this IGablarskiServerContext self, PermissionName name, IUserInfo user)
        {
            if (user == null)
            {
                throw new ArgumentNullException("user");
            }

            return(GetPermission(self, name, user.CurrentChannelId, user.UserId));
        }
        public ServerChannelHandler(IGablarskiServerContext context)
        {
            if (context == null)
                throw new ArgumentNullException ("context");

            this.context = context;
            this.context.ChannelsProvider.ChannelsUpdated += ChannelsProviderOnChannelsUpdated;

            this.context.RegisterMessageHandler<RequestChannelListMessage> (RequestChanneListMessage);
            this.context.RegisterMessageHandler<ChannelEditMessage> (ChannelEditMessage);
        }
Beispiel #8
0
        public ServerChannelHandler(IGablarskiServerContext context)
        {
            if (context == null)
            {
                throw new ArgumentNullException("context");
            }

            this.context = context;
            this.context.ChannelsProvider.ChannelsUpdated += ChannelsProviderOnChannelsUpdated;

            this.context.RegisterMessageHandler <RequestChannelListMessage> (RequestChanneListMessage);
            this.context.RegisterMessageHandler <ChannelEditMessage> (ChannelEditMessage);
        }
Beispiel #9
0
        public ServerSourceHandler(IGablarskiServerContext context, IServerSourceManager manager)
        {
            if (context == null)
                throw new ArgumentNullException ("context");
            if (manager == null)
                throw new ArgumentNullException ("manager");

            this.context = context;
            this.manager = manager;

            this.context.RegisterMessageHandler<RequestSourceMessage> (RequestSourceMessage);
            this.context.RegisterMessageHandler<ClientAudioDataMessage> (OnClientAudioDataMessage);
            this.context.RegisterMessageHandler<ClientAudioSourceStateChangeMessage> (ClientAudioSourceStateChangeMessage);
            this.context.RegisterMessageHandler<RequestMuteSourceMessage> (RequestMuteSourceMessage);
            this.context.RegisterMessageHandler<RequestSourceListMessage> (RequestSourceListMessage);
        }
        public void Setup()
        {
            permissions = new MockPermissionsProvider();

            LobbyChannelProvider channels = new LobbyChannelProvider();

            channels.SaveChannel(new ChannelInfo
            {
                Name = "Channel 2"
            });

            this.provider = new MockConnectionProvider(GablarskiProtocol.Instance);
            this.provider.Start(MessageTypes.All);

            userManager = new ServerUserManager();
            MockServerContext c;

            context = c = new MockServerContext(provider)
            {
                Settings = new ServerSettings
                {
                    Name = "Server",
                    DefaultAudioBitrate = defaultBitrate,
                    MaximumAudioBitrate = maxBitrate,
                    MinimumAudioBitrate = minBitrate
                },

                UserManager         = userManager,
                PermissionsProvider = permissions,
                ChannelsProvider    = channels
            };
            c.Users = new ServerUserHandler(context, userManager);

            manager = new ServerSourceManager(context);
            handler = new ServerSourceHandler(context, manager);

            user = UserInfoTests.GetTestUser(1, 1, false);

            var cs = provider.GetConnections(GablarskiProtocol.Instance);

            client = new ConnectionBuffer(cs.Item1);
            server = cs.Item2;

            userManager.Connect(server);
            userManager.Join(server, user);
        }
Beispiel #11
0
		public ServerUserHandler (IGablarskiServerContext context, IServerUserManager manager)
		{
			this.context = context;
			this.Manager = manager;

			this.context.RegisterMessageHandler<ConnectMessage> (OnConnectMessage);
			this.context.RegisterMessageHandler<LoginMessage> (OnLoginMessage);
			this.context.RegisterMessageHandler<JoinMessage> (OnJoinMessage);
			this.context.RegisterMessageHandler<SetCommentMessage> (OnSetCommentMessage);
			this.context.RegisterMessageHandler<SetStatusMessage> (OnSetStatusMessage);
			this.context.RegisterMessageHandler<SetPermissionsMessage> (OnSetPermissionsMessage);
			this.context.RegisterMessageHandler<KickUserMessage> (OnKickUserMessage);
			this.context.RegisterMessageHandler<RegisterMessage> (OnRegisterMessage);
			this.context.RegisterMessageHandler<RegistrationApprovalMessage> (OnRegistrationApprovalMessage);
			this.context.RegisterMessageHandler<BanUserMessage> (OnBanUserMessage);
			this.context.RegisterMessageHandler<RequestMuteUserMessage> (OnRequestMuteUserMessage);
			this.context.RegisterMessageHandler<RequestUserListMessage> (OnRequestUserListMessage);
			this.context.RegisterMessageHandler<ChannelChangeMessage> (OnChannelChangeMessage);
		}
Beispiel #12
0
        public ServerUserHandler(IGablarskiServerContext context, IServerUserManager manager)
        {
            this.context = context;
            this.Manager = manager;

            this.context.RegisterMessageHandler <ConnectMessage> (OnConnectMessage);
            this.context.RegisterMessageHandler <LoginMessage> (OnLoginMessage);
            this.context.RegisterMessageHandler <JoinMessage> (OnJoinMessage);
            this.context.RegisterMessageHandler <SetCommentMessage> (OnSetCommentMessage);
            this.context.RegisterMessageHandler <SetStatusMessage> (OnSetStatusMessage);
            this.context.RegisterMessageHandler <SetPermissionsMessage> (OnSetPermissionsMessage);
            this.context.RegisterMessageHandler <KickUserMessage> (OnKickUserMessage);
            this.context.RegisterMessageHandler <RegisterMessage> (OnRegisterMessage);
            this.context.RegisterMessageHandler <RegistrationApprovalMessage> (OnRegistrationApprovalMessage);
            this.context.RegisterMessageHandler <BanUserMessage> (OnBanUserMessage);
            this.context.RegisterMessageHandler <RequestMuteUserMessage> (OnRequestMuteUserMessage);
            this.context.RegisterMessageHandler <RequestUserListMessage> (OnRequestUserListMessage);
            this.context.RegisterMessageHandler <ChannelChangeMessage> (OnChannelChangeMessage);
        }
Beispiel #13
0
        public ServerSourceHandler(IGablarskiServerContext context, IServerSourceManager manager)
        {
            if (context == null)
            {
                throw new ArgumentNullException("context");
            }
            if (manager == null)
            {
                throw new ArgumentNullException("manager");
            }

            this.context = context;
            this.manager = manager;

            this.context.RegisterMessageHandler <RequestSourceMessage> (RequestSourceMessage);
            this.context.RegisterMessageHandler <ClientAudioDataMessage> (OnClientAudioDataMessage);
            this.context.RegisterMessageHandler <ClientAudioSourceStateChangeMessage> (ClientAudioSourceStateChangeMessage);
            this.context.RegisterMessageHandler <RequestMuteSourceMessage> (RequestMuteSourceMessage);
            this.context.RegisterMessageHandler <RequestSourceListMessage> (RequestSourceListMessage);
        }
        public static bool GetPermission(this IGablarskiServerContext self, PermissionName name, IConnection connection)
        {
            if (self == null)
            {
                throw new ArgumentNullException("self");
            }
            if (connection == null)
            {
                return(self.GetPermission(name));
            }

            IUserInfo user = self.Users[connection];

            if (user == null)
            {
                return(self.GetPermission(name));
            }

            return(self.GetPermission(name, user.CurrentChannelId, user.UserId));
        }
 public void Setup()
 {
     context = new MockServerContext();
     manager = new ServerSourceManager(context);
 }
Beispiel #16
0
 protected GablarskiServer(ServerSettings serverSettings)
     : base(MessageTypes.All)
 {
     this.settings = serverSettings;
     this.context  = this;
 }
Beispiel #17
0
 protected GablarskiServer(ServerSettings serverSettings)
     : base(MessageTypes.All)
 {
     this.settings = serverSettings;
     this.context = this;
 }
        public void StartListening(IGablarskiServerContext context)
        {
            var sstore = new MemorySessionStore { ExpireTime = 15 };
            server = new HttpServer.HttpServer (sstore);

            ConnectionManager cmanager = new ConnectionManager (sstore);
            cmanager.ConnectionProvider = this;
            cmanager.Server = server;

            server.Add (new QueryModule (cmanager));

            WebServerConfiguration config = (WebServerConfiguration) ConfigurationManager.GetSection ("webserver");

            if (config != null && config.Theme != null)
            {
                server.Add (new FileResourceModule (config.Theme.Path));
                server.Add (new LoginModule (cmanager));
                server.Add (new ChannelModule (cmanager));
                server.Add (new UserModule (cmanager));
            }

            server.Start (IPAddress.Any, this.Port);
        }
 public void Setup()
 {
     context = new MockServerContext();
     manager = new ServerSourceManager (context);
 }
Beispiel #20
0
 public ServerSourceManager(IGablarskiServerContext serverContext)
 {
     this.context = serverContext;
 }
Beispiel #21
0
 public ServerSourceManager(IGablarskiServerContext serverContext)
 {
     this.context = serverContext;
 }
 public void Teardown()
 {
     handler = null;
     manager = null;
     context = null;
     server = null;
     permissions = null;
 }
        public void Setup()
        {
            permissions = new MockPermissionsProvider();

            LobbyChannelProvider channels = new LobbyChannelProvider();
            channels.SaveChannel (new ChannelInfo
            {
                Name = "Channel 2"
            });

            this.provider = new MockConnectionProvider (GablarskiProtocol.Instance);
            this.provider.Start (MessageTypes.All);

            userManager = new ServerUserManager();
            MockServerContext c;
            context = c = new MockServerContext (provider)
            {
                Settings = new ServerSettings
                {
                    Name = "Server",
                    DefaultAudioBitrate = defaultBitrate,
                    MaximumAudioBitrate = maxBitrate,
                    MinimumAudioBitrate = minBitrate
                },

                UserManager = userManager,
                PermissionsProvider = permissions,
                ChannelsProvider = channels
            };
            c.Users = new ServerUserHandler (context, userManager);

            manager = new ServerSourceManager (context);
            handler = new ServerSourceHandler (context, manager);

            user = UserInfoTests.GetTestUser (1, 1, false);

            var cs = provider.GetConnections (GablarskiProtocol.Instance);

            client = new ConnectionBuffer (cs.Item1);
            server = cs.Item2;

            userManager.Connect (server);
            userManager.Join (server, user);
        }