I am trying to write a skill code to change the access permissions of a specific library. e.g I want to change the library "Test" to read only for all and then I want to change the access back to read/write for all.
Hi VijayI cannot find any public design management SKILL API to do this so I guess you would have to use something similar to the following:procedure( CCSchangeLibMode(myLib mode) let( (libId) libId=ddGetObj(myLib) sprintf(cmd "chmod %n %s" mode myLib~>readPath) system(cmd) printf("Changed permission of lib %s to %n\n" myLib mode) ) ;let) ;procedure=== Owner read/write/execute ===CCSchangeLibMode("test" 755)=== Owner read/execute ===CCSchangeLibMode("test" 555)Best regardsQuek
In reply to Quek:
In reply to Vijay Srinivas:
Hi VijayYou can use the following script. Save it as "getcells.il" in the working directory and load it in ciw using:load "getcells.il"Open your top level layout and enter the following in ciw:CCSallCells()The names of all subcells will be returned as a list.Best regardsQuekprocedure( CCSgetCells(cv cellList) foreach( master cv~>instances~>master let( (nextCv) nextCv=master cond( (!nextCv nil) (member(nextCv cellList) nil) (t cellList=CCSgetCells(nextCv cons(nextCv cellList))) ) ;cond ) ;let ) ;foreach cellList) ;procedureprocedure( CCSallCells() let( (cellList) cellList=CCSgetCells(geGetWindowCellView() list()) cellList~>cellName ) ;let) ;procedure
Hi VijayIf you want to use the script by providing a top cell name, you can use this:procedure( CCSallCells(myLib myCell myView) let( (cellList cv) cv=dbOpenCellViewByType(myLib myCell myView)
cellList~>cellName ) ;let) ;procedureSample cmd:CCSallCells("abcLib" "myTopCell" "layout")Best regardsQuek
It works great. Thanks a lot!!