1/************************************************************** 2 * 3 * Licensed to the Apache Software Foundation (ASF) under one 4 * or more contributor license agreements. See the NOTICE file 5 * distributed with this work for additional information 6 * regarding copyright ownership. The ASF licenses this file 7 * to you under the Apache License, Version 2.0 (the 8 * "License"); you may not use this file except in compliance 9 * with the License. You may obtain a copy of the License at 10 * 11 * http://www.apache.org/licenses/LICENSE-2.0 12 * 13 * Unless required by applicable law or agreed to in writing, 14 * software distributed under the License is distributed on an 15 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 16 * KIND, either express or implied. See the License for the 17 * specific language governing permissions and limitations 18 * under the License. 19 * 20 *************************************************************/ 21 22 23#ifndef __com_sun_star_sdbcx_XAuthorizable_idl__ 24#define __com_sun_star_sdbcx_XAuthorizable_idl__ 25 26#ifndef __com_sun_star_uno_XInterface_idl__ 27#include <com/sun/star/uno/XInterface.idl> 28#endif 29 30#ifndef __com_sun_star_sdbc_SQLException_idl__ 31#include <com/sun/star/sdbc/SQLException.idl> 32#endif 33 34 module com { module sun { module star { module sdbcx { 35 36/** is used for accessing and setting the permissions of a user for a database 37 object. 38 @see com::sun::star::sdbcx::PrivilegeObject 39 */ 40published interface XAuthorizable: com::sun::star::uno::XInterface 41{ 42 43 /** retrieves the permissions for a specific object. 44 @param objName 45 the name of the object 46 @param objType 47 a value of 48 <type scope="com::sun::star::sdbcx">PrivilegeObject</Type> 49 @returns 50 the privileges 51 @throws com::sun::star::sdbc::SQLException 52 if a database access error occurs. 53 */ 54 long getPrivileges([in]string objName, [in]long objType) raises 55 (com::sun::star::sdbc::SQLException); 56 //------------------------------------------------------------------------- 57 58 /** retrieves the permissions for a specific object, which could be granted 59 to other users and groups. 60 @param objName 61 the name of the object 62 @param objType 63 a value of 64 <type scope="com::sun::star::sdbcx">PrivilegeObject</Type> 65 @returns 66 the grant privileges 67 @throws com::sun::star::sdbc::SQLException 68 if a database access error occurs. 69 */ 70 long getGrantablePrivileges([in]string objName, [in]long objType) raises 71 (com::sun::star::sdbc::SQLException); 72 //------------------------------------------------------------------------- 73 74 /** adds additional permissions for a specific object. 75 @param objName 76 the name of the object 77 @param objType 78 a value from the <type scope="com::sun::star::sdbcx">PrivilegeObject</type> constants group 79 @throws com::sun::star::sdbc::SQLException 80 if a database access error occurs. 81 */ 82 void grantPrivileges([in]string objName, [in]long objType, 83 [in]long objPrivileges) raises 84 (com::sun::star::sdbc::SQLException); 85 //------------------------------------------------------------------------- 86 87 /** removes permissions for a specific object from a group or user. 88 @param objName 89 the name of the object 90 @param objType 91 a value from the <type scope="com::sun::star::sdbcx">PrivilegeObject</type> constants group 92 @throws com::sun::star::sdbc::SQLException 93 if a database access error occurs. 94 */ 95 void revokePrivileges([in]string objName, [in]long objType, 96 [in]long objPrivileges) raises 97 (com::sun::star::sdbc::SQLException); 98}; 99 100//============================================================================= 101 102}; }; }; }; 103 104/*=========================================================================== 105===========================================================================*/ 106#endif 107