亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? providers.txt

?? Pegasus is an open-source implementationof the DMTF CIM and WBEM standards. It is designed to be por
?? TXT
字號:
1.0 IntroductionThis is a summary of some of the general details of the way the Linuxcareproviders have been written.In producing providers we have decided to break the implementation out intoseveral different major functional groups.  These groups are the provider interface classes themselves, the classes providing the bulk of the implementation and any support classes necessary.  These groups are implemented using four different class types.2.0 CIMInstanceProvider ClassesThe first set of classes are derived from CIMInstanceProvider and the otherPegasus provider base classes.  The classes derived fromCIMInstanceProvider are considered the providers themselves in the Pegasusnomenclature.  Pegasus instantiates these classes by calling thePegasusCreateProvider function for the appropriate class name.  The generalphilosophy has been to ensure that as little work as possible is done inthese classes.  As a rule, a provider constructs "ProviderData" objects,and calls methods within those objects to fill in instances and references.This makes the providers exceedingly lightweight, which helps to insulateagainst changes to the provider API.3.0 ProviderData ClassesThe second set of classes are derived from ProviderData.  These classes contain the bulk of the implementation of the providers including locating all instances and returning all of the information for a particularinstance.  These classes can in turn call other classes to assist in that process.  Insome cases it might be that the ProviderData classes are themselves verythin and only wrap another class that performs all the work.  In this caseit is still required to have the ProviderData class to maintain aconsistant view of providers to Pegasus.  The intention is that theCIMInstanceProvider classes will all be thin wrappers around theProviderData classes regardless of how the ProviderData classes areimplemented.The ProviderData classes are intended to be closely related to the WBEMschema, usually leading to a simple pairing of one WBEM class with oneProviderData class.  Sometimes it is appropriate to have more than one WBEMclass per ProviderData class where the differences between the two WBEMclasses are trivial.  This rule also holds for the CIMInstanceProviderclasses as well.4.0 ProviderSupport ClassesThe next set of classes are call ProviderSupport classes.  These classescontain code that is common between different types of ProviderDataclasses.  Currently the two different classes that fall into this categoryare the DeviceLocator and the FileReader.  Each of these classes iscurrently used by several ProviderData classes.4.1 DeviceLocatorAn entire category of WBEM data is obtained by examining the contents of various buses on the currently running system.  A DeviceLocator class was created to perform generic searches of this type, and this class returns objects from a DeviceInformation class.  For providers interested in this category of WBEM data, the ProviderData object creates DeviceLocator objects, uses them to retrieve DeviceInformation objects, and uses the data contained therein, possibly supplementing it with additional data from other sources.The DeviceLocator class is used by submitting a search criteria and thenrequesting all devices that match the specific criteria.  4.1.1 Search CriteriaThe search criteria is a hierarchial set of device and system resourcetypes.  The list was obtained initially from the PCI device clasificationand was further added to by specific system resources.  A perl script'generateDeviceTypes.pl' is used to generate the list from the PCIinformation in /usr/share/pci.ids as well as the system resourcesinformation in pegasus.ids.4.1.2 DeviceLocator PluginsThe DeviceLocator class is a wrapper class around plugins for specificdevices on the system.  Each plugin follows an API that the DeviceLocatordictates.  When a ProviderData class requests information about a specifictype of device, the DeviceLocator initializes each plugin in turndetermining which plugins can be used to search for that device type.Which devices and what device information any particular plugin supportsare up to the developer of the plugin and will be influenced by the WBEMSchema and the specific information that is available on the system.  Eachplugin returns information in an object instantiated from a class derivedfrom DeviceInformation.  A pointer to this object is passed back to theuser of the DeviceLocator object, and the user is responsible for deletingthis pointer when he has finished using the information contained in it.4.1.3 DeviceInformation ClassesThe DeviceInformation classes are used to return information about thespecific device types.  The information returned in these classes caneither be specific to the DeviceLocator plugin, to the WBEM schema or a combination of the two.  The specific implementation is left to thedeveloper.  The intention is that the developer of the ProviderData classwill also develop the DeviceLocator plugin.  This is reasonable becausethe two are so closely related.  This class is used to pass information from the plugin to the user of theDeviceLocator.  It is not intended that the DeviceInformation classesalways mirror exactly their corresponding schema, but in some cases itmight be convenient that they do so.  Some DeviceLocator plugins map verywell to the WBEM schema while others comprise only a subsection of one WBEMclass, or aggregate several WBEM classes.  In these cases modeling theDeviceInformation classes after the plugin is more appropriate, letting theProviderData class handle the amalgamation or extraction of the appropriateinformation for the specific WBEM class.4.2 FileReaderMuch of the WBEM data is obtained by parsing files or the output ofexecuted system binaries.  A FileReader class was created to produce anabstraction that would simplify this parsing.  At present, there are twosuch parsers, FileScanner, which searches for files, then scans thecontents of the files located, and ExecScanner, which executes a binary andparses the standard output stream from that binary.  Both of these classesare derived from an abstract base class, StreamScanner.4.2.1 StreamScannerThe StreamScanner class parses the text stream associated with a FILE*handle.  The stream to parse must be set by a derived class.  TheStreamScanner object can then be given a set of regular expressions tosearch in the stream.  The stream is loaded, one line at a time, and eachline is compared against all regular expressions.  When a match is found,the line is returned to the caller, along with, optionally, the index ofthe regular expression from the search set which matched the line and avector<> of String objects holding substring matches if those werespecified in the regular expression.  The regular expression set can bechanged after any match, so that the choice of regular expressions is madeby a programmed state machine, or the set can be reused for the duration ofthe stream.  The file pointer in the stream is never rewound, each line isread exactly once.  When the end of file is reached, that is signaled tothe caller.4.2.2 FileScannerThe FileScanner class searches the directory tree under a given directoryfor regular files which match any of a set of regular expressions.  Theorder in which filenames are examined is unordered within a directory, andin a depth-first manner when encountering subdirectories.  Once a file islocated, the filename is returned to the user and the StreamScannercomponents are prepared for parsing the contents of the file.  The user maynow set the regular expressions used for searching the contents of thefile, possibly based on the filename returned.  When the end of the streamis encountered, the caller is informed, and the caller may then choose toresume the file search.4.2.3 ExecScannerThe ExecScanner class executes a command and passes the standard outputstream of that command to the StreamScanner components for parsing.5.0 Programming StylesSeveral different programming styles and approaches were used in the files.The intention is to demonstrate a variety of solutions so that therecipient can choose a comfortable style, and so that the necessaryimmutable components of the system are easier to pick out from thecomponents which the programmer is free to treat differently.The first set of providers implemented were the OperatingSystem providerand the SoftwareElement provider.  The first set of providers to use theDevice locator were the Processor provider and the DiskDrive provider.  Thelatest providers, which follow the design that we feel is the mostappropriate, are the PCIController provider and the NetworkAdapterprovider.6.0 Further RecommendationsAfter the experimentation with these different programming approaches, wehave settled on a recommended standard for future providers.  Not all theproviders written so far follow this standard, but it is expected thatfuture providers would benefit from doing so.  These recommendations are:- Provider classes have no direct access to DeviceInformation or  DeviceLocator classes, they work only through ProviderData.- Provider classes are otherwise extremely thin.- Providers for a CIM class, when asked to fill an instance, request every  unpropagated CIM variable for the class and its parent classes, by  calling a method within the appropriate ProviderData objects, that method  being named "Get<<CIM_variable_name>>()".  They do this in a try{} block,  catching and ignoring the "AccessedInvalidData" exception.  The  ProviderData class is required to define every CIM variable, but those  which it may not be able to set it should make a validated<TYPE>.  That  type will throw the exception when accessed, allowing the provider to  skip over fields which are uninitialized without the programmer having to  reserve special "invalid data" values in the type.  The advantage of this  approach is that, should the previously unavailable data be made  available by a later tool, the programmer has only to code in a  validated<TYPE>.setValue() call in the ProviderData class, and it will  automagically be inserted into the filled instance without any further  coding being required.7.0 Directory StructureAll of the classes discussed above are placed under the pegasus/src/Providers directory.  Directory layout for that directory is as follows:pegasus/src/Providers	Most of the changes took place under this directory.pegasus/src/Providers/CIMInstanceProvider	New providers were written here.  Each provider binary is built in	a separate directory.pegasus/src/Providers/CIMProvider	Obsoletepegasus/src/Providers/Include	Holds generic .h files which might be used in more than one	location within ProviderData, ProviderSupport, or	CIMInstanceProvider.  Any classes defined here (such as some	generic parent classes like LogicalDevice) must not use a .cpp	file, their methods are all inlined into the class definition in	the .h file.pegasus/src/Providers/ProviderData	Holds ProviderData class definitions, used by providers.pegasus/src/Providers/ProviderSupport	A generic location for utilities of possible use to ProviderData	classes.pegasus/src/Providers/ProviderSupport/DeviceLocator	The bus scanning routines.  The DeviceLocator object returns	pointers to DeviceInformation objects.pegasus/src/Providers/ProviderSupport/FileReader	A pair of very useful support methods.  One does a recursive search	on a directory, scanning for files whose names match one of a set	of given regular expressions.  For each file located, the invoker	gets the name of the file, and can request a search of the contents	of the file, looking for other regular expressions.  Substrings of	the regular expressions are then returned in an array for easy	analysis.  The other method is exactly the same, but rather than	searching a directory, it executes a named binary and parses the	output of the binary.

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
97精品久久久午夜一区二区三区| 波多野结衣视频一区| 国产欧美一区二区精品性色| 色菇凉天天综合网| 韩国v欧美v亚洲v日本v| 一区二区三区免费在线观看| 亚洲精品一区二区三区蜜桃下载| 色老汉一区二区三区| 国产精品99久| 蜜臀av性久久久久av蜜臀妖精| 亚洲激情一二三区| 久久久精品欧美丰满| 欧美一级黄色片| 欧美日韩一卡二卡| 色综合色综合色综合色综合色综合 | 国产网站一区二区三区| 欧美丰满嫩嫩电影| 欧美性生活久久| 91视频国产资源| 成人高清在线视频| 国产高清精品久久久久| 免费一级片91| 青娱乐精品视频| 天天色图综合网| 亚洲综合久久久久| 亚洲激情av在线| 亚洲视频免费在线| 日韩理论片网站| 国产精品久久久久久久蜜臀| 26uuu另类欧美亚洲曰本| 日韩一区二区三区视频在线观看| 欧美三级视频在线| 欧美日韩一级片网站| 欧美亚州韩日在线看免费版国语版| 91在线小视频| 99国产精品久久久| 91理论电影在线观看| 97久久超碰国产精品| 91丝袜美腿高跟国产极品老师 | 亚洲精品乱码久久久久久久久| 国产精品久久网站| 欧美国产成人在线| 国产精品久久看| 亚洲欧美日韩中文播放| 亚洲免费高清视频在线| 亚洲免费电影在线| 亚洲成a人v欧美综合天堂| 亚洲成在线观看| 日韩成人伦理电影在线观看| 日韩电影免费在线| 精品一区二区三区免费毛片爱 | 国产精品毛片a∨一区二区三区| 中文字幕第一区第二区| 亚洲三级电影网站| 亚洲亚洲人成综合网络| 日韩二区三区在线观看| 精品一区二区成人精品| 国产99久久久久| 91欧美一区二区| 欧美日韩国产免费一区二区 | 亚洲精选视频免费看| 午夜影院久久久| 久久国产成人午夜av影院| 国产精品99久久久久久似苏梦涵 | 91丨九色丨国产丨porny| 91成人免费在线| 欧美一级视频精品观看| 久久蜜桃av一区精品变态类天堂| 国产精品久久久久影视| 亚洲国产乱码最新视频| 寂寞少妇一区二区三区| 99久久免费国产| 91麻豆精品久久久久蜜臀 | 日韩你懂的在线观看| 国产日韩精品久久久| 亚洲欧美成人一区二区三区| 热久久国产精品| a4yy欧美一区二区三区| 欧美精品久久一区| 国产农村妇女毛片精品久久麻豆 | 精品国产乱码久久久久久久久| 国产欧美一区二区精品久导航| 亚洲情趣在线观看| 免费成人在线观看视频| 不卡一区在线观看| 91精品国产色综合久久不卡电影| 久久精品夜色噜噜亚洲aⅴ| 亚洲尤物在线视频观看| 国产精选一区二区三区| 欧美三级电影网站| 国产精品国产三级国产普通话蜜臀| 亚洲电影视频在线| 国产成人免费在线视频| 欧美浪妇xxxx高跟鞋交| 国产精品久久福利| 韩国欧美国产1区| 欧美少妇性性性| 亚洲欧洲成人av每日更新| 久久精品噜噜噜成人av农村| 日本道色综合久久| 欧美国产成人在线| 国产尤物一区二区| 制服丝袜亚洲网站| 一区二区三区国产精华| 岛国一区二区在线观看| 日韩免费在线观看| 亚洲成人手机在线| 色菇凉天天综合网| 亚洲欧洲日韩av| 国产精品亚洲人在线观看| 日韩一区二区三区在线视频| 悠悠色在线精品| 99精品视频一区| 国产情人综合久久777777| 久久99久久久欧美国产| 欧美人伦禁忌dvd放荡欲情| 亚洲免费观看高清完整版在线| 国产成人av自拍| 国产亚洲欧洲997久久综合 | 国产女人18毛片水真多成人如厕| 蜜臀91精品一区二区三区| 欧美三级午夜理伦三级中视频| 亚洲人亚洲人成电影网站色| 国产成人精品www牛牛影视| 久久久久久久久久看片| 国产在线观看一区二区| 精品欧美乱码久久久久久| 久久成人18免费观看| 日韩美女视频一区二区在线观看| 日韩精品乱码av一区二区| 欧美日韩高清一区二区三区| 亚洲一区二区影院| 欧美综合欧美视频| 亚洲一区二区三区影院| 欧美日韩一区二区三区高清| 亚洲综合久久久久| 欧美精品视频www在线观看| 亚洲成人精品在线观看| 7777精品久久久大香线蕉| 日韩精品一区第一页| 91精品国产综合久久久久久| 青娱乐精品视频| 26uuuu精品一区二区| 国产福利一区在线观看| 亚洲国产成人午夜在线一区| 不卡一区二区在线| 一区二区三区中文在线观看| 91电影在线观看| 日韩高清在线观看| 日韩久久免费av| 国产成人亚洲综合a∨婷婷| 国产精品日日摸夜夜摸av| 91老师国产黑色丝袜在线| 亚洲高清免费在线| 欧美本精品男人aⅴ天堂| 国产69精品久久777的优势| 日韩伦理免费电影| 欧美日韩国产另类一区| 九九九精品视频| 国产精品久线在线观看| 欧美午夜精品一区二区三区| 七七婷婷婷婷精品国产| 国产日韩欧美精品电影三级在线| 99久久精品情趣| 日韩精品每日更新| 久久久91精品国产一区二区精品| av不卡一区二区三区| 日本人妖一区二区| 国产精品丝袜在线| 欧美老女人第四色| 成人性色生活片| 五月天激情小说综合| 国产午夜精品一区二区| 在线观看网站黄不卡| 激情文学综合丁香| 亚洲男女毛片无遮挡| 精品区一区二区| 日本高清不卡aⅴ免费网站| 久久精品国产免费| 亚洲狠狠丁香婷婷综合久久久| 日韩欧美一区在线观看| 成人av电影免费观看| 日韩电影在线免费观看| 国产精品久久久久久久久搜平片| 欧美卡1卡2卡| 99免费精品在线观看| 蜜臀va亚洲va欧美va天堂| 亚洲天堂中文字幕| 精品日韩一区二区| 欧美婷婷六月丁香综合色| 国产福利精品一区二区| 亚洲高清免费在线| 中文字幕一区二区5566日韩| 日韩视频免费观看高清完整版| 91影视在线播放| 国产精品一区二区91| 三级精品在线观看| 亚洲精品ww久久久久久p站| 久久网站热最新地址| 欧美浪妇xxxx高跟鞋交|