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 83 84 85 86 87 88 89 90 91 92
|
// **********************************************************************
//
// 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 HR_ICE
#define HR_ICE
//
// Corresponds to the well-known Dept/Emp Oracle demo database.
// See rdbms/admin/utlsamp.sql
//
module HR
{
interface Dept;
sequence<Dept*> DeptPrxSeq;
interface Emp;
sequence<Emp*> EmpPrxSeq;
exception SqlException
{
string reason;
};
//
// The data we maintain about each department
//
struct DeptDesc
{
int deptno;
string dname;
string loc;
};
//
// The data we maintain about each Employee
//
struct EmpDesc
{
int empno;
string ename;
string job;
Emp* mgr;
string hiredate;
string sal;
string comm;
Dept* edept;
};
interface Emp
{
idempotent EmpDesc getDesc();
idempotent void updateField(string name, string newValue) throws SqlException;
idempotent void updateMgr(int mgr) throws SqlException;
idempotent void updateDept(int deptno) throws SqlException;
void remove();
};
interface Dept
{
Emp* createEmp(int empno, EmpDesc descx) throws SqlException;
idempotent DeptDesc getDesc();
idempotent void updateField(string name, string newValue) throws SqlException;
void remove() throws SqlException;
idempotent EmpPrxSeq findAll();
idempotent EmpPrxSeq findByName(string ename);
};
interface DeptFactory
{
Dept* createDept(int deptno, DeptDesc desc) throws SqlException;
idempotent DeptPrxSeq findAll();
idempotent DeptPrxSeq findByName(string dname);
idempotent Emp* findEmpByNo(int empno);
idempotent Dept* findDeptByNo(int deptno);
};
};
#endif
|