static LPCHECKEDOBJECTS GetLocations () { int hdl, ires; BOOL bwsystem; char buf [MAXOBJECTNAME]; char buffilter [MAXOBJECTNAME]; LPCHECKEDOBJECTS obj, list = NULL; ZEROINIT (buf); ZEROINIT (buffilter); hdl = GetCurMdiNodeHandle (); // Force to TRUE so as II_DATABASE is picked up. bwsystem = TRUE; ires = DOMGetFirstObject (hdl, OT_LOCATION, 0, NULL, bwsystem, NULL, buf, NULL, NULL); while (ires == RES_SUCCESS) { BOOL bOK; if (DOMLocationUsageAccepted(hdl,buf,LOCATIONDATABASE,&bOK)== RES_SUCCESS && bOK) { obj = ESL_AllocMem (sizeof (CHECKEDOBJECTS)); if (obj) { x_strcpy (obj->dbname, buf); obj->pnext = NULL; list = AddCheckedObject (list, obj); } } ires = DOMGetNextObject (buf, buffilter, NULL); } return list; }
void CxDlgUserMod::ExecuteRemoteCommand(LPCTSTR csCommandLine) { int hnode; CString csTempo,csNodeName,csTitle; LPUCHAR vnodeName = (LPUCHAR)GetVirtNodeName ( m_nNodeHandle); csNodeName = vnodeName; hnode = OpenNodeStruct ((LPUCHAR)(LPCTSTR)csNodeName); if (hnode<0) { CString strMsg = VDBA_MfcResourceString (IDS_MAX_NB_CONNECT);//_T("Maximum number of connections has been reached" strMsg += CString(VDBA_MfcResourceString (IDS_E_USERMOD)); // " - Cannot launch 'usermod' command."); AfxMessageBox (strMsg); return; } // Temporary for activate a session UCHAR buf[MAXOBJECTNAME]; DOMGetFirstObject (hnode, OT_DATABASE, 0, NULL, FALSE, NULL, buf, NULL, NULL); csTitle.Format(IDS_T_USERMOD, (LPCTSTR)csNodeName, (LPCTSTR)m_csDBName); execrmcmd1( (char *)(LPCTSTR)csNodeName, (char *)(LPCTSTR)csCommandLine, (char *)(LPCTSTR)csTitle, TRUE); CloseNodeStruct(hnode,FALSE); }
void CxDlgIceProfile::FillDatabasesUsers () { int ires; UCHAR buf [MAXOBJECTNAME]; UCHAR bufOwner[MAXOBJECTNAME]; UCHAR extradata[EXTRADATASIZE]; CString csMsg; m_cbDbUser.ResetContent(); ires = DOMGetFirstObject ( m_nHnodeHandle, OT_ICE_DBUSER, 0, NULL, FALSE, NULL, buf, bufOwner, extradata); while (ires == RES_SUCCESS) { m_cbDbUser.AddString ((char *)buf); ires = DOMGetNextObject (buf, NULL, extradata); } if (ires != RES_SUCCESS && ires != RES_ENDOFDATA) { csMsg.LoadString(IDS_E_ICE_FILL_COMBO_DB_USER); MessageWithHistoryButton(m_hWnd,csMsg); } }
void CxDlgIceCommonCombo::FillComboBox() { int ires,nIndex; UCHAR buf [MAXOBJECTNAME]; UCHAR bufOwner[MAXOBJECTNAME]; UCHAR extradata[EXTRADATASIZE]; CString csCurrentMsg; m_ctrlCommon.ResetContent(); ires = DOMGetFirstObject ( m_nHnodeHandle, m_nID4FillCombo, 0, NULL, FALSE, NULL, buf, bufOwner, extradata); while (ires == RES_SUCCESS) { nIndex = m_ctrlCommon.AddString ((char *)buf); if ( nIndex == CB_ERR || nIndex == CB_ERRSPACE ) return; ires = DOMGetNextObject (buf, NULL, extradata); } if (ires != RES_SUCCESS && ires != RES_ENDOFDATA) { csCurrentMsg.LoadString(m_nMessageErrorFillCombo); MessageWithHistoryButton(m_hWnd,csCurrentMsg); } m_ctrlCommon.SetCurSel(0); }
static BOOL OccupyLocationControl (HWND hwnd) /* Function: Fills the location drop down box with the location names. Parameters: hwnd - Handle to the dialog window. Returns: TRUE if successful. */ { HWND hwndCtl = GetDlgItem (hwnd, IDC_LOCATIONS); int hNode; int err; BOOL bSystem; char szObject[MAXOBJECTNAME]; char szFilter[MAXOBJECTNAME]; LPUCHAR aparents[MAXPLEVEL]; LPTABLEPARAMS lptbl = GetDlgProp(hwnd); ZEROINIT(aparents); ZEROINIT(szObject); ZEROINIT(szFilter); aparents[0] = lptbl->DBName; hNode = GetCurMdiNodeHandle(); bSystem = GetSystemFlag (); err = DOMGetFirstObject(hNode, OT_LOCATION, 0, aparents, TRUE, NULL, szObject, NULL, NULL); while (err == RES_SUCCESS) { BOOL bOK; if (DOMLocationUsageAccepted(hNode,szObject,LOCATIONDATABASE,&bOK)== RES_SUCCESS && bOK) { CAListBox_AddString(hwndCtl, szObject); } err = DOMGetNextObject (szObject, szFilter, NULL); } return TRUE; }
void CuEditableListCtrlDuplicateDbSelectLocation::InitSortComboBox() { int TypeLocation,i,iIndex,err; char szObject[MAXOBJECTNAME]; char szFilter[MAXOBJECTNAME]; BOOL bOnlyOneLocName; CComboBox* pCombo = COMBO_GetComboBox(); pCombo->ResetContent(); err = DOMGetFirstObject(GetCurMdiNodeHandle(), OT_LOCATION, 0, NULL, TRUE, NULL, (LPUCHAR)szObject, NULL, NULL); while (err == RES_SUCCESS) { BOOL bOK; for (i = 0, TypeLocation = 0,bOnlyOneLocName = TRUE;i <= LOCATIONDUMP;i++,TypeLocation=i) { if (DOMLocationUsageAccepted(GetCurMdiNodeHandle(),(LPUCHAR)szObject,TypeLocation,&bOK) == RES_SUCCESS && bOK) { switch (TypeLocation) { case LOCATIONDATABASE: case LOCATIONWORK: { if ( bOnlyOneLocName ) { iIndex = pCombo->AddString (szObject); bOnlyOneLocName = FALSE; } } break; } } } err = DOMGetNextObject ((LPUCHAR)szObject,(LPUCHAR)szFilter, NULL); } if (err != RES_SUCCESS && err != RES_ENDOFDATA) { //"Error while getting Location list." CString csMsg = VDBA_MfcResourceString (IDS_E_DUPLICATEDB_FILL_COMBO_LOCATION); MessageWithHistoryButton(m_hWnd,csMsg); } }
static BOOL OccupyCddsControl (HWND hwnd) /* Function: Fills the CDDS number in list box. Parameters: hwnd - Handle to the dialog window. Returns: TRUE if successful. */ { int hNode; UCHAR buffilter[MAXOBJECTNAME]; UCHAR CddsName[MAXOBJECTNAME]; LPUCHAR parentstrings [MAXPLEVEL]; BOOL bSystem=FALSE; int ListErr; int err; BOOL bRetVal = TRUE; HWND hwndCtl = GetDlgItem (hwnd, IDC_CDDSNUMBER); LPRECONCILER lpdb = GetDlgProp(hwnd); ZEROINIT (CddsName); hNode = GetCurMdiNodeHandle(); parentstrings [0] = lpdb->DBName; CAListBox_ResetContent(hwndCtl); err = DOMGetFirstObject(hNode, OT_REPLIC_CDDS, 1, parentstrings, bSystem, NULL, CddsName, NULL, NULL ); while (err == RES_SUCCESS) { ListErr=CAListBox_AddString(hwndCtl, CddsName ); if (ListErr == LB_ERR || ListErr == LB_ERRSPACE) bRetVal=FALSE; err = DOMGetNextObject (CddsName, buffilter, NULL); } return bRetVal; }
static void AddFile (HWND hwnd, LPTABLExFILE lpFile) { int hdl, ires; BOOL bwsystem; char buf [MAXOBJECTNAME]; char buf2 [MAXOBJECTNAME]; char szOwner [MAXOBJECTNAME]; LPUCHAR parentstrings [MAXPLEVEL]; LPAUDITDBPARAMS lpauditdb = GetDlgProp (hwnd); HWND hwndTables = GetDlgItem (hwnd, IDC_AUDITDBF_TABLE); LPTABLExFILE ls = lpFile, obj; char szFileName[MAXOBJECTNAME]; ZEROINIT (buf); parentstrings [0] = lpauditdb->DBName; parentstrings [1] = NULL; hdl = GetCurMdiNodeHandle (); bwsystem = GetSystemFlag (); ires = DOMGetFirstObject ( hdl, OT_TABLE, 1, parentstrings, bwsystem, NULL, buf, szOwner, NULL); while (ires == RES_SUCCESS) { StringWithOwner (buf, szOwner, buf2); obj = FindStringInListTableAndFile (ls, buf2); if (obj) { wsprintf (szFileName, "%s.trl", RemoveDisplayQuotesIfAny((LPTSTR)StringWithoutOwner(buf))); x_strcpy (obj->FileName, szFileName); } ires = DOMGetNextObject (buf, szOwner, NULL); } }
static void FillGrantedUsers (HWND hwndCtl, LPREVOKEPARAMS lprevoke, int objectToFind) { int hdl, ires, gtype; BOOL bwsystem; char buf [MAXOBJECTNAME]; char buffilter [MAXOBJECTNAME]; char bufwithparent [MAXOBJECTNAME]; LPUCHAR parentstrings [MAXPLEVEL]; LPDOMDATA lpDomData =GetCurLpDomData (); ZEROINIT (buf); ZEROINIT (buffilter); hdl = GetCurMdiNodeHandle (); bwsystem = GetSystemFlag (); if (!lpDomData) return; parentstrings [0] = lprevoke->DBName; // Database name if (lprevoke->ObjectType != OT_VIEW) parentstrings [1] = StringWithOwner ((LPTSTR)Quote4DisplayIfNeeded(lprevoke->PreselectObject), lprevoke->PreselectObjectOwner, bufwithparent); else parentstrings [1] = StringWithOwner ((LPTSTR)Quote4DisplayIfNeeded(lprevoke->PreselectObject), lprevoke->PreselectObjectOwner, bufwithparent); ires = DOMGetFirstObject (hdl, objectToFind, 2, parentstrings, bwsystem, NULL, buf, NULL, NULL); while (ires == RES_SUCCESS) { gtype = DBA_GetObjectType (buf, lpDomData); if (gtype == lprevoke->GranteeType) { CAListBox_AddString (hwndCtl, buf); } ires = DOMGetNextObject (buf, buffilter, NULL); } }
LONG CuDlgDomPropTableGrantees::OnUpdateData (WPARAM wParam, LPARAM lParam) { // cast received parameters int nNodeHandle = (int)wParam; LPIPMUPDATEPARAMS pUps = (LPIPMUPDATEPARAMS)lParam; ASSERT (nNodeHandle != -1); ASSERT (pUps); // ignore selected actions on filters switch (pUps->nIpmHint) { case 0: case FILTER_DOM_SYSTEMOBJECTS: // can be $ingres //case FILTER_DOM_BASEOWNER: //case FILTER_DOM_OTHEROWNER: break; case FILTER_DOM_BKREFRESH: // eligible if UpdateType is compatible with DomGetFirst/Next object type, // or is ot_virtnode, which means refresh for all whatever the type is if (pUps->pSFilter->UpdateType != OT_VIRTNODE && pUps->pSFilter->UpdateType != OTLL_GRANTEE) return 0L; break; case FILTER_SETTING_CHANGE: VDBA_OnGeneralSettingChange(&m_cListCtrl); return 0L; default: return 0L; // nothing to change on the display } // Get info on the current item LPTREERECORD lpRecord = (LPTREERECORD)pUps->pStruct; ASSERT (lpRecord); ResetDisplay(); // // Get list of Grantees // m_Data.m_uaTableGrantees.RemoveAll(); int iret; LPUCHAR aparentsTemp[MAXPLEVEL]; UCHAR buf[MAXOBJECTNAME]; UCHAR bufOwner[MAXOBJECTNAME]; UCHAR bufComplim[MAXOBJECTNAME]; memset (&bufComplim, '\0', sizeof(bufComplim)); memset (&bufOwner, '\0', sizeof(bufOwner)); // prepare parenthood with schema where relevant aparentsTemp[0] = lpRecord->extra; // parent DB Name UCHAR bufParent1[MAXOBJECTNAME]; aparentsTemp[1] = bufParent1; switch (lpRecord->recType) { case OT_TABLE: case OTR_GRANTEE_SEL_TABLE: case OTR_GRANTEE_INS_TABLE: case OTR_GRANTEE_UPD_TABLE: case OTR_GRANTEE_DEL_TABLE: case OTR_GRANTEE_REF_TABLE: case OTR_GRANTEE_CPI_TABLE: case OTR_GRANTEE_CPF_TABLE: case OTR_GRANTEE_ALL_TABLE: case OTR_LOCATIONTABLE: case OT_REPLIC_REGTABLE: case OT_SCHEMAUSER_TABLE: case OTR_REPLIC_CDDS_TABLE: x_strcpy((char *)buf, (const char *)lpRecord->objName); break; case OT_STATIC_TABLEGRANTEES: x_strcpy((char *)buf, (const char *)lpRecord->extra2); break; default: ASSERT (FALSE); buf[0] = '\0'; } ASSERT (lpRecord->ownerName); StringWithOwner(buf, lpRecord->ownerName, aparentsTemp[1]); // schema.name aparentsTemp[2] = NULL; // loop on grants BOOL bError = FALSE; for (int index = 0; index < NBTBLGRANTEES; index++) { iret = DOMGetFirstObject(nNodeHandle, aGrantType[index], 2, // level, aparentsTemp, // Temp mandatory! pUps->pSFilter->bWithSystem, // bwithsystem NULL, // lpowner buf, bufOwner, bufComplim); if (iret != RES_SUCCESS && iret != RES_ENDOFDATA) { bError = TRUE; continue; } else { while (iret == RES_SUCCESS) { // received data: // - Grantee name in buf CuTableGrantee grantee((const char *)buf, // Grantee name (user/group/role) FALSE, // not special item aGrantType[index] // grant type ); // Solve type on the fly and SetGranteeType int granteeType; UCHAR resBuf[MAXOBJECTNAME]; UCHAR resBuf2[MAXOBJECTNAME]; UCHAR resBuf3[MAXOBJECTNAME]; int res = DOMGetObjectLimitedInfo(nNodeHandle, buf, bufOwner, OT_GRANTEE, 0, // level NULL, // parentstrings, TRUE, &granteeType, resBuf, resBuf2, resBuf3); if (res != RES_SUCCESS) grantee.SetGranteeType(OT_ERROR); else grantee.SetGranteeType(granteeType); CuMultFlag *pRefGrantee = m_Data.m_uaTableGrantees.Find(&grantee); if (pRefGrantee) m_Data.m_uaTableGrantees.Merge(pRefGrantee, &grantee); else m_Data.m_uaTableGrantees.Add(grantee); iret = DOMGetNextObject(buf, bufOwner, bufComplim); } } } // Manage error case if (bError) { /* "<Data Unavailable>" */ CuTableGrantee grantee1(VDBA_MfcResourceString (IDS_DATA_UNAVAILABLE), TRUE); m_Data.m_uaTableGrantees.Add(grantee1); } // Manage no grantee if (m_Data.m_uaTableGrantees.GetCount() == 0) { /* "<No Grantee>" */ CuTableGrantee grantee2(VDBA_MfcResourceString (IDS_E_NO_GRANTEE), TRUE); m_Data.m_uaTableGrantees.Add(grantee2); } ASSERT (m_Data.m_uaTableGrantees.GetCount() > 0 ); // Refresh display RefreshDisplay(); return 0L; }
LONG CuDlgDomPropDbSeq::OnUpdateData (WPARAM wParam, LPARAM lParam) { // cast received parameters int nNodeHandle = (int)wParam; LPIPMUPDATEPARAMS pUps = (LPIPMUPDATEPARAMS)lParam; ASSERT (nNodeHandle != -1); ASSERT (pUps); // ignore selected actions on filters switch (pUps->nIpmHint) { case 0: case FILTER_DOM_SYSTEMOBJECTS: // eligible //case FILTER_DOM_BASEOWNER: case FILTER_DOM_OTHEROWNER: break; case FILTER_DOM_BKREFRESH: // eligible if UpdateType is compatible with DomGetFirst/Next object type, // or is ot_virtnode, which means refresh for all whatever the type is if (pUps->pSFilter->UpdateType != OT_VIRTNODE && pUps->pSFilter->UpdateType != OT_PROCEDURE) return 0L; break; case FILTER_SETTING_CHANGE: VDBA_OnGeneralSettingChange(&m_cListCtrl); return 0L; default: return 0L; // nothing to change on the display } ResetDisplay(); // Get info on the current item LPTREERECORD lpRecord = (LPTREERECORD)pUps->pStruct; ASSERT (lpRecord); // // Get list of Proc for the replication // m_Data.m_uaDbSeq.RemoveAll(); int iret; LPUCHAR aparentsTemp[MAXPLEVEL]; UCHAR buf[MAXOBJECTNAME]; UCHAR bufOwner[MAXOBJECTNAME]; UCHAR bufComplim[MAXOBJECTNAME]; // parent preparation - added static type. int basicType = GetBasicType(lpRecord->recType); switch (basicType) { case OT_DATABASE: aparentsTemp[0] = lpRecord->objName; break; case OT_STATIC_SEQUENCE: aparentsTemp[0] = lpRecord->extra; break; default: ASSERT(FALSE); return 0L; } aparentsTemp[1] = aparentsTemp[2] = NULL; m_Data.m_objType = basicType; memset (&bufComplim, '\0', sizeof(bufComplim)); memset (&bufOwner, '\0', sizeof(bufOwner)); iret = DOMGetFirstObject(nNodeHandle, OT_SEQUENCE, 1, // level, aparentsTemp, // Temp mandatory! pUps->pSFilter->bWithSystem, // bwithsystem (LPUCHAR)pUps->pSFilter->lpOtherOwner, // lpowner buf, bufOwner, bufComplim); if (iret != RES_SUCCESS && iret != RES_ENDOFDATA) { // Erroneous case! CuNameWithOwner errItem(VDBA_MfcResourceString (IDS_DATA_UNAVAILABLE));//"<Data Unavailable>" m_Data.m_uaDbSeq.Add(errItem); } else { while (iret == RES_SUCCESS) { CuNameWithOwner item((const char*)buf, (const char*)bufOwner); m_Data.m_uaDbSeq.Add(item); iret = DOMGetNextObject(buf, bufOwner, bufComplim); } } if (m_Data.m_uaDbSeq.GetCount() == 0) { CuNameWithOwner noItem(VDBA_MfcResourceString (IDS_E_NO_SEQUENCE));//"<No Sequence>" m_Data.m_uaDbSeq.Add(noItem); } // Refresh display RefreshDisplay(); return 0L; }
LONG CuDlgDomPropView::OnUpdateData (WPARAM wParam, LPARAM lParam) { // cast received parameters int nNodeHandle = (int)wParam; LPIPMUPDATEPARAMS pUps = (LPIPMUPDATEPARAMS)lParam; ASSERT (nNodeHandle != -1); ASSERT (pUps); // ignore selected actions on filters switch (pUps->nIpmHint) { case 0: //case FILTER_DOM_SYSTEMOBJECTS: //case FILTER_DOM_BASEOWNER: //case FILTER_DOM_OTHEROWNER: break; case FILTER_DOM_BKREFRESH_DETAIL: if (m_Data.m_refreshParams.MustRefresh(pUps->pSFilter->bOnLoad, pUps->pSFilter->refreshtime)) break; // need to update else return 0; // no need to update break; case FILTER_SETTING_CHANGE: VDBA_OnGeneralSettingChange(&m_clistCtrl); return 0L; default: return 0L; // nothing to change on the display } // Get info on the object VIEWPARAMS ViewParams; memset (&ViewParams, 0, sizeof (ViewParams)); LPTREERECORD lpRecord = (LPTREERECORD)pUps->pStruct; ASSERT (lpRecord); ResetDisplay(); // // Get Detail Info // x_strcpy ((char *)ViewParams.objectname, RemoveDisplayQuotesIfAny((LPCTSTR)StringWithoutOwner(lpRecord->objName))); x_strcpy ((char *)ViewParams.szSchema, (const char *)lpRecord->ownerName); x_strcpy ((char *)ViewParams.DBName, (const char *)lpRecord->extra); int dummySesHndl; int iResult = GetDetailInfo ((LPUCHAR)GetVirtNodeName(nNodeHandle), OT_VIEW, &ViewParams, FALSE, &dummySesHndl); if (iResult != RES_SUCCESS) { ASSERT (FALSE); // Reset m_Data CuDomPropDataView tempData; tempData.m_refreshParams = m_Data.m_refreshParams; m_Data = tempData; // Refresh display RefreshDisplay(); return 0L; } // Update refresh info m_Data.m_refreshParams.UpdateRefreshParams(); // update member variables, for display/load/save purpose m_Data.m_csText = ViewParams.lpViewText; // liberate detail structure FreeAttachedPointers (&ViewParams, OT_VIEW); // // Get list of view components // m_Data.m_acsViewComponents.RemoveAll(); m_Data.m_acsSchema.RemoveAll(); m_Data.m_awCompType.RemoveAll(); int iret; LPUCHAR aparentsTemp[MAXPLEVEL]; UCHAR buf[MAXOBJECTNAME]; UCHAR bufOwner[MAXOBJECTNAME]; UCHAR bufComplim[MAXOBJECTNAME]; memset (&bufComplim, '\0', sizeof(bufComplim)); memset (&bufOwner, '\0', sizeof(bufOwner)); // prepare parenthood with schema where relevant aparentsTemp[0] = lpRecord->extra; // DBName UCHAR bufParent1[MAXOBJECTNAME]; aparentsTemp[1] = bufParent1; x_strcpy((char *)buf, (const char *)lpRecord->objName); StringWithOwner(buf, lpRecord->ownerName, aparentsTemp[1]); // schema.name aparentsTemp[2] = NULL; iret = DOMGetFirstObject(nNodeHandle, OT_VIEWTABLE, 2, // level, aparentsTemp, // Temp mandatory! pUps->pSFilter->bWithSystem, // bwithsystem NULL, // owner buf, bufOwner, bufComplim); if (iret != RES_SUCCESS && iret != RES_ENDOFDATA) { // Erroneous case! CString csUnavail; csUnavail.LoadString(IDS_TM_ERR_ERR);// = "< Data Unavailable >"; m_Data.m_acsViewComponents.Add(csUnavail); m_Data.m_acsSchema.Add(_T("")); m_Data.m_awCompType.Add(OT_VIEWTABLE); // unresolved view component } else { while (iret == RES_SUCCESS) { m_Data.m_acsViewComponents.Add((LPCTSTR)buf); m_Data.m_acsSchema.Add((LPCTSTR)bufOwner); // Solve type on the fly int viewCompType; UCHAR resBuf[MAXOBJECTNAME]; UCHAR resBuf2[MAXOBJECTNAME]; UCHAR resBuf3[MAXOBJECTNAME]; LPUCHAR aparentsSolve[MAXPLEVEL]; aparentsSolve[0] = lpRecord->extra; // DBName aparentsSolve[1] = aparentsSolve[2] = NULL; int res = DOMGetObjectLimitedInfo(nNodeHandle, buf, bufOwner, OT_VIEWTABLE, 1, // level aparentsSolve, // parentstrings, TRUE, &viewCompType, resBuf, resBuf2, resBuf3); if (res != RES_SUCCESS) viewCompType = OT_VIEWTABLE; m_Data.m_awCompType.Add(viewCompType); // OT_TABLE or OT_VIEW, or OT_VIEWTABLE if error iret = DOMGetNextObject(buf, bufOwner, bufComplim); } } if (m_Data.m_acsViewComponents.GetUpperBound() == -1) { CString csNoViewComp; csNoViewComp.LoadString(IDS_VIEW_COMPONENTS);// = "< No View Components>"; m_Data.m_acsViewComponents.Add(csNoViewComp); m_Data.m_acsSchema.Add(_T("")); m_Data.m_awCompType.Add(OT_VIEWTABLE); // unresolved view component } // Get comment TCHAR *lpObjComment = NULL; LPOBJECTLIST lpObjCol = NULL; iret = VDBAGetCommentInfo ( (LPTSTR)(LPUCHAR)GetVirtNodeName(nNodeHandle), (LPTSTR)ViewParams.DBName, (LPTSTR)ViewParams.objectname, (LPTSTR)ViewParams.szSchema, &lpObjComment, lpObjCol); if (iret!=RES_SUCCESS) { CString csMsg; csMsg.LoadString(IDS_NOT_AVAILABLE); m_ctrlEditComment.SetWindowText(csMsg); m_Data.m_csComment = csMsg; } else if (lpObjComment) { m_ctrlEditComment.SetWindowText(lpObjComment); m_Data.m_csComment = lpObjComment; ESL_FreeMem(lpObjComment); } else { m_ctrlEditComment.SetWindowText(_T("")); m_Data.m_csComment.Empty(); } // // Refresh display // RefreshDisplay(); return 0L; }
LONG CuDlgDomPropRole::OnUpdateData (WPARAM wParam, LPARAM lParam) { // cast received parameters int nNodeHandle = (int)wParam; LPIPMUPDATEPARAMS pUps = (LPIPMUPDATEPARAMS)lParam; ASSERT (nNodeHandle != -1); ASSERT (pUps); // ignore selected actions on filters switch (pUps->nIpmHint) { case 0: case FILTER_DOM_SYSTEMOBJECTS: // because list of grantees can contain "$ingres" //case FILTER_DOM_BASEOWNER: //case FILTER_DOM_OTHEROWNER: break; case FILTER_DOM_BKREFRESH_DETAIL: if (m_Data.m_refreshParams.MustRefresh(pUps->pSFilter->bOnLoad, pUps->pSFilter->refreshtime)) break; // need to update else return 0; // no need to update break; default: return 0L; // nothing to change on the display } // Get info on the object ROLEPARAMS roleParams; memset (&roleParams, 0, sizeof (roleParams)); LPTREERECORD lpRecord = (LPTREERECORD)pUps->pStruct; ASSERT (lpRecord); ResetDisplay(); // // Manage "Public" special case // CString csPublic(lppublicdispstring()); if (csPublic.CompareNoCase ((const char *)lpRecord->objName) == 0) { // Unacceptable for this property page since managed differently in AllocateUserPageInfo() (mainvi2.cpp) ASSERT (FALSE); // Reset m_Data CuDomPropDataRole tempData; tempData.m_refreshParams = m_Data.m_refreshParams; m_Data = tempData; // Refresh display RefreshDisplay(); return 0L; } // starting from here, "Normal" case // // Get Detail Info // x_strcpy ((char *)roleParams.ObjectName, (const char *)lpRecord->objName); int dummySesHndl; int iResult = GetDetailInfo ((LPUCHAR)GetVirtNodeName(nNodeHandle), OT_ROLE, &roleParams, FALSE, &dummySesHndl); if (iResult != RES_SUCCESS) { ASSERT (FALSE); // Reset m_Data CuDomPropDataRole tempData; tempData.m_refreshParams = m_Data.m_refreshParams; m_Data = tempData; // Refresh display RefreshDisplay(); return 0L; } // Update refresh info m_Data.m_refreshParams.UpdateRefreshParams(); // update member variables, for display/load/save purpose if (roleParams.lpLimitSecLabels) m_Data.m_csLimSecureLabel = roleParams.lpLimitSecLabels; else m_Data.m_csLimSecureLabel = ""; ASSERT (sizeof(m_Data.m_aPrivilege) == sizeof (roleParams.Privilege) ); memcpy(m_Data.m_aPrivilege, roleParams.Privilege, sizeof (roleParams.Privilege)); ASSERT (sizeof(m_Data.m_aSecAudit) == sizeof (roleParams.bSecAudit) ); memcpy(m_Data.m_aSecAudit, roleParams.bSecAudit, sizeof (roleParams.bSecAudit)); // liberate detail structure FreeAttachedPointers (&roleParams, OT_ROLE); // // Get list of grantees on role // m_Data.m_acsGranteesOnRole.RemoveAll(); int iret; LPUCHAR aparentsTemp[MAXPLEVEL]; UCHAR buf[MAXOBJECTNAME]; UCHAR bufOwner[MAXOBJECTNAME]; UCHAR bufComplim[MAXOBJECTNAME]; memset (&bufComplim, '\0', sizeof(bufComplim)); memset (&bufOwner, '\0', sizeof(bufOwner)); aparentsTemp[0] = lpRecord->objName; aparentsTemp[1] = aparentsTemp[2] = NULL; iret = DOMGetFirstObject(nNodeHandle, OT_ROLEGRANT_USER, 1, // level, aparentsTemp, // Temp mandatory! pUps->pSFilter->bWithSystem, // bwithsystem NULL, // lpowner buf, bufOwner, bufComplim); if (iret != RES_SUCCESS && iret != RES_ENDOFDATA) { // Erroneous case! CString csUnavail = VDBA_MfcResourceString (IDS_DATA_UNAVAILABLE);//"<Data Unavailable>" m_Data.m_acsGranteesOnRole.Add(csUnavail); } else { while (iret == RES_SUCCESS) { m_Data.m_acsGranteesOnRole.Add((LPCTSTR)buf); iret = DOMGetNextObject(buf, bufOwner, bufComplim); } } if (m_Data.m_acsGranteesOnRole.GetUpperBound() == -1) { CString csNoGrantee = VDBA_MfcResourceString (IDS_E_NO_GRANTEE);//"<No Grantee>"; m_Data.m_acsGranteesOnRole.Add(csNoGrantee); } // Refresh display RefreshDisplay(); return 0L; }
LONG CuDlgDomPropTblInteg::OnUpdateData (WPARAM wParam, LPARAM lParam) { // cast received parameters int nNodeHandle = (int)wParam; LPIPMUPDATEPARAMS pUps = (LPIPMUPDATEPARAMS)lParam; ASSERT (nNodeHandle != -1); ASSERT (pUps); // ignore selected actions on filters switch (pUps->nIpmHint) { case 0: case FILTER_DOM_SYSTEMOBJECTS: // eligible //case FILTER_DOM_BASEOWNER: //case FILTER_DOM_OTHEROWNER: break; case FILTER_DOM_BKREFRESH: // eligible if UpdateType is compatible with DomGetFirst/Next object type, // or is ot_virtnode, which means refresh for all whatever the type is if (pUps->pSFilter->UpdateType != OT_VIRTNODE && pUps->pSFilter->UpdateType != OT_INTEGRITY) return 0L; break; case FILTER_SETTING_CHANGE: VDBA_OnGeneralSettingChange(&m_cListCtrl); return 0L; default: return 0L; // nothing to change on the display } // Get info on the current item LPTREERECORD lpRecord = (LPTREERECORD)pUps->pStruct; ASSERT (lpRecord); ResetDisplay(); // // Get list of Tbl for the replication // m_Data.m_uaTblInteg.RemoveAll(); int iret; UCHAR buf[MAXOBJECTNAME]; UCHAR bufOwner[MAXOBJECTNAME]; UCHAR bufComplim[MAXOBJECTNAME]; // // CHECK EXISTENCE SINCE REGISTERED TABLE MIGHT NOT REALLY EXIST YET // int resultType; UCHAR resultObjectName[MAXOBJECTNAME]; UCHAR resultOwnerName[MAXOBJECTNAME]; UCHAR resultExtraData[MAXOBJECTNAME]; char* parentStrings[3]; parentStrings[0] = (char*)lpRecord->extra; // DBName parentStrings[1] = parentStrings[2] = NULL; // preparation for get limited info - added static type - added all related granted types LPUCHAR lpName = NULL; LPUCHAR lpOwner = NULL; int basicType = GetBasicType(lpRecord->recType); m_Data.m_objType = basicType; switch (basicType) { case OT_TABLE: case OT_SCHEMAUSER_TABLE: lpName = (LPUCHAR)lpRecord->objName; lpOwner = (LPUCHAR)lpRecord->ownerName; break; case OT_STATIC_INTEGRITY: lpName = (LPUCHAR)lpRecord->extra2; lpOwner = (LPUCHAR)lpRecord->tableOwner; break; default: ASSERT(FALSE); return 0L; } iret = DOMGetObjectLimitedInfo(nNodeHandle, lpName, // object name, lpOwner, // object owner OT_TABLE, // iobjecttype 1, // level (unsigned char **)parentStrings, // parenthood TRUE, // bwithsystem &resultType, resultObjectName, resultOwnerName, resultExtraData ); if (iret == RES_ENDOFDATA) iret = RES_ERR; // Non-existent: ERROR !!! if (iret == RES_SUCCESS) { LPUCHAR aparentsTemp[MAXPLEVEL]; // prepare parenthood with schema where relevant aparentsTemp[0] = lpRecord->extra; // DBName UCHAR bufParent1[MAXOBJECTNAME]; aparentsTemp[1] = bufParent1; x_strcpy((char *)buf, (const char *)resultObjectName); StringWithOwner(buf, resultOwnerName, aparentsTemp[1]); // schema.name aparentsTemp[2] = NULL; memset (&bufComplim, '\0', sizeof(bufComplim)); memset (&bufOwner, '\0', sizeof(bufOwner)); iret = DOMGetFirstObject(nNodeHandle, OT_INTEGRITY, 2, // level, aparentsTemp, // Temp mandatory! pUps->pSFilter->bWithSystem, // bwithsystem NULL, // lpowner buf, bufOwner, bufComplim); } if (iret != RES_SUCCESS && iret != RES_ENDOFDATA) { // Erroneous case! CuNameWithOwner errItem(VDBA_MfcResourceString (IDS_DATA_UNAVAILABLE));//"<Data Unavailable>" m_Data.m_uaTblInteg.Add(errItem); } else { while (iret == RES_SUCCESS) { CuNameWithOwner item((const char*)buf, _T("")); // no owner m_Data.m_uaTblInteg.Add(item); iret = DOMGetNextObject(buf, bufOwner, bufComplim); } } if (m_Data.m_uaTblInteg.GetCount() == 0) { CuNameWithOwner noItem(VDBA_MfcResourceString (IDS_E_NO_INTEGRITY));//"<No Integrity>" m_Data.m_uaTblInteg.Add(noItem); } // Refresh display RefreshDisplay(); return 0L; }
LONG CuDlgDomPropReplicConn::OnUpdateData (WPARAM wParam, LPARAM lParam) { // cast received parameters int nNodeHandle = (int)wParam; LPIPMUPDATEPARAMS pUps = (LPIPMUPDATEPARAMS)lParam; ASSERT (nNodeHandle != -1); ASSERT (pUps); // ignore selected actions on filters switch (pUps->nIpmHint) { case 0: //case FILTER_DOM_SYSTEMOBJECTS: //case FILTER_DOM_BASEOWNER: //case FILTER_DOM_OTHEROWNER: break; case FILTER_DOM_BKREFRESH: // eligible if UpdateType is compatible with DomGetFirst/Next object type, // or is ot_virtnode, which means refresh for all whatever the type is if (pUps->pSFilter->UpdateType != OT_VIRTNODE && pUps->pSFilter->UpdateType != OT_REPLIC_CONNECTION) return 0L; break; case FILTER_SETTING_CHANGE: VDBA_OnGeneralSettingChange(&m_cListCtrl); return 0L; default: return 0L; // nothing to change on the display } // Get info on the current item LPTREERECORD lpRecord = (LPTREERECORD)pUps->pStruct; ASSERT (lpRecord); ResetDisplay(); // // Get list of Conn for the replication // m_Data.m_uaReplicConn.RemoveAll(); int iret; LPUCHAR aparentsTemp[MAXPLEVEL]; UCHAR buf[MAXOBJECTNAME]; UCHAR bufOwner[MAXOBJECTNAME]; UCHAR bufComplim[MAXOBJECTNAME]; memset (&bufComplim, '\0', sizeof(bufComplim)); memset (&bufOwner, '\0', sizeof(bufOwner)); aparentsTemp[0] = lpRecord->extra; aparentsTemp[1] = aparentsTemp[2] = NULL; iret = DOMGetFirstObject(nNodeHandle, OT_REPLIC_CONNECTION, 1, // level, aparentsTemp, // Temp mandatory! pUps->pSFilter->bWithSystem, // bwithsystem NULL, // lpowner buf, bufOwner, bufComplim); if (iret != RES_SUCCESS && iret != RES_ENDOFDATA) { // Erroneous case! CuNameWithNumber unavail(VDBA_MfcResourceString (IDS_DATA_UNAVAILABLE));//_T("<Data Unavailable>") m_Data.m_uaReplicConn.Add(unavail); } else { while (iret == RES_SUCCESS) { int iNumber = (int)(long)getint(bufOwner); CString cs = buf; int idxSpace = cs.Find(_T(' ')); ASSERT (idxSpace != -1); if (idxSpace != -1) { int len = cs.GetLength(); CString cs2 = cs.Right(len - idxSpace); cs2.TrimLeft(); ASSERT (!cs2.IsEmpty()); cs = cs2; } CuNameWithNumber conn(cs, iNumber); m_Data.m_uaReplicConn.Add(conn); iret = DOMGetNextObject(buf, bufOwner, bufComplim); } } if (m_Data.m_uaReplicConn.GetCount() == 0) { CuNameWithNumber noConn(VDBA_MfcResourceString (IDS_E_NO_CONNECTION));//"<No Connection>" m_Data.m_uaReplicConn.Add(noConn); } // Refresh display RefreshDisplay(); return 0L; }
LONG CuDlgReplicationServerPageStartupSetting::OnUpdateData (WPARAM wParam, LPARAM lParam) { int iret,ires,irestype, nNodeHdl = -1; UCHAR DBAUsernameOntarget[MAXOBJECTNAME]; UCHAR buf[EXTRADATASIZE]; UCHAR extradata[EXTRADATASIZE]; LPUCHAR parentstrings [MAXPLEVEL]; CString cDefNumSvr,cDefDbName,cLocal; CString strMsg,strMsg1; LPIPMUPDATEPARAMS pUps = (LPIPMUPDATEPARAMS)lParam; m_pSvrDta = (LPREPLICSERVERDATAMIN)pUps->pStruct; EnableButtons(); // // Specialize the OnUpdateData: if (!m_pSvrDta->m_bRefresh) return 0L; m_pSvrDta->m_bRefresh = FALSE; CdIpmDoc* pIpmDoc = NULL; CfIpmFrame* pIpmFrame = (CfIpmFrame*)GetParentFrame(); ASSERT(pIpmFrame); if (pIpmFrame) { pIpmDoc = pIpmFrame->GetIpmDoc(); ASSERT (pIpmDoc); } if (!pIpmDoc) return 0L; nNodeHdl = LIBMON_OpenNodeStruct (m_pSvrDta->LocalDBNode); if (nNodeHdl == -1) { strMsg.LoadString(IDS_MAX_NB_CONNECT); // _T("Maximum number of connections has been reached" strMsg1.LoadString (IDS_E_READ_FILE); // " - Cannot read file." strMsg += _T("\n") + strMsg1; MessageBox(strMsg ,NULL, MB_ICONHAND | MB_OK | MB_TASKMODAL); return 0L; } // Temporary for activate a session ires = DOMGetFirstObject (nNodeHdl, OT_DATABASE, 0, NULL, FALSE, NULL, buf, NULL, NULL); cDefDbName.Format(_T("%s::%s"), m_pSvrDta->LocalDBNode,m_pSvrDta->LocalDBName); // //Get DBA user name for this database parentstrings[0]=m_pSvrDta->LocalDBName; parentstrings[1]=NULL; memset (DBAUsernameOntarget,'\0',sizeof(DBAUsernameOntarget)); iret = DOMGetObjectLimitedInfo( nNodeHdl, parentstrings [0], (UCHAR *)"", OT_DATABASE, 0, parentstrings, TRUE, &irestype, buf, DBAUsernameOntarget, extradata ); if (iret != RES_SUCCESS) { LIBMON_CloseNodeStruct(nNodeHdl); //wsprintf((char *)buf,"DBA owner on database : %s not found. Read file aborted.",parentstrings[0]); strMsg.Format(IDS_F_DB_OWNER,parentstrings[0]); MessageBox(strMsg, NULL, MB_ICONEXCLAMATION | MB_OK | MB_TASKMODAL); return 0L; } LIBMON_CloseNodeStruct(nNodeHdl); m_csDBAOwner=DBAUsernameOntarget; cDefNumSvr.Format(_T("%d"),m_pSvrDta->serverno); if (m_csDBAOwner.IsEmpty() ||cDefNumSvr.IsEmpty()||cDefDbName.IsEmpty()) { return 0L; } Cleanup(); m_cListCtrl.DeleteAllItems(); CString csVnodeAndUsers; // Read default flags on "LocalDBNode (user:XXX)" csVnodeAndUsers.Format(_T("%s%s%s%s"), m_pSvrDta->LocalDBNode, LPUSERPREFIXINNODENAME, (LPCTSTR)m_csDBAOwner, LPUSERSUFFIXINNODENAME); nNodeHdl = LIBMON_OpenNodeStruct ((LPUCHAR)(LPCTSTR)csVnodeAndUsers); if (nNodeHdl == -1) { strMsg.LoadString (IDS_MAX_NB_CONNECT); // _T("Maximum number of connections has been reached" strMsg1.LoadString (IDS_E_READ_FILE); // " - Cannot read file." strMsg += _T("\n") + strMsg1; MessageBox(strMsg ,NULL, MB_ICONHAND | MB_OK | MB_TASKMODAL); return 0L; } memset (DBAUsernameOntarget,'\0',sizeof(DBAUsernameOntarget)); iret = DOMGetObjectLimitedInfo( nNodeHdl, parentstrings [0], (UCHAR *)"", OT_DATABASE, 0, parentstrings, TRUE, &irestype, buf, DBAUsernameOntarget, extradata ); if (iret != RES_SUCCESS) { LIBMON_CloseNodeStruct(nNodeHdl); //wsprintf((char *)buf,"DBA owner on database : %s not found. Read file aborted.",parentstrings[0]); strMsg.Format(IDS_F_DB_OWNER,parentstrings[0]); MessageBox(strMsg, NULL, MB_ICONEXCLAMATION | MB_OK | MB_TASKMODAL); return 0L; } m_FlagsList.DefineAllFlagsWithDefaultValues(nNodeHdl , cDefNumSvr, cDefDbName, m_csDBAOwner); LIBMON_CloseNodeStruct(nNodeHdl); // Read Runrepl.opt from "LocalDBNode (user:XXX)" or From "RunNode" if (lstrcmp((char *)m_pSvrDta->LocalDBNode,(char *)m_pSvrDta->RunNode) == 0) csVnodeAndUsers.Format(_T("%s%s%s%s"), m_pSvrDta->LocalDBNode, LPUSERPREFIXINNODENAME, (LPCTSTR)m_csDBAOwner, LPUSERSUFFIXINNODENAME); else csVnodeAndUsers = m_pSvrDta->RunNode; nNodeHdl = LIBMON_OpenNodeStruct ((LPUCHAR)(LPCTSTR)csVnodeAndUsers); if (nNodeHdl == -1) { strMsg.LoadString(IDS_MAX_NB_CONNECT); // _T("Maximum number of connections has been reached" strMsg1.LoadString (IDS_E_READ_FILE); // " - Cannot read file." strMsg += _T("\n") + strMsg1; MessageBox(strMsg ,NULL, MB_ICONHAND | MB_OK | MB_TASKMODAL); return 0L; } CWaitCursor hourglass; // Read file Runrepl.opt and fill m_FlagsList. iret = GetReplicServerParams ( pIpmDoc, m_pSvrDta, &m_FlagsList ); LIBMON_CloseNodeStruct (nNodeHdl); CaReplicationItem* pItem = NULL; while (!m_FlagsList.IsEmpty()) { pItem = m_FlagsList.RemoveHead(); if (pItem->IsDisplay()) AddItem (pItem); else delete pItem; } EnableButtons(); return 0L; }
static BOOL OccupyDbnumberControl (HWND hwnd) /* Function: Fills the Database Number . Parameters: hwnd - Handle to the dialog window. Returns: TRUE if successful. */ { int hNode; UCHAR buffilter[MAXOBJECTNAME]; UCHAR szObject[MAXOBJECTNAME]; UCHAR szLocalDatabase[MAXOBJECTNAME]; char * lpTemp; LPUCHAR parentstrings [MAXPLEVEL]; int ListErr; int err,iReplicVersion; BOOL bSystem = TRUE; BOOL bRetVal = TRUE; LPUCHAR vnodeName = GetVirtNodeName(GetCurMdiNodeHandle ()); HWND hwndCtl = GetDlgItem (hwnd, IDC_DBNUMBER); LPRECONCILER lpdb = GetDlgProp(hwnd); hNode = GetCurMdiNodeHandle(); parentstrings [0] = lpdb->DBName; wsprintf(szLocalDatabase," %s::%s",vnodeName,lpdb->DBName); ComboBox_ResetContent(hwndCtl); // Get everything from dd_connections iReplicVersion=GetReplicInstallStatus(GetCurMdiNodeHandle (),lpdb->DBName, lpdb->DbaName); // Get additionnal information on current CDDS: name,error ,collision err = DOMGetFirstObject(hNode, OT_REPLIC_CONNECTION, 1, parentstrings, bSystem, NULL, szObject, NULL, NULL); while (err == RES_SUCCESS) { if (iReplicVersion == REPLIC_V11) { ListErr=ComboBox_AddString(hwndCtl, szObject ); if (ListErr == CB_ERR || ListErr == CB_ERRSPACE) bRetVal=FALSE; } else { lpTemp=x_stristr(szObject,szLocalDatabase); if (lpTemp) { if (x_stricmp(lpTemp,szLocalDatabase) != 0) { ListErr=ComboBox_AddString(hwndCtl, szObject ); if (ListErr == CB_ERR || ListErr == CB_ERRSPACE) bRetVal=FALSE; } } } err = DOMGetNextObject (szObject, buffilter, NULL); } ComboBox_SetCurSel(hwndCtl,0); return bRetVal; }
void CuDlgDBEventPane01::InitializeDBEvent (CString& str, CCheckListBox* pList) { CWinApp* app = NULL; CView* pView = (CView*)GetParent(); ASSERT (pView); CDbeventDoc* pDoc = (CDbeventDoc*)pView->GetDocument(); ASSERT (pDoc); int cur, ires; TCHAR buf [MAXOBJECTNAME]; TCHAR buffilter [MAXOBJECTNAME]; LPUCHAR parentstrings [MAXPLEVEL]; memset (buf, 0, sizeof (buf)); memset (buffilter, 0, sizeof (buffilter)); if (!pList) { CleanListBox (&m_cListDBEvent); m_cListDBEvent.ResetContent(); } CString strNone; strNone.LoadString (IDS_DATABASE_NONE); if (str == strNone) { m_strCurrentDB = ""; return; } parentstrings [0] = (LPUCHAR)(LPCTSTR)str; parentstrings [1] = NULL; app = AfxGetApp(); app->DoWaitCursor (1); ires = DOMGetFirstObject ( pDoc->m_hNode, OT_DBEVENT, 1, parentstrings, pDoc->m_bSysDBEvent, NULL, (LPUCHAR)buf, (LPUCHAR)buffilter, NULL); while (ires == RES_SUCCESS) { if (pList) cur = pList->AddString ((LPCTSTR)buf); else cur = m_cListDBEvent.AddString ((LPCTSTR)buf); if (cur != LB_ERR) { LPTSTR lpszOwner; lpszOwner = new TCHAR [lstrlen (buffilter)+1]; lstrcpy (lpszOwner, (LPTSTR)buffilter); if (pList) pList->SetItemData (cur, (DWORD)lpszOwner); else m_cListDBEvent.SetItemData (cur, (DWORD)lpszOwner); } ires = DOMGetNextObject ((LPUCHAR)buf, (LPUCHAR)buffilter, NULL); } app->DoWaitCursor (-1); m_strCurrentDB = str; }
BOOL CxDlgObjectComment::InitializeObjectColumns() { TCHAR tblNameWithOwner[MAXOBJECTNAME]; int ires, nLevel = 2; LPUCHAR aparents [MAXPLEVEL]; TCHAR tchszBuf [MAXOBJECTNAME]; TCHAR tchszOwner [MAXOBJECTNAME]; TCHAR tchszBufComplim[MAXOBJECTNAME]; LPTSTR lpszOwner = NULL; BOOL bSystem = FALSE; if (m_iCurObjType != OT_TABLE && m_iCurObjType != OT_VIEW) return FALSE; StringWithOwner((LPUCHAR)Quote4DisplayIfNeeded((LPTSTR)(LPCTSTR)m_csObjectName), (LPUCHAR)(LPTSTR)(LPCTSTR) m_csObjectOwner, (LPUCHAR)tblNameWithOwner); aparents[0] = (LPUCHAR)(LPCTSTR)m_csDBName; aparents[1] = (LPUCHAR)tblNameWithOwner; aparents[2] = NULL; nLevel = 2; tchszBuf[0] = 0; tchszOwner[0] = 0; tchszBufComplim[0] = 0; LPOBJECTLIST lpColTemp; LPCOMMENTCOLUMN lpCommentCol; ires = DOMGetFirstObject( m_nNodeHandle, (m_iCurObjType == OT_TABLE)? OT_COLUMN: OT_VIEWCOLUMN, nLevel, aparents, bSystem, NULL, (LPUCHAR)tchszBuf, (LPUCHAR)tchszOwner, (LPUCHAR)tchszBufComplim); if (ires != RES_SUCCESS && ires != RES_ENDOFDATA) { CString csMsg; csMsg.LoadString(IDS_E_COMMENTS_FAILED); MessageWithHistoryButton(m_hWnd,csMsg); return FALSE; } while (ires == RES_SUCCESS) { lpColTemp = AddListObjectTail(&m_ListColumn, sizeof(COMMENTCOLUMN)); if (!lpColTemp) { // Need to free previously allocated objects. ErrorMessage ( (UINT)IDS_E_CANNOT_ALLOCATE_MEMORY, RES_ERR); FreeObjectList(m_ListColumn); m_ListColumn = NULL; return FALSE; } lpCommentCol = (LPCOMMENTCOLUMN)lpColTemp->lpObject; lstrcpy((LPTSTR)lpCommentCol->szColumnName,tchszBuf); lpCommentCol->lpszComment = NULL; tchszBuf[0] = 0; tchszOwner[0] = 0; tchszBufComplim[0] = 0; ires = DOMGetNextObject ((LPUCHAR)tchszBuf, (LPUCHAR)tchszOwner, (LPUCHAR)tchszBufComplim); } return TRUE; }
LONG CuDlgDomPropStaticProfile::OnUpdateData (WPARAM wParam, LPARAM lParam) { // cast received parameters int nNodeHandle = (int)wParam; LPIPMUPDATEPARAMS pUps = (LPIPMUPDATEPARAMS)lParam; ASSERT (nNodeHandle != -1); ASSERT (pUps); // ignore selected actions on filters switch (pUps->nIpmHint) { case 0: case FILTER_DOM_SYSTEMOBJECTS: // eligible case FILTER_DOM_BASEOWNER: //case FILTER_DOM_OTHEROWNER: break; case FILTER_DOM_BKREFRESH: // eligible if UpdateType is compatible with DomGetFirst/Next object type, // or is ot_virtnode, which means refresh for all whatever the type is if (pUps->pSFilter->UpdateType != OT_VIRTNODE && pUps->pSFilter->UpdateType != OT_PROFILE) return 0L; break; case FILTER_SETTING_CHANGE: VDBA_OnGeneralSettingChange(&m_cListCtrl); return 0L; default: return 0L; // nothing to change on the display } // Get info on the current item LPTREERECORD lpRecord = (LPTREERECORD)pUps->pStruct; ASSERT (lpRecord); ResetDisplay(); // // Get list of Profiles // m_Data.m_uaStaticProfile.RemoveAll(); int iret; LPUCHAR aparentsTemp[MAXPLEVEL]; UCHAR buf[MAXOBJECTNAME]; UCHAR bufOwner[MAXOBJECTNAME]; UCHAR bufComplim[MAXOBJECTNAME]; // parent preparation aparentsTemp[0] = aparentsTemp[1] = aparentsTemp[2] = NULL; memset (&bufComplim, '\0', sizeof(bufComplim)); memset (&bufOwner, '\0', sizeof(bufOwner)); iret = DOMGetFirstObject(nNodeHandle, OT_PROFILE, 0, // level, aparentsTemp, // Temp mandatory! pUps->pSFilter->bWithSystem, // bwithsystem NULL, // lpowner buf, bufOwner, bufComplim); if (iret != RES_SUCCESS && iret != RES_ENDOFDATA) { // Erroneous case! CuNameOnly errItem(VDBA_MfcResourceString (IDS_DATA_UNAVAILABLE), TRUE); // Special"<Data Unavailable>" m_Data.m_uaStaticProfile.Add(errItem); } else { while (iret == RES_SUCCESS) { CuNameOnly item((const char*)buf, FALSE); // Not special, but regular m_Data.m_uaStaticProfile.Add(item); iret = DOMGetNextObject(buf, bufOwner, bufComplim); } } if (m_Data.m_uaStaticProfile.GetCount() == 0) { CuNameOnly noItem(VDBA_MfcResourceString (IDS_E_NO_PROFILE), TRUE);//"<No Profile>" m_Data.m_uaStaticProfile.Add(noItem); } // Refresh display RefreshDisplay(); return 0L; }
LONG CuDlgDomPropIceFacetNPageRoles::OnUpdateData (WPARAM wParam, LPARAM lParam) { // cast received parameters int nNodeHandle = (int)wParam; LPIPMUPDATEPARAMS pUps = (LPIPMUPDATEPARAMS)lParam; ASSERT (nNodeHandle != -1); ASSERT (pUps); // ignore selected actions on filters switch (pUps->nIpmHint) { case 0: case FILTER_DOM_SYSTEMOBJECTS: // eligible //case FILTER_DOM_BASEOWNER: //case FILTER_DOM_OTHEROWNER: break; case FILTER_DOM_BKREFRESH: // eligible if UpdateType is compatible with DomGetFirst/Next object type, // or is ot_virtnode, which means refresh for all whatever the type is if (pUps->pSFilter->UpdateType != OT_VIRTNODE && pUps->pSFilter->UpdateType != OT_ICE_GENERIC) return 0L; break; case FILTER_SETTING_CHANGE: VDBA_OnGeneralSettingChange(&m_cListCtrl); return 0L; default: return 0L; // nothing to change on the display } ResetDisplay(); // Get info on the current item LPTREERECORD lpRecord = (LPTREERECORD)pUps->pStruct; ASSERT (lpRecord); // // Get list of FacetNPageRoles // m_Data.m_uaIceFacetNPageAccessdef.RemoveAll(); int iret; LPUCHAR aparentsTemp[MAXPLEVEL]; UCHAR buf[MAXOBJECTNAME]; UCHAR bufOwner[MAXOBJECTNAME]; UCHAR bufComplim[MAXOBJECTNAME]; // no parent preparation - check type ASSERT (lpRecord->recType == OT_STATIC_ICE_BUNIT_FACET_ROLE || lpRecord->recType == OT_ICE_BUNIT_FACET || lpRecord->recType == OT_STATIC_ICE_BUNIT_PAGE_ROLE || lpRecord->recType == OT_ICE_BUNIT_PAGE ); m_Data.m_objType = lpRecord->recType; // MANDATORY! // parent bunit name in aparentsTemp[0] // parent facet or page name in aparentsTemp[1] aparentsTemp[0] = lpRecord->extra; switch (lpRecord->recType) { case OT_ICE_BUNIT_FACET: case OT_ICE_BUNIT_PAGE: aparentsTemp[1] = lpRecord->objName; break; case OT_STATIC_ICE_BUNIT_FACET_ROLE: case OT_STATIC_ICE_BUNIT_PAGE_ROLE: aparentsTemp[1] = lpRecord->extra2; break; default: ASSERT(FALSE); return 0L; } aparentsTemp[2] = NULL; // request type: int reqType = -1; switch (lpRecord->recType) { case OT_ICE_BUNIT_FACET: case OT_STATIC_ICE_BUNIT_FACET_ROLE: reqType = OT_ICE_BUNIT_FACET_ROLE; break; case OT_ICE_BUNIT_PAGE: case OT_STATIC_ICE_BUNIT_PAGE_ROLE: reqType = OT_ICE_BUNIT_PAGE_ROLE; break; default: ASSERT(FALSE); return 0L; } memset (&bufComplim, '\0', sizeof(bufComplim)); memset (&bufOwner, '\0', sizeof(bufOwner)); iret = DOMGetFirstObject(nNodeHandle, reqType, 2, // level, aparentsTemp, // Temp mandatory! pUps->pSFilter->bWithSystem, // bwithsystem NULL, // lpowner buf, bufOwner, bufComplim); if (iret != RES_SUCCESS && iret != RES_ENDOFDATA) { // Erroneous case! CuIceFacetNPageAccessdef errItem(VDBA_MfcResourceString (IDS_DATA_UNAVAILABLE)); // Special item"<Data Unavailable>" m_Data.m_uaIceFacetNPageAccessdef.Add(errItem); } else { while (iret == RES_SUCCESS) { BOOL bExecute = getint(bufComplim); BOOL bRead = getint(bufComplim + STEPSMALLOBJ); BOOL bUpdate = getint(bufComplim + (2*STEPSMALLOBJ)); BOOL bDelete = getint(bufComplim + (3*STEPSMALLOBJ)); CuIceFacetNPageAccessdef item((const char*)buf, bExecute, bRead, bUpdate, bDelete); // Regular item m_Data.m_uaIceFacetNPageAccessdef.Add(item); iret = DOMGetNextObject(buf, bufOwner, bufComplim); } } if (m_Data.m_uaIceFacetNPageAccessdef.GetCount() == 0) { CuIceFacetNPageAccessdef noItem(VDBA_MfcResourceString(IDS_NO_ROLE));//"< No Role >" // Special item m_Data.m_uaIceFacetNPageAccessdef.Add(noItem); } // Refresh display RefreshDisplay(); return 0L; }