Weitere ähnliche Inhalte Ähnlich wie resume_Alexey_Zaytsev (20) resume_Alexey_Zaytsev1. template <typename T>
class know
{
public: // Written by Alexey
T m;
know():m(0){}
T operator ++(T){return m;}
};
typedef int C;
int main(int argc, _TCHAR* argv[])
{
auto I = know<C>()++;
return 0;
}
skype:alexey.zaytsev1706
mailto:Alexey.Zaytsev@gmx.net
375 29 8744587
3. Our Executable ResponsibilityUser works with programms Driver processing
User wants to print
initial
Explorer plug-in activity
Driver Part Entering
Driver: work
Did User open setup
Dialog?
Profile: preparation
Yes
Active Profile adjusted.
Will be acquired by
printer.
Print executed.
NO
Active profile is
ok for user.
Printing: With FULLY Prepared data
/GUID, PID, file name/
Our Executable with GUID for profile as a parameter
Profile: Load/Save
Should we Present UI
Yes
NO
Present UI. Ask For
Setings,
Generate PDF. Start doing post
actions.
Here we have full array
of EMFs for current
Profile.
Print Settings Changed / Need
regenerate preview
Our Executable Printing Activity
Printing: With FULLY Prepared data
/GUID, PID, file name/
Create New Process to
recreate EMFs
Wait for result.
Transfer it to Us
Do we have Original file Name. (Unchanged state also)
Ask For Target
Filename
Yes
NO
Yes
Clean Up. As Last Action.
(If requested In Profile)
Should We generate PDF
Request File Name
Send EMFs for
preview
We Have original
file source access?
Need Preview?
Wait For
Preview Data
Create a profile to just
Generate EMFs
Printing: With FULLY Prepared data
/GUID, PID, file name/
Present/Update
UI
Printing Original
We need to execute
an Action
4. CSubjectToProcess
# Data :unsigned char* {readOnly}
+ Identifier :int {readOnly}
+ Size :int {readOnly}
+ SubjectType :ESubjectType {readOnly}
+ Create(string, ESubjectType) :CSubjectToProcess
«property get, property»
+ getData() :unsigned char*
«property get»
+ getSize() :int
CProcessing
+ currentChange :CActiveChangeConsequence
+ ClearStepsChain() :int
+ Execute() :int
+ InsertStep(PrintingStep, int) :int
+ Step() :int
+ StepOver() :int
«property»
+ ActiveProfile() :CProfileCollection
+ Document() :CSubjectToProcess
«enumeration»
ESubjectType
file_for_print
profile
attachment
UIsettings
PrintingStep
Printing Step By Step::PrintProcess
+ profile :CProfileCollection
+ StepsCount :int {readOnly}
+ StepWeProcessing :int {readOnly}
+ ClearStepsChain() :int
+ InsertStep(PrintingStep, int) :int
+ StepOver() :int
«property, property get»
+ ActiveProfile() :CProfileCollection
+ Document() :CSubjectToProcess
PrintingStep
«interface»
Printing Step By Step::PrintingStep
+ identifier :int
+ Step(PrintProcess) :int
CUIPresent
+ Step(PrintProcess) :int
CLoadProfile
+ Create(CSubjectToProcess *, int) :int
+ Step(PrintProcess) :int
«interface»
SettingsSpecific::Collection
+ changed :bool
+ description :string
+ name :string
+ uniqueID :int {readOnly}
+ Duplicate(Collection*) :int
+ Item(string, ItemSettings*) :int
+ SetItem(string, string, ChangeConsequence*) :int
+ Undo(int) :int
CProfileCollection
+ Duplicate(Collection*) :int
+ Item(string, ItemSettings*) :int
+ SetItem(string, string, ChangeConsequence*) :int
+ Undo(int) :int
COpenFile
+ Step(PrintProcess) :int
CFilePath
# FileName :string
# FilePath :string
+ Create(string, ESubjectType) :CSubjectToProcess
«property»
+ FileName() :string
+ FilePath() :string
CMemoryData
+ Create(void*, int) :CSubjectToProcess
CSetupSibFormat
+ Step(PrintProcess) :int
CPrintExecute
+ Step(PrintProcess) :int
CFinalizeProcessing
+ Step(PrintProcess) :int
«interface»
SettingsSpecific::CollectionsList
+ AddCollection(Collection) :int
+ Collection(int, string*, string*, int*) :int
+ CollectionsCount() :int
+ LoadCollection(int, Collection*) :int
+ LoadInitialCollection(Collection*) :int
+ SetCollectionPosition(int, int) :int
CCollectionsList
+ AddCollection(Collection) :int
+ Collection(int, string*, string*, int*) :int
+ CollectionsCount() :int
+ LoadCollection(int, Collection*) :int
+ LoadInitialCollection(Collection*) :int
+ SetCollectionPosition(int, int) :int
FileCollectionSerializer
- storage :CFilePath
+ Load(CSubjectToProcess, CProfileCollection*) :int
+ Save(CProfileCollection) :int
«property»
+ Storage() :CSubjectToProcess
«interface»
ICollectionSerializer
+ Load(CSubjectToProcess, CProfileCollection*) :int
+ Save(CProfileCollection) :int
CibFormatCollectionSerializer
+ Load(CSubjectToProcess, CProfileCollection*) :int
+ Save(CProfileCollection) :int
«interface»
SettingsSpecific::ItemSettings
+ defaultValue :string {readOnly}
+ group :string
+ helpLineID :int {readOnly}
+ name :string {readOnly}
+ readonly :boolean {readOnly}
+ value :string {readOnly}
+ Marshaller(int, IItemSettingsMarshaller*) :int
CItemSettings
+ Marshaller(int, IItemSettingsMarshaller*) :int
«enumeration»
EMarshaller
marshallerSring
marshallerBool
marshallerInteger
marshallerCIBFormat
marshallerList
«interface»
IItemSettingsMarshaller
+ defaultValue :string {readOnly}
+ type :EMarshaller {readOnly}
+ CurrentValueAsList(Clist*) :int
+ ListOfPossibleValues(EMarshaller*, CList*) :int
+ PossibleToSetValue(string, boolean*) :int
+ SetValueForListAtPosition(string, integer) :int
+ ValueName(string*) :int
This is rather bit signs than actual enum.
So any class can support any type of
marshaller
this is rather information about - what
inside
«interface»
SettingsSpecific::ItemChange
+ item :ItemSettings* {readOnly}
+ oldValue :String {readOnly}
Marshaller works as list
for every items. as far as
we can strictly unite any
type to this.
CMarshallersProvider
+ Marshaller(string, IItemSettingsMarshaller) :int
«interface»
SettingsSpecific::
ChangeConsequence
+ identifier :int
+ Next() :ItemChange
+ Reset() :ItemChange
CDependencyRule
+ itemName :string {readOnly}
+ OnSetItem(string, string, ChangeConsequence*) :int
CActiveChangeConsequence
+ SuppressUI :boolean
+ AddChange(CItemChange) :int
+ Next() :ItemChange
+ Reset() :ItemChange
CItemChange
aggregation
CDependencyRulesTree
CIBFormatMarshaller
+ CurrentValueAsList(Clist*) :int
+ ListOfPossibleValues(EMarshaller*, CList*) :int
+ PossibleToSetValue(string, boolean*) :int
+ SetValueForListAtPosition(string, integer) :int
+ ValueName(string*) :int
XMLMarshaller
+ CurrentValueAsList(Clist*) :int
+ ListOfPossibleValues(EMarshaller*, CList*) :int
+ PossibleToSetValue(string, boolean*) :int
+ SetValueForListAtPosition(string, integer) :int
+ ValueName(string*) :int
when loading
default profile
{CDependencyRule}
«flow»
CItemChange
«flow»
«use»
CDependencyRule
«flow»
«use»
«use»
«use»
«use»
5. SettingsSpecific
+ Classes
+ ChangeConsequence
+ Collection
+ CollectionsList
+ ItemChange
+ ItemSettings
+ ValueMarshaller
SettingsSpecific::
Classes
Collection
ChangeConsequence
ItemSettings
ItemChange
Serializer
ValueMarshaller
Collection
ChangeConsequence
CollectionsList
ItemSettings
ItemChange
UIVision
Collection
ChangeConsequence
CollectionsList
ItemSettings
ItemChange
«interface»
SettingsSpecific::ItemSettings
+ defaultValue :string {readOnly}
+ group :string
+ helpLineID :int {readOnly}
+ name :string {readOnly}
+ readonly :boolean {readOnly}
+ value :string {readOnly}
+ Marshaller(int, IItemSettingsMarshaller*) :int
«interface»
SettingsSpecific::Collection
+ changed :bool
+ description :string
+ name :string
+ uniqueID :int {readOnly}
+ Duplicate(Collection*) :int
+ Item(string, ItemSettings*) :int
+ SetItem(string, string, ChangeConsequence*) :int
+ Undo(int) :int
«interface»
SettingsSpecific::
ChangeConsequence
+ identifier :int
+ Next() :ItemChange
+ Reset() :ItemChange
«interface»
SettingsSpecific::ItemChange
+ item :ItemSettings* {readOnly}
+ oldValue :String {readOnly}
«interface»
SettingsSpecific::CollectionsList
+ AddCollection(Collection) :int
+ Collection(int, string*, string*, int*) :int
+ CollectionsCount() :int
+ LoadCollection(int, Collection*) :int
+ LoadInitialCollection(Collection*) :int
+ SetCollectionPosition(int, int) :int
«interface»
SettingsSpecific::ValueMarshaller
+ Type :int
+ AcceptableString(string) :int
+ ActepableInteger(int) :int
+ TypedValue() :necessary type
This class should be visible With
concrete explicit realization - depends
on target type.
And serve to convert Setting string
value to/from another type: bool,
integer, list of values.
Also: For check possibility of using
concrete string value.