summaryrefslogtreecommitdiff
path: root/cpp/demo/Database/Oracle/occi/DeptFactoryI.h
blob: d8ec3fc397bac9415b5cf5f51d6395be301d22d2 (plain)
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
// **********************************************************************
//
// 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 DEPT_FACTORYI_H
#define DEPT_FACTORYI_H

#include <HR.h>
#include <occi.h>
#include <DbTypes.h>

class DeptFactoryI : public HR::DeptFactory
{
public:

    DeptFactoryI(oracle::occi::Environment* env, oracle::occi::StatelessConnectionPool*, 
                 const std::string&);
    
    virtual HR::DeptPrx createDept(int, const HR::DeptDesc&, const Ice::Current&);

    virtual HR::DeptPrxSeq findAll(const Ice::Current&);
    virtual HR::DeptPrxSeq findByName(const std::string&, const Ice::Current&);

    virtual HR::DeptPrx findDeptByNo(int, const Ice::Current&);
    virtual HR::EmpPrx findEmpByNo(int, const Ice::Current&);

    oracle::occi::Ref<DEPT_T> findDeptRefByNo(int, oracle::occi::Connection*) const;
    oracle::occi::Ref<EMP_T> findEmpRefByNo(int, oracle::occi::Connection*) const;
    
    oracle::occi::Environment* getEnv() const
    {
        return _env;
    }
    
    oracle::occi::StatelessConnectionPool* getConnectionPool() const
    {
        return _pool;
    }
    
    const std::string& getCategory() const
    {
        return _category;
    }

private:
    oracle::occi::Environment* _env;
    oracle::occi::StatelessConnectionPool* _pool;
    const std::string _category;
};

typedef IceUtil::Handle<DeptFactoryI> DeptFactoryIPtr;

#endif