本文整理汇总了C++中CItemData::IsAlias方法的典型用法代码示例。如果您正苦于以下问题:C++ CItemData::IsAlias方法的具体用法?C++ CItemData::IsAlias怎么用?C++ CItemData::IsAlias使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CItemData
的用法示例。
在下文中一共展示了CItemData::IsAlias方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: GetAutoTypeString
StringX PWSAuxParse::GetAutoTypeString(const CItemData &ci,
const PWScore &core,
std::vector<size_t> &vactionverboffsets)
{
// Set up all the data (a shortcut entry will change all of them!)
StringX sxgroup = ci.GetGroup();
StringX sxtitle = ci.GetTitle();
StringX sxuser = ci.GetUser();
StringX sxpwd = ci.GetPassword();
StringX sxnotes = ci.GetNotes();
StringX sxurl = ci.GetURL();
StringX sxemail = ci.GetEmail();
StringX sxautotype = ci.GetAutoType();
if (ci.IsAlias()) {
const CItemData *pbci = core.GetBaseEntry(&ci);
if (pbci != NULL) {
sxpwd = pbci->GetPassword();
} else { // Problem - alias entry without a base!
ASSERT(0);
}
} else if (ci.IsShortcut()) {
const CItemData *pbci = core.GetBaseEntry(&ci);
if (pbci != NULL) {
sxgroup = pbci->GetGroup();
sxtitle = pbci->GetTitle();
sxuser = pbci->GetUser();
sxpwd = pbci->GetPassword();
sxnotes = pbci->GetNotes();
sxurl = pbci->GetURL();
sxemail = pbci->GetEmail();
sxautotype = pbci->GetAutoType();
} else { // Problem - shortcut entry without a base!
ASSERT(0);
}
} // ci.IsShortcut()
// If empty, try the database default
if (sxautotype.empty()) {
sxautotype = PWSprefs::GetInstance()->
GetPref(PWSprefs::DefaultAutotypeString);
// If still empty, take this default
if (sxautotype.empty()) {
// checking for user and password for default settings
if (!sxpwd.empty()){
if (!sxuser.empty())
sxautotype = DEFAULT_AUTOTYPE;
else
sxautotype = _T("\\p\\n");
}
}
}
return PWSAuxParse::GetAutoTypeString(sxautotype, sxgroup,
sxtitle, sxuser, sxpwd,
sxnotes, sxurl, sxemail,
vactionverboffsets);
}
示例2: dep_uuid
DeleteEntryCommand::DeleteEntryCommand(CommandInterface *pcomInt,
const CItemData &ci, const Command *pcmd)
: Command(pcomInt), m_ci(ci), m_dependents(0)
{
if (pcmd != NULL) {
m_bNotifyGUI = pcmd->GetGUINotify();
}
if (ci.IsNormal())
m_base_uuid = CUUID::NullUUID();
else {
const CUUID uuid = ci.GetUUID();
// If ci is not a normal entry, gather the related entry
// info for undo
if (ci.IsDependent()) {
// For aliases or shortcuts, we just need the uuid of the base entry
const ItemMap &imap = (ci.IsAlias() ? pcomInt->GetAlias2BaseMap() :
pcomInt->GetShortcuts2BaseMap());
m_base_uuid = imap.find(uuid)->second;
} else if (ci.IsBase()) {
/**
* When a shortcut base is deleted, we need to save all
* the shortcuts referencing it, as they too are deleted.
* When an alias base is deleted, we need the uuids of all its
* dependents, to change their passwords back upon undo
* To save code, we just keep the entire entry, same as shortcuts
*/
const ItemMMap &immap =
ci.IsShortcutBase() ? pcomInt->GetBase2ShortcutsMmap() : pcomInt->GetBase2AliasesMmap();
ItemMMapConstIter iter;
for (iter = immap.lower_bound(uuid);
iter != immap.upper_bound(uuid); iter++) {
const CUUID dep_uuid(iter->second);
ItemListIter itemIter = pcomInt->Find(dep_uuid);
ASSERT(itemIter != pcomInt->GetEntryEndIter());
if (itemIter != pcomInt->GetEntryEndIter())
m_dependents.push_back(itemIter->second);
} // for all dependents
} // IsBase
} // !IsNormal
}
示例3: OnDuplicateEntry
// Duplicate selected entry but make title unique
void PasswordSafeFrame::OnDuplicateEntry(wxCommandEvent& WXUNUSED(event))
{
if (m_core.IsReadOnly()) // disable in read-only mode
return;
// if (SelItemOk() == TRUE) {
CItemData *pci = GetSelectedEntry();
ASSERT(pci != NULL);
// DisplayInfo *pdi = (DisplayInfo *)pci->GetDisplayInfo();
// ASSERT(pdi != NULL);
// Get information from current selected entry
const StringX ci2_group = pci->GetGroup();
const StringX ci2_user = pci->GetUser();
const StringX ci2_title0 = pci->GetTitle();
StringX ci2_title;
// Find a unique "Title"
ItemListConstIter listpos;
int i = 0;
wxString s_copy;
do {
s_copy.clear();
i++;
s_copy << _(" Copy # ") << i;
ci2_title = ci2_title0 + tostringx(s_copy);
listpos = m_core.Find(ci2_group, ci2_title, ci2_user);
} while (listpos != m_core.GetEntryEndIter());
// Set up new entry
CItemData ci2(*pci);
ci2.SetDisplayInfo(NULL);
ci2.CreateUUID();
ci2.SetGroup(ci2_group);
ci2.SetTitle(ci2_title);
ci2.SetUser(ci2_user);
ci2.SetStatus(CItemData::ES_ADDED);
Command *pcmd = NULL;
if (pci->IsDependent()) {
if (pci->IsAlias()) {
ci2.SetAlias();
} else {
ci2.SetShortcut();
}
const CItemData *pbci = m_core.GetBaseEntry(pci);
if (pbci != NULL) {
CUUID base_uuid = pbci->GetUUID();
StringX cs_tmp;
cs_tmp = wxT("[") +
pbci->GetGroup() + wxT(":") +
pbci->GetTitle() + wxT(":") +
pbci->GetUser() + wxT("]");
ci2.SetPassword(cs_tmp);
pcmd = AddEntryCommand::Create(&m_core, ci2, base_uuid);
}
} else { // not alias or shortcut
ci2.SetNormal();
pcmd = AddEntryCommand::Create(&m_core, ci2);
}
Execute(pcmd);
// pdi->list_index = -1; // so that InsertItemIntoGUITreeList will set new values
CUUID uuid = ci2.GetUUID();
ItemListIter iter = m_core.Find(uuid);
ASSERT(iter != m_core.GetEntryEndIter());
wxUnusedVar(iter); // used in assert only
// InsertItemIntoGUITreeList(m_core.GetEntry(iter));
// FixListIndexes();
SetChanged(Data);
// int rc = SelectEntry(pdi->list_index);
// if (rc == 0) {
// SelectEntry(m_ctlItemList.GetItemCount() - 1);
// }
// ChangeOkUpdate();
m_RUEList.AddRUEntry(uuid);
// }
}