1  /*
   2   * \brief  Session
   3   * \author Norman Feske
   4   * \date   2011-05-15
   5   */

   6  
   7  /*
   8   * Copyright (C) 2011-2013 Genode Labs GmbH
   9   *
  10   * This file is part of the Genode OS framework, which is distributed
  11   * under the terms of the GNU General Public License version 2.
  12   */

  13  
  14  #ifndef _INCLUDE__SESSION__SESSION_H_
  15  #define _INCLUDE__SESSION__SESSION_H_
  16  
  17  /*
  18   * Each session interface declares an RPC interface and, therefore, relies on
  19   * the RPC framework. By including `base/rpc.h` here, we relieve the interfaces
  20   * from including `base/rpc.h` in addition to `session/session.h`.
  21   */

  22  #include <base/rpc.h>
  23  
  24  namespace Genode { class Session; }
  25  
  26  
  27  /**
  28   * Base class of session interfaces
  29   */

  30  class Genode::Session
  31  {
  32     /*
  33      * Each session interface must implement the class function `service_name`
  34      * ! static const char *service_name();
  35      * This function returns the name of the service provided via the session
  36      * interface.
  37      */

  38  }
;

  39  
  40  #endif /* _INCLUDE__SESSION__SESSION_H_ */