void EditorBase::InitFilename(const wxString& filename) { if (filename.IsEmpty()) m_Filename = realpath(CreateUniqueFilename()); else m_Filename = realpath(filename); wxFileName fname; fname.Assign(m_Filename); m_Shortname = fname.GetFullName(); }
void EditorBase::InitFilename(const wxString& filename) { if (filename.IsEmpty()) m_Filename = realpath(CreateUniqueFilename()); else m_Filename = realpath(filename); wxFileName fname; fname.Assign(m_Filename); m_Shortname = fname.GetFullName(); // Manager::Get()->GetLogManager()->DebugLog("ctor: Filename=%s\nShort=%s", m_Filename.c_str(), m_Shortname.c_str()); }
OP_STATUS TransferManagerDownloadCallback::SetSaveDirectFileName(OpString& filename, OpString& direct_filename, BOOL& not_success) { not_success = TRUE; const uni_char* save_to_folder = viewer.GetSaveToFolder(); if (save_to_folder) { if (OpStatus::OK == (direct_filename.Set(save_to_folder))) { if ( direct_filename.Length() == 0 || ( direct_filename.Length() > 0 && direct_filename[direct_filename.Length()-1] == PATHSEPCHAR) || ( direct_filename[direct_filename.Length()-1] != PATHSEPCHAR && OpStatus::OK == direct_filename.Append(PATHSEP))) { if (OpStatus::OK == direct_filename.Append(filename)) { if (OpStatus::OK == CreateUniqueFilename(direct_filename)) { if (direct_filename.HasContent()) not_success = FALSE; } else { return OpStatus::ERR; } } else { return OpStatus::ERR; } } else { return OpStatus::ERR; } } else { return OpStatus::ERR; } } return OpStatus::OK; }
void SaveVCalendar(TNEFStruct TNEF, int isMtgReq) { char ifilename[MAX_FILENAME_SIZE]; variableLength *filename; char *charptr, *charptr2; FILE *fptr; int index; DDWORD *ddword_ptr; dtr thedate; if(isMtgReq) { CreateUniqueFilename(ifilename, MAX_FILENAME_SIZE, "MtgReq", "ics", filepath); } else { CreateUniqueFilename(ifilename, MAX_FILENAME_SIZE, "calendar", "ics", filepath); } printf("%s\n", ifilename); if (savefiles == 0) return; if ((fptr = fopen(ifilename, "wb")) == NULL) { printf("Error writing file to disk!"); } else { fprintf(fptr, "BEGIN:VCALENDAR\n"); if (TNEF.messageClass[0] != 0) { charptr2 = TNEF.messageClass; charptr = charptr2; while (*charptr != 0) { if (*charptr == '.') { charptr2 = charptr; } charptr++; } if (strcmp((char*)charptr2, ".MtgCncl") == 0) { fprintf(fptr, "METHOD:CANCEL\n"); } else { fprintf(fptr, "METHOD:REQUEST\n"); } } else { fprintf(fptr, "METHOD:REQUEST\n"); } fprintf(fptr, PRODID); fprintf(fptr, "VERSION:2.0\n"); fprintf(fptr, "BEGIN:VEVENT\n"); // UID // After alot of comparisons, I'm reasonably sure this is totally // wrong. But it's not really necessary. // // I think it only exists to connect future modification entries to // this entry. so as long as it's incorrectly interpreted the same way // every time, it should be ok :) filename = NULL; if ((filename = MAPIFindUserProp(&(TNEF.MapiProperties), PROP_TAG(PT_BINARY, 0x3))) == MAPI_UNDEFINED) { if ((filename = MAPIFindUserProp(&(TNEF.MapiProperties), PROP_TAG(PT_BINARY, 0x23))) == MAPI_UNDEFINED) { filename = NULL; } } if (filename != NULL) { fprintf(fptr, "UID:"); for (index = 0; index < filename->size; index++) { fprintf(fptr, "%02X", (unsigned char)filename->data[index]); } fprintf(fptr, "\n"); } // Sequence filename = NULL; if ((filename = MAPIFindUserProp(&(TNEF.MapiProperties), PROP_TAG(PT_LONG, 0x8201))) != MAPI_UNDEFINED) { ddword_ptr = (DDWORD *)filename->data; fprintf(fptr, "SEQUENCE:%i\n", (int) *ddword_ptr); } filename = NULL; if ((filename = MAPIFindProperty(&(TNEF.MapiProperties), PROP_TAG(PT_BINARY, PR_SENDER_SEARCH_KEY))) == MAPI_UNDEFINED) { if ((filename = MAPIFindProperty(&(TNEF.MapiProperties), PROP_TAG(PT_UNICODE, PR_SENT_REPRESENTING_EMAIL_ADDRESS))) == MAPI_UNDEFINED) { filename = NULL; } } if (filename != NULL) { charptr = (char*)filename->data; charptr2 = (char*)strstr((char*)charptr, ":"); if (charptr2 == NULL) charptr2 = charptr; else charptr2++; fprintf(fptr, "ORGANIZER;CN=\"%s\":MAILTO:%s\n", charptr2, charptr2); } // Required Attendees filename = NULL; if ((filename = MAPIFindUserProp(&(TNEF.MapiProperties), PROP_TAG(PT_STRING8, 0x823b))) == MAPI_UNDEFINED) { if ((filename = MAPIFindUserProp(&(TNEF.MapiProperties), PROP_TAG(PT_UNICODE, 0x823b))) == MAPI_UNDEFINED) { filename = NULL; } } if (filename != NULL) { // We have a list of required participants, so // write them out. if (strlen((char*)filename->data) > 1) { charptr = (char*)filename->data - 1; charptr2 = (char*)strstr((char*)(charptr + 1), ";"); while (charptr != NULL) { charptr++; charptr2 = (char *)strstr((char*)charptr, ";"); if (charptr2 != NULL) { *charptr2 = 0; } while (*charptr == ' ') charptr++; fprintf(fptr, "ATTENDEE;PARTSTAT=NEEDS-ACTION;"); fprintf(fptr, "ROLE=REQ-PARTICIPANT;RSVP=TRUE;"); fprintf(fptr, "CN=\"%s\":MAILTO:%s\n", charptr, charptr); charptr = charptr2; } } // Optional attendees filename = NULL; if ((filename = MAPIFindUserProp(&(TNEF.MapiProperties), PROP_TAG(PT_STRING8, 0x823c))) == MAPI_UNDEFINED) { if ((filename = MAPIFindUserProp(&(TNEF.MapiProperties), PROP_TAG(PT_UNICODE, 0x823c))) == MAPI_UNDEFINED) { filename = NULL; } } if (filename != NULL) { // The list of optional participants if (strlen((char*)filename->data) > 1) { charptr = (char*)filename->data - 1; charptr2 = (char *)strstr((char*)(charptr + 1), ";"); while (charptr != NULL) { charptr++; charptr2 = (char *)strstr((char*)charptr, ";"); if (charptr2 != NULL) { *charptr2 = 0; } while (*charptr == ' ') charptr++; fprintf(fptr, "ATTENDEE;PARTSTAT=NEEDS-ACTION;"); fprintf(fptr, "ROLE=OPT-PARTICIPANT;RSVP=TRUE;"); fprintf(fptr, "CN=\"%s\":MAILTO:%s\n", charptr, charptr); charptr = charptr2; } } } } else { filename = NULL; if ((filename=MAPIFindUserProp(&(TNEF.MapiProperties), PROP_TAG(PT_STRING8, 0x8238))) == MAPI_UNDEFINED) { if ((filename=MAPIFindUserProp(&(TNEF.MapiProperties), PROP_TAG(PT_UNICODE, 0x8238))) == MAPI_UNDEFINED) { filename = NULL; } } if (filename != NULL) { if (strlen((char*)filename->data) > 1) { charptr = (char*)filename->data - 1; charptr2 = (char *)strstr((char*)(charptr + 1), ";"); while (charptr != NULL) { charptr++; charptr2 = (char *)strstr((char*)charptr, ";"); if (charptr2 != NULL) { *charptr2 = 0; } while (*charptr == ' ') charptr++; fprintf(fptr, "ATTENDEE;PARTSTAT=NEEDS-ACTION;"); fprintf(fptr, "ROLE=REQ-PARTICIPANT;RSVP=TRUE;"); fprintf(fptr, "CN=\"%s\":MAILTO:%s\n", charptr, charptr); charptr = charptr2; } } } } // Summary filename = NULL; if ((filename = MAPIFindProperty(&(TNEF.MapiProperties), PROP_TAG(PT_STRING8, PR_CONVERSATION_TOPIC))) == MAPI_UNDEFINED) { if ((filename = MAPIFindProperty(&(TNEF.MapiProperties), PROP_TAG(PT_UNICODE, PR_CONVERSATION_TOPIC))) == MAPI_UNDEFINED) { filename = NULL; } } if (filename != NULL) { fprintf(fptr, "SUMMARY:"); Cstylefprint(fptr, filename); fprintf(fptr, "\n"); } // Description if ((filename = MAPIFindProperty(&(TNEF.MapiProperties), PROP_TAG(PT_BINARY, PR_RTF_COMPRESSED))) != MAPI_UNDEFINED) { variableLength buf; if ((buf.data = DecompressRTF(filename, &(buf.size))) != NULL) { fprintf(fptr, "DESCRIPTION:"); PrintRTF(fptr, &buf); free(buf.data); } } // Location filename = NULL; if ((filename = MAPIFindUserProp(&(TNEF.MapiProperties), PROP_TAG(PT_STRING8, 0x0002))) == MAPI_UNDEFINED) { if ((filename = MAPIFindUserProp(&(TNEF.MapiProperties), PROP_TAG(PT_STRING8, 0x8208))) == MAPI_UNDEFINED) { if ((filename=MAPIFindUserProp(&(TNEF.MapiProperties), PROP_TAG(PT_UNICODE, 0x0002))) == MAPI_UNDEFINED) { if ((filename=MAPIFindUserProp(&(TNEF.MapiProperties), PROP_TAG(PT_UNICODE, 0x8208))) == MAPI_UNDEFINED) { filename = NULL; } } } } if (filename != NULL) { fprintf(fptr, "LOCATION: %s\n", filename->data); } // Date Start filename = NULL; if ((filename = MAPIFindUserProp(&(TNEF.MapiProperties), PROP_TAG(PT_SYSTIME, 0x820d))) == MAPI_UNDEFINED) { if ((filename = MAPIFindUserProp(&(TNEF.MapiProperties), PROP_TAG(PT_SYSTIME, 0x8516))) == MAPI_UNDEFINED) { filename = NULL; } } if (filename != NULL) { fprintf(fptr, "DTSTART:"); MAPISysTimetoDTR(filename->data, &thedate); fprintf(fptr, "%04i%02i%02iT%02i%02i%02iZ\n", thedate.wYear, thedate.wMonth, thedate.wDay, thedate.wHour, thedate.wMinute, thedate.wSecond); } // Date End filename = NULL; if ((filename = MAPIFindUserProp(&(TNEF.MapiProperties), PROP_TAG(PT_SYSTIME, 0x820e))) == MAPI_UNDEFINED) { if ((filename = MAPIFindUserProp(&(TNEF.MapiProperties), PROP_TAG(PT_SYSTIME, 0x8517))) == MAPI_UNDEFINED) { filename = NULL; } } if (filename != NULL) { fprintf(fptr, "DTEND:"); MAPISysTimetoDTR(filename->data, &thedate); fprintf(fptr, "%04i%02i%02iT%02i%02i%02iZ\n", thedate.wYear, thedate.wMonth, thedate.wDay, thedate.wHour, thedate.wMinute, thedate.wSecond); } // Date Stamp filename = NULL; if ((filename = MAPIFindUserProp(&(TNEF.MapiProperties), PROP_TAG(PT_SYSTIME, 0x8202))) == MAPI_UNDEFINED) { if ((filename = MAPIFindUserProp(&(TNEF.MapiProperties), PROP_TAG(PT_SYSTIME, 0x001a))) == MAPI_UNDEFINED) { filename = NULL; } } if (filename != NULL){ fprintf(fptr, "DTSTAMP:"); MAPISysTimetoDTR(filename->data, &thedate); fprintf(fptr, "%04i%02i%02iT%02i%02i%02iZ\n", thedate.wYear, thedate.wMonth, thedate.wDay, thedate.wHour, thedate.wMinute, thedate.wSecond); } // Class filename = NULL; if ((filename = MAPIFindUserProp(&(TNEF.MapiProperties), PROP_TAG(PT_BOOLEAN, 0x8506))) != MAPI_UNDEFINED) { ddword_ptr = (DDWORD *)filename->data; fprintf(fptr, "CLASS:"); if (*ddword_ptr == 1) { fprintf(fptr, "PRIVATE\n"); } else { fprintf(fptr, "PUBLIC\n"); } } // Recurrence filename = NULL; if ((filename = MAPIFindUserProp(&(TNEF.MapiProperties), PROP_TAG(PT_BINARY, 0x8216))) != MAPI_UNDEFINED) { PrintRrule(fptr, (char*)filename->data, filename->size, TNEF); } // Wrap it up fprintf(fptr, "END:VEVENT\n"); fprintf(fptr, "END:VCALENDAR\n"); fclose(fptr); } }