Example #1
0
static LPTABLExFILE
RemoveElement (LPTABLExFILE lpFile, char* aTable)
{
   LPTABLExFILE tm, prec;
   LPTABLExFILE ls = lpFile;

   prec = ls;
   while (ls)
   {
       if (x_strcmp (ls->TableName, aTable) == 0)
       {
           tm = ls;
           if (ls == lpFile)
           {
               ls = ls->next;
               ESL_FreeMem (tm);
               tm = NULL;
               return (ls);
           }
           else
           {
               prec->next = ls->next;
               ESL_FreeMem (tm);
               tm = NULL;
               return (lpFile);
           }
       }
       prec = ls;
       ls = ls->next;
   }
   return lpFile;
}
Example #2
0
LPCOMMENTCOLUMN CxDlgObjectComment::FindCurrentColumn(CString& csColName )
{
	LPOBJECTLIST ls = m_ListColumn;
	LPCOMMENTCOLUMN lpCommentCol;

	while (ls)
	{
		lpCommentCol = (LPCOMMENTCOLUMN)ls->lpObject;
		if (x_strcmp((LPTSTR)lpCommentCol->szColumnName,(LPTSTR)(LPCTSTR)csColName)==0)
			return (LPCOMMENTCOLUMN)ls->lpObject;
		ls = (LPOBJECTLIST)ls->lpNext;
	}
	return NULL;
}
Example #3
0
static LPTABLExFILE
FindStringInListTableAndFile (LPTABLExFILE lpFile, char* aString)
{
   LPTABLExFILE ls = lpFile;


   while (ls)
   {
       if (x_strcmp (ls->TableName, aString) == 0)
           return (ls);

       ls = ls->next;
   }
   return NULL;
}
Example #4
0
static LPOBJECTLIST
FindStringInListObject (LPOBJECTLIST lpList, char* Element)
{
   LPOBJECTLIST ls = lpList;
   char* aString;

   while (ls)
   {
       aString = (char *) ls->lpObject;

       if (x_strcmp (aString, Element) == 0)
           return(ls);
       ls = ls->lpNext;
   }
   return NULL;
}
Example #5
0
static BOOL Modify (LPTABLExFILE lptablexfile)
{
   LPTABLExFILE ls = lptablexfile;

   char* table;
   char  file [2*MAXOBJECTNAME];

   while (ls)
   {
       table = ls->TableName;

       wsprintf (file, "%s.trl", table);
       if (x_strcmp (file, ls->FileName) != 0)
           return TRUE;
       ls = ls->next;
   }
   return FALSE;
}
Example #6
0
static bool 
Addr2HostPort( i8 *addr, ul32 *host, u16 *port )
{
i8	*p,*q; 
static i8	HostPortstring[32]; 
    
    p=addr;
    
    q=HostPortstring;
    while(*p!=':' && *p!=0)
        *q++ = *p++; /*tolower(*p++); */
    *q++=0; 
    
    if(x_strcmp(HostPortstring,"udp")!=0) {
        return FALSE;
	}
    
    if(*p++!=':')  {
        return FALSE;
	}
    
    q=HostPortstring;
    while(*p!=':' && *p!=0)
        *q++=*p++;
    *q++=0; 
        
    *host=x_ntohl(x_inet_addr(HostPortstring));
    
    if(*p++!=':')  {
        return FALSE;
	}
    
    q=HostPortstring;
    while(*p!=':' && *p!=0)
        *q++=*p++;
    *q++=0;  
    
    *port=x_atoi(HostPortstring);
    
    return TRUE;
}
Example #7
0
static BOOL ProhibitString_all2 (HWND hwnd)
{
   int  nSel, i;
   char szFindStr [MAXOBJECTNAME];
   HWND hwndObjectType = GetDlgItem (hwnd, IDC_LOCATE_OBJECTTYPE);
   HWND hwndFind       = GetDlgItem (hwnd, IDC_LOCATE_FIND);

   if ((nSel = ComboBox_GetCurSel (hwndObjectType)) != CB_ERR)
       i = Obj4locate() [nSel];
   else
       i = -1;

   if (i == -1)
       return TRUE;
   switch (i)
   {
       case OT_RULE       :
       case OT_INDEX      :
       case OT_INTEGRITY  :
           Edit_GetText (hwndFind, szFindStr, sizeof (szFindStr));
           if (x_strcmp (szFindStr, String_all) == 0)
           {
               char* mess;
               char  mess2 [200];
               HWND currentFocus = GetFocus();

               mess = ResourceString ((UINT)IDS_E_CANNOT_USE_THIS);
               wsprintf (mess2, mess, String_all);
               MessageBox (NULL, mess2, NULL, MB_OK| MB_TASKMODAL);
               SetFocus (currentFocus);
               return FALSE;
           }

       default:
           return TRUE;
   }
}
Example #8
0
static BOOL OnInitDialog (HWND hwnd, HWND hwndFocus, LPARAM lParam)
{
   LPGRANTPARAMS lpgrant = (LPGRANTPARAMS)lParam;
   HWND    hwndDatabases = GetDlgItem (hwnd, IDC_GNREF_PROCEDURE_DATABASES);
   HWND    hwndGrantees  = GetDlgItem (hwnd, IDC_GNREF_PROCEDURE_GRANTEES);
   HWND    hwndProcedures= GetDlgItem (hwnd, IDC_GNREF_PROCEDURE_PROCEDURES);
   UCHAR   szDatabaseName[MAXOBJECTNAME];
   char    szTitle [MAX_TITLEBAR_LEN];
   char    szFormat[100];

   if (!AllocDlgProp (hwnd, lpgrant))
       return FALSE;
   //
   // force catolist.dll to load
   //
   CATOListDummy();
   if (lpgrant->ObjectType == OT_PROCEDURE)
      LoadString (hResource, (UINT)IDS_T_GNREF_PROCEDURE, szFormat, sizeof (szFormat));
   else
      LoadString (hResource, (UINT)IDS_T_GNREF_SEQUENCE, szFormat, sizeof (szFormat));

   wsprintf (
       szTitle,
       szFormat,
       GetVirtNodeName (GetCurMdiNodeHandle ()));

   SetWindowText (hwnd, szTitle);
   if (lpgrant->ObjectType == OT_PROCEDURE)
      lpHelpStack = StackObject_PUSH (lpHelpStack, StackObject_INIT ((UINT)IDD_GNREF_PROCEDURE));
   else
      lpHelpStack = StackObject_PUSH (lpHelpStack, StackObject_INIT ((UINT)ID_HELPID_GNREF_SEQUENCE));


   if (lpgrant->GranteeType == OT_GROUP)
   {
       Button_SetCheck (GetDlgItem (hwnd, IDC_GNREF_PROCEDURE_GROUP), TRUE);
       FillGrantees (hwndGrantees, lpgrant->GranteeType);
   }
   else
   if (lpgrant->GranteeType == OT_ROLE)
   {
       Button_SetCheck (GetDlgItem (hwnd, IDC_GNREF_PROCEDURE_ROLE),  TRUE);
       FillGrantees (hwndGrantees, lpgrant->GranteeType);
   }
   else
   {
       if  (x_strcmp (lpgrant->PreselectGrantee, lppublicdispstring()) == 0)
           Button_SetCheck (GetDlgItem (hwnd, IDC_GNREF_PROCEDURE_PUBLIC), TRUE);
       else
       {
           Button_SetCheck (GetDlgItem (hwnd, IDC_GNREF_PROCEDURE_USER),   TRUE);
           lpgrant->GranteeType = OT_USER;
           FillGrantees (hwndGrantees, lpgrant->GranteeType);
       }
   }

   ComboBoxFillDatabases  (hwndDatabases);
   ComboBoxSelectFirstStr (hwndDatabases);
   ComboBox_GetText (hwndDatabases, szDatabaseName, sizeof (szDatabaseName));
   x_strcpy (lpgrant->DBName, szDatabaseName);
   
   if (lpgrant->ObjectType == OT_PROCEDURE) {
      if (!CAListBoxFillProcedures (hwndProcedures, szDatabaseName))
         CAListBoxDestroyItemData (hwndProcedures);
   }
   else {
       ShowWindow( GetDlgItem (hwnd,IDC_GNREF_PROCEDURE_OPTION) ,SW_HIDE);// Hided "With grant Option" control
       LoadString (hResource, (UINT)IDS_STATIC_SEQUENCE, szFormat, sizeof (szFormat));
       SetDlgItemText(  hwnd, IDC_STATIC_GNREF_PROCEDURE, szFormat ); 

       if (!CAListBoxFillSequences (hwndProcedures, lpgrant->DBName))
           CAListBoxDestroyItemData (hwndProcedures);
   }

   if (x_strlen (lpgrant->PreselectGrantee) > 1)
      PreselectGrantee (hwndGrantees, lpgrant->PreselectGrantee);
   if (x_strlen (lpgrant->PreselectObject) > 1)
      CAListBoxSelectStringWithOwner (hwndProcedures, lpgrant->PreselectObject, lpgrant->PreselectObjectOwner);
   EnableDisableOKButton (hwnd);

   richCenterDialog(hwnd);
   return TRUE;
}
Example #9
0
static BOOL ObjectFound (HWND hwnd, int  objtype)
{
   int     iresulttype, ires;
   char    szFindStr [MAXOBJECTNAME];
   UCHAR   buf1 [MAXOBJECTNAME],
           buf2 [MAXOBJECTNAME],
           buf3 [MAXOBJECTNAME];
   LPUCHAR parentstrings [MAXPLEVEL];

   HWND hwndDB   = GetDlgItem (hwnd, IDC_LOCATE_DATABASE);
   HWND hwndFind = GetDlgItem (hwnd, IDC_LOCATE_FIND);
   int  hdl      = GetCurMdiNodeHandle ();
   BOOL bwsystem = GetSystemFlag ();

   if (objtype < 0)
       return FALSE;
   else
   {
       switch (objtype)
       {
           case OT_DATABASE: 
           case OT_USER    : 
           case OT_GROUP   : 
           case OT_ROLE    : 
           case OT_LOCATION:
               Edit_GetText (hwndFind, szFindStr, sizeof (szFindStr));
               if (x_strcmp (szFindStr, String_all) == 0)
                   return TRUE;
               else
               {
                   ires = DOMGetObjectLimitedInfo
                           (hdl,
                            szFindStr,             // Object name to find
                            "",             // Object owner
                            objtype,               // Object type    
                            0,                     // Level
                            NULL,                  // Parent string
                            bwsystem,
                            &iresulttype,
                            buf1,
                            buf2,
                            buf3);
                   if (ires == RES_SUCCESS)
                       return TRUE;
                   else
                       return FALSE;
               }

           case OT_TABLE      :
           case OT_VIEW       :
           case OT_PROCEDURE  :
           case OT_SCHEMAUSER :
           case OT_SYNONYM    :
           case OT_DBEVENT    :
           case OT_SEQUENCE   :
               Edit_GetText (hwndFind, szFindStr, sizeof (szFindStr));
               if (x_strcmp (szFindStr, String_all) == 0)
                   return TRUE;
               else
               {
                   char szDbName [MAXOBJECTNAME];
                   Edit_GetText (hwndDB, szDbName, sizeof (szDbName));
                   parentstrings [0] = szDbName;

                   ires = DOMGetObjectLimitedInfo
                           (hdl,
                            szFindStr,             // Object name to find
                            "",             // Object owner
                            objtype,               // Object type    
                            1,                     // Level
                            parentstrings,         // Parent string
                            bwsystem,
                            &iresulttype,
                            buf1,
                            buf2,
                            buf3);
                   if (ires == RES_SUCCESS)
                       return TRUE;
                   else
                       return FALSE;
               }

           case OT_RULE       :
           case OT_INDEX      :
           case OT_INTEGRITY  :
               {
                   char szDbName [MAXOBJECTNAME];
                   Edit_GetText (hwndFind, szFindStr, sizeof (szFindStr));
                   if (x_strcmp (szFindStr, String_all) == 0)
                      return FALSE;
                   Edit_GetText (hwndDB, szDbName, sizeof (szDbName));
                   parentstrings [0] = szDbName;
          
                   ires = DOMGetObjectLimitedInfo
                           (hdl,
                            szFindStr,             // Object name to find
                            "",             // Object owner
                            objtype,               // Object type    
                            2,                     // Level
                            parentstrings,         // Parent string
                            bwsystem,
                            &iresulttype,
                            buf1,
                            buf2,
                            buf3);
                   if (ires == RES_SUCCESS)
                       return TRUE;
                   else
                       return FALSE;
               }


           default:
               return FALSE;
       }
   }
}
Example #10
0
static BOOL FillStructureFromControls (HWND hwnd, LPSECURITYALARMPARAMS lpsecurity)
{
   char buf        [MAXOBJECTNAME];
//   char buffowner  [MAXOBJECTNAME];
//   char bufftable  [MAXOBJECTNAME];
   char szDBE      [MAXOBJECTNAME];
   char szName     [MAXOBJECTNAME];

   LPCHECKEDOBJECTS  obj;
   LPCHECKEDOBJECTS  list = NULL;
   int i, max_database_number, checked;

   HWND hwndDB         = GetDlgItem (hwnd, IDC_SALARM_ONTABLE);
   HWND hwndUsers      = GetDlgItem (hwnd, IDC_SALARM_BYUSER );
   HWND hwndSuccess    = GetDlgItem (hwnd, IDC_SALARM_SUCCESS);
   HWND hwndFailure    = GetDlgItem (hwnd, IDC_SALARM_FAILURE);
   HWND hwndSelect     = GetDlgItem (hwnd, IDC_SALARM_SELECT);
   HWND hwndDelete     = GetDlgItem (hwnd, IDC_SALARM_DELETE);
   HWND hwndInsert     = GetDlgItem (hwnd, IDC_SALARM_INSERT);
   HWND hwndUpdate     = GetDlgItem (hwnd, IDC_SALARM_UPDATE);
   HWND hwndConnect    = GetDlgItem (hwnd, IDC_SALARM_CONNECT);
   HWND hwndDisconnect = GetDlgItem (hwnd, IDC_SALARM_DISCONNECT);
   HWND hwndDBE        = GetDlgItem (hwnd, IDC_SALARM_DBEVENT);
   HWND hwndDBEText    = GetDlgItem (hwnd, IDC_SALARM_DBEVENT_TEXT);
   HWND hwndName       = GetDlgItem (hwnd, IDC_SALARM_NAME);

   x_strcpy (lpsecurity->DBName, "iidbdb");
   ZEROINIT (szName);
   Edit_GetText (hwndName, szName, sizeof (szName));
   x_strcpy (lpsecurity->ObjectName, szName);

   lpsecurity->bsuccfail [SECALARMSUCCESS] = Button_GetCheck (hwndSuccess);
   lpsecurity->bsuccfail [SECALARMFAILURE] = Button_GetCheck (hwndFailure);
   //
   // Get selection from
   // toggle buttons (Select, Delete, Insert, Update)
   //
   lpsecurity->baccesstype [SECALARMSEL]       = Button_GetCheck (hwndSelect);
   lpsecurity->baccesstype [SECALARMDEL]       = Button_GetCheck (hwndDelete);
   lpsecurity->baccesstype [SECALARMINS]       = Button_GetCheck (hwndInsert);
   lpsecurity->baccesstype [SECALARMUPD]       = Button_GetCheck (hwndUpdate);
   lpsecurity->baccesstype [SECALARMCONNECT]   = Button_GetCheck (hwndConnect   );
   lpsecurity->baccesstype [SECALARMDISCONN]   = Button_GetCheck (hwndDisconnect);
   
   //
   // Get the names of users that have been checked and
   // insert into the list
   //
  
   if (Button_GetCheck (GetDlgItem (hwnd, IDC_SALARM_USER)))
       lpsecurity->iAuthIdType = OT_USER;
   else
   if (Button_GetCheck (GetDlgItem (hwnd, IDC_SALARM_GROUP)))
       lpsecurity->iAuthIdType = OT_GROUP;
   else
   if (Button_GetCheck (GetDlgItem (hwnd, IDC_SALARM_ROLE)))
       lpsecurity->iAuthIdType = OT_ROLE;
   else
   if (Button_GetCheck (GetDlgItem (hwnd, IDC_SALARM_PUBLIC)))
       lpsecurity->iAuthIdType = OT_PUBLIC;
   else
       lpsecurity->iAuthIdType = OT_USER;

   max_database_number = CAListBox_GetCount (hwndUsers);
   
   
   if (Button_GetCheck (GetDlgItem (hwnd, IDC_SALARM_PUBLIC)))
   {
       obj = ESL_AllocMem (sizeof (CHECKEDOBJECTS));
       if (!obj)
       {
           FreeAttachedPointers (lpsecurity, OTLL_SECURITYALARM);
           ErrorMessage   ((UINT)IDS_E_CANNOT_ALLOCATE_MEMORY, RES_ERR);
           return FALSE;
       }
       else
       {
           x_strcpy (obj->dbname, lppublicsysstring());
           obj->bchecked = TRUE;
           list = AddCheckedObject (list, obj);
       }
   }

   for (i = 0; i < max_database_number; i++)
   {
       checked = CAListBox_GetSel (hwndUsers, i);
       if (checked == 1)
       {
           CAListBox_GetText (hwndUsers, i, buf);
           obj = ESL_AllocMem (sizeof (CHECKEDOBJECTS));
           if (!obj)
           {
               FreeAttachedPointers (lpsecurity, OTLL_SECURITYALARM);
               ErrorMessage   ((UINT)IDS_E_CANNOT_ALLOCATE_MEMORY, RES_ERR);
               return FALSE;
           }
           else
           {
               if (x_strcmp (buf, lppublicdispstring()) == 0)
                   x_strcpy (obj->dbname, lppublicsysstring());
               else
                   x_strcpy (obj->dbname, QuoteIfNeeded(buf));
               obj->bchecked = TRUE;
               list = AddCheckedObject (list, obj);
           }
       }
   }
   lpsecurity->lpfirstUser = list;

   //
   // Get the names of Database that have been checked and
   // insert into the list
   //
   
   max_database_number = CAListBox_GetCount (hwndDB);
   list = NULL;
   
   for (i=0; i<max_database_number; i++)
   {
       checked = CAListBox_GetSel (hwndDB, i);
       if (checked)
       {
           CAListBox_GetText (hwndDB, i, buf);

           obj = ESL_AllocMem (sizeof (CHECKEDOBJECTS));
           if (!obj)
           {
               FreeAttachedPointers (lpsecurity, OTLL_SECURITYALARM);
               ErrorMessage   ((UINT)IDS_E_CANNOT_ALLOCATE_MEMORY, RES_ERR);
               return FALSE;
           }
           else
           {
               x_strcpy (obj->dbname, buf);
               obj->bchecked = TRUE;
               list = AddCheckedObject (list, obj);
           }
       }
   }
   lpsecurity->lpfirstTable = list;

   ComboBox_GetText (hwndDBE, szDBE, sizeof (szDBE));
   if ((x_strlen (szDBE) > 0 ) && (x_strcmp (szDBE, szSecurityDBEvent) != 0))
   {
       char szOwner [MAXOBJECTNAME];
       char szAll   [MAXOBJECTNAME];
       int  len, nSel;

       nSel = ComboBox_GetCurSel (hwndDBE);
       x_strcpy (szOwner, (char *) ComboBox_GetItemData (hwndDBE, nSel));
       StringWithOwner  (szDBE, szOwner, szAll);
       x_strcpy (lpsecurity->DBEvent, szAll);
       len = Edit_GetTextLength (hwndDBEText);
       if (len > 0)
       {
           lpsecurity->lpDBEventText = ESL_AllocMem ((len*sizeof(TCHAR)) + sizeof(TCHAR));
           if (lpsecurity->lpDBEventText)
           {
             Edit_GetText (hwndDBEText, lpsecurity->lpDBEventText, len+1); // Emb 26/06/97: +1 was missing --> lost character
             if (EscapedSimpleQuote(&lpsecurity->lpDBEventText) == RES_ERR) {
               FreeAttachedPointers (lpsecurity, OTLL_SECURITYALARM);
               ErrorMessage   ((UINT)IDS_E_CANNOT_ALLOCATE_MEMORY, RES_ERR);
               return FALSE;
             }
           }
           else
           {
               FreeAttachedPointers (lpsecurity, OTLL_SECURITYALARM);
               ErrorMessage   ((UINT)IDS_E_CANNOT_ALLOCATE_MEMORY, RES_ERR);
               return FALSE;
           }
       }
       lpsecurity->bDBEvent = TRUE;
   }
   else if (lpsecurity->lpDBEventText)
   {
       ESL_FreeMem (lpsecurity->lpDBEventText);
       lpsecurity->lpDBEventText = NULL;
   }

   return TRUE;
}
Example #11
0
static void OnCommand (HWND hwnd, int id, HWND hwndCtl, UINT codeNotify)
{
   LPSECURITYALARMPARAMS lpsecurity = GetDlgProp (hwnd);
   HWND hwndUsers    = GetDlgItem (hwnd, IDC_SALARM_BYUSER );
   HWND hwndTables = GetDlgItem (hwnd, IDC_SALARM_ONTABLE );
   HWND hwndName   = GetDlgItem (hwnd, IDC_SALARM_NAME );        

   int idu;    
   int i, n, idt;   
   int ires;
   char szName [MAXOBJECTNAME];

   switch (id)
   {
       case IDOK:
           if (!FillStructureFromControls (hwnd, lpsecurity))
               break;
           //
           // Call the low level function to write data on disk
           //

           ires = DBAAddObject
               (GetVirtNodeName (GetCurMdiNodeHandle ()),
               OTLL_SECURITYALARM,
               (void *) lpsecurity );

           if (ires != RES_SUCCESS)
           {
               FreeAttachedPointers (lpsecurity, OTLL_SECURITYALARM);
               ErrorMessage   ((UINT)IDS_E_CREATE_SECURITY_FAILED, ires);
               break;
           }
           else
               EndDialog (hwnd, TRUE);
           
           FreeAttachedPointers (lpsecurity, OTLL_SECURITYALARM);
           break;

       case IDCANCEL:
           EndDialog (hwnd, FALSE);
           FreeAttachedPointers (lpsecurity, OTLL_SECURITYALARM);
           break;

       case IDC_SALARM_BYUSER:
           if (Edit_GetText (hwndName, szName, sizeof (szName)) != 0 &&
              CAListBox_GetSelCount (hwndUsers) > 1)   {
                idu=CAListBox_GetCurSel (hwndUsers);
                n = CAListBox_GetCount (hwndUsers);
                for (i=0; i<n; i++)
                       CAListBox_SetSel (hwndUsers, FALSE, i);
               CAListBox_SetCurSel (hwndUsers, idu);
               CAListBox_SetSel (hwndUsers, TRUE, idu);
               //"Multiple auth-id is not allowed if the security alarm has a name."
               MessageBox(hwnd,
                   ResourceString(IDS_ERR_USING_CHECKPOINT),
                   NULL, MB_OK | MB_ICONEXCLAMATION | MB_TASKMODAL);
                   EnableDisableOKButton (hwnd);
             }
           else if (CAListBox_GetSelCount (hwndUsers) > 1)
                  Edit_Enable(hwndName,FALSE);
                else
                  Edit_Enable(hwndName,TRUE);
               
           EnableDisableOKButton (hwnd);
           break;

       case IDC_SALARM_ONTABLE:
           if (codeNotify == CALBN_CHECKCHANGE) {
               idt = CAListBox_GetCurSel (hwndTables);              
                n = CAListBox_GetCount (hwndTables);                
       
                for (i=0; i<n; i++)
                  CAListBox_SetSel (hwndTables, FALSE, i);      
           
               CAListBox_SetCurSel (hwndTables, idt);              
                CAListBox_SetSel (hwndTables, TRUE, idt);
               if (bNoDisplayMessageDB == FALSE) {
                  int iret;
                  //"Only one database can be checked. Previous database, if any, was unchecked.\nDon't display this message any more?"
                  iret = MessageBox(hwnd, ResourceString(IDS_ERR_DATABASE_BE_CHECKED),
                         NULL, MB_OKCANCEL | MB_ICONEXCLAMATION | MB_TASKMODAL);
                  if (iret == IDOK)
                     bNoDisplayMessageDB=TRUE;
               }
           }
           EnableDisableOKButton (hwnd);
           break;

       case IDC_SALARM_SUCCESS:
       case IDC_SALARM_FAILURE:
       case IDC_SALARM_SUCCESSFAILURE:
       case IDC_SALARM_SELECT:
       case IDC_SALARM_DELETE:
       case IDC_SALARM_INSERT:
       case IDC_SALARM_UPDATE:
       case IDC_SALARM_CONNECT:
       case IDC_SALARM_DISCONNECT:
           EnableDisableOKButton (hwnd);
           break;

       case IDC_SALARM_USER:
           if (Button_GetCheck (hwndCtl))
           {
               CAListBox_ResetContent (hwndUsers);
               CAListBoxFillUsers     (hwndUsers);
               EnableDisableOKButton (hwnd);
           }
           break;

       case IDC_SALARM_GROUP:
           if (Button_GetCheck (hwndCtl))
           {
               CAListBox_ResetContent (hwndUsers);
               CAListBoxFillGroups    (hwndUsers);
               EnableDisableOKButton (hwnd);
           }
           break;

       case IDC_SALARM_ROLE:
           if (Button_GetCheck (hwndCtl))
           {
               CAListBox_ResetContent (hwndUsers);
               CAListBoxFillRoles     (hwndUsers);
               EnableDisableOKButton  (hwnd);
           }
           break;

       case IDC_SALARM_PUBLIC:
           if (Button_GetCheck (hwndCtl))
           {
               CAListBox_ResetContent (hwndUsers);
               EnableDisableOKButton  (hwnd);
           }
           break;

       case IDC_SALARM_DBEVENT:
           if (codeNotify == CBN_SELCHANGE)
           {
               char szItem [MAXOBJECTNAME];

               ZEROINIT (szItem);
               ComboBox_GetText (hwndCtl, szItem, sizeof (szItem));

               if (x_strcmp (szItem, szSecurityDBEvent) == 0)
               {
                   lpsecurity->bDBEvent = FALSE;
                   EnableControl (hwnd, FALSE);
               }
               else
                   EnableControl (hwnd, TRUE);
           }
           break;
   }
}
Example #12
0
static BOOL OnInitDialog (HWND hwnd, HWND hwndFocus, LPARAM lParam)
{
   LPREVOKEPARAMS lprevoke = (LPREVOKEPARAMS)lParam;
   HWND hwndGrantees    = GetDlgItem (hwnd, IDC_REVOKE_TABLE_GRANTEES);
   char szTitle [90];
   char szStr   [MAX_TITLEBAR_LEN];
   int  i, positive_privilege;
   BOOL bGrantAll = FALSE;
   char buffer  [MAXOBJECTNAME];
   LPUCHAR parentstrings [MAXPLEVEL];

   if (!AllocDlgProp (hwnd, lprevoke))
       return FALSE;
   //
   // force catolist.dll to load
   //
   CATOListDummy();


   for (i = 0; i < GRANT_MAX_PRIVILEGES; i++)
   {
       if (lprevoke->PreselectPrivileges [i])
       {
           positive_privilege = i;
           break;
       }
   }

   switch (lprevoke->ObjectType)
   {
       case OT_TABLE:
           lpHelpStack = StackObject_PUSH (lpHelpStack, StackObject_INIT ((UINT)IDD_REVOKE_TABLE));
           break;
       case OT_VIEW:
           lpHelpStack = StackObject_PUSH (lpHelpStack, StackObject_INIT ((UINT)IDD_REVOKE_VIEW));
           break;
       case OT_DBEVENT:
           lpHelpStack = StackObject_PUSH (lpHelpStack, StackObject_INIT ((UINT)IDD_REVOKE_DBEVENT));
           break;
       case OT_PROCEDURE:
           lpHelpStack = StackObject_PUSH (lpHelpStack, StackObject_INIT ((UINT)IDD_RVKGPROC));
           break;
       case OT_SEQUENCE:
           lpHelpStack = StackObject_PUSH (lpHelpStack, StackObject_INIT ((UINT)IDD_RVKGSEQUENCE));
           break;
   }

   switch (positive_privilege)
   {
       case GRANT_SELECT    :
           LoadString (hResource, (UINT)IDS_T_REVOKE_SELECT_ON, szTitle, sizeof (szTitle));
           lprevoke->Privileges [GRANT_SELECT] = TRUE;
           if (lprevoke->ObjectType == OT_TABLE)
               HaveBeenGranted = OT_TABLEGRANT_SEL_USER;
           else
               HaveBeenGranted = OT_VIEWGRANT_SEL_USER;
           break;
       case GRANT_INSERT    :
           LoadString (hResource, (UINT)IDS_T_REVOKE_INSERT_ON, szTitle, sizeof (szTitle));
           lprevoke->Privileges [GRANT_INSERT] = TRUE;
           if (lprevoke->ObjectType == OT_TABLE)
               HaveBeenGranted = OT_TABLEGRANT_INS_USER;
           else
               HaveBeenGranted = OT_VIEWGRANT_INS_USER;
           break;
       case GRANT_UPDATE    :
           LoadString (hResource, (UINT)IDS_T_REVOKE_UPDATE_ON, szTitle, sizeof (szTitle));
           lprevoke->Privileges [GRANT_UPDATE] = TRUE;
           if (lprevoke->ObjectType == OT_TABLE)
               HaveBeenGranted = OT_TABLEGRANT_UPD_USER;
           else
               HaveBeenGranted = OT_VIEWGRANT_UPD_USER;
           break;
       case GRANT_DELETE    :
           LoadString (hResource, (UINT)IDS_T_REVOKE_DELETE_ON, szTitle, sizeof (szTitle));
           lprevoke->Privileges [GRANT_DELETE] = TRUE;
           if (lprevoke->ObjectType == OT_TABLE)
               HaveBeenGranted = OT_TABLEGRANT_DEL_USER;
           else
               HaveBeenGranted = OT_VIEWGRANT_DEL_USER;
           break;
       case GRANT_COPY_INTO :
           LoadString (hResource, (UINT)IDS_T_REVOKE_COPYINTO_ON, szTitle, sizeof (szTitle));
           lprevoke->Privileges [GRANT_COPY_INTO] = TRUE;
           HaveBeenGranted = OT_TABLEGRANT_CPI_USER;
           break;
       case GRANT_COPY_FROM :
           LoadString (hResource, (UINT)IDS_T_REVOKE_COPYFROM_ON, szTitle, sizeof (szTitle));
           lprevoke->Privileges [GRANT_COPY_FROM] = TRUE; 
           HaveBeenGranted = OT_TABLEGRANT_CPF_USER;
           break;
       case GRANT_REFERENCE :
           LoadString (hResource, (UINT)IDS_T_REVOKE_REFERENCE_ON, szTitle, sizeof (szTitle));
           lprevoke->Privileges [GRANT_REFERENCE] = TRUE;
           HaveBeenGranted = OT_TABLEGRANT_REF_USER;
           break;
       case GRANT_RAISE     :
           LoadString (hResource, (UINT)IDS_T_REVOKE_RAISE_ON, szTitle, sizeof (szTitle));
           lprevoke->Privileges [GRANT_RAISE] = TRUE;
           HaveBeenGranted = OT_DBEGRANT_RAISE_USER;
           break;
       case GRANT_REGISTER  :
           LoadString (hResource, (UINT)IDS_T_REVOKE_REGISTER_ON, szTitle, sizeof (szTitle));
           lprevoke->Privileges [GRANT_REGISTER] = TRUE;
           HaveBeenGranted = OT_DBEGRANT_REGTR_USER;
           break;
       case GRANT_EXECUTE   :
           LoadString (hResource, (UINT)IDS_T_REVOKE_EXECUTE_ON, szTitle, sizeof (szTitle));
           lprevoke->Privileges [GRANT_EXECUTE] = TRUE;
           HaveBeenGranted = OT_PROCGRANT_EXEC_USER;
           break;
       case GRANT_NEXT_SEQUENCE   :
           LoadString (hResource, (UINT)IDS_T_REVOKE_NEXT_SEQUENCE_ON, szTitle, sizeof (szTitle));
           lprevoke->Privileges [GRANT_NEXT_SEQUENCE] = TRUE;
           HaveBeenGranted = OT_SEQUGRANT_NEXT_USER;
           break;
       case GRANT_ALL       :
           LoadString (hResource, (UINT)IDS_T_REVOKE_ALL_ON, szTitle, sizeof (szTitle));
           lprevoke->Privileges [GRANT_ALL] = TRUE;
           bGrantAll = TRUE;
           switch (lprevoke->ObjectType)
           {
               case OT_TABLE:
                   break;
               case OT_PROCEDURE:
                   break;
               case OT_DBEVENT:
                   break;

           }
           HaveBeenGranted = -1;
           break;
   }

   parentstrings [0] = lprevoke->DBName;
   GetExactDisplayString (
       lprevoke->PreselectObject,
       lprevoke->PreselectObjectOwner,
       lprevoke->ObjectType,
       parentstrings,
       buffer);

   wsprintf (
       szStr,
       szTitle,
       GetVirtNodeName ( GetCurMdiNodeHandle ()),
       lprevoke->DBName,
       buffer);
   SetWindowText (hwnd, szStr);

   if ( lprevoke->ObjectType == OT_SEQUENCE)
   {
      //Hide control the controls not used for sequences
      ShowWindow( GetDlgItem (hwnd,IDC_REVOKE_TABLE_GRANT_OPTION) ,SW_HIDE); // Hided "With grant Option" control
      ShowWindow( GetDlgItem (hwnd,IDC_REVOKE_TABLE_PRIVILEGE)    ,SW_HIDE); 
      ShowWindow( GetDlgItem (hwnd,102)                           ,SW_HIDE);
      ShowWindow( GetDlgItem (hwnd,5020)                          ,SW_HIDE);
      // Unchecked the controls not used
      Button_SetCheck (GetDlgItem (hwnd, IDC_REVOKE_TABLE_PRIVILEGE),    FALSE);
      Button_SetCheck (GetDlgItem (hwnd, IDC_REVOKE_TABLE_CASCADE),      TRUE);
      Button_SetCheck (GetDlgItem (hwnd, IDC_REVOKE_TABLE_RESTRICT),     FALSE);
      Button_SetCheck (GetDlgItem (hwnd, IDC_REVOKE_TABLE_GRANT_OPTION), FALSE);
   }
   else
   {
      Button_SetCheck (GetDlgItem (hwnd, IDC_REVOKE_TABLE_PRIVILEGE),TRUE);
      Button_SetCheck (GetDlgItem (hwnd, IDC_REVOKE_TABLE_CASCADE),  TRUE);
   }

   if (lprevoke->GranteeType == OT_UNKNOWN)
   {
       HandleUnknounObject (hwnd);
   }
   else   
   if (lprevoke->GranteeType == OT_GROUP)
   {
       Button_SetCheck (GetDlgItem (hwnd, IDC_REVOKE_TABLE_GROUP), TRUE);
       FillGrantedUsers(hwndGrantees, lprevoke, HaveBeenGranted);
   }
   else
   if (lprevoke->GranteeType == OT_ROLE)
   {
       Button_SetCheck (GetDlgItem (hwnd, IDC_REVOKE_TABLE_ROLE),  TRUE);
       FillGrantedUsers(hwndGrantees, lprevoke, HaveBeenGranted);
   }
   else
   {
       if  (x_strcmp (lprevoke->PreselectGrantee, lppublicdispstring()) == 0)
           Button_SetCheck (GetDlgItem (hwnd, IDC_REVOKE_TABLE_PUBLIC),  TRUE);
       else
       {
           lprevoke->GranteeType = OT_USER;
           Button_SetCheck (GetDlgItem (hwnd, IDC_REVOKE_TABLE_USER),  TRUE);
           FillGrantedUsers(hwndGrantees, lprevoke, HaveBeenGranted);
       }
   }

   if (x_strlen (lprevoke->PreselectGrantee) > 0)
   {
       CAListBox_SelectString (hwndGrantees, -1, lprevoke->PreselectGrantee);
   }

   if (lprevoke->GranteeType != OT_UNKNOWN)
       EnableDisableOKButton  (hwnd);
   
   richCenterDialog(hwnd);
   return TRUE;
}
Example #13
0
int GetDetailInfoLL(LPUCHAR lpVirtNode,int iobjecttype, void *lpparameters,
                  BOOL bRetainSessForLock, int *ilocsession)
{
   int iret, SessType;
   char connectname[MAXOBJECTNAME];


   if (!lpparameters) {
      myerror(ERR_INVPARAMS);
      return RES_ERR;
   }

   if (bRetainSessForLock)
      SessType=SESSION_TYPE_CACHEREADLOCK;
   else
      SessType=SESSION_TYPE_CACHENOREADLOCK;

   switch (iobjecttype) {
      case OT_SEQUENCE:
       {
       LPSEQUENCEPARAMS pseqprm=(LPSEQUENCEPARAMS) lpparameters;

       if (!*(pseqprm->objectname)) {
          myerror(ERR_INVPARAMS);
          return RES_ERR;
       }

       if (!*(pseqprm->DBName)) {
          myerror(ERR_INVPARAMS);
          return RES_ERR;
       }

       wsprintf(connectname,"%s::%s",lpVirtNode, pseqprm->DBName);

       iret = Getsession(connectname, SessType, ilocsession);
       if (iret !=RES_SUCCESS)
          return RES_ERR;

       iret=GetInfSequence(pseqprm);

       }
         break;

      case OT_REPLIC_CONNECTION_V11:
       {
       LPREPLCONNECTPARAMS   lpaddrepl= (LPREPLCONNECTPARAMS)lpparameters; ;
       wsprintf(connectname,"%s::%s",lpVirtNode,lpaddrepl->DBName);
       iret = Getsession(connectname, SessType, ilocsession);

       if (iret !=RES_SUCCESS)
         return RES_ERR;
       iret = ReplicConnectV11(lpaddrepl);
       
       }
       break;
      case OT_REPLIC_CONNECTION:
       {
       LPREPLCONNECTPARAMS   lpaddrepl= (LPREPLCONNECTPARAMS)lpparameters; ;
       wsprintf(connectname,"%s::%s",lpVirtNode,lpaddrepl->DBName);
       iret = Getsession(connectname, SessType, ilocsession);

       if (iret !=RES_SUCCESS)
         return RES_ERR;
       iret = ReplicConnect(lpaddrepl);
       }
       break;
      case OT_DBEVENT:
         iret =RES_SUCCESS; // no displayable property
         // TO BE FINISHED session not opened.

         break;
      case OT_ROLE:
         {
            LPROLEPARAMS proleprm=(LPROLEPARAMS) lpparameters;

            if (!*(proleprm->ObjectName)) {
               myerror(ERR_INVPARAMS);
               return RES_ERR;
            }

            FreeAttachedPointers(lpparameters, iobjecttype);

            wsprintf(connectname,"%s::iidbdb",lpVirtNode);

            iret = Getsession(connectname, SessType, ilocsession);
            if (iret !=RES_SUCCESS)
               return RES_ERR;

            iret=GetInfRole(proleprm);

         }
         break;

//JFS Begin
      case OT_REPLIC_CDDS :
      case OT_REPLIC_CDDS_V11 :
         {
            LPREPCDDS lpcdds = (LPREPCDDS)lpparameters;
            wsprintf(connectname,"%s::%s",lpVirtNode,lpcdds->DBName);

            iret = Getsession(connectname, SESSION_TYPE_INDEPENDENT, ilocsession);
            if (iret !=RES_SUCCESS)
               return RES_ERR;

            iret = CDDSLoadAll(lpcdds,lpVirtNode);
         }
         break;
//JFS End

      case OT_GROUP :
         {
            LPGROUPPARAMS pgrpprm=(LPGROUPPARAMS) lpparameters;

            if (!*(pgrpprm->ObjectName)) {
               myerror(ERR_INVPARAMS);
               return RES_ERR;
            }

            FreeAttachedPointers(lpparameters, iobjecttype);

            wsprintf(connectname,"%s::iidbdb",lpVirtNode);

            iret = Getsession(connectname, SessType, ilocsession);
            if (iret !=RES_SUCCESS)
               return RES_ERR;

            iret=GetInfGrp(pgrpprm);

         }
         break;

      case OT_INTEGRITY:
         {
            LPINTEGRITYPARAMS pintegrityprm=(LPINTEGRITYPARAMS) lpparameters;


            if (!*(pintegrityprm->DBName)) {
               myerror(ERR_INVPARAMS);
               return RES_ERR;
            }

            wsprintf(connectname,"%s::%s",lpVirtNode, pintegrityprm->DBName);

            iret = Getsession(connectname, SessType, ilocsession);
            if (iret !=RES_SUCCESS)
               return RES_ERR;

            iret=GetInfIntegrity(pintegrityprm);

         }
         break;

      case OT_LOCATION:
         {
            LPLOCATIONPARAMS plocprm=(LPLOCATIONPARAMS) lpparameters;

            if (!*(plocprm->objectname)) {
               myerror(ERR_INVPARAMS);
               return RES_ERR;
            }

            wsprintf(connectname,"%s::iidbdb",lpVirtNode);

            iret = Getsession(connectname, SessType, ilocsession);
            if (iret !=RES_SUCCESS)
               return RES_ERR;

            iret=GetInfLoc(plocprm);

         }
         break;
         
      case OT_PROCEDURE:
         {
            LPPROCEDUREPARAMS pprocprm=(LPPROCEDUREPARAMS) lpparameters;

            if (!*(pprocprm->objectname)) {
               myerror(ERR_INVPARAMS);
               return RES_ERR;
            }

            if (!*(pprocprm->DBName)) {
               myerror(ERR_INVPARAMS);
               return RES_ERR;
            }

            wsprintf(connectname,"%s::%s",lpVirtNode, pprocprm->DBName);

            iret = Getsession(connectname, SessType, ilocsession);
            if (iret !=RES_SUCCESS)
               return RES_ERR;

            iret=GetInfProcedure(pprocprm);

         }
         break;

      case OT_RULE:
         {
            LPRULEPARAMS pruleprm=(LPRULEPARAMS) lpparameters;

            if (!*(pruleprm->RuleName)) {
               myerror(ERR_INVPARAMS);
               return RES_ERR;
            }

            if (!*(pruleprm->DBName)) {
               myerror(ERR_INVPARAMS);
               return RES_ERR;
            }

            wsprintf(connectname,"%s::%s",lpVirtNode, pruleprm->DBName);

            iret = Getsession(connectname, SessType, ilocsession);
            if (iret !=RES_SUCCESS)
               return RES_ERR;

            iret=GetInfRule(pruleprm);

         }
         break;

      case OT_USER :
         {
            LPUSERPARAMS pusrprm=(LPUSERPARAMS) lpparameters;

            if (!*(pusrprm->ObjectName)) {
               myerror(ERR_INVPARAMS);
               return RES_ERR;
            }

            FreeAttachedPointers(lpparameters, iobjecttype);

            wsprintf(connectname,"%s::iidbdb",lpVirtNode);

            iret = Getsession(connectname, SessType, ilocsession);
            if (iret !=RES_SUCCESS)
               return RES_ERR;

            iret=GetInfUsr(pusrprm);

         }
         break;
         
      case OT_PROFILE :
         {
            LPPROFILEPARAMS pprofprm=(LPPROFILEPARAMS) lpparameters;

            if (!*(pprofprm->ObjectName)) {
               myerror(ERR_INVPARAMS);
               return RES_ERR;
            }

            FreeAttachedPointers(lpparameters, iobjecttype);

            wsprintf(connectname,"%s::iidbdb",lpVirtNode);

            iret = Getsession(connectname, SessType, ilocsession);
            if (iret !=RES_SUCCESS)
               return RES_ERR;

            iret=GetInfProf(pprofprm);

         }
         break;
         
      case OT_VIEW:
         {
            LPVIEWPARAMS pviewprm=(LPVIEWPARAMS) lpparameters;

            if (!*(pviewprm->objectname)) {
               myerror(ERR_INVPARAMS);
               return RES_ERR;
            }

            if (!*(pviewprm->DBName)) {
               myerror(ERR_INVPARAMS);
               return RES_ERR;
            }

            wsprintf(connectname,"%s::%s",lpVirtNode, pviewprm->DBName);

            iret = Getsession(connectname, SessType, ilocsession);
            if (iret !=RES_SUCCESS)
               return RES_ERR;

            iret=GetInfView(pviewprm);

         }
         break;

      case OT_INDEX:
         {
            LPINDEXPARAMS pindexprm=(LPINDEXPARAMS) lpparameters;

            if (!*(pindexprm->objectname)) {
               myerror(ERR_INVPARAMS);
               return RES_ERR;
            }

            if (!*(pindexprm->DBName)) {
               myerror(ERR_INVPARAMS);
               return RES_ERR;
            }

            FreeAttachedPointers(lpparameters, iobjecttype);

            wsprintf(connectname,"%s::%s",lpVirtNode, pindexprm->DBName);

            iret = Getsession(connectname, SessType, ilocsession);
            if (iret !=RES_SUCCESS)
               return RES_ERR;

            x_strcpy(pindexprm->szNodeName, lpVirtNode);
            iret=GetInfIndex(pindexprm);
         }
         break;

      case OT_TABLE:
         {
            LPTABLEPARAMS ptableprm=(LPTABLEPARAMS) lpparameters;

            if (!*(ptableprm->objectname)) {
               myerror(ERR_INVPARAMS);
               return RES_ERR;
            }

            if (!*(ptableprm->DBName)) {
               myerror(ERR_INVPARAMS);
               return RES_ERR;
            }

            FreeAttachedPointers(lpparameters, iobjecttype);

            wsprintf(connectname,"%s::%s",lpVirtNode, ptableprm->DBName);

            iret = Getsession(connectname, SessType, ilocsession);
            if (iret !=RES_SUCCESS)
               return RES_ERR;

            x_strcpy(ptableprm->szNodeName, lpVirtNode);
            iret=GetInfTable(ptableprm);

         }
         break;

      case OT_DATABASE:
         {
            LPDATABASEPARAMS pbaseprm=(LPDATABASEPARAMS) lpparameters;

            wsprintf(connectname,"%s::%s",lpVirtNode,pbaseprm->objectname);
            iret = Getsession(connectname, SessType, ilocsession);
            if (iret !=RES_SUCCESS)
               return RES_ERR;
            iret=GetInfBaseExtend(pbaseprm);
            // retrieve UNICODE information
            pbaseprm->bUnicodeDBNFD = 0;
            pbaseprm->bUnicodeDBNFC = 0;
            if (iret==RES_SUCCESS && GetOIVers() >= OIVERS_26)
            {
                TCHAR tcVersion[40];
	TCHAR tcNormalization[40];
                INGRESII_llDBMSInfo(_T("unicode_level"),tcVersion);
	INGRESII_llDBMSInfo(_T("unicode_normalization"), tcNormalization);
                if (tcVersion[0] != '0' && (x_strcmp(tcNormalization, "NFD")==0)) 
                    pbaseprm->bUnicodeDBNFD = 1;
	if (tcVersion[0]!='0' && (x_strcmp(tcNormalization, "NFC")==0))
	    pbaseprm->bUnicodeDBNFC = 1;
            }
            // Retrieve the current Catalog Page Size
            if (iret==RES_SUCCESS && GetOIVers() >= OIVERS_30)
               iret = GetCatalogPageSize(pbaseprm);

            if (iret==RES_SUCCESS)
               iret=ReleaseSession(*ilocsession, RELEASE_COMMIT);
            else
               ReleaseSession(*ilocsession, RELEASE_ROLLBACK);

            wsprintf(connectname,"%s::iidbdb",lpVirtNode);

            iret = Getsession(connectname, SessType, ilocsession);
            if (iret !=RES_SUCCESS)
               return RES_ERR;

            iret=GetInfBase(pbaseprm);
         }
         break;

      default :
         iret=RES_ERR;
   }

   if (bRetainSessForLock)  // The session was asked to be retained for...
      return iret;          // ... locking purposes, return without releasing.

   if (iret==RES_SUCCESS)
     iret=ReleaseSession(*ilocsession, RELEASE_COMMIT);
   else 
     ReleaseSession(*ilocsession, RELEASE_ROLLBACK);
   return iret;
}
Example #14
0
void CxDlgObjectComment::OnOK()
{
	CString csTempo,csNameCol,csSyntaxObject,csVNodeName,csSQLSyntax;
	LPCOMMENTCOLUMN lpCommentCol;
	LPSTRINGLIST lpStrList = NULL;
	BOOL bGenerate;
	int i,iret,nCount = m_cListCtrl.GetItemCount();
	csVNodeName = (LPTSTR)GetVirtNodeName(m_nNodeHandle);
	csSyntaxObject.Empty();

	m_cListCtrl.HideProperty(TRUE);

	m_cEditTableComment.GetWindowText(m_csCommentObject);

	if (!m_tcObjComment && !m_csCommentObject.IsEmpty()) // new comment on general object
		GenerateSyntaxComment4Object(csSyntaxObject);
	else if (m_tcObjComment && (x_strcmp(m_csCommentObject,m_tcObjComment)!=0) ) // comment exist 
		GenerateSyntaxComment4Object(csSyntaxObject);

	for (i=0; i<nCount; i++)
	{
		csSQLSyntax.Empty();
		bGenerate = FALSE;
		csNameCol = m_cListCtrl.GetItemText (i,0);
		csTempo   = m_cListCtrl.GetItemText (i,1);

		lpCommentCol = FindCurrentColumn(csNameCol);
		ASSERT(lpCommentCol != NULL);

		if (lpCommentCol->lpszComment)
		{
			if (x_strcmp(lpCommentCol->lpszComment,(LPTSTR)(LPCTSTR)csTempo)!=0)
				bGenerate = TRUE;
		}
		else
		{
			if (!csTempo.IsEmpty())
				bGenerate = TRUE;
		}
		if (bGenerate)
		{
			csSQLSyntax.Format("comment on column %s.%s.%s is '%s'",
			QuoteIfNeeded((LPTSTR)(LPCTSTR)m_csObjectOwner), 
			QuoteIfNeeded((LPTSTR)(LPCTSTR)m_csObjectName), 
			QuoteIfNeeded((LPTSTR)lpCommentCol->szColumnName), 
			(LPCTSTR)csTempo);
			lpStrList = StringList_Add  (lpStrList, (LPTSTR)(LPCTSTR)csSQLSyntax);
		}
	}

	// execute the SQL statements
	iret =  VDBA20xGenCommentObject ( (LPSTR)(LPCTSTR)csVNodeName,(LPSTR)(LPCTSTR)m_csDBName,
	                                  (LPSTR)(LPCTSTR)csSyntaxObject, lpStrList);

	if (lpStrList)
		lpStrList = StringList_Done (lpStrList);

	if (iret != RES_SUCCESS)
	{
		ErrorMessage ((UINT) IDS_E_COMMENT_ON_FAILED, RES_ERR);
		return;
	}

	CDialog::OnOK();
}
Example #15
0
static BOOL FillStructureFromControls (HWND hwnd, LPSECURITYALARMPARAMS lpsecurity)
{
   char buf        [MAXOBJECTNAME];
   char buffowner  [MAXOBJECTNAME];
   char bufftable  [MAXOBJECTNAME];
   LPCHECKEDOBJECTS  obj;
   LPCHECKEDOBJECTS  list = NULL;
   int i, max_database_number, checked;
   HWND hwndUsers   = GetDlgItem (hwnd, IDC_REFALARM_BYUSER );
   HWND hwndTables  = GetDlgItem (hwnd, IDC_REFALARM_ONTABLE);
   HWND hwndSuccess = GetDlgItem (hwnd, IDC_REFALARM_SUCCESS);
   HWND hwndFailure = GetDlgItem (hwnd, IDC_REFALARM_FAILURE);
   HWND hwndSelect  = GetDlgItem (hwnd, IDC_REFALARM_SELECT);
   HWND hwndDelete  = GetDlgItem (hwnd, IDC_REFALARM_DELETE);
   HWND hwndInsert  = GetDlgItem (hwnd, IDC_REFALARM_INSERT);
   HWND hwndUpdate  = GetDlgItem (hwnd, IDC_REFALARM_UPDATE);

   lpsecurity->bsuccfail [SECALARMSUCCESS] = Button_GetCheck (hwndSuccess);
   lpsecurity->bsuccfail [SECALARMFAILURE] = Button_GetCheck (hwndFailure);
   //
   // Get selection from
   // toggle buttons (Select, Delete, Insert, Update)
   //
   lpsecurity->baccesstype [SECALARMSEL]   = Button_GetCheck (hwndSelect);
   lpsecurity->baccesstype [SECALARMDEL]   = Button_GetCheck (hwndDelete);
   lpsecurity->baccesstype [SECALARMINS]   = Button_GetCheck (hwndInsert);
   lpsecurity->baccesstype [SECALARMUPD]   = Button_GetCheck (hwndUpdate);

   //
   // Get the names of users that have been checked and
   // insert into the list
   //
   max_database_number = CAListBox_GetCount (hwndUsers);
   
   for (i=0; i<max_database_number; i++)
   {
       checked = CAListBox_GetSel (hwndUsers, i);
       if (checked)
       {
           CAListBox_GetText (hwndUsers, i, buf);
           obj = ESL_AllocMem (sizeof (CHECKEDOBJECTS));
           if (!obj)
           {
               FreeAttachedPointers (lpsecurity, OTLL_SECURITYALARM);
               ErrorMessage   ((UINT)IDS_E_CANNOT_ALLOCATE_MEMORY, RES_ERR);
               break;
           }
           else
           {
               if (x_strcmp (buf, lppublicdispstring()) == 0)
                   x_strcpy (obj->dbname, lppublicsysstring());
               else
                   x_strcpy (obj->dbname, buf);
               obj->bchecked = TRUE;
               list = AddCheckedObject (list, obj);
           }
       }
   }
   lpsecurity->lpfirstUser = list;

   //
   // Get the names of Tables that have been checked and
   // insert into the list
   //
   max_database_number = CAListBox_GetCount (hwndTables);
   list = NULL;

   for (i = 0; i < max_database_number; i++)
   {
       checked = CAListBox_GetSel (hwndTables, i);
       if (checked)
       {
           CAListBox_GetText (hwndTables, i, buf);
           x_strcpy (buffowner, (char *) CAListBox_GetItemData (hwndTables, i));
           obj = ESL_AllocMem (sizeof (CHECKEDOBJECTS));
           if (!obj)
           {
               FreeAttachedPointers (lpsecurity, OTLL_SECURITYALARM);
               ErrorMessage   ((UINT)IDS_E_CANNOT_ALLOCATE_MEMORY, RES_ERR);
               return FALSE;
           }
           else
           {
               StringWithOwner (buf, buffowner, bufftable);
               x_strcpy (obj->dbname, bufftable);
               obj->bchecked = TRUE;
               list = AddCheckedObject (list, obj);
           }
       }
   }
   lpsecurity->lpfirstTable = list;

   return TRUE;
}