Download | Plain Text | No Line Numbers
- /*
- * Copyright (c) 2010, Manuel Mausz. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * - Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * - Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- *
- * - The names of the authors may not be used to endorse or promote products
- * derived from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
- * IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
- * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
- * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
- * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
- * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
- * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
- * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
- import java.rmi.server.UnicastRemoteObject;
- import java.rmi.RemoteException;
- import java.util.Date;
-
- /*
- * client --> server interface implementation
- *
- * @author Manuel Mausz (0728348)
- */
- public class C2SInterfaceImpl
- extends UnicastRemoteObject
- implements C2SInterface
- {
- private Server server;
- private Server.UserRecord user = null;
-
- /*--------------------------------------------------------------------------*/
-
- C2SInterfaceImpl(Server server)
- throws RemoteException
- {
- this.server = server;
- }
-
- /*--------------------------------------------------------------------------*/
-
- throws RemoteException
- {
- if (user != null)
- return server.users.register(username, pass);
- }
-
- /*--------------------------------------------------------------------------*/
-
- throws RemoteException
- {
- if (user != null)
- user = server.users.login(username, pass, s2ciface);
- if (user == null)
- return false;
- return true;
- }
-
- /*--------------------------------------------------------------------------*/
-
- public void checkLoggedIn()
- throws RemoteException
- {
- if (user == null)
- }
-
- /*--------------------------------------------------------------------------*/
-
- throws RemoteException
- {
- checkLoggedIn();
- return server.events.create(user, event, location, duration);
- }
-
- /*--------------------------------------------------------------------------*/
-
- throws RemoteException
- {
- checkLoggedIn();
- server.events.invite(user, event, invitee);
- }
-
- /*--------------------------------------------------------------------------*/
-
- throws RemoteException
- {
- checkLoggedIn();
- server.events.addDate(user, event, date);
- }
-
- /*--------------------------------------------------------------------------*/
-
- throws RemoteException
- {
- checkLoggedIn();
- return server.events.toString(event);
- }
-
- /*--------------------------------------------------------------------------*/
-
- throws RemoteException
- {
- checkLoggedIn();
- synchronized(user)
- {
- server.events.vote(event, user.name, dates);
- }
- }
-
- /*--------------------------------------------------------------------------*/
-
- throws RemoteException
- {
- checkLoggedIn();
- server.events.finalize(user, event);
- }
-
- /*--------------------------------------------------------------------------*/
-
- public boolean logout()
- throws RemoteException
- {
- checkLoggedIn();
- server.users.logout(user);
- user = null;
- return true;
- }
- }
-