1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82
|
// **********************************************************************
//
// Copyright (c) 2003-2009 ZeroC, Inc. All rights reserved.
//
// This copy of Ice is licensed to you under the terms described in the
// ICE_LICENSE file included in this distribution.
//
// **********************************************************************
#ifndef LIBRARY_SESSION_ICE
#define LIBRARY_SESSION_ICE
module Demo
{
/* Forward declaration. */
interface Library;
/**
*
* The session object. This is used to retrieve a per-session library
* on behalf of the client. If the session is not refreshed on a
* periodic basis, it will be automatically destroyed.
*
*/
interface Session
{
/**
*
* Get the library object.
*
* @return A proxy for the new library.
*
**/
Library* getLibrary();
/**
*
* Refresh a session. If a session is not refreshed on a regular
* basis by the client, it will be automatically destroyed.
*
**/
idempotent void refresh();
/**
*
* Destroy the session.
*
**/
void destroy();
};
/**
*
* Interface to create new sessions.
*
**/
interface SessionFactory
{
/**
*
* Create a session.
*
* @return A proxy to the session.
*
**/
Session* create();
/**
*
* Get the value of the session timeout. Sessions are destroyed
* if they see no activity for this period of time.
*
* @return The timeout (in seconds).
*
**/
["nonmutating", "cpp:const"] idempotent long getSessionTimeout();
};
};
#endif
|