IToiStorageDevice.idl

00001 /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
00002  *--------------------------------------------------------------------
00003  *
00004  * IToiStorageDevice.idl
00005  *
00006  * This file was created by the Motorola IDL backend, 
00007  * which is based on the OmniORB IDL parser.
00008  * Please do not modify.
00009  *
00010  * Copyright (c) 2009 Motorola Inc. All Rights Reserved.
00011  *
00012  *--------------------------------------------------------------------
00013  */
00014 
00015 #ifndef ITOISTORAGEDEVICE_IDL
00016 #define ITOISTORAGEDEVICE_IDL
00017 
00018 #include "TToiInvalidArgumentException.idl"
00019 #include "TToiNotEnoughResourcesException.idl"
00020 #include "TToiUnhandledValueException.idl"
00021 #include "IToiApplicationService.idl"
00022 #include "IToiOperationManager.idl"
00023 #include "TToiInvalidPreconditionException.idl"
00024 #include "TToiOperationNotSupportedException.idl"
00025 
00031 interface IToiStorageDevice {
00032 
00034   typedef unsigned long TToiStorageDeviceId;
00035   
00037   typedef unsigned long TToiPartitionId;
00038   
00040   typedef sequence < TToiPartitionId > TToiPartitionIdSequence;
00041   
00044   enum TToiFileSystemStatus
00045   {
00046     
00049     //Value of FS_STATUS_OK = 0
00050     FS_STATUS_OK,
00051     
00056     //Value of FS_STATUS_ERRORS_CORRECTED = 1
00057     FS_STATUS_ERRORS_CORRECTED,
00058     
00064     //Value of FS_STATUS_ERRORS_LEFT_UNCORRECTED = 2
00065     FS_STATUS_ERRORS_LEFT_UNCORRECTED,
00066     
00073     //Value of FS_STATUS_MAJOR_FAILURE = 3
00074     FS_STATUS_MAJOR_FAILURE
00075   };
00078   typedef TToiFileSystemStatus TFileSystemStatus;
00079   
00081   struct TToiStorageInfo {
00084     IToiStorageDevice::TToiStorageDeviceId Id;
00086     string SerialNumber;
00088     boolean IsInternal;
00091     boolean IsConnected;
00093     boolean IsSpinning;
00095     boolean IsOverheated;
00097     IToiStorageDevice::TToiPartitionIdSequence Partitions;
00099     long long Capacity;
00101     long long FreeCapacity;
00103     long Temperature;
00108     //@ [Optional]
00109     boolean IsApproved;
00110   };
00111   
00113   struct TToiPartitionInfo {
00116     IToiStorageDevice::TToiPartitionId Id;
00119     string UniqueId;
00121     boolean IsMounted;
00123     string MountPoint;
00125     long long Capacity;
00127     long long FreeCapacity;
00129     IToiStorageDevice::TToiFileSystemStatus FsStatus;
00135     //@ [Optional]
00136     boolean IsReadWrite;
00137   };
00138   
00145   void GetStorageInfo(out TToiStorageInfo info);
00146   
00161   void GetPartitionInfo(in TToiPartitionId partitionId, 
00162         out TToiPartitionInfo info)
00163    raises (TToiInvalidArgumentException, TToiInvalidPreconditionException);
00164   
00182   void MountPartition(in IToiOperationManager::TToiOperationId operationId, 
00183         in TToiPartitionId partitionId, 
00184         in string mountPoint)
00185    raises (TToiInvalidArgumentException, TToiInvalidPreconditionException);
00186   
00202   void UnmountPartition(in IToiOperationManager::TToiOperationId operationId, 
00203         in TToiPartitionId partitionId)
00204    raises (TToiInvalidArgumentException, TToiInvalidPreconditionException);
00205   
00222   void Reformat(in IToiOperationManager::TToiOperationId operationId)
00223    raises (TToiInvalidArgumentException, TToiInvalidPreconditionException, TToiOperationNotSupportedException);
00224   
00238   void ScheduleReformatOnNextReboot(in TToiPartitionId partitionId)
00239    raises (TToiOperationNotSupportedException, TToiInvalidArgumentException);
00240   
00254   void ScheduleFileSystemRepairOnNextReboot(in TToiPartitionId partitionId)
00255    raises (TToiOperationNotSupportedException, TToiInvalidArgumentException);
00256   
00266   void SpinDown()
00267    raises (TToiInvalidPreconditionException);
00268   
00277   void SpinUp()
00278    raises (TToiInvalidPreconditionException);
00279   
00280 };
00281 
00282 #endif