1 PACKAGE XS_SECURITY_CLASS AUTHID CURRENT_USER AS
2
3 -- Enable log based replication for this package
4 PRAGMA SUPPLEMENTAL_LOG_DATA(default, AUTO);
5
6 -- Create a security class
7 PROCEDURE CREATE_SECURITY_CLASS (
8 name IN VARCHAR2,
9 priv_list IN XS$PRIVILEGE_LIST,
10 parent_list IN XS$NAME_LIST:= NULL,
11 description IN VARCHAR2:= NULL
12 ) ;
13
14 -- Add a parent security class
15 PROCEDURE ADD_PARENTS (
16 sec_class IN VARCHAR2,
17 parent IN VARCHAR2
18 );
19
20 -- Add a list of parent security classes
21 PROCEDURE ADD_PARENTS (
22 sec_class IN VARCHAR2,
23 parent_list IN XS$NAME_LIST
24 );
25
26 -- Remove all parent security classes
27 PROCEDURE REMOVE_PARENTS (
28 sec_class IN VARCHAR2
29 );
30
31 -- Remove a parent security class
32 PROCEDURE REMOVE_PARENTS (
33 sec_class IN VARCHAR2,
34 parent IN VARCHAR2
35 );
36
37 -- Remove a list of parent security classes
38 PROCEDURE REMOVE_PARENTS (
39 sec_class IN VARCHAR2,
40 parent_list IN XS$NAME_LIST
41 );
42
43 -- Add a privilege to existing list of privileges (if any) of the
44 -- security class
45 PROCEDURE ADD_PRIVILEGES (
46 sec_class IN VARCHAR2,
47 priv IN VARCHAR2,
48 implied_priv_list IN XS$NAME_LIST:=NULL,
49 description IN VARCHAR2:=NULL
50 );
51
52 -- Add a list of privileges to existing list of privileges (if any) of the
53 -- security class
54 PROCEDURE ADD_PRIVILEGES (
55 sec_class IN VARCHAR2,
56 priv_list IN XS$PRIVILEGE_LIST
57 );
58
59 -- Set privileges for the security class
60 PROCEDURE REMOVE_PRIVILEGES (
61 sec_class IN VARCHAR2
62 );
63
64 -- Remove a privilege from the security (if the privilege is present)
65 PROCEDURE REMOVE_PRIVILEGES (
66 sec_class IN VARCHAR2,
67 priv IN VARCHAR2
68 );
69
70 -- Remove a list of privileges from the security (if the privileges are
71 -- present)
72 PROCEDURE REMOVE_PRIVILEGES (
73 sec_class IN VARCHAR2,
74 priv_list IN XS$NAME_LIST
75 );
76
77 -- Add implied privilege (single)
78 PROCEDURE ADD_IMPLIED_PRIVILEGES (
79 sec_class IN VARCHAR2,
80 priv IN VARCHAR2,
81 implied_priv IN VARCHAR2
82 );
83
84 -- Add implied privileges (multiple)
85 PROCEDURE ADD_IMPLIED_PRIVILEGES (
86 sec_class IN VARCHAR2,
87 priv IN VARCHAR2,
88 implied_priv_list IN XS$NAME_LIST
89 );
90
91 -- Remove implied privilege (single)
92 PROCEDURE REMOVE_IMPLIED_PRIVILEGES (
93 sec_class IN VARCHAR2,
94 priv IN VARCHAR2,
95 implied_priv IN VARCHAR2
96 );
97
98 -- Remove implied privileges (multiple)
99 PROCEDURE REMOVE_IMPLIED_PRIVILEGES (
100 sec_class IN VARCHAR2,
101 priv IN VARCHAR2,
102 implied_priv_list IN XS$NAME_LIST
103 );
104
105 -- Remove all implied privileges
106 PROCEDURE REMOVE_IMPLIED_PRIVILEGES (
107 sec_class IN VARCHAR2,
108 priv IN VARCHAR2
109 );
110
111 -- Set description of the security class
112 PROCEDURE SET_DESCRIPTION (
113 sec_class IN VARCHAR2,
114 description IN VARCHAR2
115 );
116
117 -- Delete the security class
118 PROCEDURE DELETE_SECURITY_CLASS (
119 sec_class IN VARCHAR2,
120 delete_option IN PLS_INTEGER:= XS_ADMIN_UTIL.DEFAULT_OPTION
121 );
122
123 END XS_SECURITY_CLASS;