本文整理汇总了C++中CItemData::GetUUID方法的典型用法代码示例。如果您正苦于以下问题:C++ CItemData::GetUUID方法的具体用法?C++ CItemData::GetUUID怎么用?C++ CItemData::GetUUID使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CItemData
的用法示例。
在下文中一共展示了CItemData::GetUUID方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: SaveTreeViewInfo
void GUIInfo::SaveTreeViewInfo(PWSTreeCtrl* tree)
{
//save the first visible item
wxTreeItemId treeItem = tree->GetFirstVisibleItem();
if (treeItem.IsOk() && treeItem != tree->GetRootItem()) {
CItemData* item = tree->GetItem(treeItem);
if (item) {
m_treeTop = item->GetUUID();
}
else if (tree->ItemIsGroup(treeItem)) {
m_treeTop = tree->GetItemGroup(treeItem);
}
else {
m_treeTop.Clear();
wxFAIL_MSG(wxString(wxT("Tree item \'")) << tree->GetItemText(treeItem) << wxT("\' found with no children and no CItemData"));
}
}
else {
m_treeTop.Clear();
}
m_expanded.Empty();
//find out all the expanded groups in a depth-first manner
CollectExpandedNodes(tree, tree->GetRootItem(), m_expanded);
//save the selected item
wxTreeItemId selection = tree->GetSelection();
if (selection.IsOk() && selection != tree->GetRootItem()) {
if(tree->ItemIsGroup(selection)) {
m_treeSelection = tree->GetItemGroup(selection);
const wxString selectionStr = m_treeSelection;
wxASSERT(!selectionStr.IsEmpty());
}
else {
CItemData* item = tree->GetItem(selection);
if (item) {
m_treeSelection = item->GetUUID();
}
else {
m_treeSelection.Clear();
wxFAIL_MSG(wxString(wxT("tree item \'")) << tree->GetItemText(selection) << wxT("\' found with no CItemData attached"));
}
}
}
else {
m_treeSelection.Clear();
}
}
示例2: DoEdit
//This function intentionally takes the argument by value and not by
//reference to avoid touching an item invalidated by idle timeout
void PasswordSafeFrame::DoEdit(CItemData item)
{
int rc = 0;
if (!item.IsShortcut()) {
AddEditPropSheet editDbox(this, m_core, AddEditPropSheet::EDIT, &item, this);
rc = editDbox.ShowModal();
} else {
EditShortcut editDbox(this, m_core, &item);
rc = editDbox.ShowModal();
}
if (rc == wxID_OK) {
uuid_array_t uuid;
item.GetUUID(uuid);
//Find the item in the database, which might have been loaded afresh
//after lock/unlock, so the old data structures are no longer valid
ItemListIter iter = m_core.Find(uuid);
if ( iter != m_core.GetEntryEndIter()) {
CItemData& origItem = m_core.GetEntry(iter);
//The Item is updated in DB by AddEditPropSheet
UpdateAccessTime(origItem);
SetChanged(Data);
}
else {
wxFAIL_MSG(wxT("Item being edited not found in currently loaded DB"));
}
}
}
示例3: OnTraySendEmail
void DboxMain::OnTraySendEmail(UINT nID)
{
ASSERT((nID >= ID_MENUITEM_TRAYSENDEMAIL1) && (nID <= ID_MENUITEM_TRAYSENDEMAILMAX));
CItemData ci;
if (!GetRUEntry(m_RUEList, nID - ID_MENUITEM_TRAYSENDEMAIL1, ci))
return;
if (ci.IsShortcut()) {
if (!SafeGetBaseEntry(ci, ci))
return; // fail safely in release
}
CString cs_command;
if (!ci.IsEmailEmpty()) {
cs_command = L"mailto:";
cs_command += ci.GetEmail().c_str();
} else {
cs_command = ci.GetURL().c_str();
}
if (!cs_command.IsEmpty()) {
std::vector<size_t> vactionverboffsets;
LaunchBrowser(cs_command, L"", vactionverboffsets, false);
UpdateAccessTime(ci.GetUUID());
}
}
示例4: OnTrayRunCommand
void DboxMain::OnTrayRunCommand(UINT nID)
{
ASSERT((nID >= ID_MENUITEM_TRAYRUNCMD1) && (nID <= ID_MENUITEM_TRAYRUNCMDMAX));
CItemData ci;
if (!GetRUEntry(m_RUEList, nID - ID_MENUITEM_TRAYRUNCMD1, ci))
return;
if (ci.IsShortcut()) {
if (!SafeGetBaseEntry(ci, ci))
return; // fail safely in release
}
StringX cs_URL = ci.GetURL();
StringX::size_type ipos;
ipos = cs_URL.find(L"[alt]");
if (ipos != StringX::npos)
cs_URL.replace(ipos, 5, L"");
ipos = cs_URL.find(L"[ssh]");
if (ipos != StringX::npos)
cs_URL.replace(ipos, 5, L"");
ipos = cs_URL.find(L"{alt}");
if (ipos != StringX::npos)
cs_URL.replace(ipos, 5, L"");
SetClipboardData(cs_URL);
UpdateLastClipboardAction(CItemData::URL);
UpdateAccessTime(ci.GetUUID());
}
示例5: Remove
void ExpiredList::Remove(const CItemData &ci)
{
ExpiredList::iterator iter = std::find_if(begin(), end(),
std::bind2nd(std::equal_to<pws_os::CUUID>(),
ci.GetUUID()));
if (iter != end())
erase(iter);
}
示例6: Command
UpdateEntryCommand::UpdateEntryCommand(CommandInterface *pcomInt,
const CItemData &ci,
CItemData::FieldType ftype,
const StringX &value)
: Command(pcomInt), m_ftype(ftype), m_value(value)
{
m_entry_uuid = ci.GetUUID();
m_old_status = ci.GetStatus();
m_old_value = ci.GetFieldValue(m_ftype);
}
示例7: AddItem
void PWSTreeCtrl::AddItem(const CItemData &item)
{
wxTreeItemData *data = new PWTreeItemData(item);
wxTreeItemId gnode = AddGroup(item.GetGroup());
const wxString disp = ItemDisplayString(item);
wxTreeItemId titem = AppendItem(gnode, disp, -1, -1, data);
SetItemImage(titem, item);
SortChildrenRecursively(gnode);
uuid_array_t uuid;
item.GetUUID(uuid);
m_item_map.insert(std::make_pair(CUUID(uuid), titem));
}
示例8: OnTrayAutoType
void DboxMain::OnTrayAutoType(UINT nID)
{
ASSERT((nID >= ID_MENUITEM_TRAYAUTOTYPE1) && (nID <= ID_MENUITEM_TRAYAUTOTYPEMAX));
CItemData ci;
if (!GetRUEntry(m_RUEList, nID - ID_MENUITEM_TRAYAUTOTYPE1, ci))
return;
m_bInAT = true;
AutoType(ci);
UpdateAccessTime(ci.GetUUID());
m_bInAT = false;
}
示例9: SaveGridViewInfo
void GUIInfo::SaveGridViewInfo(PWSGrid* grid)
{
//has the grid been initialized?
if (grid->GetNumItems() == 0)
return;
const int row = grid->YToRow(0);
if (row != wxNOT_FOUND) {
CItemData* item = grid->GetItem(row);
if (item) {
m_gridTop = item->GetUUID();
}
else {
wxFAIL_MSG(wxString(wxT("Top grid row ")) << row << wxT(" has no CItemData attached"));
m_gridTop = pws_os::CUUID::NullUUID();
}
}
else {
m_gridTop = pws_os::CUUID::NullUUID();
}
const int selection = grid->GetGridCursorRow();
if (selection != wxNOT_FOUND) {
CItemData* item = grid->GetItem(selection);
if (item) {
m_gridSelection = item->GetUUID();
}
else {
wxFAIL_MSG(wxString(wxT("Selected grid row ")) << selection << wxT(" has no CItemData attached"));
m_gridSelection = pws_os::CUUID::NullUUID();
}
}
else {
m_gridSelection = pws_os::CUUID::NullUUID();
}
}
示例10:
ExpPWEntry::ExpPWEntry(const CItemData &ci)
{
time_t tttXTime;
uuid = ci.GetUUID();
ci.GetXTime(tttXTime);
if (tttXTime > time_t(0) && tttXTime <= time_t(3650)) {
time_t tttCPMTime;
ci.GetPMTime(tttCPMTime);
if (tttCPMTime == time_t(0))
ci.GetCTime(tttCPMTime);
tttXTime = static_cast<time_t>(static_cast<long>(tttCPMTime) + static_cast<long>(tttXTime) * 86400);
}
expirytttXTime = tttXTime;
}
示例11: OnTrayCopyNotes
void DboxMain::OnTrayCopyNotes(UINT nID)
{
ASSERT((nID >= ID_MENUITEM_TRAYCOPYNOTES1) && (nID <= ID_MENUITEM_TRAYCOPYNOTESMAX));
CItemData ci;
if (!GetRUEntry(m_RUEList, nID - ID_MENUITEM_TRAYCOPYNOTES1, ci))
return;
if (ci.IsShortcut())
if (!SafeGetBaseEntry(ci, ci))
return;
SetClipboardData(ci.GetNotes());
UpdateLastClipboardAction(CItemData::NOTES);
UpdateAccessTime(ci.GetUUID());
}
示例12: OnTrayCopyPassword
void DboxMain::OnTrayCopyPassword(UINT nID)
{
ASSERT((nID >= ID_MENUITEM_TRAYCOPYPASSWORD1) && (nID <= ID_MENUITEM_TRAYCOPYPASSWORDMAX));
CItemData ci;
if (!GetRUEntry(m_RUEList, nID - ID_MENUITEM_TRAYCOPYPASSWORD1, ci))
return;
if (ci.IsDependent()) {
if (!SafeGetBaseEntry(ci, ci))
return; // fail safely in release
}
const StringX cs_password = ci.GetPassword();
SetClipboardData(cs_password);
UpdateLastClipboardAction(CItemData::PASSWORD);
UpdateAccessTime(ci.GetUUID());
}
示例13:
TEST_F(AliasShortcutTest, Alias)
{
CItemData al;
al.CreateUUID();
al.SetTitle(L"alias");
al.SetPassword(L"alias-password-not-used");
al.SetUser(L"alias-user");
al.SetNotes(L"alias-notes");
al.SetGroup(L"Galias");
al.SetURL(L"http://alias-url.com");
al.SetAutoType(L"alias-autotype");
al.SetEmail(L"[email protected]");
al.SetRunCommand(L"Run alias, run");
al.SetAlias();
const pws_os::CUUID base_uuid = base.GetUUID();
MultiCommands *pmulticmds = MultiCommands::Create(&core);
pmulticmds->Add(AddEntryCommand::Create(&core, base));
pmulticmds->Add(AddEntryCommand::Create(&core, al, base_uuid));
core.Execute(pmulticmds);
EXPECT_EQ(2, core.GetNumEntries());
const CItemData al2 = core.GetEntry(core.Find(al.GetUUID()));
StringX sx_group, sx_title, sx_user, sx_pswd, sx_lastpswd, sx_notes, sx_url, sx_email, sx_autotype, sx_runcmd;
bool status = PWSAuxParse::GetEffectiveValues(&al2, &base,
sx_group, sx_title, sx_user, sx_pswd, sx_lastpswd, sx_notes,
sx_url, sx_email, sx_autotype, sx_runcmd);
EXPECT_TRUE(status);
// Password should be from base:
EXPECT_EQ(sx_pswd, base.GetPassword());
// All the rest should be from alias:
EXPECT_EQ(sx_group, al.GetGroup());
EXPECT_EQ(sx_title, al.GetTitle());
EXPECT_EQ(sx_user, al.GetUser());
EXPECT_EQ(sx_lastpswd, L"");
EXPECT_EQ(sx_notes, al.GetNotes());
EXPECT_EQ(sx_url, al.GetURL());
EXPECT_EQ(sx_email, al.GetEmail());
EXPECT_EQ(sx_autotype, al.GetAutoType());
EXPECT_EQ(sx_runcmd, al.GetRunCommand());
}
示例14: OnTrayCopyUsername
void DboxMain::OnTrayCopyUsername(UINT nID)
{
ASSERT((nID >= ID_MENUITEM_TRAYCOPYUSERNAME1) &&
(nID <= ID_MENUITEM_TRAYCOPYUSERNAMEMAX));
CItemData ci;
if (!GetRUEntry(m_RUEList, nID - ID_MENUITEM_TRAYCOPYUSERNAME1, ci))
return;
if (ci.IsShortcut()) {
if (!SafeGetBaseEntry(ci, ci))
return; // fail safely in release
}
const StringX cs_username = ci.GetUser();
SetClipboardData(cs_username);
UpdateLastClipboardAction(CItemData::USER);
UpdateAccessTime(ci.GetUUID());
}
示例15: OnTrayCopyEmail
void DboxMain::OnTrayCopyEmail(UINT nID)
{
ASSERT((nID >= ID_MENUITEM_TRAYCOPYEMAIL1) &&
(nID <= ID_MENUITEM_TRAYCOPYEMAILMAX));
CItemData ci;
if (!m_RUEList.GetPWEntry(nID - ID_MENUITEM_TRAYCOPYEMAIL1, ci))
return;
if (ci.IsShortcut()) {
if (!SafeGetBaseEntry(ci, ci))
return; // fail safely in release
}
const StringX cs_email = ci.GetEmail();
SetClipboardData(cs_email);
UpdateLastClipboardAction(CItemData::EMAIL);
UpdateAccessTime(ci.GetUUID());
}